@charset "UTF-8";
/* =============================================================
   Tradante â public.css
   Shared styles for all public-facing pages
   Font: Space Grotesk (body) + Bebas Neue (display) + IBM Plex Mono (data)
   Framework: Bootstrap 5.3
   ============================================================= */
/* ââ GOOGLE FONTS ââ */
/* ââ THEME VARIABLES ââ */
/* Static vars â never change */
:root {
  --font-display: "Bebas Neue", sans-serif;
  --font-mono: "IBM Plex Mono", monospace;
  --font-body: "Space Grotesk", sans-serif;
  --green: #22c55e;
  --red: #ef4444;
  --gold: #F5C518;
  --teal: #06B6D4;
  /* Default to violet so page never flashes unstyled */
  --bg: #0A0414;
  --bg2: #0E0820;
  --bg3: #130C28;
  --bg4: #1A1035;
  --accent: #8B5CF6;
  --accent2: #6D28D9;
  --accent3: #A78BFA;
  --grad: linear-gradient(135deg, #4C1D95 0%, #7C3AED 45%, #A78BFA 100%);
  --border: rgba(255,255,255,0.07);
  --border-h: rgba(139,92,246,0.4);
  --text: #F0F0F4;
  --text2: rgba(240,240,244,0.6);
  --text3: rgba(240,240,244,0.3);
  --badge: rgba(139,92,246,0.1);
  --nav-bg: rgba(10,4,20,0.92);
  --card-bg: rgba(19,12,40,0.95);
  --glow1: rgba(139,92,246,0.28);
  --glow2: rgba(109,40,217,0.18);
  --grid-color: rgba(139,92,246,0.14);
  --w05: rgba(255,255,255,0.05);
  --w08: rgba(255,255,255,0.08);
  --w12: rgba(255,255,255,0.12);
  --w20: rgba(255,255,255,0.20);
  --w40: rgba(255,255,255,0.40);
  --w60: rgba(255,255,255,0.60);
}

/* VIOLET THEME â explicit, same as :root defaults */
html[data-theme=violet] {
  --bg: #0A0414;
  --bg2: #0E0820;
  --bg3: #130C28;
  --bg4: #1A1035;
  --accent: #8B5CF6;
  --accent2: #6D28D9;
  --accent3: #A78BFA;
  --grad: linear-gradient(135deg, #4C1D95 0%, #7C3AED 45%, #A78BFA 100%);
  --border: rgba(255,255,255,0.07);
  --border-h: rgba(139,92,246,0.4);
  --text: #F0F0F4;
  --text2: rgba(240,240,244,0.6);
  --text3: rgba(240,240,244,0.3);
  --badge: rgba(139,92,246,0.1);
  --nav-bg: rgba(10,4,20,0.92);
  --card-bg: rgba(19,12,40,0.95);
  --glow1: rgba(139,92,246,0.28);
  --glow2: rgba(109,40,217,0.18);
  --grid-color: rgba(139,92,246,0.14);
}

/* BLACK THEME â overrides everything above */
html[data-theme=black] {
  --bg: #04040A;
  --bg2: #08060E;
  --bg3: #0D0A18;
  --bg4: #120E22;
  --accent: #D91AAD;
  --accent2: #8C0F70;
  --accent3: #E83DC0;
  --grad: linear-gradient(135deg, #5C0A48 0%, #9B0F7A 40%, #D91AAD 75%, #E83DC0 100%);
  --border: rgba(255,255,255,0.07);
  --border-h: rgba(217,26,173,0.45);
  --text: #F0F0F4;
  --text2: rgba(240,240,244,0.6);
  --text3: rgba(240,240,244,0.3);
  --badge: rgba(217,26,173,0.1);
  --nav-bg: rgba(4,4,10,0.92);
  --card-bg: rgba(13,10,24,0.95);
  --glow1: rgba(217,26,173,0.22);
  --glow2: rgba(140,15,112,0.18);
  --grid-color: rgba(217,26,173,0.12);
  --w05: rgba(255,255,255,0.05);
  --w08: rgba(255,255,255,0.08);
  --w12: rgba(255,255,255,0.12);
  --w20: rgba(255,255,255,0.20);
  --w40: rgba(255,255,255,0.40);
  --w60: rgba(255,255,255,0.60);
}

/* BLUE THEME â navy to sky, matches existing live app */
html[data-theme=blue] {
  --bg: #0D1020;
  --bg2: #121525;
  --bg3: #17192E;
  --bg4: #1C1F38;
  --accent: #4F8EF7;
  --accent2: #1A56DB;
  --accent3: #93BBFD;
  --grad: linear-gradient(135deg, #1A3A8F 0%, #1A56DB 40%, #4F8EF7 75%, #93BBFD 100%);
  --border: rgba(255,255,255,0.07);
  --border-h: rgba(79,142,247,0.45);
  --text: #F0F0F4;
  --text2: rgba(240,240,244,0.6);
  --text3: rgba(240,240,244,0.3);
  --badge: rgba(79,142,247,0.1);
  --nav-bg: rgba(13,16,32,0.92);
  --card-bg: rgba(23,25,46,0.95);
  --glow1: rgba(79,142,247,0.2);
  --glow2: rgba(26,86,219,0.14);
  --grid-color: rgba(79,142,247,0.12);
}

/* VIOLET THEME handled above in html[data-theme="violet"] */
/* This block intentionally removed â keeping only for legacy */
html[data-theme=violet-legacy] {
  --bg: #0A0414;
  --bg2: #0E0820;
  --bg3: #130C28;
  --bg4: #1A1035;
  --accent: #8B5CF6;
  --accent2: #6D28D9;
  --accent3: #A78BFA;
  --grad: linear-gradient(135deg, #4C1D95 0%, #7C3AED 45%, #A78BFA 100%);
  --border: rgba(255,255,255,0.07);
  --border-h: rgba(139,92,246,0.4);
  --text: #F0F0F4;
  --text2: rgba(240,240,244,0.6);
  --text3: rgba(240,240,244,0.3);
  --badge: rgba(139,92,246,0.1);
  --nav-bg: rgba(10,4,20,0.92);
  --card-bg: rgba(19,12,40,0.95);
  --glow1: rgba(139,92,246,0.28);
  --glow2: rgba(109,40,217,0.18);
  --grid-color: rgba(139,92,246,0.14);
  --w05: rgba(255,255,255,0.05);
  --w08: rgba(255,255,255,0.08);
  --w12: rgba(255,255,255,0.12);
  --w20: rgba(255,255,255,0.20);
  --w40: rgba(255,255,255,0.40);
  --w60: rgba(255,255,255,0.60);
}

/* ââ BASE ââ */
html {
  height: 100%;
  background: var(--bg);
}

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}

::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

::-webkit-scrollbar-track {
  background: var(--bg2);
}

::-webkit-scrollbar-thumb {
  background: var(--accent2);
  border-radius: 2px;
}

/* ââ BACKGROUND EFFECTS ââ */
.tr-bg-glow {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 80% 70% at 50% -5%, var(--glow1) 0%, transparent 60%), radial-gradient(ellipse 55% 50% at 5% 90%, var(--glow2) 0%, transparent 55%), radial-gradient(ellipse 45% 45% at 95% 85%, rgba(196, 181, 253, 0.06) 0%, transparent 55%);
}

.tr-bg-grid {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(var(--grid-color) 1px, transparent 1px), linear-gradient(90deg, var(--grid-color) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
}

/* Animated travel dots along grid lines */
.tr-bg-grid::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle 3px at 0 0, var(--accent) 0%, transparent 60%);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  animation: grid-travel-h 2s linear infinite;
  opacity: 0.7;
}

.tr-bg-grid::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle 3px at 0 0, var(--accent) 0%, transparent 60%);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  animation: grid-travel-v 2s linear infinite;
  opacity: 0.7;
}

@keyframes grid-travel-h {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 60px 0;
  }
}
@keyframes grid-travel-v {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 60px;
  }
}
/* Video background with blur/fade effect */
.tr-bg-video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}

.tr-bg-video video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
  filter: blur(8px) brightness(0.3) saturate(1.2);
  opacity: 0.4;
  -o-object-fit: cover;
     object-fit: cover;
}

.tr-bg-video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, var(--bg) 0%, transparent 40%, transparent 60%, var(--bg) 100%), radial-gradient(ellipse 100% 80% at 50% 20%, transparent 0%, var(--bg) 70%), radial-gradient(ellipse 60% 60% at 50% 100%, rgba(0, 0, 0, 0.8) 0%, transparent 60%);
  z-index: 1;
}

/* ââ NAVBAR ââ */
.tr-navbar {
  background: var(--nav-bg) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  padding: 0.6rem 1.5rem;
}

.tr-navbar .navbar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.tr-navbar .brand-logo {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1.5px solid var(--accent);
  box-shadow: 0 0 10px rgba(139, 92, 246, 0.3);
  -o-object-fit: cover;
     object-fit: cover;
}

.tr-navbar .brand-name {
  font-family: var(--font-display);
  font-size: 20px;
  letter-spacing: 4px;
  color: var(--text);
}

.tr-navbar .nav-link {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text3) !important;
  transition: color 0.2s;
  padding: 0.4rem 0.8rem;
}

.tr-navbar .nav-link:hover,
.tr-navbar .nav-link.active {
  color: var(--accent) !important;
}

.tr-navbar .navbar-toggler {
  border-color: var(--border);
  padding: 4px 8px;
}

.tr-navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.tr-navbar .navbar-collapse {
  padding: 0.5rem 0;
}

/* Theme switcher in nav - dropdown version */
.tr-theme-switch {
  position: relative;
  display: inline-block;
}

.tr-theme-dropdown {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text2);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: all 0.2s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  min-width: 100px;
}

.tr-theme-dropdown:hover {
  border-color: var(--border-h);
  background: var(--bg4);
  color: var(--text);
}

.tr-theme-dropdown::after {
  content: "â¼";
  font-size: 8px;
  margin-left: auto;
  transition: transform 0.2s;
}

.tr-theme-dropdown.open::after {
  transform: rotate(180deg);
}

.tr-theme-icon {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}

.tr-theme-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s;
  z-index: 1000;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}

.tr-theme-menu.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.tr-theme-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  color: var(--text3);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: all 0.2s;
  border-bottom: 1px solid var(--border);
}

.tr-theme-option:last-child {
  border-bottom: none;
}

.tr-theme-option:hover {
  background: var(--bg4);
  color: var(--text2);
}

.tr-theme-option.active {
  background: linear-gradient(135deg, var(--accent2), var(--accent));
  color: #fff;
}

.tr-theme-option .tr-theme-icon {
  width: 16px;
  height: 16px;
  border-radius: 4px;
}

/* ââ AUTH SPLIT LAYOUT ââ */
.tr-auth-wrap {
  min-height: 100vh;
  display: flex;
  align-items: stretch;
  position: relative;
  z-index: 1;
}

.tr-auth-left {
  background: linear-gradient(145deg, var(--bg2), var(--bg3));
  border-right: 1px solid var(--border);
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.tr-auth-right {
  background: var(--card-bg);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  padding: 3rem 2.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100vh;
}

@media (max-width: 767.98px) {
  .tr-auth-left {
    display: none;
  }
  .tr-auth-right {
    padding: 2rem 1.5rem;
  }
}
/* ââ LEFT PANEL ââ */
.tr-left-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tr-left-tag::before {
  content: "";
  width: 16px;
  height: 1px;
  background: var(--accent);
}

.tr-left-h {
  font-family: var(--font-display);
  font-size: clamp(40px, 5vw, 60px);
  letter-spacing: 2px;
  line-height: 0.95;
  color: #fff;
  margin-bottom: 1rem;
}

.tr-left-h em {
  font-style: normal;
  background: var(--grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.tr-left-sub {
  font-size: 13px;
  color: var(--text2);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

.tr-perk {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  background: var(--w05);
  border: 1px solid var(--w08);
  border-radius: 10px;
  margin-bottom: 10px;
  transition: all 0.2s;
}

.tr-perk:hover {
  background: rgba(139, 92, 246, 0.08);
  border-color: var(--border-h);
}

.tr-perk-icon {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  flex-shrink: 0;
  background: linear-gradient(135deg, var(--accent2), var(--accent));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

.tr-perk-title {
  font-family: var(--font-display);
  font-size: 15px;
  letter-spacing: 1px;
  color: #fff;
  margin-bottom: 2px;
}

.tr-perk-desc {
  font-size: 11px;
  color: var(--text3);
  line-height: 1.5;
}

/* ââ FORM PANEL ââ */
.tr-form-top-bar {
  height: 3px;
  background: var(--grad);
  border-radius: 2px;
  margin-bottom: 1.5rem;
}

.tr-form-title {
  font-family: var(--font-display);
  font-size: 30px;
  letter-spacing: 2px;
  color: #fff;
  margin-bottom: 4px;
  line-height: 1;
}

.tr-form-sub {
  font-size: 12px;
  color: var(--text3);
  line-height: 1.6;
  margin-bottom: 1.5rem;
}

.tr-form-sub strong {
  color: var(--accent);
  font-weight: 600;
}

/* ââ FORM ELEMENTS ââ */
.tr-label {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text3);
  margin-bottom: 5px;
}

.tr-input {
  background: var(--w05);
  border: 1px solid var(--w12);
  border-radius: 10px;
  padding: 11px 14px;
  font-family: var(--font-body);
  font-size: 13px;
  color: #fff;
  outline: none;
  transition: all 0.25s;
  width: 100%;
}

.tr-input::-moz-placeholder {
  color: var(--w20);
}

.tr-input::placeholder {
  color: var(--w20);
}

.tr-input:focus {
  border-color: rgba(139, 92, 246, 0.5);
  background: rgba(139, 92, 246, 0.04);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12);
  outline: none;
}

.tr-input.is-invalid {
  border-color: rgba(239, 68, 68, 0.6);
}

.tr-input.is-valid {
  border-color: rgba(34, 197, 94, 0.5);
}

.tr-select {
  background: var(--w05);
  border: 1px solid var(--w12);
  border-radius: 10px;
  padding: 11px 14px;
  font-family: var(--font-body);
  font-size: 13px;
  color: #fff;
  outline: none;
  transition: all 0.25s;
  width: 100%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.3)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}

.tr-select:focus {
  border-color: rgba(139, 92, 246, 0.5);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12);
}

.tr-select option {
  background: #111;
  color: #fff;
}

.tr-pass-wrap {
  position: relative;
}

.tr-pass-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text3);
  cursor: pointer;
  font-size: 14px;
  padding: 0;
  transition: color 0.2s;
}

.tr-pass-toggle:hover {
  color: #fff;
}

.tr-invalid-feedback {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1px;
  color: rgba(239, 68, 68, 0.8);
  margin-top: 4px;
  min-height: 14px;
  display: block;
}

/* ââ BUTTONS ââ */
.tr-btn-primary {
  width: 100%;
  font-family: var(--font-display);
  font-size: 18px;
  letter-spacing: 3px;
  color: #000;
  border: none;
  cursor: pointer;
  padding: 13px 20px;
  border-radius: 12px;
  background: var(--grad);
  transition: all 0.25s;
  box-shadow: 0 6px 22px rgba(139, 92, 246, 0.4);
}

.tr-btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 34px rgba(139, 92, 246, 0.6);
}

.tr-btn-primary:active {
  transform: translateY(0);
}

.tr-btn-primary.loading {
  pointer-events: none;
  opacity: 0.7;
}

.tr-btn-outline {
  width: 100%;
  font-family: var(--font-display);
  font-size: 17px;
  letter-spacing: 3px;
  color: var(--accent3);
  border: 1px solid rgba(139, 92, 246, 0.3);
  cursor: pointer;
  padding: 12px 20px;
  border-radius: 12px;
  background: transparent;
  transition: all 0.25s;
}

.tr-btn-outline:hover {
  background: rgba(139, 92, 246, 0.08);
  border-color: rgba(139, 92, 246, 0.55);
  transform: translateY(-1px);
}

/* ââ STEPS BAR ââ */
.tr-steps {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 1.5rem;
}

.tr-step-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.tr-step-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 13px;
  flex-shrink: 0;
}

.tr-step-num.active {
  background: var(--grad);
  color: #000;
}

.tr-step-num.done {
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #22c55e;
}

.tr-step-num.idle {
  background: var(--w05);
  border: 1px solid var(--w12);
  color: var(--text3);
}

.tr-step-label {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.tr-step-label.active {
  color: #fff;
}

.tr-step-label.idle {
  color: var(--text3);
}

.tr-step-arrow {
  color: var(--text3);
  font-size: 12px;
  margin: 0 2px;
}

/* ââ DIVIDERS ââ */
.tr-sep {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 1rem 0;
}

.tr-sep::before, .tr-sep::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--w08);
}

.tr-sep span {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 2px;
  color: var(--w20);
  text-transform: uppercase;
  white-space: nowrap;
}

.tr-grad-line {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(139, 92, 246, 0.35), transparent);
  margin: 1rem 0;
}

/* ââ BADGES / PILLS ââ */
.tr-badge {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 6px;
  display: inline-block;
}

.tr-badge-accent {
  background: var(--badge);
  border: 1px solid var(--border-h);
  color: var(--accent3);
}

.tr-badge-green {
  background: rgba(34, 197, 94, 0.1);
  border: 1px solid rgba(34, 197, 94, 0.25);
  color: #22c55e;
}

.tr-badge-red {
  background: rgba(239, 68, 68, 0.1);
  border: 1px solid rgba(239, 68, 68, 0.25);
  color: #ef4444;
}

.tr-badge-gold {
  background: rgba(245, 197, 24, 0.1);
  border: 1px solid rgba(245, 197, 24, 0.25);
  color: #F5C518;
}

/* ââ OTP / 2FA INPUTS ââ */
.tr-otp-wrap {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin: 1rem 0;
}

.tr-otp-input {
  width: 48px;
  height: 56px;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 22px;
  font-weight: 600;
  color: #fff;
  background: var(--w05);
  border: 1px solid var(--w12);
  border-radius: 10px;
  outline: none;
  transition: all 0.25s;
  caret-color: var(--accent);
}

.tr-otp-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--badge);
}

@media (max-width: 375px) {
  .tr-otp-input {
    width: 38px;
    height: 48px;
    font-size: 18px;
  }
  .tr-otp-wrap {
    gap: 5px;
  }
}
/* ââ METHOD SELECTION (forgot password) ââ */
.tr-method-box {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  background: var(--w05);
  border: 1px solid var(--w08);
  border-radius: 12px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all 0.2s;
}

.tr-method-box:hover,
.tr-method-box.selected {
  background: rgba(139, 92, 246, 0.08);
  border-color: var(--border-h);
}

.tr-method-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  flex-shrink: 0;
  background: var(--w08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: background 0.2s;
}

.tr-method-box.selected .tr-method-icon {
  background: var(--grad);
}

.tr-method-title {
  font-family: var(--font-display);
  font-size: 16px;
  letter-spacing: 1px;
  color: #fff;
  margin-bottom: 2px;
}

.tr-method-desc {
  font-size: 11px;
  color: var(--text3);
  line-height: 1.4;
}

/* ââ CARD / PANEL ââ */
.tr-card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.tr-card:hover {
  border-color: var(--border-h);
}

.tr-card-header {
  padding: 0.9rem 1.1rem;
  border-bottom: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.tr-card-label {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--text3);
}

/* ââ LINKS ââ */
.tr-link {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
  transition: opacity 0.2s;
}

.tr-link:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.tr-link-muted {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text3);
  text-decoration: none;
  transition: color 0.2s;
}

.tr-link-muted:hover {
  color: var(--accent);
}

/* ââ TERMS ââ */
.tr-terms {
  font-size: 11px;
  color: var(--text3);
  line-height: 1.6;
  margin-bottom: 1rem;
}

.tr-terms a {
  color: var(--accent);
  text-decoration: none;
}

/* ââ ANIMATIONS ââ */
@keyframes tr-fadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes tr-pulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(0.8);
  }
}
@keyframes tr-shake {
  0%, 100% {
    transform: translateX(0);
  }
  20% {
    transform: translateX(-7px);
  }
  40% {
    transform: translateX(7px);
  }
  60% {
    transform: translateX(-4px);
  }
  80% {
    transform: translateX(4px);
  }
}
.tr-anim-fade {
  animation: tr-fadeUp 0.5s ease both;
}

/* ââ RESPONSIVE UTILITIES ââ */
@media (max-width: 575.98px) {
  .tr-form-title {
    font-size: 26px;
  }
  .tr-btn-primary, .tr-btn-outline {
    font-size: 16px;
    padding: 12px 16px;
  }
}
/* ââ FOOTER (public pages) ââ */
.tr-public-footer {
  background: var(--bg2);
  border-top: 1px solid var(--border);
  padding: 2rem 1.5rem 1.5rem;
  margin-top: auto;
  position: relative;
  z-index: 1;
}

.tr-footer-wordmark {
  font-family: var(--font-display);
  font-size: 16px;
  letter-spacing: 4px;
  color: #fff;
}

.tr-footer-hash {
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 3px;
  background: var(--grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.tr-footer-links a {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text3);
  text-decoration: none;
  transition: color 0.2s;
  margin: 0 10px;
}

.tr-footer-links a:hover {
  color: var(--accent);
}

.tr-footer-copy {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--text3);
  letter-spacing: 0.5px;
}

/* == Auth page layout and form styles == */
:root, html[data-theme=violet] {
  --bg:#0A0414;
  --bg2:#0E0820;
  --bg3:#130C28;
  --bg4:#1A1035;
  --accent:#8B5CF6;
  --accent2:#6D28D9;
  --accent3:#A78BFA;
  --grad:linear-gradient(135deg,#4C1D95 0%,#7C3AED 45%,#A78BFA 100%);
  --border:rgba(255,255,255,0.07);
  --border-h:rgba(139,92,246,0.45);
  --text:#F0F0F4;
  --text2:rgba(240,240,244,0.6);
  --text3:rgba(240,240,244,0.3);
  --nav-bg:rgba(10,4,20,0.92);
  --card-bg:rgba(19,12,40,0.95);
  --glow1:rgba(139,92,246,0.26);
  --glow2:rgba(109,40,217,0.18);
  --grid-c:rgba(139,92,246,0.14);
  --w05:rgba(255,255,255,0.05);
  --w08:rgba(255,255,255,0.08);
  --w12:rgba(255,255,255,0.12);
  --w20:rgba(255,255,255,0.2);
  --font-display:"Bebas Neue",sans-serif;
  --font-mono:"IBM Plex Mono",monospace;
  --font-body:"Space Grotesk",sans-serif;
}

html[data-theme=black] {
  --bg:#04040A;
  --bg2:#08060E;
  --bg3:#0D0A18;
  --bg4:#120E22;
  --accent:#D91AAD;
  --accent2:#8C0F70;
  --accent3:#E83DC0;
  --grad:linear-gradient(135deg,#5C0A48 0%,#9B0F7A 40%,#D91AAD 75%,#E83DC0 100%);
  --border:rgba(255,255,255,0.07);
  --border-h:rgba(217,26,173,0.45);
  --text:#F0F0F4;
  --text2:rgba(240,240,244,0.6);
  --text3:rgba(240,240,244,0.3);
  --nav-bg:rgba(4,4,10,0.92);
  --card-bg:rgba(13,10,24,0.95);
  --glow1:rgba(217,26,173,0.22);
  --glow2:rgba(140,15,112,0.16);
  --grid-c:rgba(217,26,173,0.22);
  --w05:rgba(255,255,255,0.05);
  --w08:rgba(255,255,255,0.08);
  --w12:rgba(255,255,255,0.12);
  --w20:rgba(255,255,255,0.2);
}

html[data-theme=black] .tr-left {
  background: linear-gradient(145deg, #232128, var(--bg3));
}

html[data-theme=black] .tr-right {
  background: linear-gradient(145deg, #232128, var(--bg3));
}

html[data-theme=blue] {
  --bg:#0D1020;
  --bg2:#121525;
  --bg3:#17192E;
  --bg4:#1C1F38;
  --accent:#4F8EF7;
  --accent2:#1A56DB;
  --accent3:#93BBFD;
  --grad:linear-gradient(135deg,#1A3A8F 0%,#1A56DB 40%,#4F8EF7 75%,#93BBFD 100%);
  --border:rgba(255,255,255,0.07);
  --border-h:rgba(79,142,247,0.45);
  --text:#F0F0F4;
  --text2:rgba(240,240,244,0.6);
  --text3:rgba(240,240,244,0.3);
  --nav-bg:rgba(13,16,32,0.92);
  --card-bg:rgba(23,25,46,0.95);
  --glow1:rgba(79,142,247,0.2);
  --glow2:rgba(26,86,219,0.14);
  --grid-c:rgba(79,142,247,0.12);
  --w05:rgba(255,255,255,0.05);
  --w08:rgba(255,255,255,0.08);
  --w12:rgba(255,255,255,0.12);
  --w20:rgba(255,255,255,0.2);
}

body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--font-body) !important;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

* {
  box-sizing: border-box;
}

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

::-webkit-scrollbar-track {
  background: var(--bg);
}

::-webkit-scrollbar-thumb {
  background: var(--accent2);
  border-radius: 2px;
}

.modal-content {
  background: var(--bg2);
  border: 1px solid var(--border-h);
  border-radius: 16px;
}

.modal-header {
  border-bottom: 1px solid var(--border);
}

.modal-footer {
  border-top: 1px solid var(--border);
}

.table {
  color: var(--text2);
}

.table > :not(caption) > * > * {
  background: transparent;
  border-color: var(--border);
}

.dropdown-menu {
  background: var(--bg3);
  border: 1px solid var(--border);
}

.dropdown-item {
  color: var(--text2);
}

.dropdown-item:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
}

.bgg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 80% 65% at 50% -5%, var(--glow1) 0%, transparent 60%), radial-gradient(ellipse 50% 45% at 8% 90%, var(--glow2) 0%, transparent 55%);
}

.bggrid {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: linear-gradient(var(--grid-c) 1px, transparent 1px), linear-gradient(90deg, var(--grid-c) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
}

.bggrid::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle 3px at 0 0, var(--accent) 0%, transparent 60%);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  animation: grid-travel-h 2s linear infinite;
  opacity: 0.7;
}

.bggrid::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle 3px at 0 0, var(--accent) 0%, transparent 60%);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  animation: grid-travel-v 2s linear infinite;
  opacity: 0.7;
}

@keyframes grid-travel-h {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 60px 0;
  }
}
@keyframes grid-travel-v {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 60px;
  }
}
.bggrid::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle 3px at 0 0, var(--accent) 0%, transparent 60%);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  animation: grid-travel-h 2s linear infinite;
  opacity: 0.7;
}

.bggrid::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle 3px at 0 0, var(--accent) 0%, transparent 60%);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  -webkit-mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 20%, transparent 78%);
  animation: grid-travel-v 2s linear infinite;
  opacity: 0.7;
}

@keyframes grid-travel-h {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 60px 0;
  }
}
@keyframes grid-travel-v {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 0 60px;
  }
}
.tr-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2rem;
  background: var(--nav-bg);
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  border-bottom: 1px solid var(--border);
}

.tr-nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
}

.tr-nav-logo-img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  border: 1.5px solid var(--accent);
}

.tr-nav-logo-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.tr-nav-wordmark {
  font-family: var(--font-display);
  font-size: 20px;
  letter-spacing: 4px;
  color: var(--text);
}

.tr-nav-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tr-nav-link {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text3);
  text-decoration: none;
  padding: 6px 12px;
  border: 1px solid var(--border);
  border-radius: 6px;
  transition: all 0.2s;
  white-space: nowrap;
}

.tr-nav-link:hover {
  border-color: var(--border-h);
  color: var(--accent);
}

/* Theme switcher dropdown */
.theme-switch {
  position: relative;
  display: inline-block;
}

.theme-dropdown {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text2);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: all 0.2s;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  min-width: 100px;
}

.theme-dropdown:hover {
  border-color: var(--border-h);
  background: var(--bg4);
  color: var(--text);
}

.theme-dropdown::after {
  content: "â¼";
  font-size: 8px;
  margin-left: auto;
  transition: transform 0.2s;
}

.theme-dropdown.open::after {
  transform: rotate(180deg);
}

.theme-icon {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}

.theme-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 10px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.2s;
  z-index: 1000;
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
}

.theme-menu.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.theme-option {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  cursor: pointer;
  color: var(--text3);
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  transition: all 0.2s;
  border-bottom: 1px solid var(--border);
}

.theme-option:last-child {
  border-bottom: none;
}

.theme-option:hover {
  background: var(--bg4);
  color: var(--text2);
}

.theme-option.active {
  background: linear-gradient(135deg, var(--accent2), var(--accent));
  color: #fff;
}

.theme-option .theme-icon {
  width: 16px;
  height: 16px;
  border-radius: 4px;
}

.tr-page {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 88px 24px 48px;
  position: relative;
  z-index: 1;
}

.tr-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 960px;
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid var(--border);
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.5);
}

.tr-left {
  background: linear-gradient(145deg, var(--bg2), var(--bg3));
  padding: 52px 44px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--border);
}

.tr-right {
  background: var(--card-bg);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  padding: 52px 44px;
}

.left-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.left-tag::before {
  content: "";
  width: 16px;
  height: 1px;
  background: var(--accent);
}

.left-h {
  font-family: var(--font-display);
  font-size: clamp(36px, 4vw, 56px);
  letter-spacing: 2px;
  line-height: 0.95;
  color: var(--text);
  margin-bottom: 14px;
}

.left-h em {
  font-style: normal;
  background: var(--grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.left-sub {
  font-size: 13px;
  color: var(--text2);
  line-height: 1.7;
  margin-bottom: 26px;
}

.left-perks {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.perk {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.perk-icon {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: linear-gradient(135deg, var(--accent2), var(--accent));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex-shrink: 0;
}

.perk-title {
  font-family: var(--font-display);
  font-size: 15px;
  letter-spacing: 1px;
  color: var(--text);
  margin-bottom: 2px;
}

.perk-desc {
  font-size: 11px;
  color: var(--text3);
  line-height: 1.5;
}

.left-bottom {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 2px;
  color: var(--text3);
  text-transform: uppercase;
  margin-top: 24px;
}

.form-logo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 22px;
}

.form-logo img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--accent);
}

.form-logo-text {
  font-family: var(--font-display);
  font-size: 17px;
  letter-spacing: 3px;
  color: var(--text);
}

.form-top-bar {
  height: 3px;
  background: var(--grad);
  border-radius: 2px;
  margin-bottom: 22px;
}

.form-title {
  font-family: var(--font-display);
  font-size: 28px;
  letter-spacing: 2px;
  color: var(--text);
  margin-bottom: 4px;
  line-height: 1;
}

.form-sub {
  font-size: 12px;
  color: var(--text3);
  line-height: 1.6;
  margin-bottom: 18px;
}

.form-sub strong {
  color: var(--accent);
  font-weight: 600;
}

.fg {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 11px;
}

.fg label {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text3);
}

.fi {
  background: var(--w05) !important;
  border: 1px solid var(--w12) !important;
  border-radius: 10px;
  padding: 11px 13px;
  font-family: var(--font-body) !important;
  font-size: 13px;
  color: var(--text) !important;
  outline: none;
  transition: all 0.25s;
  width: 100%;
}

.fi::-moz-placeholder {
  color: var(--w20) !important;
}

.fi::placeholder {
  color: var(--w20) !important;
}

.fi:focus {
  border-color: var(--border-h) !important;
  background: rgba(139, 92, 246, 0.04) !important;
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1) !important;
}

.fi:-webkit-autofill, .fi:-webkit-autofill:hover, .fi:-webkit-autofill:focus {
  box-shadow: 0 0 0 1000px var(--bg4) inset !important;
  -webkit-text-fill-color: var(--text) !important;
  caret-color: var(--text) !important;
  border: 1px solid var(--w12) !important;
  outline: none !important;
  outline-width: 0 !important;
  outline-offset: 0 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s, border-color 0s !important;
  transition: background-color 5000s ease-in-out 0s, border-color 0s !important;
}

.fi:-webkit-autofill,
.fi:-webkit-autofill:hover,
.fi:-webkit-autofill:focus,
.fi:autofill,
.fi:autofill:hover,
.fi:autofill:focus {
  box-shadow: 0 0 0 1000px var(--bg4) inset !important;
  -webkit-text-fill-color: var(--text) !important;
  caret-color: var(--text) !important;
  border: 1px solid var(--w12) !important;
  outline: none !important;
  outline-width: 0 !important;
  outline-offset: 0 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s, border-color 0s !important;
  transition: background-color 5000s ease-in-out 0s, border-color 0s !important;
}

.fi-wrap {
  position: relative;
}

.fi-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: var(--text3);
  cursor: pointer;
  font-size: 14px;
  padding: 0;
  transition: color 0.2s;
}

.fi-toggle:hover {
  color: var(--text);
}

.frow {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.fs {
  background: var(--w05) !important;
  border: 1px solid var(--w12) !important;
  border-radius: 10px;
  padding: 11px 13px;
  font-family: var(--font-body) !important;
  font-size: 13px;
  color: var(--text) !important;
  outline: none;
  transition: all 0.25s;
  width: 100%;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.3)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
}

.fs:focus {
  border-color: var(--border-h) !important;
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.1) !important;
}

.fs option {
  background: #111;
  color: #fff;
}

.btn-submit {
  width: 100%;
  font-family: var(--font-display);
  font-size: 18px;
  letter-spacing: 3px;
  color: #000;
  border: none;
  cursor: pointer;
  padding: 13px 20px;
  border-radius: 12px;
  background: var(--grad);
  transition: all 0.25s;
  box-shadow: 0 6px 22px rgba(139, 92, 246, 0.35);
  margin-top: 4px;
  display: block;
}

.btn-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(139, 92, 246, 0.55);
}

.btn-submit:active {
  transform: translateY(0);
}

.btn-out {
  width: 100%;
  font-family: var(--font-display);
  font-size: 17px;
  letter-spacing: 2px;
  color: var(--accent3);
  border: 1px solid rgba(139, 92, 246, 0.3);
  cursor: pointer;
  padding: 11px 20px;
  border-radius: 12px;
  background: transparent;
  transition: all 0.25s;
  margin-top: 8px;
  display: block;
}

.btn-out:hover {
  background: rgba(139, 92, 246, 0.07);
  border-color: rgba(139, 92, 246, 0.55);
  transform: translateY(-1px);
}

.form-sep {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
}

.form-sep::before, .form-sep::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--w08);
}

.form-sep span {
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 2px;
  color: var(--w20);
  text-transform: uppercase;
  white-space: nowrap;
}

.form-link {
  text-align: right;
  margin-bottom: 11px;
}

.form-link a {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1px;
  color: var(--accent);
  text-decoration: none;
}

.form-link a:hover {
  text-decoration: underline;
}

.form-note {
  text-align: center;
  font-size: 12px;
  color: var(--text3);
  margin-top: 12px;
}

.form-note a {
  color: var(--accent);
  text-decoration: none;
  font-weight: 600;
}

.tr-alert {
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 13px;
  margin-bottom: 14px;
  font-family: var(--font-body);
  min-height: 42px;
}

.tr-alert-danger {
  background: rgba(248, 113, 113, 0.1);
  border: 1px solid rgba(248, 113, 113, 0.3);
  color: #f87171;
}

.tr-alert-success {
  background: rgba(52, 211, 153, 0.1);
  border: 1px solid rgba(52, 211, 153, 0.3);
  color: #34d399;
}

.reg-steps {
  display: flex;
  gap: 6px;
  align-items: center;
}

.reg-step {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--w12);
  transition: all 0.3s;
}

.reg-step.active {
  background: var(--accent);
  width: 20px;
  border-radius: 4px;
}

.reg-inline-error {
  font-size: 12px;
  color: #f87171;
  font-family: var(--font-mono);
  letter-spacing: 0.5px;
  min-height: 18px;
  margin-bottom: 10px;
}

.reg-avatar-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  padding: 14px;
  background: var(--w05);
  border: 1px solid var(--border);
  border-radius: 12px;
}

.reg-avatar-preview {
  width: 64px;
  height: 64px;
  flex-shrink: 0;
  border-radius: 14px;
  overflow: hidden;
}

.reg-avatar-preview svg {
  display: block;
}

.reg-avatar-label {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text3);
  margin-bottom: 4px;
}

.reg-avatar-sub {
  font-size: 12px;
  color: var(--text2);
}

.reg-tos {
  margin: 16px 0 20px;
}

.reg-tos-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}

.reg-tos-check {
  display: none;
}

.reg-tos-box {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border: 1px solid var(--w12);
  border-radius: 5px;
  background: var(--w05);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  margin-top: 1px;
}

.reg-tos-check:checked + .reg-tos-box {
  background: var(--accent);
  border-color: var(--accent);
}

.reg-tos-check:checked + .reg-tos-box::after {
  content: "✓";
  font-size: 11px;
  color: #fff;
  font-weight: 700;
}

.reg-tos-text {
  font-size: 12px;
  color: var(--text2);
  line-height: 1.6;
}

.reg-tos-text a {
  color: var(--accent);
  text-decoration: none;
}

.otp-wrap {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}

.otp-input {
  width: 100%;
  text-align: center;
  font-size: 18px;
  font-family: var(--font-mono);
  padding: 12px 4px !important;
  text-transform: uppercase;
}

.otp-input:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.otp-progress-track {
  width: 100%;
  height: 3px;
  background: var(--w08);
  border-radius: 2px;
  margin-bottom: 24px;
  overflow: hidden;
}

.otp-progress-fill {
  height: 100%;
  width: 100%;
  background: var(--grad);
  border-radius: 2px;
  transition: width 120s linear;
}

.otp-progress-fill.otp-expired {
  background: rgba(248, 113, 113, 0.6);
}

.otp-countdown {
  font-family: var(--font-mono);
  font-size: 13px;
  font-weight: 500;
  color: var(--accent);
  letter-spacing: 2px;
  padding: 4px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  min-width: 52px;
  text-align: center;
}

.otp-countdown.otp-expired {
  color: #f87171;
  border-color: rgba(248, 113, 113, 0.4);
}

.form-terms {
  font-size: 11px;
  color: var(--text3);
  line-height: 1.6;
  margin-bottom: 14px;
}

.form-terms a {
  color: var(--accent);
  text-decoration: none;
}

.back-link {
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--text3);
  text-decoration: none;
  display: block;
  text-align: center;
  margin-top: 14px;
  transition: color 0.2s;
}

.back-link:hover {
  color: var(--accent);
}

.steps-bar {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  align-items: center;
}

.step-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 9px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

.step-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-size: 13px;
  flex-shrink: 0;
}

.step-num.active {
  background: var(--grad);
  color: #000;
}

.step-num.done {
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #22c55e;
}

.step-num.idle {
  background: var(--w05);
  border: 1px solid var(--w12);
  color: var(--text3);
}

.step-label.active {
  color: var(--text);
}

.step-label.idle {
  color: var(--text3);
}

.step-arrow {
  color: var(--text3);
  font-size: 12px;
  margin: 0 2px;
}

.otp-wrap {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin: 14px 0;
}

.otp-input {
  width: 48px;
  height: 54px;
  text-align: center;
  font-family: var(--font-mono);
  font-size: 22px;
  font-weight: 600;
  color: var(--text);
  background: var(--w05);
  border: 1px solid var(--w12);
  border-radius: 10px;
  outline: none;
  transition: all 0.25s;
  caret-color: var(--accent);
}

.otp-input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.12);
}

.method-box {
  padding: 14px 16px;
  background: var(--w05);
  border: 1px solid var(--w08);
  border-radius: 12px;
  margin-bottom: 10px;
  cursor: pointer;
  transition: all 0.2s;
  display: flex;
  align-items: center;
  gap: 12px;
}

.method-box.selected, .method-box:hover {
  background: rgba(139, 92, 246, 0.08);
  border-color: var(--border-h);
}

.method-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--w08);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
  transition: background 0.2s;
}

.method-box.selected .method-icon {
  background: var(--grad);
}

.method-title {
  font-family: var(--font-display);
  font-size: 16px;
  letter-spacing: 1px;
  color: var(--text);
  margin-bottom: 2px;
}

.method-desc {
  font-size: 11px;
  color: var(--text3);
  line-height: 1.4;
}

/* Skip verification — muted dashed button */
.btn-skip {
  display: block;
  width: 100%;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text3);
  border: 1px dashed var(--w12);
  border-radius: 12px;
  padding: 11px 16px;
  text-align: center;
  text-decoration: none;
  transition: all 0.25s;
  cursor: pointer;
  margin-top: 0;
}

.btn-skip:hover {
  border-color: var(--w20);
  color: var(--text2);
  background: var(--w05);
}

/* Registration step panels — no-layout-shift transitions */
.reg-panel-wrap {
  position: relative;
}

.reg-step-panel {
  display: none;
}

.reg-step-panel.active {
  display: block;
}

/* Password rules */
.pw-rules {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 8px;
  padding: 10px 12px;
  background: var(--w05);
  border-radius: 8px;
  border: 1px solid var(--w08);
}

.pw-rule {
  display: flex;
  align-items: center;
  gap: 7px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.5px;
  color: var(--text3);
  transition: color 0.2s;
}

.pw-rule.valid {
  color: #22c55e;
}

.pw-rule-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--w20);
  flex-shrink: 0;
  transition: background 0.2s;
}

.pw-rule.valid .pw-rule-dot {
  background: #22c55e;
}

/* Field status indicator (email / username) */
.fi-status {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  font-family: var(--font-mono);
  pointer-events: none;
  transition: color 0.2s;
}

.fi-ok {
  color: #22c55e;
}

.fi-err {
  color: #f87171;
}

.fi-checking {
  color: var(--text3);
  animation: tr-pulse 1s infinite;
}

/* Avatar refresh */
.reg-avatar-info {
  flex: 1;
}

.reg-avatar-refresh {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--w05);
  border: 1px solid var(--w12);
  color: var(--text3);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
  font-weight: 400;
  padding: 0;
}

.reg-avatar-refresh:hover {
  background: rgba(139, 92, 246, 0.08);
  border-color: var(--border-h);
  color: var(--accent);
}

.reg-avatar-refresh.spinning svg {
  animation: spin360 0.4s linear;
}

@keyframes spin360 {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 768px) {
  .tr-split {
    grid-template-columns: 1fr;
    border-radius: 16px;
    max-width: 480px;
  }
  .tr-left {
    display: none;
  }
  .tr-right {
    padding: 36px 28px;
  }
  .tr-nav {
    padding: 0 1rem;
  }
  .tr-page {
    padding: 80px 16px 32px;
  }
}
@media (max-width: 480px) {
  .tr-right {
    padding: 28px 20px;
  }
  .frow {
    grid-template-columns: 1fr;
  }
  .otp-input {
    width: 40px;
    height: 48px;
    font-size: 18px;
  }
  .otp-wrap {
    gap: 5px;
  }
}
@media (max-width: 360px) {
  .otp-input {
    width: 34px;
    height: 44px;
    font-size: 16px;
  }
  .otp-wrap {
    gap: 4px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjc3MvcHVibGljL3B1YmxpYy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtBQUVBO0FBQ0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUY7QUFDQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0FBQ0E7RUFBTztFQUFjOzs7QUFDckI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUFzQjtFQUFZOzs7QUFDbEM7RUFBNEI7OztBQUM1QjtFQUE0QjtFQUE0Qjs7O0FBRXhEO0FB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QUFDQTtFQUFXO0VBQWtCO0VBQVc7RUFBUTtFQUEyQjtFQUFlO0VBQTZCO0VBQW9COzs7QUFDM0k7RUFBTzs7O0FBQ1A7RUFBUTs7O0FBQ1I7RUFBYTtFQUFtQjs7O0FBRWhDO0FBQ0E7RUFBaUI7OztBQUNqQjtFQUFvQjtFQUFXO0VBQVk7RUFBa0I7RUFBc0I7RUFBNEI7RUFBbUI7RUFBZTtFQUFhO0VBQW1CO0VBQXVCO0VBQW1CO0VBQWM7RUFBZ0I7OztBQUN6UDtFQUEwQjtFQUFpQztFQUE2Qjs7O0FBQ3hGO0VBQWlDOzs7QUFDakM7RUFBbUI7SUFBSzs7RUFBdUI7SUFBRzs7O0FBRWxEO0VBQ0U7SUFBVTtJQUEwQjtJQUFtQjs7RUFDdkQ7SUFBUzs7RUFDVDtJQUFVOztFQUNWO0lBQVE7O0VBQ1I7SUFBUzs7O0FBRVg7RUFDRTtJQUFVOztFQUNWO0lBQU07O0VBQ047SUFBVztJQUFXO0lBQVk7O0VBQ2xDO0lBQVU7OztBQUVaO0VBQ0U7SUFBVztJQUFXO0lBQVk7O0VBQ2xDO0lBQVUiLCJmaWxlIjoic2Nzcy9wdWJsaWMvcHVibGljLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRyYWRhbnRlIMOiwoDClCBwdWJsaWMuY3NzXG4gICBTaGFyZWQgc3R5bGVzIGZvciBhbGwgcHVibGljLWZhY2luZyBwYWdlc1xuICAgRm9udDogU3BhY2UgR3JvdGVzayAoYm9keSkgKyBCZWJhcyBOZXVlIChkaXNwbGF5KSArIElCTSBQbGV4IE1vbm8gKGRhdGEpXG4gICBGcmFtZXdvcms6IEJvb3RzdHJhcCA1LjNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogw6LClMKAw6LClMKAIEdPT0dMRSBGT05UUyDDosKUwoDDosKUwoAgKi9cblxuLyogw6LClMKAw6LClMKAIFRIRU1FIFZBUklBQkxFUyDDosKUwoDDosKUwoAgKi9cbi8qIFN0YXRpYyB2YXJzIMOiwoDClCBuZXZlciBjaGFuZ2UgKi9cbjpyb290IHtcbiAgLS1mb250LWRpc3BsYXk6ICdCZWJhcyBOZXVlJywgc2Fucy1zZXJpZjtcbiAgLS1mb250LW1vbm86ICAgICdJQk0gUGxleCBNb25vJywgbW9ub3NwYWNlO1xuICAtLWZvbnQtYm9keTogICAgJ1NwYWNlIEdyb3Rlc2snLCBzYW5zLXNlcmlmO1xuICAtLWdyZWVuOiAjMjJjNTVlO1xuICAtLXJlZDogICAjZWY0NDQ0O1xuICAtLWdvbGQ6ICAjRjVDNTE4O1xuICAtLXRlYWw6ICAjMDZCNkQ0O1xuICAvKiBEZWZhdWx0IHRvIHZpb2xldCBzbyBwYWdlIG5ldmVyIGZsYXNoZXMgdW5zdHlsZWQgKi9cbiAgLS1iZzogICAgICAgICAjMEEwNDE0O1xuICAtLWJnMjogICAgICAgICMwRTA4MjA7XG4gIC0tYmczOiAgICAgICAgIzEzMEMyODtcbiAgLS1iZzQ6ICAgICAgICAjMUExMDM1O1xuICAtLWFjY2VudDogICAgICM4QjVDRjY7XG4gIC0tYWNjZW50MjogICAgIzZEMjhEOTtcbiAgLS1hY2NlbnQzOiAgICAjQTc4QkZBO1xuICAtLWdyYWQ6ICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM0QzFEOTUgMCUsICM3QzNBRUQgNDUlLCAjQTc4QkZBIDEwMCUpO1xuICAtLWJvcmRlcjogICAgIHJnYmEoMjU1LDI1NSwyNTUsMC4wNyk7XG4gIC0tYm9yZGVyLWg6ICAgcmdiYSgxMzksOTIsMjQ2LDAuNCk7XG4gIC0tdGV4dDogICAgICAgI0YwRjBGNDtcbiAgLS10ZXh0MjogICAgICByZ2JhKDI0MCwyNDAsMjQ0LDAuNik7XG4gIC0tdGV4dDM6ICAgICAgcmdiYSgyNDAsMjQwLDI0NCwwLjMpO1xuICAtLWJhZGdlOiAgICAgIHJnYmEoMTM5LDkyLDI0NiwwLjEpO1xuICAtLW5hdi1iZzogICAgIHJnYmEoMTAsNCwyMCwwLjkyKTtcbiAgLS1jYXJkLWJnOiAgICByZ2JhKDE5LDEyLDQwLDAuOTUpO1xuICAtLWdsb3cxOiAgICAgIHJnYmEoMTM5LDkyLDI0NiwwLjI4KTtcbiAgLS1nbG93MjogICAgICByZ2JhKDEwOSw0MCwyMTcsMC4xOCk7XG4gIC0tZ3JpZC1jb2xvcjogcmdiYSgxMzksOTIsMjQ2LDAuMTQpO1xuICAtLXcwNTogcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtcbiAgLS13MDg6IHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7XG4gIC0tdzEyOiByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpO1xuICAtLXcyMDogcmdiYSgyNTUsMjU1LDI1NSwwLjIwKTtcbiAgLS13NDA6IHJnYmEoMjU1LDI1NSwyNTUsMC40MCk7XG4gIC0tdzYwOiByZ2JhKDI1NSwyNTUsMjU1LDAuNjApO1xufVxuXG4vKiBWSU9MRVQgVEhFTUUgw6LCgMKUIGV4cGxpY2l0LCBzYW1lIGFzIDpyb290IGRlZmF1bHRzICovXG5odG1sW2RhdGEtdGhlbWU9XCJ2aW9sZXRcIl0ge1xuICAtLWJnOiAgICAgICAgICMwQTA0MTQ7XG4gIC0tYmcyOiAgICAgICAgIzBFMDgyMDtcbiAgLS1iZzM6ICAgICAgICAjMTMwQzI4O1xuICAtLWJnNDogICAgICAgICMxQTEwMzU7XG4gIC0tYWNjZW50OiAgICAgIzhCNUNGNjtcbiAgLS1hY2NlbnQyOiAgICAjNkQyOEQ5O1xuICAtLWFjY2VudDM6ICAgICNBNzhCRkE7XG4gIC0tZ3JhZDogICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzRDMUQ5NSAwJSwgIzdDM0FFRCA0NSUsICNBNzhCRkEgMTAwJSk7XG4gIC0tYm9yZGVyOiAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjA3KTtcbiAgLS1ib3JkZXItaDogICByZ2JhKDEzOSw5MiwyNDYsMC40KTtcbiAgLS10ZXh0OiAgICAgICAjRjBGMEY0O1xuICAtLXRleHQyOiAgICAgIHJnYmEoMjQwLDI0MCwyNDQsMC42KTtcbiAgLS10ZXh0MzogICAgICByZ2JhKDI0MCwyNDAsMjQ0LDAuMyk7XG4gIC0tYmFkZ2U6ICAgICAgcmdiYSgxMzksOTIsMjQ2LDAuMSk7XG4gIC0tbmF2LWJnOiAgICAgcmdiYSgxMCw0LDIwLDAuOTIpO1xuICAtLWNhcmQtYmc6ICAgIHJnYmEoMTksMTIsNDAsMC45NSk7XG4gIC0tZ2xvdzE6ICAgICAgcmdiYSgxMzksOTIsMjQ2LDAuMjgpO1xuICAtLWdsb3cyOiAgICAgIHJnYmEoMTA5LDQwLDIxNywwLjE4KTtcbiAgLS1ncmlkLWNvbG9yOiByZ2JhKDEzOSw5MiwyNDYsMC4xNCk7XG59XG5cbi8qIEJMQUNLIFRIRU1FIMOiwoDClCBvdmVycmlkZXMgZXZlcnl0aGluZyBhYm92ZSAqL1xuaHRtbFtkYXRhLXRoZW1lPVwiYmxhY2tcIl0ge1xuICAtLWJnOiAgICAgICAgICMwNDA0MEE7XG4gIC0tYmcyOiAgICAgICAgIzA4MDYwRTtcbiAgLS1iZzM6ICAgICAgICAjMEQwQTE4O1xuICAtLWJnNDogICAgICAgICMxMjBFMjI7XG4gIC0tYWNjZW50OiAgICAgI0Q5MUFBRDtcbiAgLS1hY2NlbnQyOiAgICAjOEMwRjcwO1xuICAtLWFjY2VudDM6ICAgICNFODNEQzA7XG4gIC0tZ3JhZDogICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzVDMEE0OCAwJSwgIzlCMEY3QSA0MCUsICNEOTFBQUQgNzUlLCAjRTgzREMwIDEwMCUpO1xuICAtLWJvcmRlcjogICAgIHJnYmEoMjU1LDI1NSwyNTUsMC4wNyk7XG4gIC0tYm9yZGVyLWg6ICAgcmdiYSgyMTcsMjYsMTczLDAuNDUpO1xuICAtLXRleHQ6ICAgICAgICNGMEYwRjQ7XG4gIC0tdGV4dDI6ICAgICAgcmdiYSgyNDAsMjQwLDI0NCwwLjYpO1xuICAtLXRleHQzOiAgICAgIHJnYmEoMjQwLDI0MCwyNDQsMC4zKTtcbiAgLS1iYWRnZTogICAgICByZ2JhKDIxNywyNiwxNzMsMC4xKTtcbiAgLS1uYXYtYmc6ICAgICByZ2JhKDQsNCwxMCwwLjkyKTtcbiAgLS1jYXJkLWJnOiAgICByZ2JhKDEzLDEwLDI0LDAuOTUpO1xuICAtLWdsb3cxOiAgICAgIHJnYmEoMjE3LDI2LDE3MywwLjIyKTtcbiAgLS1nbG93MjogICAgICByZ2JhKDE0MCwxNSwxMTIsMC4xOCk7XG4gIC0tZ3JpZC1jb2xvcjogcmdiYSgyMTcsMjYsMTczLDAuMTIpO1xuICAtLXcwNTogcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtcbiAgLS13MDg6IHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7XG4gIC0tdzEyOiByZ2JhKDI1NSwyNTUsMjU1LDAuMTIpO1xuICAtLXcyMDogcmdiYSgyNTUsMjU1LDI1NSwwLjIwKTtcbiAgLS13NDA6IHJnYmEoMjU1LDI1NSwyNTUsMC40MCk7XG4gIC0tdzYwOiByZ2JhKDI1NSwyNTUsMjU1LDAuNjApO1xufVxuXG4vKiBCTFVFIFRIRU1FIMOiwoDClCBuYXZ5IHRvIHNreSwgbWF0Y2hlcyBleGlzdGluZyBsaXZlIGFwcCAqL1xuaHRtbFtkYXRhLXRoZW1lPVwiYmx1ZVwiXSB7XG4gIC0tYmc6ICAgICAgICAgIzBEMTAyMDtcbiAgLS1iZzI6ICAgICAgICAjMTIxNTI1O1xuICAtLWJnMzogICAgICAgICMxNzE5MkU7XG4gIC0tYmc0OiAgICAgICAgIzFDMUYzODtcbiAgLS1hY2NlbnQ6ICAgICAjNEY4RUY3O1xuICAtLWFjY2VudDI6ICAgICMxQTU2REI7XG4gIC0tYWNjZW50MzogICAgIzkzQkJGRDtcbiAgLS1ncmFkOiAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMUEzQThGIDAlLCAjMUE1NkRCIDQwJSwgIzRGOEVGNyA3NSUsICM5M0JCRkQgMTAwJSk7XG4gIC0tYm9yZGVyOiAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjA3KTtcbiAgLS1ib3JkZXItaDogICByZ2JhKDc5LDE0MiwyNDcsMC40NSk7XG4gIC0tdGV4dDogICAgICAgI0YwRjBGNDtcbiAgLS10ZXh0MjogICAgICByZ2JhKDI0MCwyNDAsMjQ0LDAuNik7XG4gIC0tdGV4dDM6ICAgICAgcmdiYSgyNDAsMjQwLDI0NCwwLjMpO1xuICAtLWJhZGdlOiAgICAgIHJnYmEoNzksMTQyLDI0NywwLjEpO1xuICAtLW5hdi1iZzogICAgIHJnYmEoMTMsMTYsMzIsMC45Mik7XG4gIC0tY2FyZC1iZzogICAgcmdiYSgyMywyNSw0NiwwLjk1KTtcbiAgLS1nbG93MTogICAgICByZ2JhKDc5LDE0MiwyNDcsMC4yKTtcbiAgLS1nbG93MjogICAgICByZ2JhKDI2LDg2LDIxOSwwLjE0KTtcbiAgLS1ncmlkLWNvbG9yOiByZ2JhKDc5LDE0MiwyNDcsMC4xMik7XG59XG5cblxuLyogVklPTEVUIFRIRU1FIGhhbmRsZWQgYWJvdmUgaW4gaHRtbFtkYXRhLXRoZW1lPVwidmlvbGV0XCJdICovXG4vKiBUaGlzIGJsb2NrIGludGVudGlvbmFsbHkgcmVtb3ZlZCDDosKAwpQga2VlcGluZyBvbmx5IGZvciBsZWdhY3kgKi9cbmh0bWxbZGF0YS10aGVtZT1cInZpb2xldC1sZWdhY3lcIl0ge1xuICAtLWJnOiAgICAgICAgICMwQTA0MTQ7XG4gIC0tYmcyOiAgICAgICAgIzBFMDgyMDtcbiAgLS1iZzM6ICAgICAgICAjMTMwQzI4O1xuICAtLWJnNDogICAgICAgICMxQTEwMzU7XG4gIC0tYWNjZW50OiAgICAgIzhCNUNGNjtcbiAgLS1hY2NlbnQyOiAgICAjNkQyOEQ5O1xuICAtLWFjY2VudDM6ICAgICNBNzhCRkE7XG4gIC0tZ3JhZDogICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzRDMUQ5NSAwJSwgIzdDM0FFRCA0NSUsICNBNzhCRkEgMTAwJSk7XG4gIC0tYm9yZGVyOiAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjA3KTtcbiAgLS1ib3JkZXItaDogICByZ2JhKDEzOSw5MiwyNDYsMC40KTtcbiAgLS10ZXh0OiAgICAgICAjRjBGMEY0O1xuICAtLXRleHQyOiAgICAgIHJnYmEoMjQwLDI0MCwyNDQsMC42KTtcbiAgLS10ZXh0MzogICAgICByZ2JhKDI0MCwyNDAsMjQ0LDAuMyk7XG4gIC0tYmFkZ2U6ICAgICAgcmdiYSgxMzksOTIsMjQ2LDAuMSk7XG4gIC0tbmF2LWJnOiAgICAgcmdiYSgxMCw0LDIwLDAuOTIpO1xuICAtLWNhcmQtYmc6ICAgIHJnYmEoMTksMTIsNDAsMC45NSk7XG4gIC0tZ2xvdzE6ICAgICAgcmdiYSgxMzksOTIsMjQ2LDAuMjgpO1xuICAtLWdsb3cyOiAgICAgIHJnYmEoMTA5LDQwLDIxNywwLjE4KTtcbiAgLS1ncmlkLWNvbG9yOiByZ2JhKDEzOSw5MiwyNDYsMC4xNCk7XG4gIC0tdzA1OiByZ2JhKDI1NSwyNTUsMjU1LDAuMDUpO1xuICAtLXcwODogcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTtcbiAgLS13MTI6IHJnYmEoMjU1LDI1NSwyNTUsMC4xMik7XG4gIC0tdzIwOiByZ2JhKDI1NSwyNTUsMjU1LDAuMjApO1xuICAtLXc0MDogcmdiYSgyNTUsMjU1LDI1NSwwLjQwKTtcbiAgLS13NjA6IHJnYmEoMjU1LDI1NSwyNTUsMC42MCk7XG59XG5cbi8qIMOiwpTCgMOiwpTCgCBCQVNFIMOiwpTCgMOiwpTCgCAqL1xuaHRtbCB7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogdmFyKC0tYmcpOyB9XG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnKTtcbiAgY29sb3I6IHZhcigtLXRleHQpO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG46Oi13ZWJraXQtc2Nyb2xsYmFyIHsgd2lkdGg6IDRweDsgaGVpZ2h0OiA0cHg7IH1cbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgeyBiYWNrZ3JvdW5kOiB2YXIoLS1iZzIpOyB9XG46Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsgYmFja2dyb3VuZDogdmFyKC0tYWNjZW50Mik7IGJvcmRlci1yYWRpdXM6IDJweDsgfVxuXG4vKiDDosKUwoDDosKUwoAgQkFDS0dST1VORCBFRkZFQ1RTIMOiwpTCgMOiwpTCgCAqL1xuLnRyLWJnLWdsb3cge1xuICBwb3NpdGlvbjogZml4ZWQ7IGluc2V0OiAwOyB6LWluZGV4OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA4MCUgNzAlIGF0IDUwJSAtNSUsICB2YXIoLS1nbG93MSkgMCUsIHRyYW5zcGFyZW50IDYwJSksXG4gICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgNTUlIDUwJSBhdCA1JSAgOTAlLCAgdmFyKC0tZ2xvdzIpIDAlLCB0cmFuc3BhcmVudCA1NSUpLFxuICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDQ1JSA0NSUgYXQgOTUlIDg1JSwgIHJnYmEoMTk2LDE4MSwyNTMsLjA2KSAwJSwgdHJhbnNwYXJlbnQgNTUlKTtcbn1cbi50ci1iZy1ncmlkIHtcbiAgcG9zaXRpb246IGZpeGVkOyBpbnNldDogMDsgei1pbmRleDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgbGluZWFyLWdyYWRpZW50KHZhcigtLWdyaWQtY29sb3IpIDFweCwgdHJhbnNwYXJlbnQgMXB4KSxcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWdyaWQtY29sb3IpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcbiAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDYwcHg7XG4gIG1hc2staW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDEwMCUgMTAwJSBhdCA1MCUgNTAlLCBibGFjayAyMCUsIHRyYW5zcGFyZW50IDc4JSk7XG4gIC13ZWJraXQtbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTAwJSAxMDAlIGF0IDUwJSA1MCUsIGJsYWNrIDIwJSwgdHJhbnNwYXJlbnQgNzglKTtcbn1cblxuLyogQW5pbWF0ZWQgdHJhdmVsIGRvdHMgYWxvbmcgZ3JpZCBsaW5lcyAqL1xuLnRyLWJnLWdyaWQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSAzcHggYXQgMCAwLCB2YXIoLS1hY2NlbnQpIDAlLCB0cmFuc3BhcmVudCA2MCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDYwcHggNjBweDtcbiAgbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTAwJSAxMDAlIGF0IDUwJSA1MCUsIGJsYWNrIDIwJSwgdHJhbnNwYXJlbnQgNzglKTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAxMDAlIDEwMCUgYXQgNTAlIDUwJSwgYmxhY2sgMjAlLCB0cmFuc3BhcmVudCA3OCUpO1xuICBhbmltYXRpb246IGdyaWQtdHJhdmVsLWggMnMgbGluZWFyIGluZmluaXRlO1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi50ci1iZy1ncmlkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSAzcHggYXQgMCAwLCB2YXIoLS1hY2NlbnQpIDAlLCB0cmFuc3BhcmVudCA2MCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDYwcHggNjBweDtcbiAgbWFzay1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTAwJSAxMDAlIGF0IDUwJSA1MCUsIGJsYWNrIDIwJSwgdHJhbnNwYXJlbnQgNzglKTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAxMDAlIDEwMCUgYXQgNTAlIDUwJSwgYmxhY2sgMjAlLCB0cmFuc3BhcmVudCA3OCUpO1xuICBhbmltYXRpb246IGdyaWQtdHJhdmVsLXYgMnMgbGluZWFyIGluZmluaXRlO1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbkBrZXlmcmFtZXMgZ3JpZC10cmF2ZWwtaCB7XG4gIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgdG8gICB7IGJhY2tncm91bmQtcG9zaXRpb246IDYwcHggMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIGdyaWQtdHJhdmVsLXYge1xuICBmcm9tIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gIHRvICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDYwcHg7IH1cbn1cblxuLyogVmlkZW8gYmFja2dyb3VuZCB3aXRoIGJsdXIvZmFkZSBlZmZlY3QgKi9cbi50ci1iZy12aWRlbyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50ci1iZy12aWRlbyB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgZmlsdGVyOiBibHVyKDhweCkgYnJpZ2h0bmVzcygwLjMpIHNhdHVyYXRlKDEuMik7XG4gIG9wYWNpdHk6IDAuNDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi50ci1iZy12aWRlbzo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogXG4gICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYmcpIDAlLCB0cmFuc3BhcmVudCA0MCUsIHRyYW5zcGFyZW50IDYwJSwgdmFyKC0tYmcpIDEwMCUpLFxuICAgIHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDEwMCUgODAlIGF0IDUwJSAyMCUsIHRyYW5zcGFyZW50IDAlLCB2YXIoLS1iZykgNzAlKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSA2MCUgNjAlIGF0IDUwJSAxMDAlLCByZ2JhKDAsMCwwLDAuOCkgMCUsIHRyYW5zcGFyZW50IDYwJSk7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qIMOiwpTCgMOiwpTCgCBOQVZCQVIgw6LClMKAw6LClMKAICovXG4udHItbmF2YmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tbmF2LWJnKSAhaW1wb3J0YW50O1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgcGFkZGluZzogMC42cmVtIDEuNXJlbTtcbn1cbi50ci1uYXZiYXIgLm5hdmJhci1icmFuZCB7XG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLnRyLW5hdmJhciAuYnJhbmQtbG9nbyB7XG4gIHdpZHRoOiAzMnB4OyBoZWlnaHQ6IDMycHg7IGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCB2YXIoLS1hY2NlbnQpO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEzOSw5MiwyNDYsMC4zKTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4udHItbmF2YmFyIC5icmFuZC1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMjBweDsgbGV0dGVyLXNwYWNpbmc6IDRweDsgY29sb3I6IHZhcigtLXRleHQpO1xufVxuLnRyLW5hdmJhciAubmF2LWxpbmsge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxMHB4OyBsZXR0ZXItc3BhY2luZzogMS41cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS10ZXh0MykgIWltcG9ydGFudDsgdHJhbnNpdGlvbjogY29sb3IgMC4yczsgcGFkZGluZzogMC40cmVtIDAuOHJlbTtcbn1cbi50ci1uYXZiYXIgLm5hdi1saW5rOmhvdmVyLFxuLnRyLW5hdmJhciAubmF2LWxpbmsuYWN0aXZlIHsgY29sb3I6IHZhcigtLWFjY2VudCkgIWltcG9ydGFudDsgfVxuLnRyLW5hdmJhciAubmF2YmFyLXRvZ2dsZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlcik7IHBhZGRpbmc6IDRweCA4cHg7XG59XG4udHItbmF2YmFyIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCclM2UlM2NwYXRoIHN0cm9rZT0ncmdiYSgyNTUsMjU1LDI1NSwwLjUpJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgc3Ryb2tlLXdpZHRoPScyJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKTtcbn1cbi50ci1uYXZiYXIgLm5hdmJhci1jb2xsYXBzZSB7IHBhZGRpbmc6IDAuNXJlbSAwOyB9XG5cbi8qIFRoZW1lIHN3aXRjaGVyIGluIG5hdiAtIGRyb3Bkb3duIHZlcnNpb24gKi9cbi50ci10aGVtZS1zd2l0Y2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnRyLXRoZW1lLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmczKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGNvbG9yOiB2YXIoLS10ZXh0Mik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgbWluLXdpZHRoOiAxMDBweDtcbn1cblxuLnRyLXRoZW1lLWRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItaCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnNCk7XG4gIGNvbG9yOiB2YXIoLS10ZXh0KTtcbn1cblxuLnRyLXRoZW1lLWRyb3Bkb3duOjphZnRlciB7XG4gIGNvbnRlbnQ6ICfDosKWwrwnO1xuICBmb250LXNpemU6IDhweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xufVxuXG4udHItdGhlbWUtZHJvcGRvd24ub3Blbjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4udHItdGhlbWUtaWNvbiB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50ci10aGVtZS1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDhweCk7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZzMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICB6LWluZGV4OiAxMDAwO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG59XG5cbi50ci10aGVtZS1tZW51Lm9wZW4ge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi50ci10aGVtZS1vcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogdmFyKC0tdGV4dDMpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG59XG5cbi50ci10aGVtZS1vcHRpb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi50ci10aGVtZS1vcHRpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZzQpO1xuICBjb2xvcjogdmFyKC0tdGV4dDIpO1xufVxuXG4udHItdGhlbWUtb3B0aW9uLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWFjY2VudDIpLCB2YXIoLS1hY2NlbnQpKTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi50ci10aGVtZS1vcHRpb24gLnRyLXRoZW1lLWljb24ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi8qIMOiwpTCgMOiwpTCgCBBVVRIIFNQTElUIExBWU9VVCDDosKUwoDDosKUwoAgKi9cbi50ci1hdXRoLXdyYXAge1xuICBtaW4taGVpZ2h0OiAxMDB2aDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgei1pbmRleDogMTtcbn1cbi50ci1hdXRoLWxlZnQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCB2YXIoLS1iZzIpLCB2YXIoLS1iZzMpKTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgcGFkZGluZzogM3JlbSAyLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi50ci1hdXRoLXJpZ2h0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2FyZC1iZyk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgcGFkZGluZzogM3JlbSAyLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAudHItYXV0aC1sZWZ0IHsgZGlzcGxheTogbm9uZTsgfVxuICAudHItYXV0aC1yaWdodCB7IHBhZGRpbmc6IDJyZW0gMS41cmVtOyB9XG59XG5cbi8qIMOiwpTCgMOiwpTCgCBMRUZUIFBBTkVMIMOiwpTCgMOiwpTCgCAqL1xuLnRyLWxlZnQtdGFnIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogMTBweDsgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4O1xufVxuLnRyLWxlZnQtdGFnOjpiZWZvcmUgeyBjb250ZW50OiAnJzsgd2lkdGg6IDE2cHg7IGhlaWdodDogMXB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQpOyB9XG4udHItbGVmdC1oIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoNDBweCwgNXZ3LCA2MHB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDsgbGluZS1oZWlnaHQ6IDAuOTU7IGNvbG9yOiAjZmZmOyBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnRyLWxlZnQtaCBlbSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZCk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbn1cbi50ci1sZWZ0LXN1YiB7IGZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLXRleHQyKTsgbGluZS1oZWlnaHQ6IDEuNzsgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4udHItcGVyayB7XG4gIGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyBnYXA6IDEycHg7XG4gIHBhZGRpbmc6IDEycHg7IGJhY2tncm91bmQ6IHZhcigtLXcwNSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXcwOCk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IG1hcmdpbi1ib3R0b206IDEwcHg7IHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuLnRyLXBlcms6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzOSw5MiwyNDYsMC4wOCk7IGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWgpOyB9XG4udHItcGVyay1pY29uIHtcbiAgd2lkdGg6IDM0cHg7IGhlaWdodDogMzRweDsgYm9yZGVyLXJhZGl1czogOHB4OyBmbGV4LXNocmluazogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tYWNjZW50MiksIHZhcigtLWFjY2VudCkpO1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZm9udC1zaXplOiAxNnB4O1xufVxuLnRyLXBlcmstdGl0bGUgeyBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTsgZm9udC1zaXplOiAxNXB4OyBsZXR0ZXItc3BhY2luZzogMXB4OyBjb2xvcjogI2ZmZjsgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG4udHItcGVyay1kZXNjIHsgZm9udC1zaXplOiAxMXB4OyBjb2xvcjogdmFyKC0tdGV4dDMpOyBsaW5lLWhlaWdodDogMS41OyB9XG5cbi8qIMOiwpTCgMOiwpTCgCBGT1JNIFBBTkVMIMOiwpTCgMOiwpTCgCAqL1xuLnRyLWZvcm0tdG9wLWJhciB7IGhlaWdodDogM3B4OyBiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkKTsgYm9yZGVyLXJhZGl1czogMnB4OyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbi50ci1mb3JtLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMzBweDsgbGV0dGVyLXNwYWNpbmc6IDJweDsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDRweDsgbGluZS1oZWlnaHQ6IDE7XG59XG4udHItZm9ybS1zdWIgeyBmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS10ZXh0Myk7IGxpbmUtaGVpZ2h0OiAxLjY7IG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuLnRyLWZvcm0tc3ViIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qIMOiwpTCgMOiwpTCgCBGT1JNIEVMRU1FTlRTIMOiwpTCgMOiwpTCgCAqL1xuLnRyLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogOXB4OyBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMnB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tdGV4dDMpOyBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4udHItaW5wdXQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13MDUpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13MTIpOyBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxMXB4IDE0cHg7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpOyBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjZmZmOyBvdXRsaW5lOiBub25lOyB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7IHdpZHRoOiAxMDAlO1xufVxuLnRyLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiB2YXIoLS13MjApOyB9XG4udHItaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYmEoMTM5LDkyLDI0NiwwLjUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSw5MiwyNDYsMC4wNCk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEzOSw5MiwyNDYsMC4xMik7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4udHItaW5wdXQuaXMtaW52YWxpZCB7IGJvcmRlci1jb2xvcjogcmdiYSgyMzksNjgsNjgsMC42KTsgfVxuLnRyLWlucHV0LmlzLXZhbGlkICAgeyBib3JkZXItY29sb3I6IHJnYmEoMzQsMTk3LDk0LDAuNSk7IH1cbi50ci1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13MDUpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13MTIpOyBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwYWRkaW5nOiAxMXB4IDE0cHg7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpOyBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjZmZmOyBvdXRsaW5lOiBub25lOyB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7IHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IHBvaW50ZXI7IGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTInIGhlaWdodD0nOCcgdmlld0JveD0nMCAwIDEyIDgnJTNFJTNDcGF0aCBkPSdNMSAxbDUgNSA1LTUnIHN0cm9rZT0ncmdiYSgyNTUsMjU1LDI1NSwwLjMpJyBzdHJva2Utd2lkdGg9JzEuNScgZmlsbD0nbm9uZScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxNHB4IGNlbnRlcjtcbn1cbi50ci1zZWxlY3Q6Zm9jdXMgeyBib3JkZXItY29sb3I6IHJnYmEoMTM5LDkyLDI0NiwwLjUpOyBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMzksOTIsMjQ2LDAuMTIpOyB9XG4udHItc2VsZWN0IG9wdGlvbiB7IGJhY2tncm91bmQ6ICMxMTE7IGNvbG9yOiAjZmZmOyB9XG4udHItcGFzcy13cmFwIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4udHItcGFzcy10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IHJpZ2h0OiAxMnB4OyB0b3A6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBiYWNrZ3JvdW5kOiBub25lOyBib3JkZXI6IG5vbmU7IGNvbG9yOiB2YXIoLS10ZXh0Myk7IGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxNHB4OyBwYWRkaW5nOiAwOyB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuLnRyLXBhc3MtdG9nZ2xlOmhvdmVyIHsgY29sb3I6ICNmZmY7IH1cbi50ci1pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogMTBweDsgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgY29sb3I6IHJnYmEoMjM5LDY4LDY4LDAuOCk7IG1hcmdpbi10b3A6IDRweDsgbWluLWhlaWdodDogMTRweDsgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIMOiwpTCgMOiwpTCgCBCVVRUT05TIMOiwpTCgMOiwpTCgCAqL1xuLnRyLWJ0bi1wcmltYXJ5IHtcbiAgd2lkdGg6IDEwMCU7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpOyBmb250LXNpemU6IDE4cHg7IGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIGNvbG9yOiAjMDAwOyBib3JkZXI6IG5vbmU7IGN1cnNvcjogcG9pbnRlcjsgcGFkZGluZzogMTNweCAyMHB4OyBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ncmFkKTsgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICBib3gtc2hhZG93OiAwIDZweCAyMnB4IHJnYmEoMTM5LDkyLDI0NiwwLjQpO1xufVxuLnRyLWJ0bi1wcmltYXJ5OmhvdmVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOyBib3gtc2hhZG93OiAwIDEycHggMzRweCByZ2JhKDEzOSw5MiwyNDYsMC42KTsgfVxuLnRyLWJ0bi1wcmltYXJ5OmFjdGl2ZSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuLnRyLWJ0bi1wcmltYXJ5LmxvYWRpbmcgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgb3BhY2l0eTogMC43OyB9XG4udHItYnRuLW91dGxpbmUge1xuICB3aWR0aDogMTAwJTsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7IGZvbnQtc2l6ZTogMTdweDsgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgY29sb3I6IHZhcigtLWFjY2VudDMpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEzOSw5MiwyNDYsMC4zKTsgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7IGJvcmRlci1yYWRpdXM6IDEycHg7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG59XG4udHItYnRuLW91dGxpbmU6aG92ZXIgeyBiYWNrZ3JvdW5kOiByZ2JhKDEzOSw5MiwyNDYsMC4wOCk7IGJvcmRlci1jb2xvcjogcmdiYSgxMzksOTIsMjQ2LDAuNTUpOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7IH1cblxuLyogw6LClMKAw6LClMKAIFNURVBTIEJBUiDDosKUwoDDosKUwoAgKi9cbi50ci1zdGVwcyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbi50ci1zdGVwLWl0ZW0geyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDZweDsgfVxuLnRyLXN0ZXAtbnVtIHtcbiAgd2lkdGg6IDI0cHg7IGhlaWdodDogMjRweDsgYm9yZGVyLXJhZGl1czogNTAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7IGZvbnQtc2l6ZTogMTNweDsgZmxleC1zaHJpbms6IDA7XG59XG4udHItc3RlcC1udW0uYWN0aXZlIHsgYmFja2dyb3VuZDogdmFyKC0tZ3JhZCk7IGNvbG9yOiAjMDAwOyB9XG4udHItc3RlcC1udW0uZG9uZSAgIHsgYmFja2dyb3VuZDogcmdiYSgzNCwxOTcsOTQsMC4xNSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsMTk3LDk0LDAuMzUpOyBjb2xvcjogIzIyYzU1ZTsgfVxuLnRyLXN0ZXAtbnVtLmlkbGUgICB7IGJhY2tncm91bmQ6IHZhcigtLXcwNSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXcxMik7IGNvbG9yOiB2YXIoLS10ZXh0Myk7IH1cbi50ci1zdGVwLWxhYmVsIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogOXB4OyBsZXR0ZXItc3BhY2luZzogMS41cHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ci1zdGVwLWxhYmVsLmFjdGl2ZSB7IGNvbG9yOiAjZmZmOyB9XG4udHItc3RlcC1sYWJlbC5pZGxlICAgeyBjb2xvcjogdmFyKC0tdGV4dDMpOyB9XG4udHItc3RlcC1hcnJvdyB7IGNvbG9yOiB2YXIoLS10ZXh0Myk7IGZvbnQtc2l6ZTogMTJweDsgbWFyZ2luOiAwIDJweDsgfVxuXG4vKiDDosKUwoDDosKUwoAgRElWSURFUlMgw6LClMKAw6LClMKAICovXG4udHItc2VwIHtcbiAgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW46IDFyZW0gMDtcbn1cbi50ci1zZXA6OmJlZm9yZSwgLnRyLXNlcDo6YWZ0ZXIgeyBjb250ZW50OiAnJzsgZmxleDogMTsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IHZhcigtLXcwOCk7IH1cbi50ci1zZXAgc3BhbiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBmb250LXNpemU6IDlweDsgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgY29sb3I6IHZhcigtLXcyMCk7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udHItZ3JhZC1saW5lIHsgaGVpZ2h0OiAxcHg7IGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMTM5LDkyLDI0NiwwLjM1KSwgdHJhbnNwYXJlbnQpOyBtYXJnaW46IDFyZW0gMDsgfVxuXG4vKiDDosKUwoDDosKUwoAgQkFER0VTIC8gUElMTFMgw6LClMKAw6LClMKAICovXG4udHItYmFkZ2Uge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTsgZm9udC1zaXplOiA5cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgcGFkZGluZzogNHB4IDEwcHg7IGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnRyLWJhZGdlLWFjY2VudCB7IGJhY2tncm91bmQ6IHZhcigtLWJhZGdlKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWgpOyBjb2xvcjogdmFyKC0tYWNjZW50Myk7IH1cbi50ci1iYWRnZS1ncmVlbiAgeyBiYWNrZ3JvdW5kOiByZ2JhKDM0LDE5Nyw5NCwwLjEpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LDE5Nyw5NCwwLjI1KTsgY29sb3I6ICMyMmM1NWU7IH1cbi50ci1iYWRnZS1yZWQgICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDIzOSw2OCw2OCwwLjEpOyBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSw2OCw2OCwwLjI1KTsgY29sb3I6ICNlZjQ0NDQ7IH1cbi50ci1iYWRnZS1nb2xkICAgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwxOTcsMjQsMC4xKTsgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDUsMTk3LDI0LDAuMjUpOyBjb2xvcjogI0Y1QzUxODsgfVxuXG4vKiDDosKUwoDDosKUwoAgT1RQIC8gMkZBIElOUFVUUyDDosKUwoDDosKUwoAgKi9cbi50ci1vdHAtd3JhcCB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWFyZ2luOiAxcmVtIDA7IH1cbi50ci1vdHAtaW5wdXQge1xuICB3aWR0aDogNDhweDsgaGVpZ2h0OiA1NnB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBmb250LXNpemU6IDIycHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS13MDUpOyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13MTIpOyBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdXRsaW5lOiBub25lOyB0cmFuc2l0aW9uOiBhbGwgMC4yNXM7IGNhcmV0LWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xufVxuLnRyLW90cC1pbnB1dDpmb2N1cyB7IGJvcmRlci1jb2xvcjogdmFyKC0tYWNjZW50KTsgYm94LXNoYWRvdzogMCAwIDAgM3B4IHZhcigtLWJhZGdlKTsgfVxuQG1lZGlhIChtYXgtd2lkdGg6IDM3NXB4KSB7XG4gIC50ci1vdHAtaW5wdXQgeyB3aWR0aDogMzhweDsgaGVpZ2h0OiA0OHB4OyBmb250LXNpemU6IDE4cHg7IH1cbiAgLnRyLW90cC13cmFwICB7IGdhcDogNXB4OyB9XG59XG5cbi8qIMOiwpTCgMOiwpTCgCBNRVRIT0QgU0VMRUNUSU9OIChmb3Jnb3QgcGFzc3dvcmQpIMOiwpTCgMOiwpTCgCAqL1xuLnRyLW1ldGhvZC1ib3gge1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgZ2FwOiAxMnB4OyBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXcwNSk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXcwOCk7IGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG4udHItbWV0aG9kLWJveDpob3Zlcixcbi50ci1tZXRob2QtYm94LnNlbGVjdGVkIHsgYmFja2dyb3VuZDogcmdiYSgxMzksOTIsMjQ2LDAuMDgpOyBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1oKTsgfVxuLnRyLW1ldGhvZC1pY29uIHtcbiAgd2lkdGg6IDM4cHg7IGhlaWdodDogMzhweDsgYm9yZGVyLXJhZGl1czogMTBweDsgZmxleC1zaHJpbms6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLXcwOCk7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7IHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbn1cbi50ci1tZXRob2QtYm94LnNlbGVjdGVkIC50ci1tZXRob2QtaWNvbiB7IGJhY2tncm91bmQ6IHZhcigtLWdyYWQpOyB9XG4udHItbWV0aG9kLXRpdGxlIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7IGZvbnQtc2l6ZTogMTZweDsgbGV0dGVyLXNwYWNpbmc6IDFweDsgY29sb3I6ICNmZmY7IG1hcmdpbi1ib3R0b206IDJweDsgfVxuLnRyLW1ldGhvZC1kZXNjICB7IGZvbnQtc2l6ZTogMTFweDsgY29sb3I6IHZhcigtLXRleHQzKTsgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiDDosKUwoDDosKUwoAgQ0FSRCAvIFBBTkVMIMOiwpTCgMOiwpTCgCAqL1xuLnRyLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jYXJkLWJnKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogMTRweDsgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMsIGJveC1zaGFkb3cgMC4ycztcbn1cbi50ci1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1ib3JkZXItaCk7IH1cbi50ci1jYXJkLWhlYWRlciB7XG4gIHBhZGRpbmc6IDAuOXJlbSAxLjFyZW07IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXIpO1xuICBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4udHItY2FyZC1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBmb250LXNpemU6IDlweDsgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDIuNXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBjb2xvcjogdmFyKC0tdGV4dDMpO1xufVxuXG4vKiDDosKUwoDDosKUwoAgTElOS1Mgw6LClMKAw6LClMKAICovXG4udHItbGluayB7IGNvbG9yOiB2YXIoLS1hY2NlbnQpOyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IGZvbnQtd2VpZ2h0OiA2MDA7IHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsgfVxuLnRyLWxpbms6aG92ZXIgeyBvcGFjaXR5OiAwLjg7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4udHItbGluay1tdXRlZCB7IGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBmb250LXNpemU6IDEwcHg7IGxldHRlci1zcGFjaW5nOiAxcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS10ZXh0Myk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdHJhbnNpdGlvbjogY29sb3IgMC4yczsgfVxuLnRyLWxpbmstbXV0ZWQ6aG92ZXIgeyBjb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuXG4vKiDDosKUwoDDosKUwoAgVEVSTVMgw6LClMKAw6LClMKAICovXG4udHItdGVybXMgeyBmb250LXNpemU6IDExcHg7IGNvbG9yOiB2YXIoLS10ZXh0Myk7IGxpbmUtaGVpZ2h0OiAxLjY7IG1hcmdpbi1ib3R0b206IDFyZW07IH1cbi50ci10ZXJtcyBhIHsgY29sb3I6IHZhcigtLWFjY2VudCk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiDDosKUwoDDosKUwoAgQU5JTUFUSU9OUyDDosKUwoDDosKUwoAgKi9cbkBrZXlmcmFtZXMgdHItZmFkZVVwIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNnB4KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5Aa2V5ZnJhbWVzIHRyLXB1bHNlIHsgMCUsMTAwJSB7IG9wYWNpdHk6MTsgdHJhbnNmb3JtOnNjYWxlKDEpOyB9IDUwJSB7IG9wYWNpdHk6LjU7IHRyYW5zZm9ybTpzY2FsZSguOCk7IH0gfVxuQGtleWZyYW1lcyB0ci1zaGFrZSB7XG4gIDAlLDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlICAgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgNDAlICAgICAgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoN3B4KTsgfVxuICA2MCUgICAgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNHB4KTsgfVxuICA4MCUgICAgICB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG59XG4udHItYW5pbS1mYWRlIHsgYW5pbWF0aW9uOiB0ci1mYWRlVXAgMC41cyBlYXNlIGJvdGg7IH1cblxuLyogw6LClMKAw6LClMKAIFJFU1BPTlNJVkUgVVRJTElUSUVTIMOiwpTCgMOiwpTCgCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NS45OHB4KSB7XG4gIC50ci1mb3JtLXRpdGxlIHsgZm9udC1zaXplOiAyNnB4OyB9XG4gIC50ci1idG4tcHJpbWFyeSwgLnRyLWJ0bi1vdXRsaW5lIHsgZm9udC1zaXplOiAxNnB4OyBwYWRkaW5nOiAxMnB4IDE2cHg7IH1cbn1cblxuLyogw6LClMKAw6LClMKAIEZPT1RFUiAocHVibGljIHBhZ2VzKSDDosKUwoDDosKUwoAgKi9cbi50ci1wdWJsaWMtZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmcyKTsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWJvcmRlcik7XG4gIHBhZGRpbmc6IDJyZW0gMS41cmVtIDEuNXJlbTsgbWFyZ2luLXRvcDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB6LWluZGV4OiAxO1xufVxuLnRyLWZvb3Rlci13b3JkbWFyayB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpOyBmb250LXNpemU6IDE2cHg7IGxldHRlci1zcGFjaW5nOiA0cHg7IGNvbG9yOiAjZmZmO1xufVxuLnRyLWZvb3Rlci1oYXNoIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7IGZvbnQtc2l6ZTogMTJweDsgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JhZCk7IC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IGJhY2tncm91bmQtY2xpcDogdGV4dDtcbn1cbi50ci1mb290ZXItbGlua3MgYSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pOyBmb250LXNpemU6IDEwcHg7IGxldHRlci1zcGFjaW5nOiAxcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS10ZXh0Myk7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgdHJhbnNpdGlvbjogY29sb3IgMC4yczsgbWFyZ2luOiAwIDEwcHg7XG59XG4udHItZm9vdGVyLWxpbmtzIGE6aG92ZXIgeyBjb2xvcjogdmFyKC0tYWNjZW50KTsgfVxuLnRyLWZvb3Rlci1jb3B5IHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7IGZvbnQtc2l6ZTogMTBweDsgY29sb3I6IHZhcigtLXRleHQzKTsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OyB9XG5cblxuLyogPT0gQXV0aCBwYWdlIGxheW91dCBhbmQgZm9ybSBzdHlsZXMgPT0gKi9cblxuXG4gIDpyb290LGh0bWxbZGF0YS10aGVtZT1cInZpb2xldFwiXXtcbiAgICAtLWJnOiMwQTA0MTQ7LS1iZzI6IzBFMDgyMDstLWJnMzojMTMwQzI4Oy0tYmc0OiMxQTEwMzU7XG4gICAgLS1hY2NlbnQ6IzhCNUNGNjstLWFjY2VudDI6IzZEMjhEOTstLWFjY2VudDM6I0E3OEJGQTtcbiAgICAtLWdyYWQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjNEMxRDk1IDAlLCM3QzNBRUQgNDUlLCNBNzhCRkEgMTAwJSk7XG4gICAgLS1ib3JkZXI6cmdiYSgyNTUsMjU1LDI1NSwwLjA3KTstLWJvcmRlci1oOnJnYmEoMTM5LDkyLDI0NiwwLjQ1KTtcbiAgICAtLXRleHQ6I0YwRjBGNDstLXRleHQyOnJnYmEoMjQwLDI0MCwyNDQsMC42KTstLXRleHQzOnJnYmEoMjQwLDI0MCwyNDQsMC4zKTtcbiAgICAtLW5hdi1iZzpyZ2JhKDEwLDQsMjAsMC45Mik7LS1jYXJkLWJnOnJnYmEoMTksMTIsNDAsMC45NSk7XG4gICAgLS1nbG93MTpyZ2JhKDEzOSw5MiwyNDYsMC4yNik7LS1nbG93MjpyZ2JhKDEwOSw0MCwyMTcsMC4xOCk7XG4gICAgLS1ncmlkLWM6cmdiYSgxMzksOTIsMjQ2LDAuMTQpO1xuICAgIC0tdzA1OnJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7LS13MDg6cmdiYSgyNTUsMjU1LDI1NSwwLjA4KTtcbiAgICAtLXcxMjpyZ2JhKDI1NSwyNTUsMjU1LDAuMTIpOy0tdzIwOnJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgICAtLWZvbnQtZGlzcGxheTonQmViYXMgTmV1ZScsc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtbW9ubzonSUJNIFBsZXggTW9ubycsbW9ub3NwYWNlO1xuICAgIC0tZm9udC1ib2R5OidTcGFjZSBHcm90ZXNrJyxzYW5zLXNlcmlmO1xuICB9XG4gIGh0bWxbZGF0YS10aGVtZT1cImJsYWNrXCJde1xuICAgIC0tYmc6IzA0MDQwQTstLWJnMjojMDgwNjBFOy0tYmczOiMwRDBBMTg7LS1iZzQ6IzEyMEUyMjtcbiAgICAtLWFjY2VudDojRDkxQUFEOy0tYWNjZW50MjojOEMwRjcwOy0tYWNjZW50MzojRTgzREMwO1xuICAgIC0tZ3JhZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCM1QzBBNDggMCUsIzlCMEY3QSA0MCUsI0Q5MUFBRCA3NSUsI0U4M0RDMCAxMDAlKTtcbiAgICAtLWJvcmRlcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMDcpOy0tYm9yZGVyLWg6cmdiYSgyMTcsMjYsMTczLDAuNDUpO1xuICAgIC0tdGV4dDojRjBGMEY0Oy0tdGV4dDI6cmdiYSgyNDAsMjQwLDI0NCwwLjYpOy0tdGV4dDM6cmdiYSgyNDAsMjQwLDI0NCwwLjMpO1xuICAgIC0tbmF2LWJnOnJnYmEoNCw0LDEwLDAuOTIpOy0tY2FyZC1iZzpyZ2JhKDEzLDEwLDI0LDAuOTUpO1xuICAgIC0tZ2xvdzE6cmdiYSgyMTcsMjYsMTczLDAuMjIpOy0tZ2xvdzI6cmdiYSgxNDAsMTUsMTEyLDAuMTYpO1xuICAgIC0tZ3JpZC1jOnJnYmEoMjE3LDI2LDE3MywwLjIyKTtcbiAgICAtLXcwNTpyZ2JhKDI1NSwyNTUsMjU1LDAuMDUpOy0tdzA4OnJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7XG4gICAgLS13MTI6cmdiYSgyNTUsMjU1LDI1NSwwLjEyKTstLXcyMDpyZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4gIH1cbiAgaHRtbFtkYXRhLXRoZW1lPVwiYmxhY2tcIl0gLnRyLWxlZnR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCMyMzIxMjgsdmFyKC0tYmczKSl9XG4gIGh0bWxbZGF0YS10aGVtZT1cImJsYWNrXCJdIC50ci1yaWdodHtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxNDVkZWcsIzIzMjEyOCx2YXIoLS1iZzMpKX1cbiAgaHRtbFtkYXRhLXRoZW1lPVwiYmx1ZVwiXXtcbiAgICAtLWJnOiMwRDEwMjA7LS1iZzI6IzEyMTUyNTstLWJnMzojMTcxOTJFOy0tYmc0OiMxQzFGMzg7XG4gICAgLS1hY2NlbnQ6IzRGOEVGNzstLWFjY2VudDI6IzFBNTZEQjstLWFjY2VudDM6IzkzQkJGRDtcbiAgICAtLWdyYWQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjMUEzQThGIDAlLCMxQTU2REIgNDAlLCM0RjhFRjcgNzUlLCM5M0JCRkQgMTAwJSk7XG4gICAgLS1ib3JkZXI6cmdiYSgyNTUsMjU1LDI1NSwwLjA3KTstLWJvcmRlci1oOnJnYmEoNzksMTQyLDI0NywwLjQ1KTtcbiAgICAtLXRleHQ6I0YwRjBGNDstLXRleHQyOnJnYmEoMjQwLDI0MCwyNDQsMC42KTstLXRleHQzOnJnYmEoMjQwLDI0MCwyNDQsMC4zKTtcbiAgICAtLW5hdi1iZzpyZ2JhKDEzLDE2LDMyLDAuOTIpOy0tY2FyZC1iZzpyZ2JhKDIzLDI1LDQ2LDAuOTUpO1xuICAgIC0tZ2xvdzE6cmdiYSg3OSwxNDIsMjQ3LDAuMik7LS1nbG93MjpyZ2JhKDI2LDg2LDIxOSwwLjE0KTtcbiAgICAtLWdyaWQtYzpyZ2JhKDc5LDE0MiwyNDcsMC4xMik7XG4gICAgLS13MDU6cmdiYSgyNTUsMjU1LDI1NSwwLjA1KTstLXcwODpyZ2JhKDI1NSwyNTUsMjU1LDAuMDgpO1xuICAgIC0tdzEyOnJnYmEoMjU1LDI1NSwyNTUsMC4xMik7LS13MjA6cmdiYSgyNTUsMjU1LDI1NSwwLjIpO1xuICB9XG5cblxuICBib2R5e2JhY2tncm91bmQ6dmFyKC0tYmcpIWltcG9ydGFudDtjb2xvcjp2YXIoLS10ZXh0KSFpbXBvcnRhbnQ7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1ib2R5KSFpbXBvcnRhbnQ7bWluLWhlaWdodDoxMDB2aDtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO31cbiAgKntib3gtc2l6aW5nOmJvcmRlci1ib3h9XG4gIDo6LXdlYmtpdC1zY3JvbGxiYXJ7d2lkdGg6M3B4fTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2t7YmFja2dyb3VuZDp2YXIoLS1iZyl9Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOnZhcigtLWFjY2VudDIpO2JvcmRlci1yYWRpdXM6MnB4fVxuICAubW9kYWwtY29udGVudHtiYWNrZ3JvdW5kOnZhcigtLWJnMik7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS1ib3JkZXItaCk7Ym9yZGVyLXJhZGl1czoxNnB4fVxuICAubW9kYWwtaGVhZGVye2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcil9XG4gIC5tb2RhbC1mb290ZXJ7Ym9yZGVyLXRvcDoxcHggc29saWQgdmFyKC0tYm9yZGVyKX1cbiAgLnRhYmxle2NvbG9yOnZhcigtLXRleHQyKX0udGFibGU+Om5vdChjYXB0aW9uKT4qPip7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyKX1cbiAgLmRyb3Bkb3duLW1lbnV7YmFja2dyb3VuZDp2YXIoLS1iZzMpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKX1cbiAgLmRyb3Bkb3duLWl0ZW17Y29sb3I6dmFyKC0tdGV4dDIpfS5kcm9wZG93bi1pdGVtOmhvdmVye2JhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtjb2xvcjp2YXIoLS10ZXh0KX1cbiAgLmJnZ3twb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgODAlIDY1JSBhdCA1MCUgLTUlLHZhcigtLWdsb3cxKSAwJSx0cmFuc3BhcmVudCA2MCUpLHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDUwJSA0NSUgYXQgOCUgOTAlLHZhcigtLWdsb3cyKSAwJSx0cmFuc3BhcmVudCA1NSUpfVxuICAuYmdncmlke3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodmFyKC0tZ3JpZC1jKSAxcHgsdHJhbnNwYXJlbnQgMXB4KSxsaW5lYXItZ3JhZGllbnQoOTBkZWcsdmFyKC0tZ3JpZC1jKSAxcHgsdHJhbnNwYXJlbnQgMXB4KTtiYWNrZ3JvdW5kLXNpemU6NjBweCA2MHB4O21hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTAwJSAxMDAlIGF0IDUwJSA1MCUsYmxhY2sgMjAlLHRyYW5zcGFyZW50IDc4JSk7LXdlYmtpdC1tYXNrLWltYWdlOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDEwMCUgMTAwJSBhdCA1MCUgNTAlLGJsYWNrIDIwJSx0cmFuc3BhcmVudCA3OCUpfVxuICAuYmdncmlkOjpiZWZvcmV7Y29udGVudDonJztwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQtaW1hZ2U6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSAzcHggYXQgMCAwLHZhcigtLWFjY2VudCkgMCUsdHJhbnNwYXJlbnQgNjAlKTtiYWNrZ3JvdW5kLXNpemU6NjBweCA2MHB4O21hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTAwJSAxMDAlIGF0IDUwJSA1MCUsYmxhY2sgMjAlLHRyYW5zcGFyZW50IDc4JSk7LXdlYmtpdC1tYXNrLWltYWdlOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDEwMCUgMTAwJSBhdCA1MCUgNTAlLGJsYWNrIDIwJSx0cmFuc3BhcmVudCA3OCUpO2FuaW1hdGlvbjpncmlkLXRyYXZlbC1oIDJzIGxpbmVhciBpbmZpbml0ZTtvcGFjaXR5OjAuN31cbiAgLmJnZ3JpZDo6YWZ0ZXJ7Y29udGVudDonJztwb3NpdGlvbjpmaXhlZDtpbnNldDowO3otaW5kZXg6MDtwb2ludGVyLWV2ZW50czpub25lO2JhY2tncm91bmQtaW1hZ2U6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSAzcHggYXQgMCAwLHZhcigtLWFjY2VudCkgMCUsdHJhbnNwYXJlbnQgNjAlKTtiYWNrZ3JvdW5kLXNpemU6NjBweCA2MHB4O21hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTAwJSAxMDAlIGF0IDUwJSA1MCUsYmxhY2sgMjAlLHRyYW5zcGFyZW50IDc4JSk7LXdlYmtpdC1tYXNrLWltYWdlOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIDEwMCUgMTAwJSBhdCA1MCUgNTAlLGJsYWNrIDIwJSx0cmFuc3BhcmVudCA3OCUpO2FuaW1hdGlvbjpncmlkLXRyYXZlbC12IDJzIGxpbmVhciBpbmZpbml0ZTtvcGFjaXR5OjAuN31cbiAgQGtleWZyYW1lcyBncmlkLXRyYXZlbC1oe2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjo2MHB4IDB9fVxuICBAa2V5ZnJhbWVzIGdyaWQtdHJhdmVsLXZ7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgNjBweH19XG4gIC5iZ2dyaWQ6OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIDNweCBhdCAwIDAsdmFyKC0tYWNjZW50KSAwJSx0cmFuc3BhcmVudCA2MCUpO2JhY2tncm91bmQtc2l6ZTo2MHB4IDYwcHg7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAxMDAlIDEwMCUgYXQgNTAlIDUwJSxibGFjayAyMCUsdHJhbnNwYXJlbnQgNzglKTstd2Via2l0LW1hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTAwJSAxMDAlIGF0IDUwJSA1MCUsYmxhY2sgMjAlLHRyYW5zcGFyZW50IDc4JSk7YW5pbWF0aW9uOmdyaWQtdHJhdmVsLWggMnMgbGluZWFyIGluZmluaXRlO29wYWNpdHk6MC43fVxuICAuYmdncmlkOjphZnRlcntjb250ZW50OicnO3Bvc2l0aW9uOmZpeGVkO2luc2V0OjA7ei1pbmRleDowO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlIDNweCBhdCAwIDAsdmFyKC0tYWNjZW50KSAwJSx0cmFuc3BhcmVudCA2MCUpO2JhY2tncm91bmQtc2l6ZTo2MHB4IDYwcHg7bWFzay1pbWFnZTpyYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSAxMDAlIDEwMCUgYXQgNTAlIDUwJSxibGFjayAyMCUsdHJhbnNwYXJlbnQgNzglKTstd2Via2l0LW1hc2staW1hZ2U6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgMTAwJSAxMDAlIGF0IDUwJSA1MCUsYmxhY2sgMjAlLHRyYW5zcGFyZW50IDc4JSk7YW5pbWF0aW9uOmdyaWQtdHJhdmVsLXYgMnMgbGluZWFyIGluZmluaXRlO29wYWNpdHk6MC43fVxuICBAa2V5ZnJhbWVzIGdyaWQtdHJhdmVsLWh7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjYwcHggMH19XG4gIEBrZXlmcmFtZXMgZ3JpZC10cmF2ZWwtdntmcm9te2JhY2tncm91bmQtcG9zaXRpb246MCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCA2MHB4fX1cbiAgLnRyLW5hdntwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDt6LWluZGV4OjEwMzA7aGVpZ2h0OjY0cHg7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjtwYWRkaW5nOjAgMnJlbTtiYWNrZ3JvdW5kOnZhcigtLW5hdi1iZyk7YmFja2Ryb3AtZmlsdGVyOmJsdXIoMjRweCk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgdmFyKC0tYm9yZGVyKX1cbiAgLnRyLW5hdi1sb2dve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEwcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9XG4gIC50ci1uYXYtbG9nby1pbWd7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyOjEuNXB4IHNvbGlkIHZhcigtLWFjY2VudCl9XG4gIC50ci1uYXYtbG9nby1pbWcgaW1ne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb3Zlcn1cbiAgLnRyLW5hdi13b3JkbWFya3tmb250LWZhbWlseTp2YXIoLS1mb250LWRpc3BsYXkpO2ZvbnQtc2l6ZToyMHB4O2xldHRlci1zcGFjaW5nOjRweDtjb2xvcjp2YXIoLS10ZXh0KX1cbiAgLnRyLW5hdi1yaWdodHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHg7ZmxleC13cmFwOndyYXB9XG4gIC50ci1uYXYtbGlua3tmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZToxMHB4O2xldHRlci1zcGFjaW5nOjEuNXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS10ZXh0Myk7dGV4dC1kZWNvcmF0aW9uOm5vbmU7cGFkZGluZzo2cHggMTJweDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czo2cHg7dHJhbnNpdGlvbjphbGwgLjJzO3doaXRlLXNwYWNlOm5vd3JhcH1cbiAgLnRyLW5hdi1saW5rOmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItaCk7Y29sb3I6dmFyKC0tYWNjZW50KX1cbiAgLyogVGhlbWUgc3dpdGNoZXIgZHJvcGRvd24gKi9cbiAgLnRoZW1lLXN3aXRjaHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9ja31cbiAgLnRoZW1lLWRyb3Bkb3due2JhY2tncm91bmQ6dmFyKC0tYmczKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6OHB4IDEycHg7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6OHB4O2NvbG9yOnZhcigtLXRleHQyKTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZToxMHB4O2ZvbnQtd2VpZ2h0OjYwMDtsZXR0ZXItc3BhY2luZzoxcHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3RyYW5zaXRpb246YWxsIDAuMnM7dXNlci1zZWxlY3Q6bm9uZTttaW4td2lkdGg6MTAwcHh9XG4gIC50aGVtZS1kcm9wZG93bjpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWgpO2JhY2tncm91bmQ6dmFyKC0tYmc0KTtjb2xvcjp2YXIoLS10ZXh0KX1cbiAgLnRoZW1lLWRyb3Bkb3duOjphZnRlcntjb250ZW50OifDosKWwrwnO2ZvbnQtc2l6ZTo4cHg7bWFyZ2luLWxlZnQ6YXV0bzt0cmFuc2l0aW9uOnRyYW5zZm9ybSAwLjJzfVxuICAudGhlbWUtZHJvcGRvd24ub3Blbjo6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfVxuICAudGhlbWUtaWNvbnt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JvcmRlci1yYWRpdXM6M3B4O2ZsZXgtc2hyaW5rOjB9XG4gIC50aGVtZS1tZW51e3Bvc2l0aW9uOmFic29sdXRlO3RvcDpjYWxjKDEwMCUgKyA4cHgpO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6dmFyKC0tYmczKTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLWJvcmRlcik7Ym9yZGVyLXJhZGl1czoxMHB4O292ZXJmbG93OmhpZGRlbjtvcGFjaXR5OjA7dmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpO3RyYW5zaXRpb246YWxsIDAuMnM7ei1pbmRleDoxMDAwO2JhY2tkcm9wLWZpbHRlcjpibHVyKDIwcHgpfVxuICAudGhlbWUtbWVudS5vcGVue29wYWNpdHk6MTt2aXNpYmlsaXR5OnZpc2libGU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9XG4gIC50aGVtZS1vcHRpb257ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDtwYWRkaW5nOjEwcHggMTJweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjp2YXIoLS10ZXh0Myk7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtmb250LXNpemU6MTBweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6MXB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt0cmFuc2l0aW9uOmFsbCAwLjJzO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLWJvcmRlcil9XG4gIC50aGVtZS1vcHRpb246bGFzdC1jaGlsZHtib3JkZXItYm90dG9tOm5vbmV9XG4gIC50aGVtZS1vcHRpb246aG92ZXJ7YmFja2dyb3VuZDp2YXIoLS1iZzQpO2NvbG9yOnZhcigtLXRleHQyKX1cbiAgLnRoZW1lLW9wdGlvbi5hY3RpdmV7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLHZhcigtLWFjY2VudDIpLHZhcigtLWFjY2VudCkpO2NvbG9yOiNmZmZ9XG4gIC50aGVtZS1vcHRpb24gLnRoZW1lLWljb257d2lkdGg6MTZweDtoZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjRweH1cbiAgLnRyLXBhZ2V7ZmxleDoxO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtwYWRkaW5nOjg4cHggMjRweCA0OHB4O3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MX1cbiAgLnRyLXNwbGl0e2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyIDFmcjttYXgtd2lkdGg6OTYwcHg7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOjIwcHg7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3gtc2hhZG93OjAgNDBweCAxMDBweCByZ2JhKDAsMCwwLDAuNSl9XG4gIC50ci1sZWZ0e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE0NWRlZyx2YXIoLS1iZzIpLHZhcigtLWJnMykpO3BhZGRpbmc6NTJweCA0NHB4O2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCB2YXIoLS1ib3JkZXIpfVxuICAudHItcmlnaHR7YmFja2dyb3VuZDp2YXIoLS1jYXJkLWJnKTtiYWNrZHJvcC1maWx0ZXI6Ymx1cigyMHB4KTtwYWRkaW5nOjUycHggNDRweH1cbiAgLmxlZnQtdGFne2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6M3B4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS1hY2NlbnQpO21hcmdpbi1ib3R0b206MThweDtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDo4cHh9XG4gIC5sZWZ0LXRhZzo6YmVmb3Jle2NvbnRlbnQ6Jyc7d2lkdGg6MTZweDtoZWlnaHQ6MXB4O2JhY2tncm91bmQ6dmFyKC0tYWNjZW50KX1cbiAgLmxlZnQtaHtmb250LWZhbWlseTp2YXIoLS1mb250LWRpc3BsYXkpO2ZvbnQtc2l6ZTpjbGFtcCgzNnB4LDR2dyw1NnB4KTtsZXR0ZXItc3BhY2luZzoycHg7bGluZS1oZWlnaHQ6Ljk1O2NvbG9yOnZhcigtLXRleHQpO21hcmdpbi1ib3R0b206MTRweH1cbiAgLmxlZnQtaCBlbXtmb250LXN0eWxlOm5vcm1hbDtiYWNrZ3JvdW5kOnZhcigtLWdyYWQpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jbGlwOnRleHR9XG4gIC5sZWZ0LXN1Yntmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0Mik7bGluZS1oZWlnaHQ6MS43O21hcmdpbi1ib3R0b206MjZweH1cbiAgLmxlZnQtcGVya3N7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6MTBweH1cbiAgLnBlcmt7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEwcHh9XG4gIC5wZXJrLWljb257d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxMzVkZWcsdmFyKC0tYWNjZW50MiksdmFyKC0tYWNjZW50KSk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxNHB4O2ZsZXgtc2hyaW5rOjB9XG4gIC5wZXJrLXRpdGxle2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZGlzcGxheSk7Zm9udC1zaXplOjE1cHg7bGV0dGVyLXNwYWNpbmc6MXB4O2NvbG9yOnZhcigtLXRleHQpO21hcmdpbi1ib3R0b206MnB4fVxuICAucGVyay1kZXNje2ZvbnQtc2l6ZToxMXB4O2NvbG9yOnZhcigtLXRleHQzKTtsaW5lLWhlaWdodDoxLjV9XG4gIC5sZWZ0LWJvdHRvbXtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTo5cHg7bGV0dGVyLXNwYWNpbmc6MnB4O2NvbG9yOnZhcigtLXRleHQzKTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7bWFyZ2luLXRvcDoyNHB4fVxuICAuZm9ybS1sb2dve2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47Z2FwOjEwcHg7bWFyZ2luLWJvdHRvbToyMnB4fVxuICAuZm9ybS1sb2dvIGltZ3t3aWR0aDozNHB4O2hlaWdodDozNHB4O2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoxLjVweCBzb2xpZCB2YXIoLS1hY2NlbnQpfVxuICAuZm9ybS1sb2dvLXRleHR7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1kaXNwbGF5KTtmb250LXNpemU6MTdweDtsZXR0ZXItc3BhY2luZzozcHg7Y29sb3I6dmFyKC0tdGV4dCl9XG4gIC5mb3JtLXRvcC1iYXJ7aGVpZ2h0OjNweDtiYWNrZ3JvdW5kOnZhcigtLWdyYWQpO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbi1ib3R0b206MjJweH1cbiAgLmZvcm0tdGl0bGV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1kaXNwbGF5KTtmb250LXNpemU6MjhweDtsZXR0ZXItc3BhY2luZzoycHg7Y29sb3I6dmFyKC0tdGV4dCk7bWFyZ2luLWJvdHRvbTo0cHg7bGluZS1oZWlnaHQ6MX1cbiAgLmZvcm0tc3Vie2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRleHQzKTtsaW5lLWhlaWdodDoxLjY7bWFyZ2luLWJvdHRvbToxOHB4fVxuICAuZm9ybS1zdWIgc3Ryb25ne2NvbG9yOnZhcigtLWFjY2VudCk7Zm9udC13ZWlnaHQ6NjAwfVxuICAuZmd7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtnYXA6NHB4O21hcmdpbi1ib3R0b206MTFweH1cbiAgLmZnIGxhYmVse2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjlweDtmb250LXdlaWdodDo2MDA7bGV0dGVyLXNwYWNpbmc6MnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS10ZXh0Myl9XG4gIC5maXtiYWNrZ3JvdW5kOnZhcigtLXcwNSkhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgdmFyKC0tdzEyKSFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czoxMHB4O3BhZGRpbmc6MTFweCAxM3B4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtYm9keSkhaW1wb3J0YW50O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOnZhcigtLXRleHQpIWltcG9ydGFudDtvdXRsaW5lOm5vbmU7dHJhbnNpdGlvbjphbGwgLjI1czt3aWR0aDoxMDAlfVxuICAuZmk6OnBsYWNlaG9sZGVye2NvbG9yOnZhcigtLXcyMCkhaW1wb3J0YW50fVxuICAuZmk6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWJvcmRlci1oKSFpbXBvcnRhbnQ7YmFja2dyb3VuZDpyZ2JhKDEzOSw5MiwyNDYsMC4wNCkhaW1wb3J0YW50O2JveC1zaGFkb3c6MCAwIDAgM3B4IHJnYmEoMTM5LDkyLDI0NiwwLjEpIWltcG9ydGFudH1cbiAgLmZpOi13ZWJraXQtYXV0b2ZpbGwsXG4gIC5maTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAuZmk6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbiAgLmZpOmF1dG9maWxsLFxuICAuZmk6YXV0b2ZpbGw6aG92ZXIsXG4gIC5maTphdXRvZmlsbDpmb2N1c3std2Via2l0LWJveC1zaGFkb3c6MCAwIDAgMTAwMHB4IHZhcigtLWJnNCkgaW5zZXQhaW1wb3J0YW50O2JveC1zaGFkb3c6MCAwIDAgMTAwMHB4IHZhcigtLWJnNCkgaW5zZXQhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOnZhcigtLXRleHQpIWltcG9ydGFudDtjYXJldC1jb2xvcjp2YXIoLS10ZXh0KSFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13MTIpIWltcG9ydGFudDtvdXRsaW5lOm5vbmUhaW1wb3J0YW50O291dGxpbmUtd2lkdGg6MCFpbXBvcnRhbnQ7b3V0bGluZS1vZmZzZXQ6MCFpbXBvcnRhbnQ7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIDUwMDBzIGVhc2UtaW4tb3V0IDBzLGJvcmRlci1jb2xvciAwcyFpbXBvcnRhbnR9XG4gIC5maS13cmFwe3Bvc2l0aW9uOnJlbGF0aXZlfVxuICAuZmktdG9nZ2xle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjEycHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtiYWNrZ3JvdW5kOm5vbmU7Ym9yZGVyOm5vbmU7Y29sb3I6dmFyKC0tdGV4dDMpO2N1cnNvcjpwb2ludGVyO2ZvbnQtc2l6ZToxNHB4O3BhZGRpbmc6MDt0cmFuc2l0aW9uOmNvbG9yIC4yc31cbiAgLmZpLXRvZ2dsZTpob3Zlcntjb2xvcjp2YXIoLS10ZXh0KX1cbiAgLmZyb3d7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxZnIgMWZyO2dhcDoxMHB4fVxuICAuZnN7YmFja2dyb3VuZDp2YXIoLS13MDUpIWltcG9ydGFudDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXcxMikhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjExcHggMTNweDtmb250LWZhbWlseTp2YXIoLS1mb250LWJvZHkpIWltcG9ydGFudDtmb250LXNpemU6MTNweDtjb2xvcjp2YXIoLS10ZXh0KSFpbXBvcnRhbnQ7b3V0bGluZTpub25lO3RyYW5zaXRpb246YWxsIC4yNXM7d2lkdGg6MTAwJTtjdXJzb3I6cG9pbnRlcjthcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZC1pbWFnZTp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyJyBoZWlnaHQ9JzgnIHZpZXdCb3g9JzAgMCAxMiA4JyUzRSUzQ3BhdGggZD0nTTEgMWw1IDUgNS01JyBzdHJva2U9J3JnYmEoMjU1LDI1NSwyNTUsMC4zKScgc3Ryb2tlLXdpZHRoPScxLjUnIGZpbGw9J25vbmUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSFpbXBvcnRhbnQ7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0IWltcG9ydGFudDtiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDEycHggY2VudGVyIWltcG9ydGFudH1cbiAgLmZzOmZvY3Vze2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItaCkhaW1wb3J0YW50O2JveC1zaGFkb3c6MCAwIDAgM3B4IHJnYmEoMTM5LDkyLDI0NiwwLjEpIWltcG9ydGFudH1cbiAgLmZzIG9wdGlvbntiYWNrZ3JvdW5kOiMxMTE7Y29sb3I6I2ZmZn1cbiAgLmJ0bi1zdWJtaXR7d2lkdGg6MTAwJTtmb250LWZhbWlseTp2YXIoLS1mb250LWRpc3BsYXkpO2ZvbnQtc2l6ZToxOHB4O2xldHRlci1zcGFjaW5nOjNweDtjb2xvcjojMDAwO2JvcmRlcjpub25lO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6MTNweCAyMHB4O2JvcmRlci1yYWRpdXM6MTJweDtiYWNrZ3JvdW5kOnZhcigtLWdyYWQpO3RyYW5zaXRpb246YWxsIC4yNXM7Ym94LXNoYWRvdzowIDZweCAyMnB4IHJnYmEoMTM5LDkyLDI0NiwwLjM1KTttYXJnaW4tdG9wOjRweDtkaXNwbGF5OmJsb2NrfVxuICAuYnRuLXN1Ym1pdDpob3Zlcnt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTtib3gtc2hhZG93OjAgMTJweCAzMnB4IHJnYmEoMTM5LDkyLDI0NiwwLjU1KX1cbiAgLmJ0bi1zdWJtaXQ6YWN0aXZle3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfVxuICAuYnRuLW91dHt3aWR0aDoxMDAlO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZGlzcGxheSk7Zm9udC1zaXplOjE3cHg7bGV0dGVyLXNwYWNpbmc6MnB4O2NvbG9yOnZhcigtLWFjY2VudDMpO2JvcmRlcjoxcHggc29saWQgcmdiYSgxMzksOTIsMjQ2LDAuMyk7Y3Vyc29yOnBvaW50ZXI7cGFkZGluZzoxMXB4IDIwcHg7Ym9yZGVyLXJhZGl1czoxMnB4O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7dHJhbnNpdGlvbjphbGwgLjI1czttYXJnaW4tdG9wOjhweDtkaXNwbGF5OmJsb2NrfVxuICAuYnRuLW91dDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMTM5LDkyLDI0NiwwLjA3KTtib3JkZXItY29sb3I6cmdiYSgxMzksOTIsMjQ2LDAuNTUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpfVxuICAuZm9ybS1zZXB7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTBweDttYXJnaW46MTJweCAwfVxuICAuZm9ybS1zZXA6OmJlZm9yZSwuZm9ybS1zZXA6OmFmdGVye2NvbnRlbnQ6Jyc7ZmxleDoxO2hlaWdodDoxcHg7YmFja2dyb3VuZDp2YXIoLS13MDgpfVxuICAuZm9ybS1zZXAgc3Bhbntmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZTo5cHg7bGV0dGVyLXNwYWNpbmc6MnB4O2NvbG9yOnZhcigtLXcyMCk7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO3doaXRlLXNwYWNlOm5vd3JhcH1cbiAgLmZvcm0tbGlua3t0ZXh0LWFsaWduOnJpZ2h0O21hcmdpbi1ib3R0b206MTFweH1cbiAgLmZvcm0tbGluayBhe2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6MXB4O2NvbG9yOnZhcigtLWFjY2VudCk7dGV4dC1kZWNvcmF0aW9uOm5vbmV9XG4gIC5mb3JtLWxpbmsgYTpob3Zlcnt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfVxuICAuZm9ybS1ub3Rle3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRleHQzKTttYXJnaW4tdG9wOjEycHh9XG4gIC5mb3JtLW5vdGUgYXtjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjpub25lO2ZvbnQtd2VpZ2h0OjYwMH1cbiAgLnRyLWFsZXJ0e2JvcmRlci1yYWRpdXM6MTBweDtwYWRkaW5nOjExcHggMTRweDtmb250LXNpemU6MTNweDttYXJnaW4tYm90dG9tOjE0cHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1ib2R5KTttaW4taGVpZ2h0OjQycHh9XG4gIC50ci1hbGVydC1kYW5nZXJ7YmFja2dyb3VuZDpyZ2JhKDI0OCwxMTMsMTEzLDAuMSk7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDI0OCwxMTMsMTEzLDAuMyk7Y29sb3I6I2Y4NzE3MX1cbiAgLnRyLWFsZXJ0LXN1Y2Nlc3N7YmFja2dyb3VuZDpyZ2JhKDUyLDIxMSwxNTMsMC4xKTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoNTIsMjExLDE1MywwLjMpO2NvbG9yOiMzNGQzOTl9XG4gIC5yZWctc3RlcHN7ZGlzcGxheTpmbGV4O2dhcDo2cHg7YWxpZ24taXRlbXM6Y2VudGVyfVxuICAucmVnLXN0ZXB7d2lkdGg6OHB4O2hlaWdodDo4cHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZDp2YXIoLS13MTIpO3RyYW5zaXRpb246YWxsIC4zc31cbiAgLnJlZy1zdGVwLmFjdGl2ZXtiYWNrZ3JvdW5kOnZhcigtLWFjY2VudCk7d2lkdGg6MjBweDtib3JkZXItcmFkaXVzOjRweH1cbiAgLnJlZy1pbmxpbmUtZXJyb3J7Zm9udC1zaXplOjEycHg7Y29sb3I6I2Y4NzE3MTtmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2xldHRlci1zcGFjaW5nOjAuNXB4O21pbi1oZWlnaHQ6MThweDttYXJnaW4tYm90dG9tOjEwcHh9XG4gIC5yZWctYXZhdGFyLXJvd3tkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2dhcDoxNnB4O21hcmdpbi1ib3R0b206MjBweDtwYWRkaW5nOjE0cHg7YmFja2dyb3VuZDp2YXIoLS13MDUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjEycHh9XG4gIC5yZWctYXZhdGFyLXByZXZpZXd7d2lkdGg6NjRweDtoZWlnaHQ6NjRweDtmbGV4LXNocmluazowO2JvcmRlci1yYWRpdXM6MTRweDtvdmVyZmxvdzpoaWRkZW59XG4gIC5yZWctYXZhdGFyLXByZXZpZXcgc3Zne2Rpc3BsYXk6YmxvY2t9XG4gIC5yZWctYXZhdGFyLWxhYmVse2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6MnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS10ZXh0Myk7bWFyZ2luLWJvdHRvbTo0cHh9XG4gIC5yZWctYXZhdGFyLXN1Yntmb250LXNpemU6MTJweDtjb2xvcjp2YXIoLS10ZXh0Mil9XG4gIC5yZWctdG9ze21hcmdpbjoxNnB4IDAgMjBweH1cbiAgLnJlZy10b3MtbGFiZWx7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7Z2FwOjEwcHg7Y3Vyc29yOnBvaW50ZXJ9XG4gIC5yZWctdG9zLWNoZWNre2Rpc3BsYXk6bm9uZX1cbiAgLnJlZy10b3MtYm94e3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7ZmxleC1zaHJpbms6MDtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXcxMik7Ym9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZDp2YXIoLS13MDUpO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjt0cmFuc2l0aW9uOmFsbCAuMnM7bWFyZ2luLXRvcDoxcHh9XG4gIC5yZWctdG9zLWNoZWNrOmNoZWNrZWQgKyAucmVnLXRvcy1ib3h7YmFja2dyb3VuZDp2YXIoLS1hY2NlbnQpO2JvcmRlci1jb2xvcjp2YXIoLS1hY2NlbnQpfVxuICAucmVnLXRvcy1jaGVjazpjaGVja2VkICsgLnJlZy10b3MtYm94OjphZnRlcntjb250ZW50OifinJMnO2ZvbnQtc2l6ZToxMXB4O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NzAwfVxuICAucmVnLXRvcy10ZXh0e2ZvbnQtc2l6ZToxMnB4O2NvbG9yOnZhcigtLXRleHQyKTtsaW5lLWhlaWdodDoxLjZ9XG4gIC5yZWctdG9zLXRleHQgYXtjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjpub25lfVxuICAub3RwLXdyYXB7ZGlzcGxheTpmbGV4O2dhcDo4cHg7bWFyZ2luLWJvdHRvbToyMHB4fVxuICAub3RwLWlucHV0e3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjE4cHg7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1tb25vKTtwYWRkaW5nOjEycHggNHB4IWltcG9ydGFudDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9XG4gIC5vdHAtaW5wdXQ6ZGlzYWJsZWR7b3BhY2l0eTowLjM1O2N1cnNvcjpub3QtYWxsb3dlZH1cbiAgLm90cC1wcm9ncmVzcy10cmFja3t3aWR0aDoxMDAlO2hlaWdodDozcHg7YmFja2dyb3VuZDp2YXIoLS13MDgpO2JvcmRlci1yYWRpdXM6MnB4O21hcmdpbi1ib3R0b206MjRweDtvdmVyZmxvdzpoaWRkZW59XG4gIC5vdHAtcHJvZ3Jlc3MtZmlsbHtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO2JhY2tncm91bmQ6dmFyKC0tZ3JhZCk7Ym9yZGVyLXJhZGl1czoycHg7dHJhbnNpdGlvbjp3aWR0aCAxMjBzIGxpbmVhcn1cbiAgLm90cC1wcm9ncmVzcy1maWxsLm90cC1leHBpcmVke2JhY2tncm91bmQ6cmdiYSgyNDgsMTEzLDExMywwLjYpfVxuICAub3RwLWNvdW50ZG93bntmb250LWZhbWlseTp2YXIoLS1mb250LW1vbm8pO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtd2VpZ2h0OjUwMDtjb2xvcjp2YXIoLS1hY2NlbnQpO2xldHRlci1zcGFjaW5nOjJweDtwYWRkaW5nOjRweCAxMHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tYm9yZGVyKTtib3JkZXItcmFkaXVzOjhweDttaW4td2lkdGg6NTJweDt0ZXh0LWFsaWduOmNlbnRlcn1cbiAgLm90cC1jb3VudGRvd24ub3RwLWV4cGlyZWR7Y29sb3I6I2Y4NzE3MTtib3JkZXItY29sb3I6cmdiYSgyNDgsMTEzLDExMywwLjQpfVxuICAuZm9ybS10ZXJtc3tmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10ZXh0Myk7bGluZS1oZWlnaHQ6MS42O21hcmdpbi1ib3R0b206MTRweH1cbiAgLmZvcm0tdGVybXMgYXtjb2xvcjp2YXIoLS1hY2NlbnQpO3RleHQtZGVjb3JhdGlvbjpub25lfVxuICAuYmFjay1saW5re2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6MS41cHg7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLXRleHQzKTt0ZXh0LWRlY29yYXRpb246bm9uZTtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbi10b3A6MTRweDt0cmFuc2l0aW9uOmNvbG9yIC4yc31cbiAgLmJhY2stbGluazpob3Zlcntjb2xvcjp2YXIoLS1hY2NlbnQpfVxuICAuc3RlcHMtYmFye2Rpc3BsYXk6ZmxleDtnYXA6OHB4O21hcmdpbi1ib3R0b206MjBweDthbGlnbi1pdGVtczpjZW50ZXJ9XG4gIC5zdGVwLWl0ZW17ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6NnB4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjlweDtsZXR0ZXItc3BhY2luZzoxLjVweDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9XG4gIC5zdGVwLW51bXt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O2JvcmRlci1yYWRpdXM6NTAlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmb250LWZhbWlseTp2YXIoLS1mb250LWRpc3BsYXkpO2ZvbnQtc2l6ZToxM3B4O2ZsZXgtc2hyaW5rOjB9XG4gIC5zdGVwLW51bS5hY3RpdmV7YmFja2dyb3VuZDp2YXIoLS1ncmFkKTtjb2xvcjojMDAwfVxuICAuc3RlcC1udW0uZG9uZXtiYWNrZ3JvdW5kOnJnYmEoMzQsMTk3LDk0LDAuMTUpO2JvcmRlcjoxcHggc29saWQgcmdiYSgzNCwxOTcsOTQsMC4zNSk7Y29sb3I6IzIyYzU1ZX1cbiAgLnN0ZXAtbnVtLmlkbGV7YmFja2dyb3VuZDp2YXIoLS13MDUpO2JvcmRlcjoxcHggc29saWQgdmFyKC0tdzEyKTtjb2xvcjp2YXIoLS10ZXh0Myl9XG4gIC5zdGVwLWxhYmVsLmFjdGl2ZXtjb2xvcjp2YXIoLS10ZXh0KX0uc3RlcC1sYWJlbC5pZGxle2NvbG9yOnZhcigtLXRleHQzKX1cbiAgLnN0ZXAtYXJyb3d7Y29sb3I6dmFyKC0tdGV4dDMpO2ZvbnQtc2l6ZToxMnB4O21hcmdpbjowIDJweH1cbiAgLm90cC13cmFwe2Rpc3BsYXk6ZmxleDtnYXA6OHB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjE0cHggMH1cbiAgLm90cC1pbnB1dHt3aWR0aDo0OHB4O2hlaWdodDo1NHB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjIycHg7Zm9udC13ZWlnaHQ6NjAwO2NvbG9yOnZhcigtLXRleHQpO2JhY2tncm91bmQ6dmFyKC0tdzA1KTtib3JkZXI6MXB4IHNvbGlkIHZhcigtLXcxMik7Ym9yZGVyLXJhZGl1czoxMHB4O291dGxpbmU6bm9uZTt0cmFuc2l0aW9uOmFsbCAuMjVzO2NhcmV0LWNvbG9yOnZhcigtLWFjY2VudCl9XG4gIC5vdHAtaW5wdXQ6Zm9jdXN7Ym9yZGVyLWNvbG9yOnZhcigtLWFjY2VudCk7Ym94LXNoYWRvdzowIDAgMCAzcHggcmdiYSgxMzksOTIsMjQ2LDAuMTIpfVxuICAubWV0aG9kLWJveHtwYWRkaW5nOjE0cHggMTZweDtiYWNrZ3JvdW5kOnZhcigtLXcwNSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13MDgpO2JvcmRlci1yYWRpdXM6MTJweDttYXJnaW4tYm90dG9tOjEwcHg7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjphbGwgLjJzO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjEycHh9XG4gIC5tZXRob2QtYm94LnNlbGVjdGVkLC5tZXRob2QtYm94OmhvdmVye2JhY2tncm91bmQ6cmdiYSgxMzksOTIsMjQ2LDAuMDgpO2JvcmRlci1jb2xvcjp2YXIoLS1ib3JkZXItaCl9XG4gIC5tZXRob2QtaWNvbnt3aWR0aDozNnB4O2hlaWdodDozNnB4O2JvcmRlci1yYWRpdXM6MTBweDtiYWNrZ3JvdW5kOnZhcigtLXcwOCk7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2ZvbnQtc2l6ZToxNnB4O2ZsZXgtc2hyaW5rOjA7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kIC4yc31cbiAgLm1ldGhvZC1ib3guc2VsZWN0ZWQgLm1ldGhvZC1pY29ue2JhY2tncm91bmQ6dmFyKC0tZ3JhZCl9XG4gIC5tZXRob2QtdGl0bGV7Zm9udC1mYW1pbHk6dmFyKC0tZm9udC1kaXNwbGF5KTtmb250LXNpemU6MTZweDtsZXR0ZXItc3BhY2luZzoxcHg7Y29sb3I6dmFyKC0tdGV4dCk7bWFyZ2luLWJvdHRvbToycHh9XG4gIC5tZXRob2QtZGVzY3tmb250LXNpemU6MTFweDtjb2xvcjp2YXIoLS10ZXh0Myk7bGluZS1oZWlnaHQ6MS40fVxuICAvKiBTa2lwIHZlcmlmaWNhdGlvbiDigJQgbXV0ZWQgZGFzaGVkIGJ1dHRvbiAqL1xuICAuYnRuLXNraXB7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6MnB4O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtjb2xvcjp2YXIoLS10ZXh0Myk7Ym9yZGVyOjFweCBkYXNoZWQgdmFyKC0tdzEyKTtib3JkZXItcmFkaXVzOjEycHg7cGFkZGluZzoxMXB4IDE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dHJhbnNpdGlvbjphbGwgLjI1cztjdXJzb3I6cG9pbnRlcjttYXJnaW4tdG9wOjB9XG4gIC5idG4tc2tpcDpob3Zlcntib3JkZXItY29sb3I6dmFyKC0tdzIwKTtjb2xvcjp2YXIoLS10ZXh0Mik7YmFja2dyb3VuZDp2YXIoLS13MDUpfVxuXG4gIC8qIFJlZ2lzdHJhdGlvbiBzdGVwIHBhbmVscyDigJQgbm8tbGF5b3V0LXNoaWZ0IHRyYW5zaXRpb25zICovXG4gIC5yZWctcGFuZWwtd3JhcHtwb3NpdGlvbjpyZWxhdGl2ZX1cbiAgLnJlZy1zdGVwLXBhbmVse2Rpc3BsYXk6bm9uZX1cbiAgLnJlZy1zdGVwLXBhbmVsLmFjdGl2ZXtkaXNwbGF5OmJsb2NrfVxuXG4gIC8qIFBhc3N3b3JkIHJ1bGVzICovXG4gIC5wdy1ydWxlc3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2dhcDo0cHg7bWFyZ2luLXRvcDo4cHg7cGFkZGluZzoxMHB4IDEycHg7YmFja2dyb3VuZDp2YXIoLS13MDUpO2JvcmRlci1yYWRpdXM6OHB4O2JvcmRlcjoxcHggc29saWQgdmFyKC0tdzA4KX1cbiAgLnB3LXJ1bGV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6N3B4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7Zm9udC1zaXplOjEwcHg7bGV0dGVyLXNwYWNpbmc6LjVweDtjb2xvcjp2YXIoLS10ZXh0Myk7dHJhbnNpdGlvbjpjb2xvciAuMnN9XG4gIC5wdy1ydWxlLnZhbGlke2NvbG9yOiMyMmM1NWV9XG4gIC5wdy1ydWxlLWRvdHt3aWR0aDo2cHg7aGVpZ2h0OjZweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kOnZhcigtLXcyMCk7ZmxleC1zaHJpbms6MDt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjJzfVxuICAucHctcnVsZS52YWxpZCAucHctcnVsZS1kb3R7YmFja2dyb3VuZDojMjJjNTVlfVxuXG4gIC8qIEZpZWxkIHN0YXR1cyBpbmRpY2F0b3IgKGVtYWlsIC8gdXNlcm5hbWUpICovXG4gIC5maS1zdGF0dXN7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTJweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO2ZvbnQtc2l6ZToxM3B4O2ZvbnQtZmFtaWx5OnZhcigtLWZvbnQtbW9ubyk7cG9pbnRlci1ldmVudHM6bm9uZTt0cmFuc2l0aW9uOmNvbG9yIC4yc31cbiAgLmZpLW9re2NvbG9yOiMyMmM1NWV9XG4gIC5maS1lcnJ7Y29sb3I6I2Y4NzE3MX1cbiAgLmZpLWNoZWNraW5ne2NvbG9yOnZhcigtLXRleHQzKTthbmltYXRpb246dHItcHVsc2UgMXMgaW5maW5pdGV9XG5cbiAgLyogQXZhdGFyIHJlZnJlc2ggKi9cbiAgLnJlZy1hdmF0YXItaW5mb3tmbGV4OjF9XG4gIC5yZWctYXZhdGFyLXJlZnJlc2h7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjhweDtiYWNrZ3JvdW5kOnZhcigtLXcwNSk7Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS13MTIpO2NvbG9yOnZhcigtLXRleHQzKTtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7dHJhbnNpdGlvbjphbGwgLjJzO2ZsZXgtc2hyaW5rOjA7Zm9udC13ZWlnaHQ6NDAwO3BhZGRpbmc6MH1cbiAgLnJlZy1hdmF0YXItcmVmcmVzaDpob3ZlcntiYWNrZ3JvdW5kOnJnYmEoMTM5LDkyLDI0NiwwLjA4KTtib3JkZXItY29sb3I6dmFyKC0tYm9yZGVyLWgpO2NvbG9yOnZhcigtLWFjY2VudCl9XG4gIC5yZWctYXZhdGFyLXJlZnJlc2guc3Bpbm5pbmcgc3Zne2FuaW1hdGlvbjpzcGluMzYwIC40cyBsaW5lYXJ9XG4gIEBrZXlmcmFtZXMgc3BpbjM2MHtmcm9te3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1cblxuICBAbWVkaWEobWF4LXdpZHRoOjc2OHB4KXtcbiAgICAudHItc3BsaXR7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOjFmcjtib3JkZXItcmFkaXVzOjE2cHg7bWF4LXdpZHRoOjQ4MHB4fVxuICAgIC50ci1sZWZ0e2Rpc3BsYXk6bm9uZX1cbiAgICAudHItcmlnaHR7cGFkZGluZzozNnB4IDI4cHh9XG4gICAgLnRyLW5hdntwYWRkaW5nOjAgMXJlbX1cbiAgICAudHItcGFnZXtwYWRkaW5nOjgwcHggMTZweCAzMnB4fVxuICB9XG4gIEBtZWRpYShtYXgtd2lkdGg6NDgwcHgpe1xuICAgIC50ci1yaWdodHtwYWRkaW5nOjI4cHggMjBweH1cbiAgICAuZnJvd3tncmlkLXRlbXBsYXRlLWNvbHVtbnM6MWZyfVxuICAgIC5vdHAtaW5wdXR7d2lkdGg6NDBweDtoZWlnaHQ6NDhweDtmb250LXNpemU6MThweH1cbiAgICAub3RwLXdyYXB7Z2FwOjVweH1cbiAgfVxuICBAbWVkaWEobWF4LXdpZHRoOjM2MHB4KXtcbiAgICAub3RwLWlucHV0e3dpZHRoOjM0cHg7aGVpZ2h0OjQ0cHg7Zm9udC1zaXplOjE2cHh9XG4gICAgLm90cC13cmFwe2dhcDo0cHh9XG4gIH1cblxuIl19 */
