@import "https://fonts.googleapis.com/css2?family=VT323&family=Share+Tech+Mono&display=swap";

/* css/gallery.css */
:root {
  --crt-black: #0a0806;
  --crt-dark: #1a1612;
  --crt-amber: #ffb000;
  --crt-amber-dim: #996600;
  --crt-green: #33ff33;
  --crt-red: #ff3333;
  --kodak-yellow: #ffd700;
  --kodak-red: #c41e3a;
  --film-border: #2a2420;
  --paper-cream: #f5f0e6;
  --paper-aged: #e8e0d0;
  --font-mono:
    "Share Tech Mono",
    "Courier New",
    monospace;
  --font-display: "VT323", monospace;
  --spacing-xs: 4px;
  --spacing-sm: 8px;
  --spacing-md: 12px;
  --spacing-lg: 16px;
  --spacing-xl: 24px;
  --touch-target-min: 44px;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html,
body {
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
  position: relative;
}
.no-select {
  -webkit-user-select: none;
  user-select: none;
}
.app-shell {
  position: fixed;
  inset: 0;
  height: 100vh;
  height: 100dvh;
  background: var(--crt-black);
  color: var(--crt-amber);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-family: var(--font-mono);
  font-size: 11px;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
}
.app-shell.theme-terminal::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(0deg, transparent 0px, transparent 2px, rgba(0, 0, 0, 0.15) 2px, rgba(0, 0, 0, 0.15) 4px);
  z-index: 9999;
}
.app-shell.sidebar-hidden .sidebar {
  display: none;
}
.header-bar {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border-bottom: 2px solid #3a3632;
  padding: 6px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.header-brand {
  font-family: var(--font-display);
  font-size: 16px;
  letter-spacing: 3px;
  color: var(--crt-amber);
  text-shadow: 0 0 10px rgba(255, 176, 0, 0.5);
}
.header-status {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 10px;
}
.rec-indicator {
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--crt-red);
}
.rec-dot {
  width: 8px;
  height: 8px;
  background: var(--crt-red);
  border-radius: 50%;
}
.rec-dot.active {
  animation: blink-rec 1s infinite;
}
.rec-indicator.inactive {
  color: var(--crt-amber-dim);
}
.rec-indicator.inactive .rec-dot {
  background: var(--crt-amber-dim);
}
@keyframes blink-rec {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.stage {
  flex: 1;
  min-height: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background: var(--crt-black);
  padding: var(--spacing-sm);
  overflow: hidden;
}
.stage .nav-controls {
  width: 100%;
  border-top: none;
  border-bottom: 2px solid #3a3632;
}
.stage .hero-wrapper {
  flex: 1;
  min-height: 0;
  width: 100%;
}
.hero-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-width: calc(100% - 16px);
  max-height: calc(100% - 16px);
  background: var(--film-border);
  padding: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.5), 0 0 20px rgba(255, 176, 0, 0.1);
}
.stage img.hero,
.stage video.hero {
  max-width: 100%;
  max-height: 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.tap-zone {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 25%;
  z-index: 50;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.tap-zone.prev {
  left: 0;
}
.tap-zone.next {
  right: 0;
}
.tap-zone:active {
  background: rgba(255, 176, 0, 0.1);
}
.date-stamp {
  position: absolute;
  bottom: 12px;
  right: 12px;
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--kodak-red);
  background: rgba(255, 215, 0, 0.9);
  padding: 2px 8px;
  letter-spacing: 1px;
}
.frame-counter {
  position: absolute;
  top: 8px;
  left: 8px;
  font-family: var(--font-display);
  font-size: 12px;
  color: var(--crt-amber);
  background: rgba(0, 0, 0, 0.7);
  padding: 2px 6px;
  letter-spacing: 2px;
}
.banner {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  background: var(--crt-red);
  color: white;
  padding: 4px 16px;
  font-family: var(--font-display);
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  animation: flash-banner 2s infinite;
}
@keyframes flash-banner {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}
.filter-banner {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100;
  background: var(--crt-green);
  color: var(--crt-black);
  padding: 4px 12px;
  font-family: var(--font-display);
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.filter-banner button {
  background: var(--crt-black);
  border: none;
  color: var(--crt-green);
  padding: 2px 8px;
  font-family: inherit;
  cursor: pointer;
}
.filter-banner.object-filter {
  background: var(--crt-amber);
  color: var(--crt-black);
}
.filter-banner.object-filter button {
  color: var(--crt-amber);
}
.download-all-btn {
  background: #f0c060;
  color: #0a0a0a;
  padding: 4px 12px;
  margin: 0 8px;
  text-decoration: none;
  font-weight: bold;
  border-radius: 4px;
}
.download-all-btn:hover {
  background: #ffd080;
}
.sidebar {
  background: var(--crt-dark);
  border-top: 2px solid #3a3632;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  height: 160px;
  padding-bottom: 45px;
}
.sidebar.hidden {
  display: none;
}
.strip-header {
  background: var(--film-border);
  padding: 4px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 9px;
  color: var(--crt-amber-dim);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid #3a3632;
}
.scroll-wrapper {
  flex: 1;
  overflow-x: auto;
  overflow-y: hidden;
  background: var(--film-border);
  -webkit-overflow-scrolling: touch;
}
.grid {
  display: flex;
  gap: 2px;
  padding: 4px 16px;
  height: 100%;
}
.scroll-wrapper::before,
.scroll-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 14px;
  background: repeating-linear-gradient(180deg, var(--film-border) 0px, var(--film-border) 6px, #0a0806 6px, #0a0806 12px);
  z-index: 10;
}
.thumb {
  flex-shrink: 0;
  width: 70px;
  height: 100%;
  position: relative;
  cursor: pointer;
  background: #1a1410;
  padding: 2px;
  opacity: 0.6;
}
.thumb.active {
  opacity: 1;
  outline: 2px solid var(--crt-amber);
  outline-offset: 1px;
}
.thumb picture {
  display: contents;
}
.thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #0a0806;
  image-orientation: from-image;
}
.thumb::after {
  content: attr(data-frame);
  position: absolute;
  bottom: 1px;
  right: 2px;
  font-size: 8px;
  color: var(--kodak-red);
  font-family: var(--font-display);
}
.nav-controls {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border-top: 2px solid #3a3632;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 48px;
  position: relative;
  z-index: 150;
}
.nav-btn {
  background: linear-gradient(180deg, #3a3632 0%, #2a2622 50%, #1a1612 100%);
  border: 2px solid #4a4642;
  border-bottom-color: #1a1612;
  border-right-color: #1a1612;
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 16px;
  padding: 6px 10px;
  cursor: pointer;
  min-width: 36px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
}
.nav-btn:active {
  border-color: #1a1612;
  border-top-color: #4a4642;
  border-left-color: #4a4642;
  background: linear-gradient(180deg, #1a1612 0%, #2a2622 50%, #3a3632 100%);
}
.nav-btn.active {
  color: var(--crt-green);
  text-shadow: 0 0 8px var(--crt-green);
}
.nav-btn.icon-btn {
  display: none;
}
.nav-spacer {
  display: none;
}
.date-display {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  padding: 4px 12px;
  cursor: pointer;
  min-width: 100px;
  text-align: center;
}
.date-text {
  font-family: var(--font-display);
  font-size: 14px;
  color: var(--crt-amber);
  text-shadow: 0 0 8px var(--crt-amber);
  letter-spacing: 1px;
  display: block;
}
.date-detail {
  font-family: var(--font-mono);
  font-size: 10px;
  color: var(--crt-amber-dim);
  margin-top: 2px;
}
.search-container {
  display: none;
  position: relative;
}
.search-container.active {
  display: flex;
  align-items: center;
}
.search-input {
  background: var(--crt-black);
  border: 2px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 14px;
  padding: 4px 8px;
  width: 150px;
  outline: none;
}
.search-input::placeholder {
  color: rgba(255, 176, 0, 0.5);
}
.search-input:focus {
  border-color: var(--crt-green);
  box-shadow: 0 0 8px rgba(51, 255, 51, 0.3);
}
.search-results-count {
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 12px;
  margin-left: 4px;
  opacity: 0.7;
}
.search-banner {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border: 1px solid var(--crt-amber);
  padding: 4px 12px;
  margin: 4px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-family: var(--font-display);
  color: var(--crt-amber);
  font-size: 14px;
}
.search-banner button {
  background: none;
  border: 1px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 12px;
  padding: 2px 8px;
  cursor: pointer;
  margin-left: 8px;
}
.search-banner button:hover {
  background: rgba(255, 176, 0, 0.2);
}
.date-select {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  padding: 8px 12px;
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 18px;
  text-shadow: 0 0 8px var(--crt-amber);
  cursor: pointer;
  min-width: 140px;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.date-select option {
  background: #1a0a00;
  color: var(--crt-amber);
  font-size: 16px;
  padding: 8px;
}
.meta-display {
  display: none;
  background: linear-gradient(180deg, #e8e0d0 0%, #d0c8b8 100%);
  border: 1px solid #a09080;
  padding: 8px 10px;
  color: #1a1a1a;
  font-size: 9px;
  position: relative;
}
.meta-display::before {
  content: "PHOTO DATA";
  position: absolute;
  top: -8px;
  left: 8px;
  background: #d0c8b8;
  padding: 0 4px;
  font-size: 8px;
  color: #666;
  letter-spacing: 1px;
}
.meta-row {
  display: flex;
  justify-content: space-between;
  padding: 2px 0;
  border-bottom: 1px dotted #a09080;
}
.meta-row:last-child {
  border-bottom: none;
}
.meta-val {
  font-weight: bold;
  color: var(--kodak-red);
  font-family: var(--font-display);
}
.meta-id {
  color: #333;
}
.desktop-exposure {
  display: none;
  margin-top: 6px;
}
.meta-tags,
.meta-objects {
  margin-top: 6px;
  flex-wrap: wrap;
}
.meta-tags-val,
.meta-objects-val {
  font-size: 8px;
  line-height: 1.4;
}
.meta-people-val {
  font-size: 8px;
  line-height: 1.4;
}
.meta-person-link {
  color: #8080ff;
  text-decoration: none;
}
.meta-person-link:hover {
  color: #aaa0ff;
  text-decoration: underline;
}
.meta-scene {
  margin-top: 6px;
  flex-direction: column;
  align-items: flex-start;
}
.meta-scene > span:first-child {
  margin-bottom: 2px;
}
.meta-scene-val {
  font-size: 8px;
  line-height: 1.3;
  max-width: 100%;
  white-space: normal;
  word-wrap: break-word;
}
.download-panel {
  display: none;
  padding: 8px;
  background: var(--crt-dark);
  border-top: 1px solid #3a3632;
}
.download-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--kodak-yellow);
  color: var(--kodak-red);
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-decoration: none;
  border: 2px solid var(--kodak-red);
}
.download-btn:active {
  background: var(--kodak-red);
  color: var(--kodak-yellow);
}
.share-panel {
  display: none;
  padding: 8px;
  background: var(--crt-dark);
  border-top: 1px solid #3a3632;
}
.share-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: #2a4a2a;
  color: #60f060;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
  border: 2px solid #60f060;
  cursor: pointer;
}
.share-btn:hover {
  background: #3a5a3a;
}
.share-btn:active {
  background: #60f060;
  color: #2a4a2a;
}
.delete-btn {
  background: #4a2a2a;
  color: #f06060;
  border-color: #f06060;
  margin-top: 4px;
}
.delete-btn:hover {
  background: #5a3a3a;
}
.delete-btn:active {
  background: #f06060;
  color: #4a2a2a;
}
.share-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 600;
}
.share-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 90%;
  max-width: 450px;
  background: #1a1a1a;
  border: 2px solid #60f060;
  z-index: 601;
  font-family: var(--font-display);
}
.share-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: #2a4a2a;
  color: #60f060;
  font-size: 16px;
  letter-spacing: 2px;
}
.share-modal-header button {
  background: transparent;
  border: 1px solid #60f060;
  color: #60f060;
  padding: 4px 10px;
  cursor: pointer;
  font-family: var(--font-display);
}
.share-modal-header button:hover {
  background: #60f060;
  color: #1a1a1a;
}
.share-modal-content {
  padding: 20px;
}
.share-description {
  color: #aaa;
  font-size: 14px;
  margin-bottom: 16px;
  line-height: 1.5;
}
.share-url-container {
  display: flex;
  gap: 8px;
  margin-bottom: 8px;
}
.share-url-input {
  flex: 1;
  background: #0a0a0a;
  border: 1px solid #444;
  color: #f0c060;
  padding: 10px 12px;
  font-family:
    "SF Mono",
    Monaco,
    monospace;
  font-size: 12px;
}
.copy-btn {
  background: #f0c060;
  color: #1a1a1a;
  border: none;
  padding: 10px 16px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  letter-spacing: 1px;
}
.copy-btn:hover {
  background: #ffd080;
}
.copy-btn.copied {
  background: #60f060;
}
.share-copy-feedback {
  color: #60f060;
  font-size: 12px;
  min-height: 18px;
  margin-bottom: 12px;
}
.share-section-label {
  color: #666;
  font-size: 11px;
  letter-spacing: 1px;
  margin-bottom: 8px;
  margin-top: 8px;
}
.share-email-form {
  margin-bottom: 8px;
}
.share-email-container {
  display: flex;
  gap: 8px;
}
.share-email-input {
  flex: 1;
  background: #0a0a0a;
  border: 1px solid #444;
  color: #fff;
  padding: 10px 12px;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  font-size: 14px;
}
.share-email-input::placeholder {
  color: #666;
}
.share-email-input:focus {
  outline: none;
  border-color: #60f060;
}
.send-btn {
  background: #60f060;
  color: #1a1a1a;
  border: none;
  padding: 10px 20px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  letter-spacing: 1px;
  min-width: 70px;
}
.send-btn:hover {
  background: #80ff80;
}
.send-btn:disabled {
  background: #444;
  color: #888;
  cursor: not-allowed;
}
.share-email-feedback {
  font-size: 12px;
  margin-top: 8px;
  margin-bottom: 8px;
}
.share-email-feedback.success {
  color: #60f060;
}
.share-email-feedback.error {
  color: #ff6b6b;
}
.share-note {
  color: #666;
  font-size: 12px;
  text-align: center;
}
.assign-person-btn {
  background: #2a2a4a !important;
  border-color: #6060f0 !important;
  color: #6060f0 !important;
}
.assign-person-btn:hover {
  background: #6060f0 !important;
  color: #1a1a1a !important;
}
.assign-person-modal {
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}
.assign-person-modal .share-modal-header {
  background: #2a2a4a;
  color: #8080ff;
}
.assign-person-modal .share-modal-header button {
  border-color: #8080ff;
  color: #8080ff;
}
.assign-person-modal .share-modal-header button:hover {
  background: #8080ff;
  color: #1a1a1a;
}
.assign-person-modal .share-modal-content {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 1;
}
.assign-person-search {
  margin-bottom: 12px;
}
.assign-person-list {
  overflow-y: auto;
  max-height: 400px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.assign-person-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: #222;
  border: 1px solid #333;
  border-radius: 4px;
}
.assign-person-item:hover {
  border-color: #555;
}
.assign-person-item.already-assigned {
  opacity: 0.6;
}
.assign-person-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.assign-person-name {
  color: #e0e0e0;
  font-size: 14px;
}
.assign-person-count {
  color: #666;
  font-size: 11px;
}
.assign-person-action {
  background: #2a2a4a;
  border: 1px solid #6060f0;
  color: #6060f0;
  padding: 4px 12px;
  cursor: pointer;
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 1px;
}
.assign-person-action:hover {
  background: #6060f0;
  color: #fff;
}
.assign-person-badge {
  color: #4ade80;
  font-size: 11px;
  letter-spacing: 1px;
  font-weight: 600;
}
.info-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.info-content {
  max-width: 400px;
  width: 100%;
  background: var(--paper-cream);
  color: #1a1a1a;
  padding: 20px;
  font-family:
    "Courier Prime",
    "Courier New",
    monospace;
  border: 3px double #1a1a1a;
  max-height: 90vh;
  overflow-y: auto;
}
.info-header {
  border-bottom: 2px solid #1a1a1a;
  padding-bottom: 10px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.info-title {
  font-family: "Times New Roman", serif;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 3px;
}
.close-btn {
  background: #1a1a1a;
  border: none;
  color: var(--paper-cream);
  padding: 5px 10px;
  font-family: var(--font-display);
  font-size: 12px;
  cursor: pointer;
}
.info-text {
  font-size: 12px;
  line-height: 1.6;
  margin-bottom: 15px;
}
.shortcut-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.shortcut-table td {
  padding: 6px 0;
  border-bottom: 1px dotted #999;
}
.shortcut-key {
  background: #1a1a1a;
  color: var(--paper-cream);
  padding: 2px 6px;
  font-family: var(--font-display);
  font-size: 12px;
}
.desktop-only {
  display: none;
}
.date-picker {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border: 3px solid var(--crt-amber);
  padding: 12px;
  z-index: 300;
  font-family: var(--font-display);
}
.date-picker select {
  background: #1a0a00;
  border: 2px inset #3a2a1a;
  color: var(--crt-amber);
  padding: 8px;
  font-size: 14px;
  font-family: var(--font-display);
  width: 200px;
}
.date-picker select option {
  background: #1a0a00;
  color: var(--crt-amber);
  padding: 4px;
}
.date-picker-btns {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.date-picker-btns button {
  flex: 1;
  background: var(--crt-amber);
  border: none;
  color: var(--crt-black);
  padding: 8px;
  font-family: inherit;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}
.face-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.face-box {
  position: absolute;
  border: 2px solid var(--crt-green);
  background: rgba(51, 255, 51, 0.1);
  cursor: pointer;
  pointer-events: auto;
}
.face-box .face-label {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--crt-black);
  color: var(--crt-green);
  font-family: var(--font-display);
  font-size: 10px;
  padding: 1px 6px;
  white-space: nowrap;
  opacity: 0;
}
.face-box:active .face-label {
  opacity: 1;
}
.object-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.object-box {
  position: absolute;
  border: 2px solid var(--crt-amber);
  background: rgba(255, 176, 0, 0.15);
  cursor: pointer;
  pointer-events: auto;
}
.object-box .object-label {
  position: absolute;
  bottom: -18px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--crt-black);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 10px;
  padding: 2px 6px;
  white-space: nowrap;
  opacity: 0;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.object-box:hover .object-label,
.object-box:active .object-label {
  opacity: 1;
}
.video-container,
.video-player-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}
.video-container video,
.video-player-wrapper video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}
.vcr-controls {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
  padding: 40px 15px 15px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--font-display);
  opacity: 0;
  transition: opacity 0.3s;
  z-index: 10;
}
.video-container:hover .vcr-controls,
.video-container.controls-visible .vcr-controls,
.video-player-wrapper:hover .vcr-controls,
.video-player-wrapper.controls-visible .vcr-controls {
  opacity: 1;
}
.vcr-btn {
  background: transparent;
  border: 2px solid var(--crt-amber);
  color: var(--crt-amber);
  padding: 6px 12px;
  font-family: var(--font-display);
  font-size: 14px;
  cursor: pointer;
  text-shadow: 0 0 5px var(--crt-amber);
}
.vcr-btn:hover {
  background: var(--crt-amber);
  color: var(--crt-black);
}
.vcr-btn.active {
  background: var(--crt-green);
  border-color: var(--crt-green);
  color: var(--crt-black);
  text-shadow: none;
}
.vcr-play,
.vcr-mute,
.vcr-fullscreen {
  background: none;
  border: none;
  color: var(--crt-amber);
  font-size: 20px;
  cursor: pointer;
  padding: 6px;
  min-width: 36px;
  min-height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 0 5px var(--crt-amber);
  transition: color 0.2s;
}
.vcr-play:hover,
.vcr-mute:hover,
.vcr-fullscreen:hover {
  color: #fff;
}
.vcr-quality {
  font-family: "IBM Plex Mono", monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  padding: 2px 8px;
  border-radius: 3px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  background: rgba(0, 0, 0, 0.6);
  color: var(--crt-amber);
  border: 1px solid rgba(255, 176, 0, 0.3);
  transition: all 0.2s;
  white-space: nowrap;
}
.vcr-quality:hover {
  background: rgba(0, 0, 0, 0.8);
  border-color: var(--crt-amber);
}
.vcr-quality[data-hdr=true] {
  color: #00e5ff;
  border-color: rgba(0, 229, 255, 0.4);
  text-shadow: 0 0 6px rgba(0, 229, 255, 0.5);
}
.vcr-quality[data-mode=hdr] {
  background: rgba(0, 60, 80, 0.6);
}
.vcr-quality[data-mode=sdr] {
  background: rgba(80, 60, 0, 0.6);
}
.stage:has(.video-player-wrapper) {
  padding: 0;
}
.stage .hero-wrapper:has(.video-player-wrapper) {
  padding: 0;
  background: #000;
  box-shadow: none;
  max-height: none;
  border: none;
}
.stage .video-player-wrapper {
  position: absolute;
  inset: 0;
  aspect-ratio: unset;
}
.video-player-wrapper:fullscreen {
  background: #000;
}
.video-player-wrapper:fullscreen video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.video-player-wrapper:fullscreen .vcr-controls {
  opacity: 0;
  transition: opacity 0.3s;
}
.video-player-wrapper:fullscreen:hover .vcr-controls,
.video-player-wrapper:fullscreen.controls-visible .vcr-controls {
  opacity: 1;
}
.vcr-timeline {
  flex: 1;
  height: 8px;
  background: var(--crt-dark);
  border: 1px solid var(--crt-amber-dim);
  cursor: pointer;
  position: relative;
}
.vcr-timeline-progress {
  height: 100%;
  background: var(--crt-amber);
  box-shadow: 0 0 8px var(--crt-amber);
  width: 0%;
  transition: width 0.1s linear;
}
.vcr-timeline-handle {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background: var(--crt-amber);
  border: 2px solid var(--crt-black);
  box-shadow: 0 0 8px var(--crt-amber);
}
.vcr-time {
  color: var(--crt-amber);
  font-size: 14px;
  min-width: 90px;
  text-align: center;
  text-shadow: 0 0 5px var(--crt-amber);
  letter-spacing: 1px;
}
.vcr-volume {
  display: flex;
  align-items: center;
  gap: 6px;
}
.vcr-volume-slider {
  width: 60px;
  height: 6px;
  background: var(--crt-dark);
  border: 1px solid var(--crt-amber-dim);
  appearance: none;
  cursor: pointer;
}
.vcr-volume-slider::-webkit-slider-thumb {
  appearance: none;
  width: 10px;
  height: 14px;
  background: var(--crt-amber);
  border: 1px solid var(--crt-black);
  box-shadow: 0 0 5px var(--crt-amber);
  cursor: pointer;
}
.vcr-muted-indicator {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(0, 0, 0, 0.7);
  border: 2px solid var(--crt-red);
  color: var(--crt-red);
  padding: 5px 10px;
  font-family: var(--font-display);
  font-size: 12px;
  text-shadow: 0 0 5px var(--crt-red);
  z-index: 10;
  cursor: pointer;
  animation: blink 1s ease-in-out infinite;
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.vcr-waveform {
  position: absolute;
  bottom: 70px;
  left: 15px;
  right: 15px;
  height: 30px;
  display: flex;
  align-items: flex-end;
  gap: 2px;
  opacity: 0;
  transition: opacity 0.3s;
}
.video-container:hover .vcr-waveform,
.video-container.controls-visible .vcr-waveform,
.video-player-wrapper:hover .vcr-waveform,
.video-player-wrapper.controls-visible .vcr-waveform {
  opacity: 0.7;
}
.vcr-waveform-bar {
  flex: 1;
  background: var(--crt-green);
  box-shadow: 0 0 4px var(--crt-green);
  min-height: 2px;
  transition: height 0.05s;
}
.vcr-rec {
  position: absolute;
  top: 15px;
  left: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--crt-red);
  font-family: var(--font-display);
  font-size: 14px;
  text-shadow: 0 0 8px var(--crt-red);
  z-index: 10;
}
.vcr-rec-dot {
  width: 10px;
  height: 10px;
  background: var(--crt-red);
  border-radius: 50%;
  box-shadow: 0 0 8px var(--crt-red);
  animation: blink 1s ease-in-out infinite;
}
.vcr-timestamp {
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 14px;
  text-shadow: 0 0 5px var(--crt-amber);
  background: rgba(0, 0, 0, 0.5);
  padding: 3px 8px;
  z-index: 10;
}
.video-touch-area {
  position: absolute;
  inset: 0;
  z-index: 5;
  cursor: pointer;
}
.video-play-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  z-index: 6;
  cursor: pointer;
}
.video-play-overlay .play-icon {
  width: 80px;
  height: 80px;
  border: 4px solid var(--crt-amber);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--crt-amber);
  font-size: 40px;
  text-shadow: 0 0 20px var(--crt-amber);
  box-shadow: 0 0 30px rgba(255, 176, 0, 0.3);
}
.video-play-overlay:hover .play-icon {
  background: var(--crt-amber);
  color: var(--crt-black);
  text-shadow: none;
}
.sidebar-toggle {
  position: fixed;
  bottom: 60px;
  right: 10px;
  z-index: 150;
  background: var(--crt-amber);
  border: 2px solid var(--crt-black);
  color: var(--crt-black);
  padding: 8px 12px;
  font-family: var(--font-display);
  font-size: 12px;
  cursor: pointer;
}
.pin-screen {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--crt-black);
  z-index: 1000;
  padding: 20px;
}
.pin-screen h1 {
  font-family: var(--font-display);
  font-size: 18px;
  color: var(--crt-amber-dim);
  letter-spacing: 4px;
  margin-bottom: 30px;
}
.pin-screen h2 {
  font-family: var(--font-display);
  font-size: 24px;
  color: var(--crt-amber);
  letter-spacing: 3px;
  margin-bottom: 25px;
  text-shadow: 0 0 10px var(--crt-amber);
}
.pin-screen form {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
.pin-screen input {
  background: #1a0a00;
  border: 3px inset #3a2a1a;
  color: var(--crt-amber);
  padding: 16px;
  font-size: 32px;
  font-family: var(--font-display);
  text-align: center;
  letter-spacing: 10px;
  width: 220px;
}
.pin-screen .submit-btn {
  background: linear-gradient(180deg, #3a3632 0%, #2a2622 50%, #1a1612 100%);
  border: 3px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 20px;
  padding: 12px 40px;
  cursor: pointer;
  letter-spacing: 2px;
  text-shadow: 0 0 8px var(--crt-amber);
}
.pin-screen .submit-btn:active {
  background: linear-gradient(180deg, #1a1612 0%, #2a2622 50%, #3a3632 100%);
}
.pin-screen .error {
  color: var(--crt-red);
  margin-top: 10px;
  font-family: var(--font-display);
  font-size: 18px;
}
.pin-screen .hint {
  color: var(--crt-amber-dim);
  margin-top: 25px;
  font-size: 14px;
  font-family: var(--font-display);
}
.contact-sheet-toggle {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  border-top: 2px solid var(--crt-amber);
  padding: 8px;
  text-align: center;
  cursor: pointer;
  z-index: 100;
}
.contact-sheet-toggle span {
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 16px;
}
.contact-sheet {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 70vh;
  background: var(--crt-black);
  border-top: 3px solid var(--crt-amber);
  z-index: 200;
  display: flex;
  flex-direction: column;
  animation: slideUp 0.2s ease-out;
}
@keyframes slideUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
.contact-sheet-header {
  background: linear-gradient(180deg, #2a2622 0%, #1a1612 100%);
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #3a3632;
}
.contact-sheet-header span {
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 16px;
}
.contact-sheet-header button {
  background: none;
  border: 2px solid var(--crt-amber);
  color: var(--crt-amber);
  font-family: var(--font-display);
  font-size: 14px;
  padding: 4px 12px;
  cursor: pointer;
}
.contact-sheet-grid {
  flex: 1;
  overflow-y: auto;
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.contact-sheet-grid picture {
  display: contents;
}
.contact-sheet-grid img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  cursor: pointer;
  border: 2px solid transparent;
  image-orientation: from-image;
}
.contact-sheet-grid img.selected {
  border-color: var(--crt-amber);
  box-shadow: 0 0 10px var(--crt-amber);
}
.contact-sheet-grid a {
  position: relative;
  display: block;
}
.contact-sheet-grid a::after {
  content: attr(data-frame);
  position: absolute;
  bottom: 2px;
  right: 4px;
  font-size: 10px;
  color: var(--kodak-red);
  font-family: var(--font-display);
  text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}
.contact-sheet-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 150;
}
.mobile-meta {
  background: linear-gradient(180deg, rgba(30, 25, 20, 0.95) 0%, rgba(20, 15, 10, 0.95) 100%);
  border: 1px solid var(--crt-amber-dim);
  border-radius: 2px;
  padding: 6px 10px;
  margin: 4px 8px 0;
  font-family: "VT323", monospace;
  color: var(--crt-amber);
  font-size: 13px;
  line-height: 1.3;
  cursor: pointer;
}
.mobile-meta-label {
  display: block;
  font-size: 14px;
  color: var(--crt-amber-dim);
  letter-spacing: 1px;
}
.mobile-meta-body {
  margin-top: 4px;
}
.mobile-meta.collapsed .mobile-meta-body {
  display: none;
}
.mobile-meta-row {
  display: flex;
  justify-content: space-between;
  padding: 1px 0;
  border-bottom: 1px dotted rgba(153, 102, 0, 0.3);
}
.mobile-meta-row:last-child {
  border-bottom: none;
}
.mobile-meta-key {
  color: var(--crt-amber-dim);
  font-size: 13px;
  letter-spacing: 1px;
  flex-shrink: 0;
  margin-right: 8px;
}
.mobile-meta-val {
  color: #c0b090;
  font-size: 15px;
  text-align: right;
}
.mobile-meta-scene .mobile-meta-val {
  text-align: left;
  font-size: 13px;
  line-height: 1.3;
  max-width: 80%;
  word-wrap: break-word;
}
@media (min-width: 768px) {
  .contact-sheet-toggle {
    display: none;
  }
  .contact-sheet {
    display: none;
  }
  .contact-sheet-overlay {
    display: none;
  }
  .mobile-meta {
    display: none;
  }
  .sidebar {
    padding-bottom: 0;
  }
  .app-shell {
    flex-direction: row;
  }
  .header-bar {
    display: none;
  }
  .stage {
    padding: 20px;
    justify-content: center;
  }
  .stage .nav-controls {
    order: 10 !important;
    border-top: 2px solid #3a3632;
    border-bottom: none;
  }
  .stage .hero-wrapper {
    flex: 1;
    min-height: 0;
  }
  .stage img.hero,
  .stage video.hero {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .sidebar {
    width: 300px;
    height: 100%;
    border-top: none;
    border-left: 2px solid #3a3632;
    flex-direction: column;
  }
  .scroll-wrapper {
    overflow-y: auto;
    overflow-x: hidden;
    flex: 1;
  }
  .grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
    padding: 8px;
    height: auto;
  }
  .thumb {
    width: auto;
    height: auto;
    aspect-ratio: 1;
  }
  .nav-controls {
    flex-wrap: wrap;
    height: auto;
    padding: 10px;
    gap: 6px;
  }
  .nav-btn {
    padding: 8px 12px;
    font-size: 14px;
  }
  .nav-btn.icon-btn {
    display: block;
  }
  .nav-spacer {
    display: block;
    flex: 1;
  }
  .meta-display {
    display: block;
  }
  .desktop-exposure {
    display: block;
  }
  .download-panel {
    display: block;
  }
  .share-panel {
    display: block;
  }
  .desktop-only {
    display: block;
  }
  .date-display {
    min-width: 120px;
    padding: 6px 16px;
  }
  .date-text {
    font-size: 16px;
  }
}
@media (min-width: 1200px) {
  .sidebar {
    width: 360px;
  }
  .grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .stage {
    padding: 30px;
  }
  .meta-tags-val,
  .meta-objects-val,
  .meta-people-val {
    font-size: 14px;
    line-height: 1.5;
  }
  .meta-scene-val {
    font-size: 14px;
    line-height: 1.4;
  }
}
@media (orientation: landscape) and (max-height: 500px) {
  .app-shell {
    flex-direction: row;
  }
  .header-bar {
    display: none;
  }
  .sidebar {
    width: 130px;
    height: 100%;
    border-top: none;
    border-left: 2px solid #3a3632;
  }
  .scroll-wrapper {
    overflow-y: auto;
    overflow-x: hidden;
  }
  .grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 4px;
    height: auto;
  }
  .thumb {
    width: auto;
    height: auto;
    aspect-ratio: 1;
  }
  .strip-header {
    display: none;
  }
  .meta-display {
    display: none;
  }
  .download-panel {
    display: none;
  }
  .hero-wrapper:has(.video-player-wrapper) {
    max-width: 100%;
    max-height: 100%;
    margin: 0;
  }
  .nav-controls {
    padding: 4px;
    gap: 2px;
    height: 40px;
  }
  .nav-btn {
    padding: 4px 8px;
    font-size: 12px;
    min-width: 28px;
  }
  .date-display {
    padding: 2px 8px;
    min-width: 80px;
  }
  .date-text {
    font-size: 12px;
  }
  .date-detail {
    display: none;
  }
}
@media (max-width: 400px) {
  .header-bar {
    padding: 8px 12px;
  }
  .header-brand {
    font-size: 16px;
  }
  .header-status {
    font-size: 14px;
    gap: 8px;
  }
  .nav-controls {
    padding: 6px 6px;
    gap: 3px;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }
  .nav-btn {
    font-size: 16px;
    padding: 8px 10px;
    min-width: 40px;
    flex-shrink: 0;
  }
  .date-select {
    min-width: auto;
    max-width: 140px;
    font-size: 14px;
    padding: 6px 8px;
    flex-shrink: 1;
    min-width: 0;
  }
  .location-select,
  .rating-select,
  .media-type-select {
    flex-shrink: 1;
    min-width: 0;
    max-width: 100px;
    font-size: 11px;
    padding: 2px 3px;
  }
  .date-display {
    padding: 8px 12px;
  }
  .date-text {
    font-size: 16px;
  }
  .date-detail {
    font-size: 12px;
  }
  .date-stamp {
    font-size: 14px;
    padding: 4px 10px;
  }
  .frame-counter {
    font-size: 12px;
    padding: 3px 8px;
  }
  .hero-wrapper {
    max-width: 100%;
  }
  .face-box,
  .object-box {
    min-width: 44px;
    min-height: 44px;
  }
}
@media (max-width: 320px) {
  .nav-btn {
    font-size: 16px;
    padding: 8px 10px;
    min-width: 40px;
  }
  .date-text {
    font-size: 14px;
  }
  .date-detail {
    display: none;
  }
}
@media (hover: none) and (pointer: coarse) {
  .face-box .face-label {
    opacity: 1;
  }
  .object-box .object-label {
    opacity: 1;
  }
  .vcr-controls {
    opacity: 1;
  }
  .vcr-btn {
    padding: 10px 16px;
    font-size: 18px;
    min-width: 44px;
    min-height: 44px;
  }
  .vcr-mute,
  .vcr-fullscreen {
    min-width: 44px;
    min-height: 44px;
    font-size: 20px;
  }
  .vcr-timeline {
    height: 14px;
  }
  .vcr-timeline-handle {
    width: 18px;
    height: 18px;
  }
  .vcr-muted-indicator {
    font-size: 14px;
    padding: 8px 14px;
  }
  .vcr-waveform {
    opacity: 0.7;
  }
}
.meta-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid var(--crt-amber-dim);
}
.meta-header:hover {
  background: rgba(0, 0, 0, 0.5);
}
.meta-toggle {
  color: var(--crt-amber);
  font-size: 12px;
}
.meta-display.collapsed {
}
.meta-display.collapsed .meta-row,
.meta-display.collapsed .desktop-exposure {
  display: none;
}
.load-more-container {
  flex-shrink: 0;
  padding: 8px;
  background: var(--film-border);
  text-align: center;
  border-top: 1px solid var(--crt-amber-dim);
}
.load-more-btn {
  width: 100%;
  padding: 10px 16px;
  background: var(--crt-amber);
  border: 2px solid var(--crt-black);
  color: var(--crt-black);
  font-family: "VT323", monospace;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.2s;
}
.load-more-btn:hover {
  background: var(--crt-black);
  color: var(--crt-amber);
  border-color: var(--crt-amber);
}
@media (max-width: 450px) and (min-height: 800px) {
  .header-bar {
    padding: 4px 10px;
  }
  .header-brand {
    font-size: 14px;
    letter-spacing: 2px;
  }
  .header-status {
    font-size: 9px;
    gap: 8px;
  }
  .stage {
    flex: 1;
    min-height: 50vh;
  }
  .sidebar {
    max-height: 35vh;
  }
  .grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
  }
  .thumb {
    aspect-ratio: 1;
  }
  .nav-controls {
    padding: 6px 8px;
    gap: 4px;
  }
  .nav-btn {
    font-size: 14px;
    padding: 8px 10px;
    min-height: 40px;
  }
  .date-display {
    padding: 6px 10px;
  }
  .date-text {
    font-size: 13px;
  }
  .date-detail {
    font-size: 10px;
  }
  .rating-select,
  .media-type-select {
    display: none;
  }
}
@media (max-width: 420px) and (min-aspect-ratio: 19/9) {
  .header-bar {
    padding: 3px 8px;
  }
  .header-brand {
    font-size: 13px;
  }
  .grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 1px;
  }
  .sidebar {
    max-height: 30vh;
  }
  .strip-header {
    padding: 4px 8px;
    font-size: 9px;
  }
}
@media (max-width: 500px) and (orientation: landscape) and (max-height: 400px) {
  .app-shell {
    flex-direction: row;
  }
  .header-bar {
    display: none;
  }
  .sidebar {
    width: 100px;
    height: 100%;
    border-top: none;
    border-left: 2px solid #3a3632;
    order: -1;
  }
  .grid {
    grid-template-columns: 1fr;
    gap: 1px;
    padding: 2px;
  }
  .thumb {
    aspect-ratio: 16/9;
  }
  .strip-header {
    display: none;
  }
  .nav-controls {
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    padding: 2px 4px;
    gap: 2px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
  }
  .nav-btn {
    padding: 4px 8px;
    font-size: 11px;
    min-width: 24px;
    min-height: 28px;
  }
  .date-display {
    padding: 2px 6px;
    min-width: 70px;
  }
  .date-text {
    font-size: 11px;
  }
  .date-detail {
    display: none;
  }
}
.stream-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  color: var(--crt-red, #ff0040);
  font-family: var(--font-mono);
  font-size: 12px;
  padding: 2px 8px;
  background: rgba(255, 0, 64, 0.15);
  border: 1px solid var(--crt-red);
  border-radius: 2px;
}
.stream-indicator:hover {
  background: rgba(255, 0, 64, 0.3);
}
.stream-dot {
  width: 8px;
  height: 8px;
  background: var(--crt-red, #ff0040);
  border-radius: 50%;
  animation: stream-pulse 1.5s infinite;
}
@keyframes stream-pulse {
  0%, 100% {
    opacity: 1;
    box-shadow: 0 0 4px var(--crt-red);
  }
  50% {
    opacity: 0.5;
    box-shadow: 0 0 8px var(--crt-red);
  }
}
.stream-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  max-height: 50vh;
  background: #000;
  border-bottom: 2px solid var(--crt-red);
  flex-shrink: 0;
}
.stream-embed iframe {
  width: 100%;
  height: 100%;
  border: none;
}
.stream-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 10;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.3);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.stream-close:hover {
  background: rgba(255, 0, 64, 0.8);
  border-color: var(--crt-red);
}
@media (min-width: 768px) {
  .stream-embed {
    max-height: 40vh;
  }
  .stream-indicator {
    font-size: 14px;
    padding: 4px 12px;
  }
}
.gallery-device-badge {
  position: fixed;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--crt-amber-dim, #3a2a00);
  border-radius: 4px;
  padding: 4px 10px;
  font-family: var(--font-mono, "IBM Plex Mono", monospace);
  font-size: 10px;
  color: var(--crt-amber, #ffb000);
  z-index: 50;
  max-width: calc(100vw - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.6;
  transition: opacity 0.2s;
  pointer-events: none;
}
.gallery-device-badge:hover {
  opacity: 1;
}
.theme-modern .gallery-device-badge {
  background: rgba(255, 255, 255, 0.9);
  border-color: #e5e7eb;
  color: #6b7280;
}
@media (max-width: 600px) {
  .gallery-device-badge {
    top: 4px;
    font-size: 8px;
    padding: 3px 6px;
    max-width: 90vw;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .gallery-device-badge {
    top: 4px;
    font-size: 8px;
    padding: 2px 6px;
  }
}
.editor-pane {
  border-top: 1px solid var(--crt-amber-dim, #665500);
  background: var(--crt-black, #0a0a0a);
  font-family: "VT323", monospace;
  padding: 6px 10px;
  flex-shrink: 0;
}
.editor-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.editor-header {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--crt-amber, #ffb000);
  font-size: 13px;
  white-space: nowrap;
}
.editor-dirty.active {
  color: var(--crt-green, #00ff41);
  font-size: 11px;
}
.editor-tabs {
  display: flex;
  gap: 2px;
}
.editor-tab {
  padding: 2px 8px;
  font-family: "VT323", monospace;
  font-size: 12px;
  border: 1px solid var(--crt-amber-dim, #665500);
  background: transparent;
  color: var(--crt-amber-dim, #665500);
  cursor: pointer;
}
.editor-tab.active {
  background: var(--crt-amber-dim, #665500);
  color: var(--crt-black, #0a0a0a);
}
.editor-sliders {
  display: flex;
  gap: 8px;
  flex: 1;
  align-items: center;
  flex-wrap: wrap;
}
.editor-slider-group {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 120px;
  flex: 1;
}
.editor-slider-label {
  color: var(--crt-amber-dim, #665500);
  font-size: 11px;
  text-transform: uppercase;
  min-width: 28px;
}
.editor-slider-value {
  color: var(--crt-amber, #ffb000);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  min-width: 32px;
  text-align: right;
}
.editor-slider {
  flex: 1;
  accent-color: var(--crt-amber, #ffb000);
  height: 4px;
  background: var(--crt-dark, #1a1a1a);
  appearance: none;
  -webkit-appearance: none;
  min-width: 60px;
}
.editor-slider::-webkit-slider-thumb {
  appearance: none;
  width: 12px;
  height: 12px;
  background: var(--crt-amber, #ffb000);
  border-radius: 50%;
  cursor: pointer;
}
.editor-actions {
  display: flex;
  gap: 4px;
}
.editor-btn {
  padding: 3px 10px;
  font-family: "VT323", monospace;
  font-size: 13px;
  border: 1px solid var(--crt-amber-dim, #665500);
  background: var(--crt-dark, #1a1a1a);
  cursor: pointer;
}
.editor-btn-save {
  color: var(--crt-green, #00ff41);
  border-color: var(--crt-green, #00ff41);
}
.editor-btn-save:disabled {
  opacity: 0.3;
  cursor: default;
}
.editor-btn-reset {
  color: var(--crt-amber, #ffb000);
}
.editor-crop-info {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.editor-crop-hint {
  color: var(--crt-amber-dim, #665500);
  font-size: 12px;
}
.editor-crop-values {
  color: var(--crt-amber, #ffb000);
  font-size: 12px;
  font-family: "VT323", monospace;
}
@media (max-width: 768px) {
  .editor-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .editor-sliders {
    flex-direction: column;
  }
  .editor-slider-group {
    min-width: 100%;
  }
}
.crop-overlay {
  position: absolute;
  inset: 0;
  z-index: 15;
  pointer-events: auto;
}
.crop-mask {
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.crop-region {
  position: absolute;
  border: 2px dashed var(--crt-amber, #ffb000);
  cursor: move;
}
.crop-handle {
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--crt-amber, #ffb000);
  border: 1px solid var(--crt-black, #0a0a0a);
}
.editor-crop-aspects {
  display: flex;
  gap: 4px;
  margin: 4px 0;
}
.editor-aspect-btn {
  background: rgba(255, 176, 0, 0.1);
  border: 1px solid rgba(255, 176, 0, 0.3);
  color: rgba(255, 176, 0, 0.6);
  font-size: 10px;
  padding: 2px 6px;
  cursor: pointer;
  font-family: var(--font-mono, monospace);
  letter-spacing: 0.5px;
}
.editor-aspect-btn.active {
  background: rgba(255, 176, 0, 0.25);
  border-color: var(--crt-amber, #ffb000);
  color: var(--crt-amber, #ffb000);
}
.editor-aspect-btn:hover {
  border-color: var(--crt-amber, #ffb000);
}
.editor-slider-group.active {
  background: rgba(255, 176, 0, 0.08);
  border-radius: 3px;
  outline: 1px solid rgba(255, 176, 0, 0.25);
}
.editor-slider-value {
  cursor: pointer;
}
.editor-slider-value:hover {
  text-decoration: underline;
}
.editor-slider-input {
  width: 48px;
  font-family: "VT323", monospace;
  font-size: 11px;
  color: var(--crt-amber, #ffb000);
  background: var(--crt-dark, #1a1a1a);
  border: 1px solid var(--crt-amber, #ffb000);
  text-align: right;
  padding: 0 2px;
  outline: none;
  -moz-appearance: textfield;
}
.editor-slider-input::-webkit-inner-spin-button,
.editor-slider-input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.hero-rating {
  position: absolute;
  bottom: 36px;
  left: 12px;
  z-index: 10;
  font-size: 20px;
  cursor: pointer;
  user-select: none;
}
.hero-rating .star {
  color: rgba(255, 255, 255, 0.3);
  transition: color 0.1s;
}
.hero-rating .star.filled {
  color: #ffb000;
  text-shadow: 0 0 4px rgba(255, 176, 0, 0.5);
}
.hero-rating .star:hover {
  color: #ffb000;
}
.rating-select,
.media-type-select {
  font-family: "VT323", monospace;
  font-size: 12px;
  background: var(--crt-dark, #1a1a1a);
  color: var(--crt-amber, #ffb000);
  border: 1px solid var(--crt-amber-dim, #665500);
  padding: 2px 4px;
}
.theme-modern .editor-pane,
.theme-modern-dark .editor-pane {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.85);
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
}
.theme-modern .editor-header,
.theme-modern-dark .editor-header {
  color: #fff;
}
.theme-modern .editor-tab,
.theme-modern-dark .editor-tab {
  border-color: rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.5);
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
  border-radius: 4px;
}
.theme-modern .editor-tab.active,
.theme-modern-dark .editor-tab.active {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.theme-modern .editor-slider-label,
.theme-modern-dark .editor-slider-label {
  color: rgba(255, 255, 255, 0.5);
}
.theme-modern .editor-slider-value,
.theme-modern-dark .editor-slider-value {
  color: #fff;
}
.theme-modern .editor-slider,
.theme-modern-dark .editor-slider {
  accent-color: #3b82f6;
  background: rgba(255, 255, 255, 0.1);
}
.theme-modern .editor-slider::-webkit-slider-thumb,
.theme-modern-dark .editor-slider::-webkit-slider-thumb {
  background: #3b82f6;
}
.theme-modern .editor-btn,
.theme-modern-dark .editor-btn {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.05);
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
  border-radius: 4px;
}
.theme-modern .editor-btn-save,
.theme-modern-dark .editor-btn-save {
  color: #22c55e;
  border-color: #22c55e;
}
.theme-modern .editor-btn-reset,
.theme-modern-dark .editor-btn-reset {
  color: rgba(255, 255, 255, 0.7);
}
.theme-modern .editor-crop-hint,
.theme-modern-dark .editor-crop-hint {
  color: rgba(255, 255, 255, 0.5);
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
}
.theme-modern .editor-crop-values,
.theme-modern-dark .editor-crop-values {
  color: #fff;
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
}
.theme-modern .editor-dirty.active,
.theme-modern-dark .editor-dirty.active {
  color: #22c55e;
}
.theme-modern .crop-region,
.theme-modern-dark .crop-region {
  border-color: #3b82f6;
}
.theme-modern .crop-handle,
.theme-modern-dark .crop-handle {
  background: #3b82f6;
}
.theme-modern .rating-select,
.theme-modern-dark .rating-select,
.theme-modern .media-type-select,
.theme-modern-dark .media-type-select {
  font-family:
    -apple-system,
    system-ui,
    sans-serif;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}
.feed-layout {
  width: 100%;
  min-height: 100vh;
  background: #000;
  color: #fff;
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    system-ui,
    sans-serif;
}
.feed-header {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 48px;
  padding: 0 12px;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.feed-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.feed-site-name {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.feed-person-badge {
  font-size: 11px;
  padding: 2px 6px;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  white-space: nowrap;
}
.feed-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.feed-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ff3b30;
  animation: feed-pulse 1.5s ease-in-out infinite;
}
@keyframes feed-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
.feed-count {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  font-variant-numeric: tabular-nums;
}
.feed-menu-btn {
  background: none;
  border: none;
  color: #fff;
  font-size: 20px;
  padding: 4px 8px;
  cursor: pointer;
  line-height: 1;
}
.feed-filter-drawer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease-out;
  background: rgba(0, 0, 0, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.feed-filter-drawer.open {
  max-height: 300px;
  transition: max-height 0.3s ease-in;
}
.feed-filter-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
}
.feed-filter-form {
  flex: 1;
  display: contents;
}
.feed-filter-select {
  flex: 1;
  background: #1a1a1a;
  color: #e0e0e0;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 6px;
  padding: 8px 10px;
  font-size: 13px;
  font-family: inherit;
  -webkit-appearance: auto;
  appearance: auto;
}
.feed-filter-select option {
  background: #1a1a1a;
  color: #e0e0e0;
}
.feed-filter-btn {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  font-family: inherit;
}
.feed-filter-btn.active {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.feed-filter-person {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
}
.feed-banner {
  text-align: center;
  padding: 8px 12px;
  font-size: 12px;
  background: rgba(255, 165, 0, 0.15);
  color: #ffa500;
  letter-spacing: 0.5px;
}
.feed {
  padding: 4px 0;
}
.feed-empty {
  text-align: center;
  padding: 60px 20px;
  color: rgba(255, 255, 255, 0.3);
  font-size: 15px;
}
.feed-card {
  margin-bottom: 2px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.feed-card-media {
  position: relative;
  width: 100%;
  background: #111;
}
.feed-card-media img,
.feed-card-media video {
  display: block;
  width: 100%;
  height: auto;
}
.feed-card-video::-webkit-media-controls {
  display: none !important;
}
.feed-card-video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}
.feed-card-video::-webkit-media-controls-overlay-play-button {
  display: none !important;
}
.feed-card-media img {
  object-fit: contain;
  max-height: 80vh;
  background: #111;
}
.feed-card-video-badge {
  display: none;
}
.feed-card-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 68px;
  background: rgba(0, 0, 0, 0.6);
  border: 2.5px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  backdrop-filter: blur(8px);
  transition: opacity 0.3s;
  z-index: 3;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}
.feed-card-play::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 0 14px 24px;
  border-color: transparent transparent transparent #fff;
  margin-left: 5px;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
}
.feed-card-media video[data-playing=true] ~ .feed-card-play {
  opacity: 0;
}
.feed-card-badges {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  gap: 4px;
}
.feed-badge {
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: 0.5px;
  backdrop-filter: blur(4px);
}
.feed-badge-video {
  background: rgba(0, 0, 0, 0.65);
}
.feed-badge-hdr {
  background: rgba(180, 120, 0, 0.8);
  color: #fff;
}
.feed-badge-raw {
  background: rgba(0, 100, 180, 0.8);
  color: #fff;
}
.feed-badge-10bit {
  background: rgba(100, 0, 160, 0.75);
  color: #fff;
}
.feed-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px 10px;
  background: #000;
}
.feed-card-date {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.feed-card-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.feed-card-rating {
  font-size: 11px;
  color: #ffd700;
}
.feed-card-dl {
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  padding: 4px;
}
.feed-sentinel {
  text-align: center;
  padding: 24px 0 48px;
}
.feed-loading {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 1px;
}
.feed-layout:has(.feed-lightbox) {
  overflow: hidden;
  height: 100vh;
  height: 100dvh;
}
.feed-lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: #000;
  display: flex;
  flex-direction: column;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
.feed-lightbox-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  height: 44px;
  min-height: 44px;
  flex-shrink: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 2;
}
.feed-lightbox-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 22px;
  padding: 4px 8px;
  cursor: pointer;
}
.feed-lightbox-counter {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.5);
  font-variant-numeric: tabular-nums;
}
.feed-lightbox-dl {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  padding: 4px 8px;
}
.feed-lightbox-media {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  min-height: 0;
}
.feed-lightbox-content {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.feed-lightbox-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 72px;
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.4);
  font-size: 40px;
  cursor: pointer;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.feed-lightbox-prev {
  left: 0;
}
.feed-lightbox-next {
  right: 0;
}
.feed-lightbox-nav:active {
  color: #fff;
}
.feed-lightbox-info {
  flex-shrink: 0;
  padding: 12px 16px;
  padding-bottom: max(16px, env(safe-area-inset-bottom));
  background: rgba(0, 0, 0, 0.85);
  max-height: 40vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.feed-lightbox-date {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 4px;
}
.feed-lightbox-venue {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 4px;
}
.feed-lightbox-exif {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
  font-variant-numeric: tabular-nums;
  margin-bottom: 4px;
}
.feed-lightbox-desc {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  line-height: 1.4;
  margin-bottom: 6px;
}
.feed-lightbox-rating {
  display: flex;
  gap: 4px;
  margin-bottom: 8px;
}
.feed-lightbox-star {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.25);
  font-size: 24px;
  padding: 6px;
  cursor: pointer;
  min-width: 36px;
  min-height: 36px;
  -webkit-tap-highlight-color: transparent;
}
.feed-lightbox-star.filled {
  color: #ffd700;
}
.feed-lightbox-admin {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}
.feed-lightbox-admin-btn {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  padding: 10px 16px;
  font-size: 11px;
  font-weight: 600;
  cursor: pointer;
  letter-spacing: 0.5px;
  font-family: inherit;
  min-height: 40px;
  -webkit-tap-highlight-color: transparent;
}
.feed-lightbox-delete {
  color: #ff4444;
  border-color: rgba(255, 68, 68, 0.2);
}
.feed-confirm-active {
  background: #ff4444;
  color: #000;
  border-color: #ff4444;
  animation: pulse-delete 0.6s ease-in-out infinite alternate;
}
@keyframes pulse-delete {
  from {
    opacity: 0.8;
  }
  to {
    opacity: 1;
  }
}
.feed-layout {
  padding-top: env(safe-area-inset-top);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}
.feed-layout.theme-modern .feed-header,
.feed-layout.theme-modern .feed-filter-drawer,
.feed-layout.theme-modern .feed-card-meta {
  background: rgba(255, 255, 255, 0.97);
  color: #222;
}
.feed-layout.theme-modern {
  background: #fafafa;
}
.feed-layout.theme-modern .feed-header {
  background: #fff;
  border-bottom: 1px solid #e0e0e0;
}
.feed-layout.theme-modern .feed-site-name {
  color: #222;
}
.feed-layout.theme-modern .feed-count {
  color: rgba(0, 0, 0, 0.4);
}
.feed-layout.theme-modern .feed-menu-btn {
  color: #222;
}
.feed-layout.theme-modern .feed-card-date {
  color: rgba(0, 0, 0, 0.5);
}
.feed-layout.theme-modern .feed-card-dl {
  color: rgba(0, 0, 0, 0.4);
}
.feed-layout.theme-modern .feed {
  background: #fafafa;
}
.feed-layout.theme-modern .feed-card {
  background: #fff;
}
.feed-layout.theme-modern .feed-card-media {
  background: #f0f0f0;
}
.feed-layout.theme-modern .feed-filter-drawer {
  background: #f5f5f5;
  border-bottom: 1px solid #e0e0e0;
}
.feed-layout.theme-modern .feed-filter-select {
  background: #fff;
  color: #222;
  border-color: rgba(0, 0, 0, 0.15);
}
.feed-layout.theme-modern .feed-filter-select option {
  background: #fff;
  color: #222;
}
.feed-layout.theme-modern .feed-filter-btn {
  background: #fff;
  color: rgba(0, 0, 0, 0.6);
  border-color: rgba(0, 0, 0, 0.15);
}
.feed-layout.theme-modern .feed-loading {
  color: rgba(0, 0, 0, 0.4);
}
@media (max-width: 768px) {
  .app-shell {
    display: none !important;
  }
  .feed-layout {
    display: block !important;
  }
}

/* css/theme_modern.css */
.theme-modern,
.app-shell.theme-modern {
  --crt-black: #ffffff;
  --crt-dark: #f8f9fa;
  --crt-amber: #2563eb;
  --crt-amber-dim: #93c5fd;
  --crt-green: #22c55e;
  --crt-red: #ef4444;
  --kodak-yellow: #fbbf24;
  --kodak-red: #1f2937;
  --film-border: #e5e7eb;
  --paper-cream: #ffffff;
  --paper-aged: #f3f4f6;
  --font-mono:
    "JetBrains Mono",
    "SF Mono",
    monospace;
  --font-display:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
}
.theme-modern .app-shell::before {
  display: none;
}
.theme-modern .header-brand {
  text-shadow: none;
  color: #1f2937;
  letter-spacing: 0;
  font-weight: 600;
}
.theme-modern .date-text {
  text-shadow: none;
}
.theme-modern .nav-btn {
  text-shadow: none;
}
.theme-modern .app-shell {
  background: var(--crt-black);
  color: #1f2937;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern .header-bar {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .rec-indicator {
  color: #6b7280;
}
.theme-modern .rec-indicator.inactive {
  color: #9ca3af;
}
.theme-modern .rec-dot {
  background: #22c55e;
}
.theme-modern .rec-indicator.inactive .rec-dot {
  background: #d1d5db;
}
.theme-modern .nav-controls {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
  border-bottom: none;
}
.theme-modern .nav-btn {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #374151;
  font-family: var(--font-display);
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern .nav-btn:hover {
  background: #e5e7eb;
  border-color: #d1d5db;
}
.theme-modern .nav-btn:active {
  background: #d1d5db;
}
.theme-modern .nav-btn.active {
  background: var(--crt-amber);
  border-color: var(--crt-amber);
  color: #ffffff;
}
.theme-modern .date-display {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}
.theme-modern .date-text {
  color: #1f2937;
  font-weight: 600;
}
.theme-modern .date-detail {
  color: #6b7280;
}
.theme-modern .date-select {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #1f2937;
  font-family: var(--font-display);
}
.theme-modern .sidebar {
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  border-left: 1px solid #e5e7eb;
}
.theme-modern .strip-header {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  color: #6b7280;
}
.theme-modern .scroll-wrapper {
  background: #f9fafb;
}
.theme-modern .scroll-wrapper::before,
.theme-modern .scroll-wrapper::after {
  display: none;
}
.theme-modern .thumb {
  background: #ffffff;
  border-radius: 4px;
  padding: 0;
  opacity: 0.8;
  transition: all 0.15s ease;
}
.theme-modern .thumb:hover {
  opacity: 1;
}
.theme-modern .thumb.active {
  opacity: 1;
  outline: 2px solid var(--crt-amber);
  outline-offset: 2px;
  border-radius: 4px;
}
.theme-modern .thumb::after {
  display: none;
}
.theme-modern .stage {
  background: #f3f4f6;
}
.theme-modern .hero-wrapper {
  background: transparent;
  padding: 0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  overflow: hidden;
}
.theme-modern .date-stamp {
  display: none;
}
.theme-modern .frame-counter {
  display: none;
}
.theme-modern .banner {
  background: var(--crt-amber);
  color: #ffffff;
  border-radius: 20px;
  animation: none;
  font-family: var(--font-display);
  font-weight: 500;
}
.theme-modern .filter-banner {
  background: #22c55e;
  color: #ffffff;
  border-radius: 20px;
  font-family: var(--font-display);
}
.theme-modern .filter-banner button {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 4px;
}
.theme-modern .meta-display {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  color: #374151;
}
.theme-modern .meta-display::before {
  background: #ffffff;
  color: #6b7280;
}
.theme-modern .meta-row {
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .meta-val {
  color: #1e40af;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 15px;
}
.theme-modern .meta-val a {
  color: #2563eb;
  font-weight: 400;
}
.theme-modern .desktop-exposure {
  font-size: 15px;
  color: #374151;
  font-weight: 400;
}
.theme-modern .tag-list {
  color: #4b5563;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
}
.theme-modern .description-text {
  color: #4b5563;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
}
.theme-modern .download-panel {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .download-btn {
  background: var(--crt-amber);
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
  transition: all 0.15s ease;
}
.theme-modern .download-btn:hover {
  background: #1d4ed8;
}
.theme-modern .share-panel {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .share-btn {
  background: #22c55e;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
}
.theme-modern .share-btn:hover {
  background: #16a34a;
}
.theme-modern .info-modal {
  background: rgba(0, 0, 0, 0.5);
}
.theme-modern .info-content {
  background: #ffffff;
  border: none;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  font-family: var(--font-display);
}
.theme-modern .info-header {
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .info-title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0;
}
.theme-modern .close-btn {
  background: #f3f4f6;
  color: #374151;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern .shortcut-key {
  background: #f3f4f6;
  color: #374151;
  border-radius: 4px;
  font-family: var(--font-mono);
}
.theme-modern .face-box {
  border: 2px solid #22c55e;
  background: rgba(34, 197, 94, 0.1);
  border-radius: 4px;
}
.theme-modern .face-box .face-label {
  background: #22c55e;
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern .object-box {
  border: 2px solid var(--crt-amber);
  background: rgba(37, 99, 235, 0.1);
  border-radius: 4px;
}
.theme-modern .object-box .object-label {
  background: var(--crt-amber);
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-toggle {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
}
.theme-modern .contact-sheet-toggle span {
  color: #374151;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet {
  background: #ffffff;
  border-top: 1px solid #e5e7eb;
  border-radius: 16px 16px 0 0;
}
.theme-modern .contact-sheet-header {
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .contact-sheet-header span {
  color: #374151;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-header button {
  background: #f3f4f6;
  border: 1px solid #e5e7eb;
  color: #374151;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern .contact-sheet-grid img {
  border-radius: 4px;
}
.theme-modern .contact-sheet-grid img.selected {
  border-color: var(--crt-amber);
  box-shadow: 0 0 0 2px var(--crt-amber);
}
.theme-modern .pin-screen {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.theme-modern .pin-screen h1 {
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-display);
  letter-spacing: 0;
}
.theme-modern .pin-screen h2 {
  color: #ffffff;
  text-shadow: none;
  font-family: var(--font-display);
  letter-spacing: 0;
}
.theme-modern .pin-screen input {
  background: rgba(255, 255, 255, 0.9);
  border: none;
  border-radius: 12px;
  color: #1f2937;
  font-family: var(--font-mono);
}
.theme-modern .pin-screen .submit-btn {
  background: #ffffff;
  border: none;
  border-radius: 8px;
  color: #7c3aed;
  font-family: var(--font-display);
  font-weight: 600;
  text-shadow: none;
}
.theme-modern .pin-screen .error {
  color: #fecaca;
  font-family: var(--font-display);
}
.theme-modern .pin-screen .hint {
  color: rgba(255, 255, 255, 0.7);
  font-family: var(--font-display);
}
.theme-modern .search-input {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  color: #1f2937;
  font-family: var(--font-display);
}
.theme-modern .search-input:focus {
  border-color: var(--crt-amber);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .search-input::placeholder {
  color: #9ca3af;
}
.theme-modern .search-results-count {
  color: #6b7280;
  font-family: var(--font-display);
}
.theme-modern-dark,
.app-shell.theme-modern-dark {
  --crt-black: #0f172a;
  --crt-dark: #1e293b;
  --crt-amber: #7dd3fc;
  --crt-amber-dim: #38bdf8;
  --crt-green: #4ade80;
  --crt-red: #f87171;
  --kodak-yellow: #fcd34d;
  --kodak-red: #f1f5f9;
  --film-border: #475569;
  --paper-cream: #1e293b;
  --paper-aged: #0f172a;
  --font-mono:
    "JetBrains Mono",
    "SF Mono",
    monospace;
  --font-display:
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
}
.theme-modern-dark .app-shell::before {
  display: none;
}
.theme-modern-dark .header-brand {
  text-shadow: none;
  color: #f1f5f9;
  letter-spacing: 0;
  font-weight: 600;
}
.theme-modern-dark .date-text {
  text-shadow: none;
}
.theme-modern-dark .nav-btn {
  text-shadow: none;
}
.theme-modern-dark .app-shell {
  background: var(--crt-black);
  color: #e2e8f0;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern-dark .header-bar {
  background: #1e293b;
  border-bottom: 1px solid #334155;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .rec-indicator {
  color: #94a3b8;
}
.theme-modern-dark .rec-indicator.inactive {
  color: #64748b;
}
.theme-modern-dark .rec-dot {
  background: #22c55e;
}
.theme-modern-dark .rec-indicator.inactive .rec-dot {
  background: #475569;
}
.theme-modern-dark .nav-controls {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-bottom: none;
}
.theme-modern-dark .nav-btn {
  background: #334155;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #e2e8f0;
  font-family: var(--font-display);
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .nav-btn:hover {
  background: #475569;
  border-color: #64748b;
}
.theme-modern-dark .nav-btn:active {
  background: #64748b;
}
.theme-modern-dark .nav-btn.active {
  background: var(--crt-amber);
  border-color: var(--crt-amber);
  color: #0f172a;
}
.theme-modern-dark .date-display {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
}
.theme-modern-dark .date-text {
  color: #f1f5f9;
  font-weight: 500;
  font-size: 18px;
}
.theme-modern-dark .date-detail {
  color: #94a3b8;
  font-size: 14px;
}
.theme-modern-dark .date-select {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  color: #f1f5f9;
  font-family: var(--font-display);
  font-size: 16px;
}
.theme-modern-dark .sidebar {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-left: 1px solid #334155;
}
.theme-modern-dark .strip-header {
  background: #0f172a;
  border-bottom: 1px solid #334155;
  color: #94a3b8;
}
.theme-modern-dark .scroll-wrapper {
  background: #1e293b;
}
.theme-modern-dark .scroll-wrapper::before,
.theme-modern-dark .scroll-wrapper::after {
  display: none;
}
.theme-modern-dark .thumb {
  background: #334155;
  border-radius: 4px;
  padding: 0;
  opacity: 0.8;
  transition: all 0.15s ease;
}
.theme-modern-dark .thumb:hover {
  opacity: 1;
}
.theme-modern-dark .thumb.active {
  opacity: 1;
  outline: 2px solid var(--crt-amber);
  outline-offset: 2px;
  border-radius: 4px;
}
.theme-modern-dark .thumb::after {
  display: none;
}
.theme-modern-dark .stage {
  background: #0f172a;
}
.theme-modern-dark .hero-wrapper {
  background: transparent;
  padding: 0;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  overflow: hidden;
}
.theme-modern-dark .date-stamp {
  display: none;
}
.theme-modern-dark .frame-counter {
  display: none;
}
.theme-modern-dark .banner {
  background: var(--crt-amber);
  color: #0f172a;
  border-radius: 20px;
  animation: none;
  font-family: var(--font-display);
  font-weight: 500;
}
.theme-modern-dark .filter-banner {
  background: #22c55e;
  color: #ffffff;
  border-radius: 20px;
  font-family: var(--font-display);
}
.theme-modern-dark .filter-banner button {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
  border-radius: 4px;
}
.theme-modern-dark .meta-display {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  color: #94a3b8;
  font-weight: 400;
  font-size: 15px;
}
.theme-modern-dark .meta-display::before {
  background: #1e293b;
  color: #64748b;
  font-weight: 500;
  font-size: 12px;
}
.theme-modern-dark .meta-row {
  border-bottom: 1px solid #334155;
  padding: 8px 12px;
}
.theme-modern-dark .meta-label {
  color: #64748b;
  font-weight: 400;
  font-size: 13px;
}
.theme-modern-dark .meta-val {
  color: #e2e8f0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 15px;
}
.theme-modern-dark .meta-val a {
  color: var(--crt-amber);
  font-weight: 400;
}
.theme-modern-dark .desktop-exposure {
  font-size: 15px;
  color: #e2e8f0;
  font-weight: 400;
}
.theme-modern-dark .tag-list {
  color: #cbd5e1;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
}
.theme-modern-dark .description-text {
  color: #cbd5e1;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.6;
}
.theme-modern-dark .download-panel {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .download-btn {
  background: var(--crt-amber);
  color: #0f172a;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
  transition: all 0.15s ease;
}
.theme-modern-dark .download-btn:hover {
  background: #38bdf8;
}
.theme-modern-dark .share-panel {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .share-btn {
  background: #22c55e;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-family: var(--font-display);
  font-weight: 600;
}
.theme-modern-dark .share-btn:hover {
  background: #16a34a;
}
.theme-modern-dark .info-modal {
  background: rgba(0, 0, 0, 0.7);
}
.theme-modern-dark .info-content {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
  font-family: var(--font-display);
  color: #e2e8f0;
}
.theme-modern-dark .info-header {
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .info-title {
  font-family: var(--font-display);
  font-weight: 600;
  letter-spacing: 0;
  color: #f1f5f9;
}
.theme-modern-dark .close-btn {
  background: #334155;
  color: #e2e8f0;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern-dark .shortcut-key {
  background: #334155;
  color: #e2e8f0;
  border-radius: 4px;
  font-family: var(--font-mono);
}
.theme-modern-dark .face-box {
  border: 2px solid #22c55e;
  background: rgba(34, 197, 94, 0.15);
  border-radius: 4px;
}
.theme-modern-dark .face-box .face-label {
  background: #22c55e;
  color: #ffffff;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern-dark .object-box {
  border: 2px solid var(--crt-amber);
  background: rgba(125, 211, 252, 0.15);
  border-radius: 4px;
}
.theme-modern-dark .object-box .object-label {
  background: var(--crt-amber);
  color: #0f172a;
  border-radius: 4px;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-toggle {
  background: #1e293b;
  border-top: 1px solid #334155;
}
.theme-modern-dark .contact-sheet-toggle span {
  color: #e2e8f0;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet {
  background: #1e293b;
  border-top: 1px solid #334155;
  border-radius: 16px 16px 0 0;
}
.theme-modern-dark .contact-sheet-header {
  background: #0f172a;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .contact-sheet-header span {
  color: #e2e8f0;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-header button {
  background: #334155;
  border: 1px solid #475569;
  color: #e2e8f0;
  border-radius: 6px;
  font-family: var(--font-display);
}
.theme-modern-dark .contact-sheet-grid img {
  border-radius: 4px;
}
.theme-modern-dark .contact-sheet-grid img.selected {
  border-color: var(--crt-amber);
  box-shadow: 0 0 0 2px var(--crt-amber);
}
.theme-modern-dark .pin-screen {
  background:
    radial-gradient(ellipse at 20% 0%, rgba(56, 189, 248, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(139, 92, 246, 0.15) 0%, transparent 50%),
    linear-gradient(180deg, #0c1222 0%, #0f172a 50%, #1e1b4b 100%);
  overflow: hidden;
}
.theme-modern-dark .pin-screen::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.08) 0%, transparent 40%), radial-gradient(circle at 70% 70%, rgba(167, 139, 250, 0.08) 0%, transparent 40%);
  animation: pinScreenGlow 20s ease-in-out infinite;
  pointer-events: none;
}
@keyframes pinScreenGlow {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(2%, 2%) rotate(5deg);
  }
  50% {
    transform: translate(-1%, 3%) rotate(-3deg);
  }
  75% {
    transform: translate(3%, -2%) rotate(2deg);
  }
}
.theme-modern-dark .pin-screen form {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 48px 40px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  position: relative;
  z-index: 1;
}
.theme-modern-dark .pin-screen h1 {
  color: rgba(255, 255, 255, 0.5);
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.theme-modern-dark .pin-screen h2 {
  color: #ffffff;
  text-shadow: none;
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 600;
  letter-spacing: -0.5px;
  margin-bottom: 40px;
}
.theme-modern-dark .pin-screen h2::before {
  content: "\25c8";
  display: block;
  font-size: 48px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #38bdf8 0%, #a78bfa 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.theme-modern-dark .pin-screen input {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  color: #ffffff;
  font-family: var(--font-mono);
  font-size: 28px;
  padding: 20px 24px;
  width: 240px;
  text-align: center;
  letter-spacing: 12px;
  transition: all 0.2s ease;
}
.theme-modern-dark .pin-screen input::placeholder {
  color: rgba(255, 255, 255, 0.2);
  letter-spacing: 8px;
}
.theme-modern-dark .pin-screen input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.1), 0 0 30px rgba(56, 189, 248, 0.1);
  background: rgba(255, 255, 255, 0.08);
}
.theme-modern-dark .pin-screen .submit-btn {
  background: linear-gradient(135deg, #38bdf8 0%, #818cf8 100%);
  border: none;
  border-radius: 12px;
  color: #ffffff;
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1px;
  padding: 16px 48px;
  text-shadow: none;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 15px rgba(56, 189, 248, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}
.theme-modern-dark .pin-screen .submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(56, 189, 248, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.15) inset;
}
.theme-modern-dark .pin-screen .submit-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 10px rgba(56, 189, 248, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
}
.theme-modern-dark .pin-screen .error {
  color: #f87171;
  font-family: var(--font-display);
  font-size: 14px;
  margin-top: 16px;
  padding: 12px 20px;
  background: rgba(239, 68, 68, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .pin-screen .hint {
  color: rgba(255, 255, 255, 0.4);
  font-family: var(--font-display);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 32px;
}
.theme-modern-dark .search-input {
  background: #334155;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #f1f5f9;
  font-family: var(--font-display);
}
.theme-modern-dark .search-input:focus {
  border-color: var(--crt-amber);
  box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.25);
}
.theme-modern-dark .search-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .search-results-count {
  color: #94a3b8;
  font-family: var(--font-display);
}
.theme-modern .admin-page {
  min-height: 100vh;
  background: #f8fafc;
  color: #1f2937;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern .admin-nav {
  background: #ffffff;
  border-bottom: 1px solid #e5e7eb;
  padding: 0 20px;
  display: flex;
  align-items: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .admin-nav-brand {
  font-size: 16px;
  font-weight: 600;
  padding: 16px 20px 16px 0;
  border-right: 1px solid #e5e7eb;
  margin-right: 10px;
  color: #2563eb;
  text-decoration: none;
}
.theme-modern .admin-nav-item {
  padding: 16px 16px;
  color: #6b7280;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern .admin-nav-item:hover {
  background: #f3f4f6;
  color: #374151;
}
.theme-modern .admin-nav-item.active {
  color: #2563eb;
  border-bottom-color: #2563eb;
  background: #eff6ff;
}
.theme-modern .admin-nav-spacer {
  flex-grow: 1;
}
.theme-modern .admin-nav-back {
  padding: 10px 15px;
  color: #6b7280;
  text-decoration: none;
  font-size: 13px;
}
.theme-modern .admin-nav-back:hover {
  color: #2563eb;
}
.theme-modern .admin-content {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.theme-modern .admin-title {
  font-size: 24px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 24px;
}
.theme-modern .admin-section {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.theme-modern .admin-section h2 {
  font-size: 16px;
  font-weight: 600;
  color: #374151;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .admin-btn {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  border: none;
}
.theme-modern .admin-btn-primary {
  background: #2563eb;
  color: #ffffff;
}
.theme-modern .admin-btn-primary:hover {
  background: #1d4ed8;
}
.theme-modern .admin-btn-secondary {
  background: #f3f4f6;
  color: #374151;
  border: 1px solid #e5e7eb;
}
.theme-modern .admin-btn-secondary:hover {
  background: #e5e7eb;
}
.theme-modern .admin-btn-danger {
  background: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
}
.theme-modern .admin-btn-danger:hover {
  background: #fee2e2;
}
.theme-modern .admin-btn-success {
  background: #22c55e;
  color: #ffffff;
}
.theme-modern .admin-btn-success:hover {
  background: #16a34a;
}
.theme-modern .admin-input,
.theme-modern .admin-select,
.theme-modern .admin-textarea {
  font-family: var(--font-display);
  font-size: 14px;
  background: #ffffff;
  color: #1f2937;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 10px 14px;
  width: 100%;
  transition: all 0.15s ease;
}
.theme-modern .admin-input:focus,
.theme-modern .admin-select:focus,
.theme-modern .admin-textarea:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .admin-input::placeholder {
  color: #9ca3af;
}
.theme-modern .admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.theme-modern .admin-stat-card {
  background: #ffffff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
}
.theme-modern .admin-stat-value {
  font-size: 32px;
  font-weight: 600;
  color: #2563eb;
  margin-bottom: 4px;
}
.theme-modern .admin-stat-label {
  font-size: 13px;
  color: #6b7280;
}
.theme-modern .admin-table {
  width: 100%;
  border-collapse: collapse;
}
.theme-modern .admin-table th,
.theme-modern .admin-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #f3f4f6;
}
.theme-modern .admin-table th {
  background: #f9fafb;
  color: #6b7280;
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern .admin-table tr:hover {
  background: #f9fafb;
}
.theme-modern .admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.theme-modern .admin-modal {
  background: #ffffff;
  border-radius: 16px;
  padding: 24px;
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.theme-modern .admin-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e7eb;
}
.theme-modern .admin-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.theme-modern .admin-badge-success {
  background: #dcfce7;
  color: #166534;
}
.theme-modern .admin-badge-warning {
  background: #fef3c7;
  color: #92400e;
}
.theme-modern .admin-badge-danger {
  background: #fee2e2;
  color: #dc2626;
}
.theme-modern .admin-badge-info {
  background: #dbeafe;
  color: #1e40af;
}
.theme-modern .admin-pin-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.theme-modern .admin-pin-card {
  background: rgba(255, 255, 255, 0.95);
  border-radius: 20px;
  padding: 48px 40px;
  text-align: center;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  max-width: 400px;
  width: 90%;
}
.theme-modern .admin-pin-title {
  font-size: 24px;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 8px;
}
.theme-modern .admin-pin-subtitle {
  color: #6b7280;
  font-size: 14px;
  margin-bottom: 32px;
}
.theme-modern .admin-pin-input {
  font-family: var(--font-mono);
  font-size: 24px;
  text-align: center;
  background: #f3f4f6;
  border: 2px solid #e5e7eb;
  border-radius: 12px;
  padding: 16px 24px;
  width: 200px;
  letter-spacing: 8px;
  color: #1f2937;
  transition: all 0.15s ease;
}
.theme-modern .admin-pin-input:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}
.theme-modern .admin-pin-error {
  color: #dc2626;
  font-size: 14px;
  margin-top: 16px;
}
.theme-modern-dark .admin-page {
  min-height: 100vh;
  background: #0f172a;
  color: #e2e8f0;
  font-family: var(--font-display);
  font-size: 14px;
}
.theme-modern-dark .admin-nav {
  background: #1e293b;
  border-bottom: 1px solid #334155;
  padding: 0 20px;
  display: flex;
  align-items: center;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .admin-nav-brand {
  font-size: 16px;
  font-weight: 600;
  padding: 16px 20px 16px 0;
  border-right: 1px solid #334155;
  margin-right: 10px;
  color: #7dd3fc;
  text-decoration: none;
}
.theme-modern-dark .admin-nav-item {
  padding: 16px 16px;
  color: #94a3b8;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-nav-item:hover {
  background: #334155;
  color: #e2e8f0;
}
.theme-modern-dark .admin-nav-item.active {
  color: #7dd3fc;
  border-bottom-color: #7dd3fc;
  background: rgba(125, 211, 252, 0.1);
}
.theme-modern-dark .admin-nav-spacer {
  flex-grow: 1;
}
.theme-modern-dark .admin-nav-back {
  padding: 10px 15px;
  color: #94a3b8;
  text-decoration: none;
  font-size: 13px;
}
.theme-modern-dark .admin-nav-back:hover {
  color: #7dd3fc;
}
.theme-modern-dark .admin-content {
  padding: 24px;
  max-width: 1400px;
  margin: 0 auto;
}
.theme-modern-dark .admin-title {
  font-size: 24px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 24px;
}
.theme-modern-dark .admin-section {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 20px;
  margin-bottom: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.theme-modern-dark .admin-section h2 {
  font-size: 16px;
  font-weight: 600;
  color: #e2e8f0;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-btn {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: 500;
  padding: 10px 20px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  border: none;
}
.theme-modern-dark .admin-btn-primary {
  background: #7dd3fc;
  color: #0f172a;
}
.theme-modern-dark .admin-btn-primary:hover {
  background: #38bdf8;
}
.theme-modern-dark .admin-btn-secondary {
  background: #334155;
  color: #e2e8f0;
  border: 1px solid #475569;
}
.theme-modern-dark .admin-btn-secondary:hover {
  background: #475569;
}
.theme-modern-dark .admin-btn-danger {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.theme-modern-dark .admin-btn-danger:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .admin-btn-success {
  background: #22c55e;
  color: #ffffff;
}
.theme-modern-dark .admin-btn-success:hover {
  background: #16a34a;
}
.theme-modern-dark .admin-input,
.theme-modern-dark .admin-select,
.theme-modern-dark .admin-textarea {
  font-family: var(--font-display);
  font-size: 14px;
  background: #0f172a;
  color: #e2e8f0;
  border: 1px solid #475569;
  border-radius: 8px;
  padding: 10px 14px;
  width: 100%;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-input:focus,
.theme-modern-dark .admin-select:focus,
.theme-modern-dark .admin-textarea:focus {
  outline: none;
  border-color: #7dd3fc;
  box-shadow: 0 0 0 3px rgba(125, 211, 252, 0.15);
}
.theme-modern-dark .admin-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}
.theme-modern-dark .admin-stat-card {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
}
.theme-modern-dark .admin-stat-value {
  font-size: 32px;
  font-weight: 600;
  color: #7dd3fc;
  margin-bottom: 4px;
}
.theme-modern-dark .admin-stat-label {
  font-size: 13px;
  color: #94a3b8;
}
.theme-modern-dark .admin-table {
  width: 100%;
  border-collapse: collapse;
}
.theme-modern-dark .admin-table th,
.theme-modern-dark .admin-table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-table th {
  background: #0f172a;
  color: #94a3b8;
  font-weight: 500;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .admin-table tr:hover {
  background: rgba(125, 211, 252, 0.05);
}
.theme-modern-dark .admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.theme-modern-dark .admin-modal {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 16px;
  padding: 24px;
  max-width: 600px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}
.theme-modern-dark .admin-modal-title {
  font-size: 18px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #334155;
}
.theme-modern-dark .admin-badge {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.theme-modern-dark .admin-badge-success {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.theme-modern-dark .admin-badge-warning {
  background: rgba(251, 191, 36, 0.15);
  color: #fcd34d;
}
.theme-modern-dark .admin-badge-danger {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
.theme-modern-dark .admin-badge-info {
  background: rgba(125, 211, 252, 0.15);
  color: #7dd3fc;
}
.theme-modern-dark .admin-pin-screen {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse at 20% 0%, rgba(56, 189, 248, 0.15) 0%, transparent 50%),
    radial-gradient(ellipse at 80% 100%, rgba(139, 92, 246, 0.15) 0%, transparent 50%),
    linear-gradient(180deg, #0c1222 0%, #0f172a 50%, #1e1b4b 100%);
  overflow: hidden;
}
.theme-modern-dark .admin-pin-screen::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.08) 0%, transparent 40%), radial-gradient(circle at 70% 70%, rgba(167, 139, 250, 0.08) 0%, transparent 40%);
  animation: pinScreenGlow 20s ease-in-out infinite;
  pointer-events: none;
}
.theme-modern-dark .admin-pin-card {
  background: rgba(255, 255, 255, 0.03);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 48px 40px;
  text-align: center;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(255, 255, 255, 0.05) inset;
  position: relative;
  z-index: 1;
  max-width: 400px;
  width: 90%;
}
.theme-modern-dark .admin-pin-title {
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 8px;
}
.theme-modern-dark .admin-pin-subtitle {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  margin-bottom: 32px;
}
.theme-modern-dark .admin-pin-input {
  font-family: var(--font-mono);
  font-size: 24px;
  text-align: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 16px 24px;
  width: 220px;
  letter-spacing: 8px;
  color: #ffffff;
  transition: all 0.15s ease;
}
.theme-modern-dark .admin-pin-input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.1), 0 0 30px rgba(56, 189, 248, 0.1);
  background: rgba(255, 255, 255, 0.08);
}
.theme-modern-dark .admin-pin-input::placeholder {
  color: rgba(255, 255, 255, 0.2);
}
.theme-modern-dark .admin-pin-error {
  color: #f87171;
  font-size: 14px;
  margin-top: 16px;
  padding: 12px 20px;
  background: rgba(239, 68, 68, 0.1);
  border-radius: 8px;
  border: 1px solid rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .cluster-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.theme-modern-dark .cluster-stat-card {
  background: #0f172a;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 16px;
  text-align: center;
}
.theme-modern-dark .cluster-stat-value {
  font-size: 28px;
  font-weight: 600;
  color: #7dd3fc;
  margin-bottom: 4px;
}
.theme-modern-dark .cluster-stat-label {
  font-size: 12px;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .worker-card {
  background: #0f172a;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.theme-modern-dark .worker-card.online {
  border-color: #22c55e;
  border-left: 4px solid #22c55e;
}
.theme-modern-dark .worker-card.offline {
  border-color: #f87171;
  border-left: 4px solid #f87171;
  opacity: 0.7;
}
.theme-modern-dark .worker-card.unknown {
  border-color: #fcd34d;
  border-left: 4px solid #fcd34d;
}
.theme-modern-dark .worker-info {
  flex: 1;
}
.theme-modern-dark .worker-info h3 {
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 4px;
}
.theme-modern-dark .worker-meta {
  font-size: 13px;
  color: #94a3b8;
}
.theme-modern-dark .status-badge {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .status-badge.online {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.theme-modern-dark .status-badge.offline {
  background: rgba(248, 113, 113, 0.15);
  color: #f87171;
}
.theme-modern-dark .status-badge.unknown {
  background: rgba(252, 211, 77, 0.15);
  color: #fcd34d;
}
.theme-modern-dark .capabilities {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.theme-modern-dark .capability-tag {
  background: rgba(125, 211, 252, 0.1);
  border: 1px solid rgba(125, 211, 252, 0.3);
  color: #7dd3fc;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 500;
}
.theme-modern-dark .recommendation-box {
  background: rgba(251, 191, 36, 0.05);
  border: 1px solid rgba(251, 191, 36, 0.2);
  border-radius: 8px;
  padding: 16px;
  margin-top: 16px;
}
.theme-modern-dark .recommendation-box h3 {
  color: #fcd34d;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 12px;
}
.theme-modern-dark .feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 8px;
}
.theme-modern-dark .feature-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}
.theme-modern-dark .feature-status.recommended {
  color: #4ade80;
}
.theme-modern-dark .feature-status.possible {
  color: #fcd34d;
}
.theme-modern-dark .feature-status.not_recommended {
  color: #f87171;
}
.theme-modern-dark .add-worker-form {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.theme-modern-dark .add-worker-form input {
  background: #0f172a;
  border: 1px solid #475569;
  border-radius: 6px;
  color: #e2e8f0;
  padding: 10px 14px;
  font-size: 14px;
}
.theme-modern-dark .add-worker-form input:focus {
  outline: none;
  border-color: #7dd3fc;
  box-shadow: 0 0 0 2px rgba(125, 211, 252, 0.15);
}
.theme-modern-dark .add-worker-form button {
  background: #7dd3fc;
  color: #0f172a;
  border: none;
  border-radius: 6px;
  padding: 10px 20px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-modern-dark .add-worker-form button:hover {
  background: #38bdf8;
}
.theme-modern-dark .remove-btn {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 6px;
  padding: 6px 12px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.15s ease;
}
.theme-modern-dark .remove-btn:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .cluster-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}
.theme-modern-dark .cluster-header-row h1 {
  font-size: 24px;
  font-weight: 600;
  color: #f1f5f9;
  margin: 0;
}
.theme-modern-dark .refresh-btn {
  background: #334155;
  color: #e2e8f0;
  border: 1px solid #475569;
  border-radius: 6px;
  padding: 8px 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.theme-modern-dark .refresh-btn:hover {
  background: #475569;
}
.theme-modern-dark .last-refresh {
  font-size: 13px;
  color: #64748b;
  margin-left: 12px;
}
.theme-modern-dark .cluster-loading {
  text-align: center;
  padding: 60px 20px;
  color: #94a3b8;
  font-size: 16px;
}
.theme-modern-dark .cluster-loading::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #475569;
  border-top-color: #7dd3fc;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-left: 12px;
  vertical-align: middle;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
.theme-modern-dark .event-card {
  background: #1e293b;
  border: 1px solid #334155;
  padding: 20px;
  margin-bottom: 12px;
  border-radius: 8px;
  transition: border-color 0.15s ease;
}
.theme-modern-dark .event-card:hover {
  border-color: #7dd3fc;
}
.theme-modern-dark .event-card.exclusive {
  border-left: 3px solid #f87171;
}
.theme-modern-dark .event-card.hidden {
  opacity: 0.6;
}
.theme-modern-dark .event-name {
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
  cursor: pointer;
}
.theme-modern-dark .event-name:hover {
  color: #7dd3fc;
}
.theme-modern-dark .event-dates {
  font-size: 13px;
  color: #94a3b8;
  margin-bottom: 8px;
}
.theme-modern-dark .event-description {
  font-size: 13px;
  color: #cbd5e1;
  margin-bottom: 8px;
}
.theme-modern-dark .event-badge {
  display: inline-block;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  border-radius: 4px;
  margin-left: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .event-badge-exclusive {
  background: rgba(248, 113, 113, 0.2);
  color: #f87171;
  border: 1px solid rgba(248, 113, 113, 0.3);
}
.theme-modern-dark .event-badge-hidden {
  background: rgba(148, 163, 184, 0.2);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}
.theme-modern-dark .event-badge-pin {
  background: rgba(45, 212, 191, 0.2);
  color: #2dd4bf;
  border: 1px solid rgba(45, 212, 191, 0.3);
}
.theme-modern-dark .event-input {
  background: #0f172a;
  border: 1px solid #334155;
  color: #f1f5f9;
  padding: 10px 14px;
  width: 100%;
  font-size: 14px;
  border-radius: 6px;
  transition: border-color 0.15s ease;
}
.theme-modern-dark .event-input:focus {
  border-color: #7dd3fc;
  outline: none;
}
.theme-modern-dark .event-input::placeholder {
  color: #64748b;
}
.theme-modern-dark .event-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #94a3b8;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.theme-modern-dark .event-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-left: 16px;
}
.theme-modern-dark .event-btn {
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.theme-modern-dark .event-btn-view {
  background: rgba(125, 211, 252, 0.1);
  color: #7dd3fc;
  border: 1px solid rgba(125, 211, 252, 0.3);
}
.theme-modern-dark .event-btn-view:hover {
  background: rgba(125, 211, 252, 0.2);
}
.theme-modern-dark .event-btn-toggle {
  background: transparent;
  color: #94a3b8;
  border: 1px solid #475569;
}
.theme-modern-dark .event-btn-toggle:hover {
  background: #334155;
  color: #f1f5f9;
}
.theme-modern-dark .event-btn-toggle.active {
  background: rgba(248, 113, 113, 0.1);
  color: #f87171;
  border-color: rgba(248, 113, 113, 0.3);
}
.theme-modern-dark .event-btn-delete {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.theme-modern-dark .event-btn-delete:hover {
  background: rgba(239, 68, 68, 0.2);
}
.theme-modern-dark .event-create-form {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 8px;
  padding: 24px;
  margin-bottom: 24px;
}
.theme-modern-dark .event-create-form h3 {
  margin: 0 0 20px 0;
  font-size: 16px;
  font-weight: 600;
  color: #f1f5f9;
}
.theme-modern-dark .event-form-grid {
  display: grid;
  gap: 16px;
}
.theme-modern-dark .event-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.theme-modern-dark .event-form-actions {
  display: flex;
  gap: 12px;
  margin-top: 16px;
}
.theme-modern-dark .events-help-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 999;
}
.theme-modern-dark .events-help-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 12px;
  padding: 24px;
  max-width: 500px;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.5);
}
.theme-modern-dark .events-help-modal h2 {
  margin: 0 0 16px 0;
  font-size: 18px;
  font-weight: 600;
  color: #f1f5f9;
}
.theme-modern-dark .events-help-modal h3 {
  font-size: 14px;
  font-weight: 600;
  color: #e2e8f0;
  margin: 20px 0 8px 0;
}
.theme-modern-dark .events-help-modal p,
.theme-modern-dark .events-help-modal li {
  font-size: 13px;
  color: #94a3b8;
  line-height: 1.6;
}
.theme-modern-dark .events-help-modal ul {
  padding-left: 20px;
  margin: 0;
}
.theme-modern-dark .events-empty {
  text-align: center;
  padding: 60px 20px;
  color: #64748b;
}
.theme-modern-dark .events-empty p {
  margin: 8px 0;
}
.theme-modern-dark .events-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.theme-modern-dark .events-count {
  color: #94a3b8;
  font-size: 14px;
}
.admin-page {
  --admin-bg: #0f172a;
  --admin-surface: #1e293b;
  --admin-surface-elevated: #334155;
  --admin-border: #475569;
  --admin-text: #e2e8f0;
  --admin-text-muted: #94a3b8;
  --admin-text-dim: #64748b;
  --admin-accent-primary: #7dd3fc;
  --admin-accent-secondary: #4ade80;
  --admin-accent-tertiary: #fbbf24;
  --admin-accent-danger: #f87171;
  --admin-accent-primary-bg: rgba(125, 211, 252, 0.1);
  --admin-accent-secondary-bg: rgba(74, 222, 128, 0.1);
  --admin-accent-tertiary-bg: rgba(251, 191, 36, 0.1);
  --admin-accent-danger-bg: rgba(248, 113, 113, 0.1);
}
.admin-section--primary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-primary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--secondary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-secondary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--tertiary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-accent-tertiary);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--danger {
  background: var(--admin-surface);
  border: 1px solid var(--admin-accent-danger);
  border-left: 3px solid var(--admin-accent-danger);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section--neutral {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
.admin-section__header {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--admin-border);
}
.admin-section--primary .admin-section__header {
  color: var(--admin-accent-primary);
}
.admin-section--secondary .admin-section__header {
  color: var(--admin-accent-secondary);
}
.admin-section--tertiary .admin-section__header {
  color: var(--admin-accent-tertiary);
}
.admin-section--danger .admin-section__header {
  color: var(--admin-accent-danger);
}
.admin-section__desc {
  font-size: 12px;
  color: var(--admin-text-muted);
  margin: 8px 0 16px 0;
  line-height: 1.5;
}
.admin-btn--primary {
  background: var(--admin-accent-primary);
  color: var(--admin-bg);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.15s ease;
}
.admin-btn--primary:hover {
  background: #38bdf8;
}
.admin-btn--secondary {
  background: var(--admin-surface-elevated);
  color: var(--admin-text);
  border: 1px solid var(--admin-border);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}
.admin-btn--secondary:hover {
  background: #475569;
  border-color: #64748b;
}
.admin-btn--success {
  background: var(--admin-accent-secondary);
  color: var(--admin-bg);
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--success:hover {
  background: #22c55e;
}
.admin-btn--warning {
  background: var(--admin-accent-tertiary-bg);
  color: var(--admin-accent-tertiary);
  border: 1px solid var(--admin-accent-tertiary);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--warning:hover {
  background: rgba(251, 191, 36, 0.2);
}
.admin-btn--danger {
  background: var(--admin-accent-danger-bg);
  color: var(--admin-accent-danger);
  border: 1px solid rgba(248, 113, 113, 0.3);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
}
.admin-btn--danger:hover {
  background: rgba(248, 113, 113, 0.2);
}
.admin-btn--toggle {
  background: var(--admin-surface);
  color: var(--admin-text-muted);
  border: 1px solid var(--admin-border);
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.admin-btn--toggle.active {
  background: var(--admin-accent-secondary-bg);
  color: var(--admin-accent-secondary);
  border-color: var(--admin-accent-secondary);
}
.admin-btn--toggle.active-warning {
  background: var(--admin-accent-tertiary-bg);
  color: var(--admin-accent-tertiary);
  border-color: var(--admin-accent-tertiary);
}
.admin-btn--toggle.active-danger {
  background: var(--admin-accent-danger-bg);
  color: var(--admin-accent-danger);
  border-color: var(--admin-accent-danger);
}
.admin-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--admin-text-dim);
}
.admin-status-dot.active {
  background: var(--admin-accent-secondary);
}
.admin-status-dot.warning {
  background: var(--admin-accent-tertiary);
  animation: pulse 1s infinite;
}
.admin-status-dot.danger {
  background: var(--admin-accent-danger);
  animation: pulse 1s infinite;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.admin-theme-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
@media (max-width: 768px) {
  .admin-theme-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.admin-theme-btn {
  padding: 12px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.15s ease;
  background: var(--admin-surface);
  color: var(--admin-text);
}
.admin-theme-btn:hover {
  border-color: var(--admin-border);
}
.admin-theme-btn.selected {
  border-color: var(--admin-accent-primary);
  box-shadow: 0 0 12px rgba(125, 211, 252, 0.3);
}
.admin-theme-btn[data-theme=kodak] {
  background: #fbbf24;
  color: #dc2626;
}
.admin-theme-btn[data-theme=fuji] {
  background: #006b3c;
  color: #fff;
}
.admin-theme-btn[data-theme=polaroid] {
  background: #f5f5f5;
  color: #333;
}
.admin-theme-btn[data-theme=noir] {
  background: #000;
  color: #fff;
}
.admin-theme-btn[data-theme=playboy] {
  background: #000;
  color: #d4af37;
}
.admin-theme-btn[data-theme=penthouse] {
  background: #1a1a2e;
  color: #c9a227;
}
.admin-theme-btn[data-theme=hustler] {
  background: #8b0000;
  color: #ffd700;
}
.admin-theme-btn[data-theme=instagram] {
  background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
  color: #fff;
}
.admin-theme-btn[data-theme=web1] {
  background: #c0c0c0;
  color: #000080;
}
.admin-theme-btn[data-theme=ww2] {
  background: #2d2a1f;
  color: #d4c9a8;
}
.admin-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin: 16px 0;
}
@media (max-width: 768px) {
  .admin-stats-row {
    grid-template-columns: repeat(2, 1fr);
  }
}
.admin-stat {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  padding: 12px;
  text-align: center;
}
.admin-stat__label {
  font-size: 10px;
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}
.admin-stat__value {
  font-size: 20px;
  font-weight: 600;
  color: var(--admin-accent-primary);
}
.admin-stat__value.success {
  color: var(--admin-accent-secondary);
}
.admin-stat__value.warning {
  color: var(--admin-accent-tertiary);
}
.admin-stat__value.danger {
  color: var(--admin-accent-danger);
}
.admin-page {
  font-size: 14px;
  line-height: 1.5;
}
.admin-text-xs {
  font-size: 12px;
}
.admin-text-sm {
  font-size: 13px;
}
.admin-text-base {
  font-size: 14px;
}
.admin-text-lg {
  font-size: 16px;
}
.admin-text-xl {
  font-size: 18px;
}
.admin-text-muted {
  color: var(--admin-text-muted);
}
.admin-text-dim {
  color: var(--admin-text-dim);
}
.admin-input {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 14px;
  color: var(--admin-text);
  width: 100%;
}
.admin-input:focus {
  outline: none;
  border-color: var(--admin-accent-primary);
  box-shadow: 0 0 0 3px var(--admin-accent-primary-bg);
}
.admin-input::placeholder {
  color: var(--admin-text-dim);
}
.admin-label {
  display: block;
  font-size: 12px;
  color: var(--admin-text-muted);
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.admin-btn-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media (max-width: 768px) {
  .admin-btn-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 768px) {
  .admin-page {
    font-size: 16px;
  }
  .admin-section__header {
    font-size: 15px;
  }
  .admin-btn--primary,
  .admin-btn--secondary,
  .admin-btn--toggle {
    padding: 14px 20px;
    font-size: 15px;
    min-height: 48px;
  }
  .admin-input {
    padding: 14px;
    font-size: 16px;
    min-height: 48px;
  }
  .admin-nav,
  .theme-modern .admin-nav,
  .theme-modern-dark .admin-nav {
    flex-wrap: wrap !important;
    padding: 8px !important;
    height: auto !important;
    gap: 2px;
    width: 100% !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
  }
  .admin-nav-brand,
  .theme-modern .admin-nav-brand,
  .theme-modern-dark .admin-nav-brand {
    width: 100% !important;
    text-align: center;
    padding: 8px !important;
    margin: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid rgba(128, 128, 128, 0.2);
    box-sizing: border-box;
  }
  .admin-nav-item,
  .theme-modern .admin-nav-item,
  .theme-modern-dark .admin-nav-item {
    padding: 6px 8px !important;
    min-height: 40px;
    font-size: 11px !important;
    flex: 0 0 auto;
    white-space: nowrap;
  }
  .admin-nav-spacer,
  .theme-modern .admin-nav-spacer,
  .theme-modern-dark .admin-nav-spacer {
    display: none !important;
  }
  .admin-nav-back,
  .theme-modern .admin-nav-back,
  .theme-modern-dark .admin-nav-back {
    width: 100% !important;
    text-align: center;
    margin-top: 4px;
    padding: 8px !important;
    box-sizing: border-box;
  }
  .admin-page,
  body {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .admin-content,
  .theme-modern .admin-content,
  .theme-modern-dark .admin-content {
    padding: 8px !important;
    max-width: 100% !important;
  }
  .admin-section {
    padding: 12px;
    margin: 8px 0;
  }
  .admin-stats-grid,
  .cluster-stats-grid,
  .admin-button-group {
    grid-template-columns: 1fr !important;
  }
  .admin-image-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px;
  }
  .admin-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .vhs-controls {
    flex-direction: column;
    gap: 8px;
  }
  .vhs-control {
    min-height: 44px;
    width: 100%;
  }
  .led-display {
    font-size: 11px;
    padding: 4px 8px;
  }
  .floppy-grid {
    grid-template-columns: 1fr !important;
  }
}
.flex-1 {
  flex: 1;
}

/* css/ai_collab.css */
.hn-page {
  background: #0a0a0f;
  min-height: 100vh;
  font-family:
    "Share Tech Mono",
    "Courier New",
    monospace;
  font-size: 11pt;
  color: #00ff88;
  position: relative;
  overflow-x: hidden;
}
.hn-page::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.1) 0px, rgba(0, 0, 0, 0.1) 1px, transparent 1px, transparent 2px);
  pointer-events: none;
  z-index: 1000;
}
.hn-content {
  max-width: 100%;
  margin: 0;
  padding: 15px 20px;
  position: relative;
}
.hn-header {
  background: linear-gradient(180deg, #1a1a2e 0%, #0f0f1a 100%);
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 20px;
  border-bottom: 2px solid #00ff88;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
}
.hn-logo {
  font-family: "VT323", monospace;
  font-size: 24pt;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88, 0 0 20px #00ff88;
  letter-spacing: 3px;
}
.hn-nav {
  display: flex;
  gap: 5px;
  flex: 1;
}
.hn-nav a,
.hn-tab {
  color: #00aa66;
  text-decoration: none;
  cursor: pointer;
  padding: 6px 12px;
  border: 1px solid #00aa66;
  text-transform: uppercase;
  font-size: 9pt;
  letter-spacing: 1px;
  transition: all 0.2s;
}
.hn-tab.active {
  background: #00ff88;
  color: #000;
  box-shadow: 0 0 10px #00ff88;
}
.hn-tab:hover {
  background: rgba(0, 255, 136, 0.2);
  border-color: #00ff88;
  color: #00ff88;
}
.hn-user {
  color: #ff6600;
  text-transform: uppercase;
  font-size: 9pt;
}
.hn-clock-bar {
  background: linear-gradient(90deg, rgba(0, 255, 136, 0.1) 0%, transparent 50%, rgba(0, 170, 255, 0.1) 100%);
  padding: 10px 20px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #333;
  border-left: 3px solid #00ff88;
}
.hn-clock {
  font-family: "VT323", monospace;
  font-size: 20pt;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
  letter-spacing: 2px;
}
.hn-tz-select {
  background: #111;
  border: 1px solid #00aa66;
  padding: 5px 10px;
  font-size: 9pt;
  color: #00ff88;
  cursor: pointer;
  font-family: "Share Tech Mono", monospace;
}
.hn-tz-select:hover {
  border-color: #00ff88;
  box-shadow: 0 0 10px rgba(0, 255, 136, 0.3);
}
.hn-tz-select:focus {
  outline: none;
  border-color: #00ff88;
}
.hn-stats {
  background: rgba(0, 0, 0, 0.3);
  padding: 10px 15px;
  margin-bottom: 15px;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-size: 10pt;
  color: #666;
  border: 1px solid #222;
}
.hn-stat {
  display: flex;
  gap: 6px;
  align-items: center;
  cursor: pointer;
  padding: 4px 10px;
  transition: all 0.2s;
}
.hn-stat:hover {
  background: rgba(0, 255, 136, 0.1);
}
.hn-stat.active {
  background: rgba(0, 255, 136, 0.2);
  border: 1px solid #00ff88;
}
.hn-stat-label {
  color: #555;
  text-transform: uppercase;
  font-size: 8pt;
  letter-spacing: 1px;
}
.hn-stat-val {
  font-family: "VT323", monospace;
  font-size: 14pt;
}
.hn-stat-val.claude {
  color: #00aaff;
  text-shadow: 0 0 5px #00aaff;
}
.hn-stat-val.gemini {
  color: #00ff88;
  text-shadow: 0 0 5px #00ff88;
}
.hn-stat-val.kimi {
  color: #aa55ff;
  text-shadow: 0 0 5px #aa55ff;
}
.hn-stat-val.gpt {
  color: #ff8800;
  text-shadow: 0 0 5px #ff8800;
}
.hn-cycle {
  background: linear-gradient(90deg, #1a1a2e, #0f0f1a);
  border: 1px solid #00ff88;
  padding: 12px 20px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 15px;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.2);
}
.hn-cycle.waiting {
  border-color: #ffaa00;
  box-shadow: 0 0 20px rgba(255, 170, 0, 0.2);
}
.hn-cycle-icon {
  font-size: 18pt;
}
.hn-cycle-text {
  flex: 1;
  font-size: 10pt;
  color: #888;
}
.hn-cycle-text strong {
  color: #ffaa00;
}
.hn-cycle-btn {
  background: transparent;
  color: #00ff88;
  border: 2px solid #00ff88;
  padding: 10px 20px;
  cursor: pointer;
  font-size: 10pt;
  font-family: "VT323", monospace;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: all 0.2s;
}
.hn-cycle-btn:hover {
  background: #00ff88;
  color: #000;
  box-shadow: 0 0 20px #00ff88;
}
.hn-cycle-btn.reset {
  border-color: #ff4444;
  color: #ff4444;
}
.hn-cycle-btn.reset:hover {
  background: #ff4444;
  color: #000;
}
.hn-cycle-btn.trigger {
  border-color: #00ff88;
  color: #00ff88;
  animation: button-pulse 2s ease-in-out infinite;
}
@keyframes button-pulse {
  0%, 100% {
    box-shadow: 0 0 5px #00ff88;
  }
  50% {
    box-shadow: 0 0 20px #00ff88, 0 0 30px #00ff88;
  }
}
.hn-cycle-btn.trigger:hover {
  background: #00ff88;
  color: #000;
  animation: none;
}
.hn-tabs {
  border-bottom: 1px solid #e0e0d8;
  margin-bottom: 10px;
  display: flex;
  gap: 0;
}
.hn-tab-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 10pt;
  color: #666;
}
.hn-tab-btn:hover {
  color: #000;
}
.hn-tab-btn.active {
  border-bottom-color: #ff6600;
  color: #000;
  font-weight: bold;
}
.hn-thread {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #333;
  max-height: 60vh;
  overflow-y: auto;
}
.hn-thread::-webkit-scrollbar {
  width: 8px;
}
.hn-thread::-webkit-scrollbar-track {
  background: #111;
}
.hn-thread::-webkit-scrollbar-thumb {
  background: #00ff88;
  border-radius: 0;
}
.hn-msg {
  border-bottom: 1px solid #222;
  padding: 12px 15px;
  background: transparent;
  transition: all 0.2s;
  border-left: 3px solid transparent;
}
.hn-msg:hover {
  background: rgba(0, 255, 136, 0.05);
}
.hn-msg:has(.hn-msg-author.claude) {
  border-left-color: #00aaff;
}
.hn-msg:has(.hn-msg-author.gemini) {
  border-left-color: #00ff88;
}
.hn-msg:has(.hn-msg-author.gpt) {
  border-left-color: #ff8800;
}
.hn-msg:has(.hn-msg-author.kimi) {
  border-left-color: #aa55ff;
}
.hn-msg-header {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 9pt;
  color: #666;
  margin-bottom: 6px;
}
.hn-msg-author {
  font-family: "VT323", monospace;
  font-size: 14pt;
  letter-spacing: 1px;
}
.hn-msg-author.claude {
  color: #00aaff;
  text-shadow: 0 0 5px #00aaff;
}
.hn-msg-author.gemini {
  color: #00ff88;
  text-shadow: 0 0 5px #00ff88;
}
.hn-msg-author.kimi {
  color: #aa55ff;
  text-shadow: 0 0 5px #aa55ff;
}
.hn-msg-author.gpt {
  color: #ff8800;
  text-shadow: 0 0 5px #ff8800;
}
.hn-msg-to {
  color: #555;
}
.hn-msg-time {
  color: #444;
  margin-left: auto;
}
.hn-msg-subject {
  color: #00ff88;
  font-size: 11pt;
  margin-bottom: 4px;
}
.hn-msg-subject a {
  color: #00ff88;
  text-decoration: none;
}
.hn-msg-subject a:hover {
  text-shadow: 0 0 5px #00ff88;
}
.hn-msg-body {
  font-size: 10pt;
  color: #888;
  line-height: 1.5;
  max-height: 3em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre-wrap;
  margin-top: 4px;
}
.hn-msg-body.expanded {
  max-height: none;
  overflow: visible;
  color: #aaa;
}
.hn-msg-toggle {
  font-size: 9pt;
  color: #00aa66;
  cursor: pointer;
  margin-top: 6px;
  display: inline-block;
  padding: 2px 8px;
  border: 1px solid #00aa66;
}
.hn-msg-toggle:hover {
  background: #00aa66;
  color: #000;
}
.hn-proposals {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #333;
}
.hn-prop {
  display: flex;
  gap: 15px;
  padding: 10px 15px;
  border-bottom: 1px solid #222;
  align-items: center;
  transition: all 0.2s;
}
.hn-prop:last-child {
  border-bottom: none;
}
.hn-prop-status {
  font-size: 8pt;
  padding: 4px 8px;
  text-transform: uppercase;
  font-family: "VT323", monospace;
  letter-spacing: 1px;
  border: 1px solid;
}
.hn-prop-status.approved {
  border-color: #00ff88;
  color: #00ff88;
}
.hn-prop-status.ready {
  border-color: #ffaa00;
  color: #ffaa00;
}
.hn-prop-status.draft {
  border-color: #666;
  color: #666;
}
.hn-prop-status.in {
  border-color: #00aaff;
  color: #00aaff;
  animation: pulse 1s ease-in-out infinite;
}
.hn-prop-name {
  flex: 1;
  font-size: 10pt;
  color: #00ff88;
}
.hn-prop-priority {
  font-size: 9pt;
  color: #ff8800;
}
.hn-prop-date {
  font-size: 9pt;
  color: #555;
}
.hn-prop:hover {
  background: rgba(0, 255, 136, 0.1);
  border-left: 3px solid #00ff88;
}
.hn-prop-viewer {
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid #00ff88;
}
.hn-prop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  background: linear-gradient(90deg, rgba(0, 255, 136, 0.2), transparent);
  border-bottom: 1px solid #00ff88;
}
.hn-prop-title {
  font-family: "VT323", monospace;
  font-size: 16pt;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
}
.hn-prop-close {
  color: #ff4444;
  cursor: pointer;
  font-size: 10pt;
  padding: 5px 10px;
  border: 1px solid #ff4444;
}
.hn-prop-close:hover {
  background: #ff4444;
  color: #000;
}
.hn-prop-content {
  padding: 15px;
  font-family: "Share Tech Mono", monospace;
  font-size: 10pt;
  white-space: pre-wrap;
  max-height: 500px;
  overflow-y: auto;
  line-height: 1.6;
  color: #888;
  background: #0a0a0f;
}
.hn-todos {
  background: #fff;
  border: 1px solid #e0e0d8;
}
.hn-todo {
  display: flex;
  gap: 8px;
  padding: 6px 10px;
  border-bottom: 1px solid #f0f0e8;
  font-size: 9pt;
}
.hn-todo:last-child {
  border-bottom: none;
}
.hn-todo-check {
  color: #888;
}
.hn-todo-text {
  flex: 1;
  color: #444;
}
.hn-todo-src {
  font-size: 8pt;
  color: #999;
}
.hn-empty {
  padding: 30px;
  text-align: center;
  color: #444;
  font-size: 10pt;
  border: 1px dashed #333;
}
.hn-pin-form {
  max-width: 400px;
  margin: 100px auto;
  background: linear-gradient(135deg, #1a1a2e 0%, #0d0d15 100%);
  border: 2px solid #00ff88;
  padding: 40px;
  box-shadow: 0 0 50px rgba(0, 255, 136, 0.3);
}
.hn-pin-form h2 {
  font-family: "VT323", monospace;
  font-size: 28pt;
  margin: 0 0 10px 0;
  color: #00ff88;
  text-shadow: 0 0 20px #00ff88;
  text-align: center;
  letter-spacing: 3px;
}
.hn-pin-form p {
  color: #666;
  text-align: center;
  margin-bottom: 20px;
}
.hn-pin-form input {
  width: 100%;
  padding: 15px;
  margin: 15px 0;
  border: 2px solid #333;
  background: #0a0a0f;
  color: #00ff88;
  font-size: 18pt;
  font-family: "VT323", monospace;
  text-align: center;
  letter-spacing: 5px;
}
.hn-pin-form input:focus {
  outline: none;
  border-color: #00ff88;
  box-shadow: 0 0 20px rgba(0, 255, 136, 0.3);
}
.hn-pin-form button {
  width: 100%;
  background: transparent;
  color: #00ff88;
  border: 2px solid #00ff88;
  padding: 15px;
  cursor: pointer;
  font-size: 14pt;
  font-family: "VT323", monospace;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: all 0.2s;
}
.hn-pin-form button:hover {
  background: #00ff88;
  color: #000;
  box-shadow: 0 0 30px #00ff88;
}
.hn-filter-banner {
  padding: 8px 10px;
  background: #fff3cd;
  border: 1px solid #ffc107;
  margin-bottom: 10px;
  font-size: 9pt;
}
.hn-filter-clear {
  color: #ff6600;
  cursor: pointer;
  margin-left: 10px;
}
.hn-filter-clear:hover {
  text-decoration: underline;
}
.hn-sync-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 15px;
  max-width: 900px;
}
.hn-sync-card {
  background: linear-gradient(135deg, #1a1a2e 0%, #0d0d15 100%);
  border: 2px solid #333;
  padding: 15px 18px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-height: 100px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.hn-sync-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 15px;
  height: 15px;
  border-top: 2px solid;
  border-left: 2px solid;
  border-color: inherit;
}
.hn-sync-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 15px;
  height: 15px;
  border-bottom: 2px solid;
  border-right: 2px solid;
  border-color: inherit;
}
.hn-sync-card:hover {
  transform: scale(1.02);
}
.hn-sync-card:nth-child(1) {
  border-color: #00aaff;
}
.hn-sync-card:nth-child(1):hover,
.hn-sync-card:nth-child(1).behind {
  box-shadow: 0 0 30px rgba(0, 170, 255, 0.5), inset 0 0 30px rgba(0, 170, 255, 0.1);
}
.hn-sync-card:nth-child(1) .hn-sync-bot {
  color: #00aaff;
  text-shadow: 0 0 10px #00aaff;
}
.hn-sync-card:nth-child(2) {
  border-color: #00ff88;
}
.hn-sync-card:nth-child(2):hover,
.hn-sync-card:nth-child(2).behind {
  box-shadow: 0 0 30px rgba(0, 255, 136, 0.5), inset 0 0 30px rgba(0, 255, 136, 0.1);
}
.hn-sync-card:nth-child(2) .hn-sync-bot {
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
}
.hn-sync-card:nth-child(3) {
  border-color: #ff8800;
}
.hn-sync-card:nth-child(3):hover,
.hn-sync-card:nth-child(3).behind {
  box-shadow: 0 0 30px rgba(255, 136, 0, 0.5), inset 0 0 30px rgba(255, 136, 0, 0.1);
}
.hn-sync-card:nth-child(3) .hn-sync-bot {
  color: #ff8800;
  text-shadow: 0 0 10px #ff8800;
}
.hn-sync-card:nth-child(4) {
  border-color: #aa55ff;
}
.hn-sync-card:nth-child(4):hover,
.hn-sync-card:nth-child(4).behind {
  box-shadow: 0 0 30px rgba(170, 85, 255, 0.5), inset 0 0 30px rgba(170, 85, 255, 0.1);
}
.hn-sync-card:nth-child(4) .hn-sync-bot {
  color: #aa55ff;
  text-shadow: 0 0 10px #aa55ff;
}
.hn-sync-card.behind {
  animation: pulse-glow 2s ease-in-out infinite;
}
@keyframes pulse-glow {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.7;
  }
}
.hn-sync-bot {
  font-family: "VT323", monospace;
  font-size: 18pt;
  margin-bottom: 6px;
  letter-spacing: 2px;
}
.hn-sync-status {
  font-size: 11pt;
  margin-bottom: 4px;
}
.hn-sync-status.synced {
  color: #00ff88;
}
.hn-sync-status.behind {
  color: #ffaa00;
}
.hn-sync-status.offline {
  color: #ff4444;
}
.hn-sync-time {
  font-size: 9pt;
  color: #888;
}
.hn-sync-from {
  font-size: 9pt;
  color: #aaa;
  margin-top: 4px;
}
.hn-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.hn-modal {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  overflow: auto;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}
.hn-modal-header {
  background: #ff6600;
  color: #fff;
  padding: 10px 15px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: bold;
}
.hn-modal-close {
  background: none;
  border: none;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  padding: 0 5px;
}
.hn-modal-close:hover {
  color: #000;
}
.hn-modal-body {
  padding: 15px;
}
.hn-modal-body p {
  margin: 0 0 10px 0;
  font-size: 10pt;
}
.hn-unread-list {
  background: #f6f6ef;
  border: 1px solid #e0e0d8;
  padding: 8px;
  margin: 10px 0;
}
.hn-unread-item {
  display: flex;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 9pt;
  border-bottom: 1px solid #e0e0d8;
}
.hn-unread-item:last-child {
  border-bottom: none;
}
.hn-unread-file {
  font-family: monospace;
  color: #333;
}
.hn-unread-count {
  color: #d97706;
  font-weight: bold;
}
.hn-catchup-prompt {
  margin-top: 15px;
}
.hn-catchup-prompt label {
  display: block;
  font-size: 9pt;
  color: #666;
  margin-bottom: 5px;
}
.hn-catchup-prompt textarea {
  width: 100%;
  min-height: 120px;
  font-family: monospace;
  font-size: 9pt;
  padding: 8px;
  border: 1px solid #ccc;
  background: #f9f9f9;
  resize: vertical;
}
.hn-catchup-prompt button {
  margin-top: 8px;
  background: #ff6600;
  color: #fff;
  border: none;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 9pt;
}
.hn-catchup-prompt button:hover {
  background: #e55c00;
}
.hn-sync-detail {
  color: #888;
  font-size: 9pt;
}
.hn-warning-banner {
  background: #fef2f2;
  border: 1px solid #ef4444;
  border-left: 4px solid #ef4444;
  padding: 10px 15px;
  margin-bottom: 10px;
  font-size: 9pt;
  color: #991b1b;
}
.hn-warning-banner strong {
  color: #dc2626;
}
.hn-warning-banner ul {
  margin: 5px 0 5px 20px;
  padding: 0;
}
.hn-warning-banner li {
  margin: 2px 0;
}
.hn-warning-banner small {
  color: #666;
  font-style: italic;
}
@media (max-width: 767px) {
  .hn-sync-cards {
    flex-direction: column;
  }
  .hn-sync-card {
    min-width: auto;
    width: 100%;
  }
  .hn-stats {
    flex-direction: column;
    gap: 8px;
  }
  .hn-header {
    flex-wrap: wrap;
    padding: 8px 10px;
  }
  .hn-nav {
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
    gap: 4px;
  }
  .hn-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .hn-cycle {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .hn-cycle-btn {
    width: 100%;
    text-align: center;
  }
  .hn-modal {
    width: 95%;
    margin: 10px;
    max-height: 90vh;
  }
  .hn-clock-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
  .hn-msg-header {
    flex-direction: column;
    gap: 2px;
  }
  .hn-tab-btn,
  .hn-cycle-btn,
  .hn-stat,
  .hn-sync-card,
  .hn-tab {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-tap-highlight-color: transparent;
  }
  .hn-page {
    font-size: 11pt;
  }
  .hn-msg-body {
    font-size: 10pt;
  }
  .hn-pin-form {
    max-width: none;
    margin: 20px 10px;
  }
  .hn-prop {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
  .hn-prop-name {
    font-size: 10pt;
  }
  .hn-todo {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .hn-sync-cards {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  .hn-sync-card {
    min-width: 140px;
    flex: 1;
  }
  .hn-page {
    font-size: 10pt;
  }
}
.hn-gpt-heartbeat {
  margin-top: 4px;
  font-size: 9pt;
  padding: 2px 6px;
  background: rgba(249, 115, 22, 0.15);
  border-radius: 3px;
}
.gpt-countdown {
  color: #f97316;
  font-family: monospace;
}
.gpt-processing {
  color: #22c55e;
  animation: pulse 1s infinite;
}
.gpt-stopped {
  color: #6b7280;
}
.gpt-unknown {
  color: #ff6600;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.hn-conversation-view {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(5, 5, 10, 0.98);
  border: none;
  z-index: 900;
  display: flex;
  flex-direction: column;
}
.hn-conv-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 20px;
  background: linear-gradient(90deg, rgba(0, 255, 136, 0.15), rgba(0, 170, 255, 0.15));
  border-bottom: 2px solid #00ff88;
  flex-shrink: 0;
}
.hn-conv-title {
  font-family: "VT323", monospace;
  font-size: 16pt;
  color: #00ff88;
  text-shadow: 0 0 10px #00ff88;
  letter-spacing: 2px;
}
.hn-conv-float-close {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: linear-gradient(135deg, #1a1a2e, #0d0d15);
  border: 2px solid #ff4444;
  color: #ff4444;
  padding: 15px 25px;
  cursor: pointer;
  font-family: "VT323", monospace;
  font-size: 14pt;
  letter-spacing: 2px;
  z-index: 1001;
  box-shadow: 0 0 30px rgba(255, 68, 68, 0.5);
  transition: all 0.2s;
}
.hn-conv-float-close:hover {
  background: #ff4444;
  color: #000;
  transform: scale(1.05);
  box-shadow: 0 0 40px #ff4444;
}
.hn-msg-thread-link {
  cursor: pointer;
  opacity: 0.6;
  transition: all 0.2s;
  padding: 4px 10px;
  margin-left: auto;
  font-size: 9pt;
  border: 1px solid #00aa66;
  color: #00aa66;
}
.hn-msg-thread-link:hover {
  opacity: 1;
  background: #00aa66;
  color: #000;
}
.hn-conv-messages {
  padding: 20px 40px;
  flex: 1;
  overflow-y: auto;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.hn-msg-conv {
  position: relative;
  margin: 15px 0;
  padding: 15px;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid #333;
}
.hn-msg-conv.from-claude {
  border-left: 4px solid #00aaff;
  background: rgba(0, 170, 255, 0.05);
}
.hn-msg-conv.from-gemini {
  border-left: 4px solid #00ff88;
  background: rgba(0, 255, 136, 0.05);
}
.hn-msg-conv.from-gpt {
  border-left: 4px solid #ff8800;
  background: rgba(255, 136, 0, 0.05);
}
.hn-msg-conv.from-kimi {
  border-left: 4px solid #aa55ff;
  background: rgba(170, 85, 255, 0.05);
}
.hn-msg-conv .hn-msg-header {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #333;
}
.hn-msg-conv .hn-msg-body {
  max-height: none;
  overflow: visible;
  white-space: pre-wrap;
  font-family: "Share Tech Mono", monospace;
  font-size: 11pt;
  line-height: 1.7;
  color: #bbb;
}
.hn-msg-conv .hn-msg-subject {
  font-family: "VT323", monospace;
  font-size: 14pt;
  color: #00ff88;
  text-shadow: 0 0 5px rgba(0, 255, 136, 0.5);
  margin-bottom: 8px;
}

/* css/admin.css */
:root {
  --admin-bg: #1a1a2e;
  --admin-bg-alt: #16213e;
  --admin-surface: #1f2937;
  --admin-surface-hover: #374151;
  --admin-border: #374151;
  --admin-accent: #e94560;
  --admin-accent-hover: #ff6b6b;
  --admin-primary: #3b82f6;
  --admin-primary-hover: #60a5fa;
  --admin-text: #f3f4f6;
  --admin-text-muted: #9ca3af;
  --admin-text-dim: #6b7280;
  --admin-success: #10b981;
  --admin-success-bg: rgba(16, 185, 129, 0.1);
  --admin-warning: #f59e0b;
  --admin-warning-bg: rgba(245, 158, 11, 0.1);
  --admin-error: #ef4444;
  --admin-error-bg: rgba(239, 68, 68, 0.1);
  --admin-info: #3b82f6;
  --admin-info-bg: rgba(59, 130, 246, 0.1);
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --admin-font:
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    "Helvetica Neue",
    Arial,
    sans-serif;
  --admin-font-mono:
    "SF Mono",
    "Monaco",
    "Inconsolata",
    "Fira Code",
    monospace;
  --admin-text-xs: 0.75rem;
  --admin-text-sm: 0.875rem;
  --admin-text-base: 1rem;
  --admin-text-lg: 1.125rem;
  --admin-text-xl: 1.25rem;
  --admin-text-2xl: 1.5rem;
  --admin-text-3xl: 1.875rem;
  --admin-radius: 8px;
  --admin-radius-sm: 4px;
  --admin-radius-lg: 12px;
  --admin-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
  --admin-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2);
  --admin-transition: 150ms ease-in-out;
}
.admin-layout {
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--admin-bg);
  color: var(--admin-text);
  font-family: var(--admin-font);
  font-size: var(--admin-text-base);
  line-height: 1.5;
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  padding-bottom: env(safe-area-inset-bottom);
}
.admin-layout * {
  box-sizing: border-box;
}
.admin-nav {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  background: var(--admin-bg-alt);
  border-bottom: 1px solid var(--admin-border);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.admin-nav-brand {
  font-weight: 700;
  font-size: var(--admin-text-lg);
  color: var(--admin-accent);
  text-decoration: none;
  padding: var(--space-2) var(--space-3);
  margin-right: var(--space-4);
}
.admin-nav-brand:hover {
  color: var(--admin-accent-hover);
}
.admin-nav-dropdown {
  position: relative;
}
.admin-nav-dropdown-trigger {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-muted);
  background: transparent;
  border: none;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  font-family: inherit;
  transition: all var(--admin-transition);
}
.admin-nav-dropdown-trigger:hover,
.admin-nav-dropdown-trigger.active {
  color: var(--admin-text);
  background: var(--admin-surface);
}
.admin-nav-dropdown-trigger::after {
  content: "";
  border: 4px solid transparent;
  border-top-color: currentColor;
  margin-top: 2px;
}
.admin-nav-dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 180px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow-lg);
  padding: var(--space-2) 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all var(--admin-transition);
  z-index: 9999;
}
.admin-nav-dropdown:hover .admin-nav-dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.admin-nav-dropdown-item {
  display: block;
  padding: var(--space-2) var(--space-4);
  color: var(--admin-text-muted);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  transition: all var(--admin-transition);
}
.admin-nav-dropdown-item:hover {
  color: var(--admin-text);
  background: var(--admin-surface-hover);
}
.admin-nav-dropdown-item.active {
  color: var(--admin-accent);
  background: var(--admin-surface-hover);
}
.admin-nav-item {
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-muted);
  text-decoration: none;
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
  transition: all var(--admin-transition);
}
.admin-nav-item:hover {
  color: var(--admin-text);
  background: var(--admin-surface);
}
.admin-nav-item.active {
  color: var(--admin-accent);
  background: var(--admin-surface);
}
.admin-nav-spacer {
  flex: 1;
}
.admin-nav-back {
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text-dim);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  transition: color var(--admin-transition);
}
.admin-nav-back:hover {
  color: var(--admin-text);
}
.admin-nav-left {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  flex: 1;
  flex-wrap: wrap;
}
.admin-nav-center {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.admin-nav-right {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.admin-nav-caret {
  font-size: 0.7em;
  opacity: 0.7;
  margin-left: var(--space-1);
}
.admin-nav-dropdown-item {
  display: flex;
  flex-direction: column;
  padding: var(--space-2) var(--space-4);
  color: var(--admin-text-muted);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  transition: all var(--admin-transition);
}
.admin-nav-dropdown-icon {
  display: inline;
  margin-right: var(--space-2);
}
.admin-nav-dropdown-desc {
  display: block;
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  margin-top: var(--space-1);
  padding-left: calc(var(--space-4) + 4px);
}
.admin-nav-dropdown-item:hover .admin-nav-dropdown-desc {
  color: var(--admin-text-muted);
}
.admin-nav-logout {
  color: var(--admin-text-dim);
  padding: var(--space-2) var(--space-3);
  text-decoration: none;
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius-sm);
  transition: all var(--admin-transition);
}
.admin-nav-logout:hover {
  color: var(--admin-error);
  background: var(--admin-error-bg);
}
.admin-main {
  padding: var(--space-6);
  max-width: 1600px;
  margin: 0 auto;
}
.admin-content {
  padding: var(--space-6);
  max-width: 1600px;
  margin: 0 auto;
}
.admin-header {
  margin-bottom: var(--space-6);
}
.admin-title {
  font-size: var(--admin-text-2xl);
  font-weight: 700;
  color: var(--admin-text);
  margin: 0 0 var(--space-2) 0;
}
.admin-subtitle {
  font-size: var(--admin-text-base);
  color: var(--admin-text-muted);
  margin: 0;
}
.admin-grid {
  display: grid;
  gap: var(--space-4);
}
.admin-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
.admin-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.admin-grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
.admin-flex {
  display: flex;
  gap: var(--space-4);
}
.admin-flex-col {
  flex-direction: column;
}
.admin-flex-wrap {
  flex-wrap: wrap;
}
.admin-flex-1 {
  flex: 1;
}
.admin-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
  overflow: hidden;
}
.admin-card-header {
  padding: var(--space-4);
  border-bottom: 1px solid var(--admin-border);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.admin-card-title {
  font-size: var(--admin-text-lg);
  font-weight: 600;
  color: var(--admin-text);
  margin: 0;
}
.admin-card-body {
  padding: var(--space-4);
}
.admin-card-footer {
  padding: var(--space-3) var(--space-4);
  border-top: 1px solid var(--admin-border);
  background: var(--admin-bg-alt);
}
.admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: var(--space-4);
  margin-bottom: var(--space-6);
}
.admin-stat-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  text-align: center;
  text-decoration: none;
  display: block;
  transition: all var(--admin-transition);
}
.admin-stat-card:hover {
  border-color: var(--admin-primary);
  background: var(--admin-bg-alt);
  transform: translateY(-2px);
  box-shadow: var(--admin-shadow);
}
.admin-stat-card:hover .admin-stat-value {
  color: var(--admin-primary);
}
.admin-stat-value {
  font-size: var(--admin-text-3xl);
  font-weight: 700;
  color: var(--admin-text);
  line-height: 1.2;
  transition: color var(--admin-transition);
}
.admin-stat-label {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin-top: var(--space-1);
}
.admin-stat-card.success {
  border-left: 4px solid var(--admin-success);
}
.admin-stat-card.warning {
  border-left: 4px solid var(--admin-warning);
}
.admin-stat-card.error {
  border-left: 4px solid var(--admin-error);
}
.admin-stat-card.info {
  border-left: 4px solid var(--admin-info);
}
.admin-stat-card.streaming-live,
.admin-card.streaming-live {
  border-left: 4px solid #ff4040;
  animation: streaming-pulse 2s infinite;
}
@keyframes streaming-pulse {
  0%, 100% {
    background: var(--admin-surface);
  }
  50% {
    background: rgba(255, 64, 64, 0.1);
  }
}
.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-sm);
}
.admin-table th,
.admin-table td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--admin-border);
}
.admin-table th {
  font-weight: 600;
  color: var(--admin-text-muted);
  background: var(--admin-bg-alt);
  text-transform: uppercase;
  font-size: var(--admin-text-xs);
  letter-spacing: 0.05em;
}
.admin-table tbody tr:hover {
  background: var(--admin-surface-hover);
}
.admin-table tbody tr:last-child td {
  border-bottom: none;
}
.admin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid transparent;
  cursor: pointer;
  transition: all var(--admin-transition);
  text-decoration: none;
}
.admin-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.admin-btn-primary {
  background: var(--admin-primary);
  color: white;
}
.admin-btn-primary:hover:not(:disabled) {
  background: var(--admin-primary-hover);
}
.admin-btn-accent {
  background: var(--admin-accent);
  color: white;
}
.admin-btn-accent:hover:not(:disabled) {
  background: var(--admin-accent-hover);
}
.admin-btn-secondary {
  background: var(--admin-surface);
  color: var(--admin-text);
  border-color: var(--admin-border);
}
.admin-btn-secondary:hover:not(:disabled) {
  background: var(--admin-surface-hover);
}
.admin-btn-danger {
  background: var(--admin-error);
  color: white;
}
.admin-btn-danger:hover:not(:disabled) {
  background: #dc2626;
}
.admin-btn-sm {
  padding: var(--space-1) var(--space-2);
  font-size: var(--admin-text-xs);
}
.admin-btn-lg {
  padding: var(--space-3) var(--space-6);
  font-size: var(--admin-text-base);
}
.admin-btn-success {
  background: var(--admin-success);
  border-color: var(--admin-success);
  color: white;
}
.admin-btn-success:hover:not(:disabled) {
  background: #16a34a;
}
.admin-btn-info {
  background: var(--admin-info);
  border-color: var(--admin-info);
  color: white;
}
.admin-btn-info:hover:not(:disabled) {
  background: #7c3aed;
}
.admin-btn-warning {
  background: var(--admin-warning);
  border-color: var(--admin-warning);
  color: #1f2937;
}
.admin-btn-warning:hover:not(:disabled) {
  background: #d97706;
}
.admin-form-group {
  margin-bottom: var(--space-4);
}
.admin-label {
  display: block;
  font-size: var(--admin-text-sm);
  font-weight: 500;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
}
.admin-input,
.admin-select,
.admin-textarea {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  font-size: var(--admin-text-base);
  font-family: inherit;
  color: var(--admin-text);
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  transition: border-color var(--admin-transition), box-shadow var(--admin-transition);
}
.admin-input:focus,
.admin-select:focus,
.admin-textarea:focus {
  outline: none;
  border-color: var(--admin-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}
.admin-input::placeholder {
  color: var(--admin-text-dim);
}
.admin-textarea {
  min-height: 100px;
  resize: vertical;
}
.admin-badge {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) var(--space-2);
  font-size: var(--admin-text-xs);
  font-weight: 500;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.admin-badge-success {
  background: var(--admin-success-bg);
  color: var(--admin-success);
}
.admin-badge-warning {
  background: var(--admin-warning-bg);
  color: var(--admin-warning);
}
.admin-badge-error {
  background: var(--admin-error-bg);
  color: var(--admin-error);
}
.admin-badge-info {
  background: var(--admin-info-bg);
  color: var(--admin-info);
}
.admin-badge-neutral {
  background: var(--admin-surface);
  color: var(--admin-text-muted);
}
.admin-alert {
  padding: var(--space-3) var(--space-4);
  border-radius: var(--admin-radius);
  margin-bottom: var(--space-4);
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
}
.admin-alert-success {
  background: var(--admin-success-bg);
  border: 1px solid var(--admin-success);
  color: var(--admin-success);
}
.admin-alert-warning {
  background: var(--admin-warning-bg);
  border: 1px solid var(--admin-warning);
  color: var(--admin-warning);
}
.admin-alert-error {
  background: var(--admin-error-bg);
  border: 1px solid var(--admin-error);
  color: var(--admin-error);
}
.admin-alert-info {
  background: var(--admin-info-bg);
  border: 1px solid var(--admin-info);
  color: var(--admin-info);
}
.admin-empty {
  text-align: center;
  padding: var(--space-12) var(--space-4);
  color: var(--admin-text-muted);
}
.admin-empty-icon {
  font-size: 3rem;
  margin-bottom: var(--space-4);
  opacity: 0.5;
}
.admin-empty-title {
  font-size: var(--admin-text-lg);
  font-weight: 600;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
}
.admin-empty-description {
  font-size: var(--admin-text-sm);
  margin-bottom: var(--space-4);
}
.admin-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-8);
}
.admin-spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--admin-border);
  border-top-color: var(--admin-primary);
  border-radius: 50%;
  animation: admin-spin 0.8s linear infinite;
}
@keyframes admin-spin {
  to {
    transform: rotate(360deg);
  }
}
.admin-text-muted {
  color: var(--admin-text-muted);
}
.admin-text-success {
  color: var(--admin-success);
}
.admin-text-warning {
  color: var(--admin-warning);
}
.admin-text-error {
  color: var(--admin-error);
}
.admin-text-info {
  color: var(--admin-info);
}
.admin-text-accent {
  color: var(--admin-accent);
}
.admin-text-sm {
  font-size: var(--admin-text-sm);
}
.admin-text-xs {
  font-size: var(--admin-text-xs);
}
.admin-text-lg {
  font-size: var(--admin-text-lg);
}
.admin-font-mono {
  font-family: var(--admin-font-mono);
}
.admin-font-bold {
  font-weight: 700;
}
.admin-mt-2 {
  margin-top: var(--space-2);
}
.admin-mt-4 {
  margin-top: var(--space-4);
}
.admin-mb-2 {
  margin-bottom: var(--space-2);
}
.admin-mb-4 {
  margin-bottom: var(--space-4);
}
.admin-p-4 {
  padding: var(--space-4);
}
.admin-p-6 {
  padding: var(--space-6);
}
.admin-hidden {
  display: none !important;
}
.admin-text-dim {
  color: var(--admin-text-dim);
}
.admin-code {
  background: rgba(0, 0, 0, 0.2);
  padding: 2px 6px;
  border-radius: var(--admin-radius-sm);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-sm);
}
.admin-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: all var(--admin-transition);
}
.admin-card-link:hover {
  transform: translateY(-2px);
  border-color: var(--admin-primary);
  box-shadow: var(--admin-shadow-lg);
}
.admin-card-link h3 {
  margin: 0 0 var(--space-2) 0;
  color: var(--admin-text);
}
.admin-card-link p {
  margin: 0;
}
.admin-btn-block {
  display: block;
  width: 100%;
}
.admin-badge-lg {
  font-size: var(--admin-text-lg);
  padding: var(--space-3) var(--space-6);
}
.admin-dashboard-grid {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: var(--space-6);
  margin-top: var(--space-4);
}
.admin-dashboard-main {
  min-width: 0;
}
.admin-dashboard-sidebar {
  min-width: 0;
}
@media (max-width: 1400px) {
  .admin-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 1024px) {
  .admin-stats-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
  }
  .admin-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .admin-layout {
    min-height: 100dvh;
  }
  .admin-nav {
    flex-wrap: nowrap;
    padding: var(--space-1) var(--space-2);
    gap: var(--space-1);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .admin-nav::-webkit-scrollbar {
    display: none;
  }
  .admin-nav-left {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex: 1;
    min-width: 0;
  }
  .admin-nav-right {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
  }
  .admin-nav-brand {
    font-size: var(--admin-text-sm);
    padding: var(--space-1) var(--space-2);
    margin-right: var(--space-1);
    flex-shrink: 0;
  }
  .admin-nav-dropdown,
  .admin-nav-item {
    flex-shrink: 0;
  }
  .admin-nav-dropdown-trigger,
  .admin-nav-item {
    font-size: 11px;
    padding: var(--space-1) var(--space-2);
    min-height: 36px;
    white-space: nowrap;
  }
  .admin-nav-caret {
    display: none;
  }
  .admin-nav-spacer {
    display: none;
  }
  .admin-nav-dropdown-desc {
    display: none;
  }
  .admin-nav-back,
  .admin-nav-logout {
    font-size: 11px;
    padding: var(--space-1) var(--space-2);
  }
  .admin-nav-dropdown-trigger {
    display: none;
  }
  .admin-nav-dropdown-menu {
    position: static;
    display: flex;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    min-width: auto;
  }
  .admin-nav-dropdown-item {
    padding: var(--space-1) var(--space-2);
    font-size: 11px;
    white-space: nowrap;
  }
  .admin-main {
    padding: var(--space-2);
  }
  .admin-content {
    padding: var(--space-2);
  }
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2);
  }
  .admin-grid-2,
  .admin-grid-3,
  .admin-grid-4 {
    grid-template-columns: 1fr;
  }
  .admin-flex:not(.admin-flex-col) {
    flex-direction: column;
  }
  .admin-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .admin-btn {
    min-height: 44px;
    padding: var(--space-2) var(--space-3);
  }
  .admin-header h1,
  .admin-title {
    font-size: var(--admin-text-lg);
  }
  .admin-subtitle {
    font-size: var(--admin-text-xs);
  }
  .admin-stat-card {
    padding: var(--space-2);
  }
  .admin-stat-value {
    font-size: var(--admin-text-lg);
  }
  .admin-stat-label {
    font-size: 10px;
  }
  .admin-section-title {
    font-size: var(--admin-text-sm);
    margin-bottom: var(--space-2);
  }
  .admin-grid-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-2);
  }
  .admin-card {
    padding: var(--space-3);
  }
  .admin-card h3 {
    font-size: var(--admin-text-sm);
  }
  .admin-card p {
    font-size: var(--admin-text-xs);
  }
}
@media (max-width: 480px) {
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-grid-3 {
    grid-template-columns: 1fr;
  }
  .admin-nav-dropdown-trigger,
  .admin-nav-item {
    font-size: 10px;
    padding: 6px 8px;
    min-height: 32px;
  }
  .admin-nav-brand {
    font-size: 12px;
    padding: 6px 8px;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .admin-nav {
    padding: 4px var(--space-2);
  }
  .admin-nav-dropdown-trigger,
  .admin-nav-item {
    min-height: 28px;
    padding: 4px 8px;
    font-size: 11px;
  }
  .admin-nav-brand {
    font-size: 12px;
    padding: 4px 8px;
  }
  .admin-main {
    padding: var(--space-2);
  }
  .admin-stats-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: var(--space-2);
  }
  .admin-stat-card {
    padding: var(--space-2);
  }
  .admin-stat-value {
    font-size: var(--admin-text-base);
  }
  .admin-stat-label {
    font-size: 9px;
  }
}
@media (max-width: 450px) and (min-height: 800px) {
  .admin-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-grid-3 {
    grid-template-columns: 1fr;
  }
  .admin-section {
    margin-bottom: var(--space-4);
  }
}
.admin-stat-value {
  font-size: var(--admin-text-2xl);
}
} .fallback-mode-selector {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.admin-label-inline {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  white-space: nowrap;
}
.admin-select {
  padding: var(--space-2) var(--space-3);
  padding-right: var(--space-6);
  font-size: var(--admin-text-sm);
  background: var(--admin-surface);
  color: var(--admin-text);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M3 4l3 3 3-3'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}
.admin-select:hover {
  border-color: var(--admin-primary);
}
.admin-select:focus {
  outline: none;
  border-color: var(--admin-primary);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
.admin-select-warning {
  border-color: var(--admin-warning);
  background-color: rgba(245, 158, 11, 0.1);
}
.admin-select-danger {
  border-color: var(--admin-error);
  background-color: rgba(239, 68, 68, 0.1);
}
.admin-select-info {
  border-color: var(--admin-info);
  background-color: rgba(59, 130, 246, 0.1);
}
.worker-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--space-4);
}
.worker-card {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.worker-card.worker-online {
  border-left: 3px solid #22c55e;
}
.worker-card.worker-offline {
  border-left: 3px solid #ef4444;
  opacity: 0.8;
}
.worker-card:hover {
  border-color: var(--admin-border-active);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}
.worker-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-3);
}
.worker-identity {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.worker-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.worker-status-dot.online {
  background: #22c55e;
  box-shadow: 0 0 6px rgba(34, 197, 94, 0.6);
}
.worker-status-dot.offline {
  background: #ef4444;
}
.worker-name {
  font-weight: 600;
  font-size: 15px;
  color: var(--admin-text);
}
.worker-meta {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.worker-source {
  font-size: 10px;
  font-weight: 500;
  color: var(--admin-text-muted);
  background: var(--admin-bg-subtle);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.worker-latency {
  font-size: 11px;
  color: #22c55e;
  font-weight: 500;
  font-family: var(--font-mono);
}
.worker-specs {
  margin-bottom: var(--space-3);
  padding: var(--space-2) var(--space-3);
  background: var(--admin-bg-subtle);
  border-radius: var(--radius-md);
}
.worker-spec-main {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: 4px;
}
.spec-icon {
  color: #22c55e;
  font-size: 12px;
}
.spec-value {
  font-size: 13px;
  font-weight: 500;
  color: var(--admin-text);
  flex: 1;
}
.spec-vram {
  font-size: 12px;
  font-weight: 600;
  color: #60a5fa;
  background: rgba(96, 165, 250, 0.15);
  padding: 2px 6px;
  border-radius: var(--radius-sm);
  font-family: var(--font-mono);
}
.worker-endpoint {
  font-size: 11px;
  color: var(--admin-text-muted);
  font-family: var(--font-mono);
}
.worker-caps {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: var(--space-3);
}
.cap-badge {
  font-size: 10px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: var(--radius-sm);
  text-transform: lowercase;
  letter-spacing: 0.3px;
}
.cap-vision {
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
  border: 1px solid rgba(139, 92, 246, 0.3);
}
.cap-llm {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.cap-other {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}
.worker-error {
  font-size: 11px;
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.3);
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-md);
  font-family: var(--font-mono);
  margin-bottom: var(--space-3);
}
.worker-actions {
  padding-top: var(--space-3);
  border-top: 1px solid var(--admin-border);
}
@media (max-width: 768px) {
  .worker-grid {
    grid-template-columns: 1fr;
  }
  .worker-card {
    padding: var(--space-3);
  }
}
.cap-toggle {
  font-size: 10px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  text-transform: lowercase;
  letter-spacing: 0.3px;
  border: none;
  cursor: pointer;
  transition: all 0.15s ease;
}
.cap-toggle:hover {
  transform: scale(1.05);
}
.cap-toggle.cap-disabled {
  opacity: 0.4;
  text-decoration: line-through;
}
.cap-toggle.cap-vision {
  background: rgba(139, 92, 246, 0.2);
  color: #a78bfa;
}
.cap-toggle.cap-vision:hover {
  background: rgba(139, 92, 246, 0.35);
}
.cap-toggle.cap-llm {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
}
.cap-toggle.cap-llm:hover {
  background: rgba(34, 197, 94, 0.3);
}
.cap-toggle.cap-other {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
}
.cap-toggle.cap-other:hover {
  background: rgba(148, 163, 184, 0.3);
}
.worker-error-box {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}
.worker-error-box .worker-error {
  flex: 1;
  margin-bottom: 0;
}
.worker-retry-btn {
  background: rgba(239, 68, 68, 0.2);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.3);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  font-size: 11px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.worker-retry-btn:hover {
  background: rgba(239, 68, 68, 0.35);
  color: #fff;
}
.worker-actions {
  display: flex;
  gap: var(--space-2);
  padding-top: var(--space-3);
  border-top: 1px solid var(--admin-border);
  flex-wrap: wrap;
}
.worker-toggle-btn,
.worker-test-btn,
.worker-remove-btn {
  font-size: 11px;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid transparent;
}
.worker-toggle-btn {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}
.worker-toggle-btn:hover {
  background: rgba(34, 197, 94, 0.3);
}
.worker-toggle-btn.disabled {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.3);
}
.worker-test-btn {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
  border-color: rgba(96, 165, 250, 0.3);
}
.worker-test-btn:hover {
  background: rgba(96, 165, 250, 0.3);
}
.worker-remove-btn {
  background: rgba(239, 68, 68, 0.1);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.2);
}
.worker-remove-btn:hover {
  background: rgba(239, 68, 68, 0.25);
}
.capability-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  padding: var(--space-3) var(--space-4);
  background: var(--admin-surface);
  border-radius: var(--admin-radius);
  margin-bottom: var(--space-4);
  font-size: 12px;
}
.legend-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--admin-text-muted);
}
.legend-item .cap-badge {
  font-size: 9px;
  padding: 2px 6px;
}
@media (max-width: 768px) {
  .capability-legend {
    flex-direction: column;
    gap: var(--space-2);
  }
}
.worker-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--space-3);
}
.worker-refresh-btn {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-text-muted);
  padding: 8px 20px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  min-height: 44px;
}
.worker-refresh-btn:hover {
  background: var(--admin-surface-hover);
  color: var(--admin-text);
  border-color: var(--admin-primary);
}
.worker-cards {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 800px;
}
.worker-card {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  padding: var(--space-5, 1.5rem);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.worker-card--online {
  border-left: 5px solid #22c55e;
}
.worker-card--offline {
  border-left: 5px solid #ef4444;
  opacity: 0.85;
}
.worker-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}
.worker-card__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-bottom: var(--space-3);
}
.worker-status-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  flex-shrink: 0;
}
.worker-status-dot.online {
  background: #22c55e;
  box-shadow: 0 0 10px rgba(34, 197, 94, 0.6);
}
.worker-status-dot.offline {
  background: #ef4444;
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.4);
}
.worker-status-dot-sm {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.worker-status-dot-sm.online {
  background: #22c55e;
}
.worker-status-dot-sm.offline {
  background: #ef4444;
}
.worker-card__location {
  font-weight: 700;
  font-size: 26px;
  color: var(--admin-text);
}
.worker-card__gpu-name {
  font-size: 20px;
  font-weight: 600;
  color: #60a5fa;
}
.worker-card__host {
  font-size: 16px;
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  margin-left: auto;
}
.worker-service {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-3);
  transition: border-color 0.15s ease;
}
.worker-service--online {
  border-left: 3px solid #22c55e;
}
.worker-service--offline {
  border-left: 3px solid #ef4444;
  opacity: 0.7;
}
.worker-service__header {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
  flex-wrap: wrap;
}
.worker-service__port {
  font-family: var(--admin-font-mono);
  font-size: 18px;
  font-weight: 600;
  color: var(--admin-text);
}
.worker-service__latency {
  font-size: 16px;
  color: #22c55e;
  font-family: var(--admin-font-mono);
}
.worker-service__actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}
.worker-action-btn {
  min-width: 48px;
  min-height: 44px;
  padding: 8px 16px;
  border-radius: var(--admin-radius);
  border: 1px solid var(--admin-border);
  background: var(--admin-bg);
  color: var(--admin-text-muted);
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.15s ease;
}
.worker-action-btn:hover {
  background: var(--admin-surface-hover);
  color: var(--admin-text);
  border-color: var(--admin-primary);
}
.worker-action-btn--paused {
  color: #fbbf24;
  border-color: rgba(251, 191, 36, 0.3);
}
.worker-action-btn--danger:hover {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.5);
}
.worker-service__error {
  font-size: 14px;
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.1);
  padding: 8px 12px;
  border-radius: var(--admin-radius-sm);
  margin-bottom: var(--space-3);
  font-family: var(--admin-font-mono);
}
.worker-models {
  margin: var(--space-3) 0;
  padding: var(--space-3) 0;
  border-top: 1px solid var(--admin-border);
}
.worker-models__title {
  font-size: 14px;
  font-weight: 700;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-2);
}
.worker-model-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 8px 0;
}
.worker-model-item__indicator {
  font-size: 20px;
  width: 24px;
  text-align: center;
  flex-shrink: 0;
}
.worker-model-item--loaded .worker-model-item__indicator {
  color: #22c55e;
}
.worker-model-item--unloaded .worker-model-item__indicator {
  color: var(--admin-text-dim);
}
.worker-model-item__name {
  font-size: 18px;
  font-weight: 500;
  color: var(--admin-text);
  flex: 1;
}
.worker-model-item--unloaded .worker-model-item__name {
  color: var(--admin-text-muted);
}
.worker-model-item__note {
  font-size: 14px;
  color: var(--admin-text-dim);
  font-style: italic;
}
.worker-model-btn {
  min-width: 80px;
  min-height: 38px;
  padding: 6px 16px;
  border-radius: var(--admin-radius);
  border: 1px solid var(--admin-border);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  transition: all 0.15s ease;
}
.worker-model-btn--load {
  background: rgba(34, 197, 94, 0.1);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}
.worker-model-btn--load:hover {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.5);
}
.worker-model-btn--unload {
  background: rgba(239, 68, 68, 0.1);
  color: #fca5a5;
  border-color: rgba(239, 68, 68, 0.3);
}
.worker-model-btn--unload:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: rgba(239, 68, 68, 0.5);
}
.worker-vram {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-2) 0;
}
.worker-vram__label {
  font-size: 14px;
  color: var(--admin-text-muted);
  font-family: var(--admin-font-mono);
  white-space: nowrap;
  min-width: 180px;
}
.worker-vram__bar {
  flex: 1;
  height: 24px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: var(--admin-radius-sm);
  overflow: hidden;
  border: 1px solid var(--admin-border);
}
.worker-vram__fill {
  height: 100%;
  background: #60a5fa;
  border-radius: var(--admin-radius-sm);
  transition: width 0.3s ease;
}
.worker-vram__fill--med {
  background: #fbbf24;
}
.worker-vram__fill--high {
  background: #ef4444;
}
.worker-vram__pct {
  font-size: 16px;
  font-weight: 700;
  color: var(--admin-text);
  font-family: var(--admin-font-mono);
  min-width: 48px;
  text-align: right;
}
.worker-gpu-util {
  font-size: 14px;
  color: var(--admin-text-muted);
  font-family: var(--admin-font-mono);
  margin-bottom: var(--space-2);
}
.worker-caps {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: var(--space-2);
  padding-top: var(--space-2);
  border-top: 1px solid var(--admin-border);
}
.worker-cap-tag {
  font-size: 14px;
  font-weight: 500;
  padding: 4px 12px;
  border-radius: var(--admin-radius-sm);
  text-transform: lowercase;
  cursor: pointer;
  border: 1px solid transparent;
  transition: all 0.15s ease;
  background: rgba(139, 92, 246, 0.15);
  color: #a78bfa;
  min-height: 32px;
}
.worker-cap-tag:hover {
  transform: scale(1.05);
  border-color: rgba(139, 92, 246, 0.4);
}
.worker-cap-tag--disabled {
  opacity: 0.4;
  text-decoration: line-through;
}
.worker-quick-actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-4);
  max-width: 800px;
}
.worker-quick-btn {
  flex: 1;
  min-height: 52px;
  padding: 12px 24px;
  border-radius: var(--admin-radius-lg);
  border: 2px solid var(--admin-border);
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  transition: all 0.15s ease;
}
.worker-quick-btn--danger {
  background: rgba(239, 68, 68, 0.1);
  color: #fca5a5;
  border-color: rgba(239, 68, 68, 0.3);
}
.worker-quick-btn--danger:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: rgba(239, 68, 68, 0.5);
}
.worker-quick-btn--primary {
  background: rgba(34, 197, 94, 0.1);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}
.worker-quick-btn--primary:hover {
  background: rgba(34, 197, 94, 0.25);
  border-color: rgba(34, 197, 94, 0.5);
}
@media (max-width: 768px) {
  .worker-card__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .worker-card__host {
    margin-left: 0;
  }
  .worker-card__location {
    font-size: 22px;
  }
  .worker-card__gpu-name {
    font-size: 18px;
  }
  .worker-vram {
    flex-direction: column;
    align-items: stretch;
  }
  .worker-vram__label {
    min-width: unset;
  }
  .worker-quick-actions {
    flex-direction: column;
  }
}
.admin-section--primary {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--secondary {
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--tertiary {
  background: rgba(250, 204, 21, 0.05);
  border: 1px solid rgba(250, 204, 21, 0.3);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--danger {
  background: rgba(239, 68, 68, 0.05);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section--neutral {
  background: var(--admin-bg-alt);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
}
.admin-section__header {
  font-size: var(--admin-text-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--admin-text);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--admin-border);
  margin-bottom: var(--space-3);
}
.admin-section__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-3) 0;
  line-height: 1.5;
}
.admin-btn--toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  color: var(--admin-text-muted);
  cursor: pointer;
  transition: all var(--admin-transition);
}
.admin-btn--toggle:hover {
  background: var(--admin-surface-hover);
  color: var(--admin-text);
}
.admin-btn--toggle.active {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: white;
}
.admin-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: var(--space-2);
  background: var(--admin-text-dim);
}
.admin-status-dot.on {
  background: var(--admin-success);
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.6);
}
.admin-status-dot.warning {
  background: var(--admin-warning);
  box-shadow: 0 0 6px rgba(245, 158, 11, 0.6);
  animation: admin-blink 1s infinite;
}
.admin-status-dot.danger {
  background: var(--admin-error);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.6);
  animation: admin-blink 1s infinite;
}
@keyframes admin-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.admin-ctrl-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-3) var(--space-4);
  font-size: var(--admin-text-sm);
  font-weight: 500;
  font-family: inherit;
  border-radius: var(--admin-radius-sm);
  border: 1px solid var(--admin-border);
  background: var(--admin-surface);
  color: var(--admin-text);
  cursor: pointer;
  transition: all var(--admin-transition);
  width: 100%;
}
.admin-ctrl-btn:hover {
  background: var(--admin-surface-hover);
}
.admin-ctrl-btn.on-success {
  background: rgba(16, 185, 129, 0.15);
  border-color: var(--admin-success);
  color: var(--admin-success);
}
.admin-ctrl-btn.on-danger {
  background: rgba(239, 68, 68, 0.15);
  border-color: var(--admin-error);
  color: var(--admin-error);
}
.admin-ctrl-btn.on-warning {
  background: rgba(250, 204, 21, 0.15);
  border-color: var(--admin-warning);
  color: var(--admin-warning);
}
.admin-stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-3);
  padding: var(--space-3);
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  margin-top: var(--space-3);
}
.admin-stats-row__item {
  text-align: center;
}
.admin-stats-row__label {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: var(--space-1);
}
.admin-stats-row__value {
  font-size: var(--admin-text-lg);
  font-weight: 700;
  color: var(--admin-text);
  font-family: var(--admin-font-mono);
}
.admin-stats-row__value.warning {
  color: var(--admin-warning);
}
.admin-stats-row__value.success {
  color: var(--admin-success);
}
.admin-stats-row__value.danger {
  color: var(--admin-error);
}
.admin-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: var(--space-2);
}
.admin-image-cell {
  position: relative;
  aspect-ratio: 1;
  cursor: pointer;
  border-radius: var(--admin-radius-sm);
  overflow: hidden;
  border: 2px solid transparent;
  transition: all var(--admin-transition);
}
.admin-image-cell:hover {
  border-color: var(--admin-primary);
}
.admin-image-cell img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.admin-image-cell.hidden {
  opacity: 0.3;
}
.admin-image-cell.delete-mode {
  background: rgba(239, 68, 68, 0.2);
}
.admin-image-cell.delete-mode:hover {
  border-color: var(--admin-error);
}
.admin-image-cell__actions {
  position: absolute;
  top: var(--space-1);
  right: var(--space-1);
  left: var(--space-1);
  display: flex;
  justify-content: space-between;
  gap: var(--space-1);
}
.admin-image-btn {
  padding: 2px 6px;
  font-size: 9px;
  font-family: var(--admin-font-mono);
  border-radius: 2px;
  border: 1px solid;
  cursor: pointer;
  transition: all var(--admin-transition);
}
.admin-image-btn--visible {
  background: rgba(16, 185, 129, 0.9);
  border-color: var(--admin-success);
  color: white;
}
.admin-image-btn--hidden {
  background: rgba(239, 68, 68, 0.9);
  border-color: var(--admin-error);
  color: white;
}
.admin-image-btn--share {
  background: rgba(59, 130, 246, 0.9);
  border-color: var(--admin-primary);
  color: white;
}
.admin-image-cell__delete-overlay {
  position: absolute;
  inset: 0;
  background: rgba(239, 68, 68, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}
.admin-image-cell__hidden-banner {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(239, 68, 68, 0.85);
  color: white;
  font-size: 8px;
  text-align: center;
  padding: 2px;
  font-family: var(--admin-font-mono);
}
.admin-form-inline {
  display: flex;
  gap: var(--space-2);
  align-items: stretch;
}
.admin-form-inline .admin-input {
  flex: 1;
}
.admin-syntax-help {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  line-height: 1.8;
  margin-top: var(--space-2);
}
.admin-syntax-help code {
  background: rgba(59, 130, 246, 0.1);
  color: var(--admin-primary);
  padding: 1px 4px;
  border-radius: 2px;
}
.admin-share-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
}
.admin-share-table th {
  background: var(--admin-bg-alt);
  color: var(--admin-text-muted);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid var(--admin-border);
}
.admin-share-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-border);
  color: var(--admin-text-muted);
}
.admin-share-table tr.expired {
  opacity: 0.4;
}
.admin-date-pins-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--admin-text-sm);
}
.admin-date-pins-table th {
  background: var(--admin-bg-alt);
  color: var(--admin-text-muted);
  padding: var(--space-2) var(--space-3);
  text-align: left;
  font-weight: 500;
  border-bottom: 1px solid var(--admin-border);
}
.admin-date-pins-table td {
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-border);
}
.admin-date-pins-table tr.disabled {
  opacity: 0.5;
}
@media (max-width: 768px) {
  .admin-stats-row {
    grid-template-columns: repeat(2, 1fr);
  }
  .admin-form-inline {
    flex-direction: column;
  }
  .admin-image-grid {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  }
}
.admin-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--space-4);
}
.admin-header-controls {
  display: flex;
  gap: var(--space-3);
  align-items: center;
}
.admin-pagination {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}
.person-card {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  box-shadow: var(--admin-shadow);
  overflow: hidden;
}
.people-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-2);
}
@media (min-width: 480px) {
  .people-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 180px));
    gap: var(--space-3);
  }
}
@media (min-width: 768px) {
  .people-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 240px));
    gap: var(--space-4);
  }
}
.person-card__thumb {
  position: relative;
  width: 100%;
  padding-top: 100%;
  background: var(--admin-bg);
  overflow: hidden;
}
.person-card__thumb-link {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
}
.person-card__thumb-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.person-card__thumb-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  opacity: 0.3;
}
@media (min-width: 480px) {
  .person-card__thumb-placeholder {
    font-size: 48px;
  }
}
.person-card__badge {
  position: absolute;
  top: var(--space-1);
  font-size: 10px;
  padding: 2px 4px;
}
@media (min-width: 480px) {
  .person-card__badge {
    top: var(--space-2);
    font-size: inherit;
    padding: revert;
  }
}
.person-card__badge--left {
  left: var(--space-1);
}
@media (min-width: 480px) {
  .person-card__badge--left {
    left: var(--space-2);
  }
}
.person-card__badge--right {
  right: var(--space-1);
}
@media (min-width: 480px) {
  .person-card__badge--right {
    right: var(--space-2);
  }
}
.person-card__body {
  padding: var(--space-2);
}
@media (min-width: 480px) {
  .person-card__body {
    padding: var(--space-3);
  }
}
.person-card__name {
  font-weight: 500;
  font-size: 13px;
  color: var(--admin-text);
  margin-bottom: var(--space-1);
  cursor: text;
  min-height: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media (min-width: 480px) {
  .person-card__name {
    font-size: inherit;
    margin-bottom: var(--space-2);
    min-height: 24px;
  }
}
.person-card__name-input {
  width: 100%;
  font-weight: 500;
  font-size: 13px;
}
@media (min-width: 480px) {
  .person-card__name-input {
    font-size: inherit;
  }
}
.person-card__meta {
  font-size: 11px;
  color: var(--admin-text-muted);
  margin-bottom: var(--space-2);
}
@media (min-width: 480px) {
  .person-card__meta {
    font-size: var(--admin-text-sm);
    margin-bottom: var(--space-3);
  }
}
.person-card__unverified {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 6px;
  background: var(--admin-warning, #f59e0b);
  color: #000;
  font-size: 10px;
  font-weight: 600;
  border-radius: 4px;
  cursor: help;
}
.person-card__actions {
  display: flex;
  gap: var(--space-1);
  flex-wrap: wrap;
}
@media (min-width: 480px) {
  .person-card__actions {
    gap: var(--space-2);
  }
}
.person-card__actions .admin-btn {
  padding: 4px 8px;
  font-size: 10px;
}
@media (min-width: 480px) {
  .person-card__actions .admin-btn {
    padding: var(--space-1) var(--space-2);
    font-size: var(--admin-text-xs);
  }
}
.person-card__pin-form {
  display: inline-flex;
  margin: 0;
}
.person-card__pin-input {
  width: 40px;
  padding: 2px 4px;
  font-size: 10px;
  border-radius: var(--admin-radius-sm) 0 0 var(--admin-radius-sm);
}
@media (min-width: 480px) {
  .person-card__pin-input {
    width: 50px;
    padding: var(--space-1) var(--space-2);
    font-size: var(--admin-text-xs);
  }
}
.person-card__pin-btn {
  border-radius: 0 var(--admin-radius-sm) var(--admin-radius-sm) 0;
  padding: 2px 6px;
  font-size: 10px;
}
@media (min-width: 480px) {
  .person-card__pin-btn {
    padding: var(--space-1) var(--space-2);
    font-size: var(--admin-text-xs);
  }
}
.admin-empty-large {
  text-align: center;
  padding: var(--space-12) var(--space-4);
}
.admin-empty-large__icon {
  font-size: 48px;
  margin-bottom: var(--space-4);
  opacity: 0.3;
}
.admin-actions-bar {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}
.admin-stream-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: var(--space-4);
}
.admin-stream-panel__title {
  font-size: 14px;
  color: var(--admin-text-dim);
  margin-bottom: var(--space-3);
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: 0.5px;
}
.admin-stream-status-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.admin-stream-status-row {
  display: flex;
  justify-content: space-between;
}
.admin-stream-status--live {
  color: #22c55e;
  font-weight: 600;
}
.admin-stream-status--offline {
  color: #888;
  font-weight: 600;
}
.admin-stream-config-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  font-size: var(--admin-text-sm);
}
.admin-stream-config-url {
  font-family: var(--admin-font-mono);
  word-break: break-all;
  color: var(--admin-accent);
  font-size: var(--admin-text-xs);
}
.admin-test-result {
  padding: var(--space-2) var(--space-3);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
}
.admin-test-result--success {
  background: rgba(34, 197, 94, 0.15);
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.admin-test-result--error {
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.3);
}
.admin-test-result__title {
  font-weight: 600;
  margin-bottom: var(--space-1);
}
.admin-test-result__title--success {
  color: #4ade80;
}
.admin-test-result__title--error {
  color: #f87171;
}
.admin-test-result__info {
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-xs);
}
.admin-stream-not-configured {
  text-align: center;
  padding: var(--space-10) var(--space-4);
  color: var(--admin-text-dim);
}
.admin-stream-not-configured__title {
  font-size: var(--admin-text-lg);
  margin-bottom: var(--space-3);
}
.admin-stream-not-configured__hint {
  font-size: var(--admin-text-sm);
}
.admin-guide-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: var(--space-6);
}
.admin-guide-step__title {
  font-size: 14px;
  color: var(--admin-accent);
  margin-bottom: var(--space-2);
}
.admin-guide-step__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  line-height: 1.5;
}
.admin-section-title--flex {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.admin-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}
.admin-modal {
  max-width: 600px;
  width: 90%;
  max-height: 85vh;
  overflow-y: auto;
}
.admin-modal--sm {
  max-width: 400px;
}
.admin-modal--lg {
  max-width: 800px;
}
.admin-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-4);
}
.admin-modal__title {
  margin: 0;
  font-size: var(--admin-text-xl);
  font-weight: 600;
}
.admin-modal__close {
  font-size: 24px;
  line-height: 1;
}
.admin-progress {
  margin-bottom: var(--space-4);
}
.admin-progress__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-2);
}
.admin-progress__bar {
  background: var(--admin-bg);
  border-radius: var(--admin-radius-sm);
  height: 8px;
  overflow: hidden;
}
.admin-progress__fill {
  background: var(--admin-success);
  height: 100%;
  transition: width 0.3s;
}
.admin-progress__status {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  margin-top: var(--space-2);
}
.admin-code-block {
  display: block;
  background: #0a0a0a;
  padding: var(--space-3);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
  overflow-x: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
}
.admin-log-viewer {
  background: #0a0a0a;
  padding: var(--space-3);
  max-height: 200px;
  overflow-y: auto;
  margin-bottom: var(--space-4);
  border-radius: var(--admin-radius-sm);
}
.admin-log-viewer pre {
  margin: 0;
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  white-space: pre-wrap;
  word-wrap: break-word;
}
.admin-details {
  margin-top: var(--space-4);
}
.admin-details__summary {
  cursor: pointer;
  font-weight: 500;
  color: var(--admin-text);
  margin-bottom: var(--space-3);
}
.admin-details__content {
  background: var(--admin-bg);
  padding: var(--space-4);
  border-radius: var(--admin-radius);
}
.admin-step {
  margin-bottom: var(--space-4);
}
.admin-step:last-child {
  margin-bottom: 0;
}
.admin-step__label {
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  color: var(--admin-text-dim);
  display: block;
  margin-bottom: var(--space-1);
}
.admin-empty-card {
  text-align: center;
  padding: var(--space-10);
}
.admin-host-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}
.admin-host-name {
  font-size: 18px;
  font-weight: 600;
}
.admin-host-alias {
  font-size: 14px;
  color: var(--admin-text-dim);
}
.admin-stat-value--live {
  color: #ff4040;
}
.admin-card--accent {
  border-color: var(--admin-accent);
}
.admin-card--accent h3 {
  color: var(--admin-accent);
}
.admin-flex-gap-sm {
  display: flex;
  gap: var(--space-2);
}
.admin-flex-gap-md {
  display: flex;
  gap: var(--space-3);
}
.admin-flex-gap-lg {
  display: flex;
  gap: var(--space-4);
}
.admin-flex-col-gap-sm {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.admin-flex-col-gap-md {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.admin-tier-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}
.admin-tier-hostname {
  font-size: 15px;
  font-weight: 500;
  color: var(--admin-text);
}
.admin-badge--community {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
}
.admin-badge--pro {
  background: rgba(96, 165, 250, 0.15);
  color: #60a5fa;
}
.admin-badge--studio {
  background: rgba(139, 92, 246, 0.15);
  color: #a78bfa;
}
.admin-badge--enterprise {
  background: rgba(250, 204, 21, 0.15);
  color: #facc15;
}
.admin-features-toggle {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: var(--admin-radius-sm);
  padding: var(--space-2) var(--space-3);
  color: var(--admin-text);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  font-family: inherit;
  transition: all var(--admin-transition);
  width: fit-content;
}
.admin-features-toggle:hover {
  background: rgba(255, 255, 255, 0.1);
}
.admin-features-toggle__count {
  color: var(--admin-accent);
  font-weight: 600;
}
.admin-features-toggle__caret {
  font-size: 10px;
  opacity: 0.7;
}
.admin-features-panel {
  padding: var(--space-4);
  background: rgba(0, 0, 0, 0.3);
  border-radius: var(--admin-radius);
  border: 1px solid rgba(255, 255, 255, 0.05);
  margin-bottom: var(--space-4);
}
.admin-tier-group {
  margin-bottom: var(--space-4);
}
.admin-tier-group:last-child {
  margin-bottom: 0;
}
.admin-tier-group__label {
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  margin-bottom: var(--space-2);
  font-weight: 600;
  letter-spacing: 0.5px;
}
.admin-tier-group__label--community {
  color: #94a3b8;
}
.admin-tier-group__label--pro {
  color: #60a5fa;
}
.admin-tier-group__label--studio {
  color: #a78bfa;
}
.admin-tier-group__label--enterprise {
  color: #facc15;
}
.admin-tier-group__badges {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
}
.admin-feature-badge {
  font-size: var(--admin-text-xs);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--admin-radius-sm);
}
.admin-feature-badge--enabled {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.3);
}
.admin-feature-badge--disabled {
  background: rgba(100, 100, 100, 0.15);
  color: #888;
  border: 1px solid rgba(100, 100, 100, 0.2);
}
.admin-host-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--space-4);
}
.admin-host-stat__label {
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  margin-bottom: var(--space-1);
  color: var(--admin-text-dim);
}
.admin-host-stat__value {
  font-weight: 500;
  color: var(--admin-text);
}
.admin-host-stat__sub {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
}
.admin-card--padded {
  padding: var(--space-4);
}
.admin-quick-actions {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.admin-card--network {
  margin-bottom: var(--space-3);
}
.admin-card--network .admin-stat-label {
  margin-bottom: var(--space-1);
}
.admin-network-status {
  font-size: var(--admin-text-sm);
  margin-bottom: var(--space-3);
  color: var(--admin-text-dim);
}
.admin-connection-info {
  font-size: var(--admin-text-sm);
}
.admin-section-desc {
  margin-bottom: var(--space-3);
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
}
.review-layout {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media (min-width: 900px) {
  .review-layout {
    flex-direction: row;
  }
}
.review-main {
  flex: 1;
  min-width: 0;
}
.review-sidebar {
  width: 100%;
}
@media (min-width: 900px) {
  .review-sidebar {
    width: 320px;
    flex-shrink: 0;
  }
}
.review-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-2);
}
@media (min-width: 600px) {
  .review-grid {
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: var(--space-3);
  }
}
@media (min-width: 900px) {
  .review-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: var(--space-4);
  }
}
.review-card {
  background: var(--admin-surface);
  border: 2px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  overflow: hidden;
  transition: border-color var(--admin-transition);
}
.review-card--green {
  border-color: var(--admin-success);
}
.review-card--lime {
  border-color: #84cc16;
}
.review-card--yellow {
  border-color: var(--admin-warning);
}
.review-card--red {
  border-color: var(--admin-error);
}
.review-card__image {
  position: relative;
  width: 100%;
  height: 120px;
  cursor: pointer;
  overflow: hidden;
  background: var(--admin-bg);
}
@media (min-width: 600px) {
  .review-card__image {
    height: 150px;
  }
}
@media (min-width: 900px) {
  .review-card__image {
    height: 180px;
  }
}
.review-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--admin-bg);
}
.review-face-box {
  position: absolute;
  border: 2px solid rgba(255, 255, 0, 0.9);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}
.review-card__face-crop {
  position: relative;
  width: 100%;
  height: 120px;
  cursor: pointer;
  overflow: hidden;
  background: var(--admin-bg);
}
@media (min-width: 600px) {
  .review-card__face-crop {
    height: 150px;
  }
}
@media (min-width: 900px) {
  .review-card__face-crop {
    height: 180px;
  }
}
.review-card__face-crop img {
  position: absolute;
}
.review-card__dist-bar {
  height: 3px;
}
.review-card__dist-bar--green {
  background: var(--admin-success);
}
.review-card__dist-bar--lime {
  background: #84cc16;
}
.review-card__dist-bar--yellow {
  background: var(--admin-warning);
}
.review-card__dist-bar--red {
  background: var(--admin-error);
}
.review-card__info {
  padding: var(--space-2);
  background: var(--admin-bg-alt);
}
@media (min-width: 600px) {
  .review-card__info {
    padding: var(--space-2) var(--space-3);
  }
}
.review-card__distance {
  font-size: 10px;
  font-family: var(--admin-font-mono);
  margin-bottom: var(--space-1);
}
.review-card__distance--green {
  color: var(--admin-success);
}
.review-card__distance--lime {
  color: #84cc16;
}
.review-card__distance--yellow {
  color: var(--admin-warning);
}
.review-card__distance--red {
  color: var(--admin-error);
}
.review-card__actions {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}
.review-card__btn {
  flex: 1;
  min-width: 0;
  padding: 4px 6px;
  font-size: 9px;
  white-space: nowrap;
  border-radius: var(--admin-radius-sm);
  border: none;
  cursor: pointer;
  font-weight: 500;
  transition: all var(--admin-transition);
}
@media (min-width: 600px) {
  .review-card__btn {
    padding: 5px 8px;
    font-size: 10px;
  }
}
.review-card__btn--move {
  background: var(--admin-info);
  color: white;
}
.review-card__btn--move:hover {
  background: #2563eb;
}
.review-card__btn--wrong {
  background: var(--admin-error);
  color: white;
}
.review-card__btn--wrong:hover {
  background: #dc2626;
}
.review-card__btn--not-face {
  background: #ff6600;
  color: white;
}
.review-card__btn--not-face:hover {
  background: #e55a00;
}
.review-card__btn--assign {
  background: var(--admin-success);
  color: white;
}
.review-card__btn--assign:hover {
  background: #16a34a;
}
.review-card__btn--cancel {
  background: #6b7280;
  color: white;
}
.review-card__btn--cancel:hover {
  background: #4b5563;
}
.review-category {
  margin-bottom: var(--space-4);
}
.review-category__header {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--admin-border);
}
.review-category__label {
  font-size: var(--admin-text-xs);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: var(--space-1) var(--space-2);
  background: var(--admin-surface);
  border-radius: var(--admin-radius-sm);
}
.review-category__count {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
}
.review-instructions {
  padding: var(--space-3);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  margin-bottom: var(--space-4);
  font-size: var(--admin-text-sm);
}
.review-instructions__legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-2);
}
.review-instructions__item {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: var(--admin-text-xs);
}
.review-instructions__dot {
  width: 12px;
  height: 12px;
  border-radius: 2px;
}
.review-instructions__dot--green {
  background: var(--admin-success);
}
.review-instructions__dot--lime {
  background: #84cc16;
}
.review-instructions__dot--yellow {
  background: var(--admin-warning);
}
.review-instructions__dot--red {
  background: var(--admin-error);
}
.review-panel {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: var(--space-4);
}
.review-panel__title {
  font-size: var(--admin-text-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--admin-border);
}
.review-panel__section {
  margin-bottom: var(--space-4);
}
.review-panel__section:last-child {
  margin-bottom: 0;
}
.review-panel__label {
  font-size: var(--admin-text-xs);
  font-weight: 500;
  text-transform: uppercase;
  color: var(--admin-text-dim);
  margin-bottom: var(--space-2);
}
.review-pin-section {
  padding: var(--space-3);
  border-radius: var(--admin-radius-sm);
  border: 1px solid var(--admin-border);
}
.review-pin-section--active {
  border-color: #8b5cf6;
  background: rgba(139, 92, 246, 0.1);
}
.review-pin-section__badge {
  font-size: 9px;
  padding: 2px 6px;
  background: #8b5cf6;
  color: white;
  border-radius: 2px;
  margin-left: var(--space-2);
}
.review-stats {
  padding: var(--space-3);
  background: var(--admin-bg);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
  line-height: 1.6;
}
.review-blacklist-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
  max-height: 300px;
  overflow-y: auto;
}
.review-blacklist-card {
  display: flex;
  gap: 8px;
  background: var(--admin-bg);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: var(--admin-radius-sm);
  padding: 6px;
}
.review-blacklist-card__image {
  position: relative;
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  overflow: hidden;
  border-radius: var(--admin-radius-sm);
  background: var(--admin-bg-alt);
}
.review-blacklist-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.8;
}
.review-blacklist-card__image:hover img {
  opacity: 1;
}
.review-blacklist-card__box {
  position: absolute;
  border: 2px solid #ef4444;
  background: rgba(239, 68, 68, 0.15);
  pointer-events: none;
}
.review-blacklist-card__placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--admin-text-muted);
  font-size: 9px;
  text-align: center;
}
.review-blacklist-card__actions {
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
}
.review-blacklist-card__btn {
  padding: 4px 8px;
  border: none;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.15s;
  white-space: nowrap;
}
.review-blacklist-card__btn:hover {
  opacity: 0.8;
}
.review-blacklist-card__btn--restore {
  background: var(--admin-success);
  color: white;
}
.review-blacklist-card__btn--delete {
  background: var(--admin-error);
  color: white;
}
.review-danger-zone {
  padding: var(--space-3);
  border: 1px solid #ff6600;
  border-radius: var(--admin-radius-sm);
  background: rgba(255, 102, 0, 0.1);
}
.review-danger-zone__title {
  font-size: var(--admin-text-xs);
  font-weight: 600;
  color: #ff6600;
  margin-bottom: var(--space-2);
}
.review-danger-zone__desc {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
  margin-bottom: var(--space-3);
  line-height: 1.4;
}
.review-shot-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
}
.review-shot-modal__content {
  max-width: 95vw;
  max-height: 95vh;
  position: relative;
}
.review-shot-modal__image {
  max-width: 90vw;
  max-height: 70vh;
  display: block;
  border-radius: var(--admin-radius-sm);
}
@media (min-width: 600px) {
  .review-shot-modal__image {
    max-width: 85vw;
    max-height: 80vh;
  }
}
.review-shot-modal__close {
  position: absolute;
  top: -40px;
  right: 0;
}
.review-shot-modal__controls {
  display: flex;
  gap: var(--space-2);
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--space-2);
}
.review-shot-modal__info {
  margin-top: var(--space-3);
  padding: var(--space-3);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
  font-family: var(--admin-font-mono);
}
.review-modal-face-box {
  position: absolute;
  border: 3px solid;
  z-index: 10;
}
[data-draw-mode=true] .review-modal-face-box {
  pointer-events: none;
}
.review-modal-face-box--current {
  border-color: var(--admin-success);
}
.review-modal-face-box--other {
  border-color: var(--admin-warning);
}
.review-modal-face-box--moving {
  border-color: #00bfff;
  border-style: dashed;
  box-shadow: 0 0 10px rgba(0, 191, 255, 0.5);
  cursor: move !important;
  z-index: 20;
}
.face-box-resize-handle {
  position: absolute;
  width: 16px !important;
  height: 16px !important;
  background: #00bfff !important;
  border: 2px solid white !important;
  border-radius: 3px !important;
  z-index: 25 !important;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
  transition: transform 0.1s ease;
}
.face-box-resize-handle:hover {
  transform: scale(1.3);
  background: #00ff88 !important;
}
.review-modal-face-box__label {
  position: absolute;
  bottom: 100%;
  left: 0;
  padding: 2px 6px;
  font-size: 10px;
  white-space: nowrap;
}
.review-modal-face-box__label--current {
  background: var(--admin-success);
  color: white;
}
.review-modal-face-box__label--other {
  background: var(--admin-warning);
  color: #1f2937;
}
.review-modal-face-box__actions {
  position: absolute;
  top: 100%;
  left: 0;
  display: flex;
  gap: 2px;
  margin-top: 2px;
}
.review-modal-blacklist-box {
  position: absolute;
  border: 3px dashed var(--admin-text-muted);
  background: rgba(128, 128, 128, 0.2);
  z-index: 5;
  pointer-events: none;
}
.review-modal-blacklist-box__label {
  position: absolute;
  bottom: 100%;
  left: 0;
  padding: 2px 6px;
  font-size: 10px;
  white-space: nowrap;
  background: var(--admin-text-muted);
  color: white;
}
.admin-device-badge {
  position: fixed;
  bottom: var(--space-2);
  right: var(--space-2);
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
  padding: 4px 8px;
  font-family: var(--admin-font-mono);
  font-size: 9px;
  color: var(--admin-text-dim);
  z-index: 99;
  max-width: calc(100vw - 20px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: 0.7;
  transition: opacity 0.2s;
}
.admin-device-badge:hover {
  opacity: 1;
}
.admin-device-badge span {
  letter-spacing: 0.01em;
}
@media (max-width: 600px) {
  .admin-device-badge {
    bottom: 4px;
    right: 4px;
    font-size: 8px;
    padding: 3px 6px;
    max-width: 200px;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .admin-device-badge {
    bottom: 4px;
    font-size: 8px;
    padding: 2px 6px;
  }
}
.admin-help-section {
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--admin-border);
}
.admin-help-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.admin-help-section__title {
  font-size: var(--admin-text-sm);
  font-weight: 600;
  color: var(--admin-text);
  margin-bottom: var(--space-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.admin-help-list {
  margin: 0;
  padding: 0 0 0 var(--space-4);
  list-style: disc;
}
.admin-help-list li {
  margin-bottom: var(--space-1);
  color: var(--admin-text-muted);
  font-size: var(--admin-text-sm);
}
.admin-pin-screen {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 70vh;
}
.admin-pin-card {
  text-align: center;
  min-width: 320px;
}
.admin-pin-input {
  text-align: center;
  letter-spacing: 8px;
}
.admin-pin-display {
  letter-spacing: 4px;
}
.admin-panels {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.admin-card--warning {
  border-color: var(--admin-warning);
  background: rgba(245, 158, 11, 0.05);
}
.admin-card--danger {
  border-color: var(--admin-error);
  background: rgba(239, 68, 68, 0.05);
}
.admin-live-status {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--admin-text-xs);
  font-family: var(--admin-font-mono);
}
.admin-date-pin-form {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid var(--admin-border);
  padding: var(--space-4);
  border-radius: var(--admin-radius-sm);
  margin-top: var(--space-4);
}
.admin-date-pin-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 120px 1fr auto;
  gap: var(--space-3);
  align-items: end;
}
@media (max-width: 900px) {
  .admin-date-pin-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .admin-date-pin-grid {
    grid-template-columns: 1fr;
  }
}
.admin-btn-toggle-group {
  display: flex;
  gap: 0;
}
.admin-btn--toggle {
  flex: 1;
  padding: var(--space-3) var(--space-4);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  color: var(--admin-text-muted);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-sm);
  cursor: pointer;
  transition: all var(--admin-transition);
}
.admin-btn--toggle:first-child {
  border-radius: var(--admin-radius-sm) 0 0 var(--admin-radius-sm);
}
.admin-btn--toggle:last-child {
  border-radius: 0 var(--admin-radius-sm) var(--admin-radius-sm) 0;
  border-left: none;
}
.admin-btn--toggle:hover {
  background: var(--admin-surface-hover);
}
.admin-btn--toggle.active {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: white;
}
.admin-share-expiry {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.admin-input--inline {
  width: auto;
  min-width: 120px;
}
.admin-share-link-created {
  padding: var(--space-2);
}
.admin-share-link-created__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-2);
}
.admin-share-link-url {
  background: rgba(0, 0, 0, 0.2);
  padding: var(--space-3);
  border-radius: var(--admin-radius-sm);
  word-break: break-all;
}
.admin-share-link-url code {
  color: var(--admin-success);
  font-size: var(--admin-text-sm);
}
.admin-share-thumb {
  width: 30px;
  height: 30px;
  object-fit: cover;
  vertical-align: middle;
  margin-left: var(--space-2);
  border-radius: var(--admin-radius-sm);
}
.admin-share-views-row {
  background: rgba(59, 130, 246, 0.05);
}
.admin-share-views {
  padding: var(--space-4);
}
.admin-share-views__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--space-3);
}
.admin-table--compact {
  font-size: var(--admin-text-xs);
}
.admin-table--compact th,
.admin-table--compact td {
  padding: var(--space-2);
}
.admin-table--nested {
  font-size: 0.7rem;
  margin-top: var(--space-2);
}
.admin-table--nested th,
.admin-table--nested td {
  padding: var(--space-1) var(--space-2);
}
.admin-row-disabled {
  opacity: 0.4;
}
.admin-empty-state {
  text-align: center;
  padding: var(--space-6);
  color: var(--admin-text-dim);
  font-family: var(--admin-font-mono);
  font-size: var(--admin-text-sm);
}
.admin-image-nav {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
  margin-bottom: var(--space-4);
}
.admin-inline-form {
  display: inline-flex;
}
.admin-input-page {
  width: 60px;
  text-align: center;
}
.admin-input-id {
  width: 100px;
}
.admin-divider-v {
  width: 1px;
  height: 30px;
  background: var(--admin-border);
}
.admin-btn-close {
  background: transparent;
  border: none;
  color: var(--admin-text-muted);
  cursor: pointer;
  font-size: var(--admin-text-lg);
  padding: var(--space-1);
  line-height: 1;
}
.admin-btn-close:hover {
  color: var(--admin-text);
}
.admin-btn-group {
  display: flex;
  gap: var(--space-2);
  justify-content: center;
}
.admin-btn-xs {
  padding: 2px 6px;
  font-size: 0.65rem;
}
.admin-footer {
  display: flex;
  justify-content: space-between;
  margin-top: var(--space-6);
  padding-top: var(--space-4);
  border-top: 1px solid var(--admin-border);
}
.admin-self-end {
  align-self: flex-end;
}
.admin-gap-2 {
  gap: var(--space-2);
}
.admin-gap-3 {
  gap: var(--space-3);
}
.admin-items-center {
  align-items: center;
}
.admin-text-warning {
  color: var(--admin-warning);
}
.admin-modal--lg {
  max-width: 700px;
}
.admin-tier-badge {
  font-size: var(--admin-text-xs);
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.admin-tier-badge.tier-lite {
  background: rgba(148, 163, 184, 0.2);
  color: #94a3b8;
}
.admin-tier-badge.tier-pro {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}
.admin-tier-badge.tier-advanced {
  background: rgba(168, 85, 247, 0.2);
  color: #a855f7;
}
.admin-tier-badge.tier-developer {
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
}
.modes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: var(--space-4);
}
.mode-card {
  background: var(--admin-bg);
  border: 2px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  padding: var(--space-4);
  cursor: pointer;
  transition: all var(--admin-transition);
  position: relative;
}
.mode-card:hover {
  border-color: var(--admin-primary);
  background: var(--admin-bg-alt);
  transform: translateY(-2px);
}
.mode-card--selected {
  border-color: var(--admin-accent);
  background: rgba(233, 69, 96, 0.1);
}
.mode-card--selected:hover {
  border-color: var(--admin-accent-hover);
}
.mode-card__icon {
  font-size: 32px;
  margin-bottom: var(--space-2);
}
.mode-card__name {
  font-size: var(--admin-text-lg);
  font-weight: 600;
  color: var(--admin-text);
  margin: 0 0 var(--space-2) 0;
}
.mode-card__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-3) 0;
  line-height: 1.4;
}
.mode-card__tier {
  font-size: var(--admin-text-xs);
  color: var(--admin-text-dim);
}
.mode-card__selected-badge {
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
  font-size: 10px;
  font-weight: 600;
  background: var(--admin-accent);
  color: white;
  padding: 2px 8px;
  border-radius: 10px;
  text-transform: uppercase;
}
.feature-groups {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}
.feature-group {
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--admin-border);
}
.feature-group:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.feature-group__title {
  font-size: var(--admin-text-base);
  font-weight: 600;
  color: var(--admin-text);
  margin: 0 0 var(--space-1) 0;
}
.feature-group__desc {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-3) 0;
}
.feature-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--space-2);
}
.feature-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-2) var(--space-3);
  background: var(--admin-bg);
  border-radius: var(--admin-radius-sm);
  border: 1px solid transparent;
  transition: all var(--admin-transition);
}
.feature-item:hover {
  background: var(--admin-surface-hover);
}
.feature-item--enabled {
  border-color: rgba(16, 185, 129, 0.3);
  background: rgba(16, 185, 129, 0.05);
}
.feature-item--locked {
  opacity: 0.5;
  cursor: not-allowed;
}
.feature-item__label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  cursor: pointer;
}
.feature-item--locked .feature-item__label {
  cursor: not-allowed;
}
.feature-item__label input[type=checkbox] {
  width: 16px;
  height: 16px;
  accent-color: var(--admin-success);
  cursor: pointer;
}
.feature-item--locked .feature-item__label input[type=checkbox] {
  cursor: not-allowed;
}
.feature-item__name {
  font-size: var(--admin-text-sm);
  color: var(--admin-text);
}
.feature-status-badge {
  font-size: 10px;
  font-weight: 500;
  padding: 2px 8px;
  border-radius: 10px;
  white-space: nowrap;
}
.feature-status-badge.status-enabled {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
}
.feature-status-badge.status-optional {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
}
.feature-status-badge.status-optional-enabled {
  background: rgba(59, 130, 246, 0.3);
  color: #93c5fd;
}
.feature-status-badge.status-disabled {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
}
.feature-status-badge.status-overridden {
  background: rgba(245, 158, 11, 0.2);
  color: #f59e0b;
}
.feature-status-badge.status-locked {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}
.admin-card--warning {
  border-left: 3px solid var(--admin-warning);
}
.overrides-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.override-item {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  background: var(--admin-bg);
  border-radius: var(--admin-radius-sm);
  font-size: var(--admin-text-sm);
}
.override-item__feature {
  color: var(--admin-text);
}
.override-item__value {
  font-weight: 500;
}
.override-item__value.override-enabled {
  color: var(--admin-success);
}
.override-item__value.override-disabled {
  color: var(--admin-error);
}
.admin-actions {
  padding: var(--space-4) 0;
}
.modes-help-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1000;
}
.modes-help-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  padding: var(--space-6);
  max-width: 500px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  z-index: 1001;
}
.modes-help-modal h2 {
  font-size: var(--admin-text-xl);
  color: var(--admin-text);
  margin: 0 0 var(--space-4) 0;
}
.modes-help-modal h3 {
  font-size: var(--admin-text-base);
  color: var(--admin-text);
  margin: var(--space-4) 0 var(--space-2) 0;
}
.modes-help-modal p {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin: 0 0 var(--space-2) 0;
  line-height: 1.5;
}
.modes-help-modal ul {
  margin: 0 0 var(--space-3) 0;
  padding-left: var(--space-4);
}
.modes-help-modal li {
  font-size: var(--admin-text-sm);
  color: var(--admin-text-muted);
  margin-bottom: var(--space-1);
  line-height: 1.4;
}
@media (max-width: 768px) {
  .modes-grid {
    grid-template-columns: 1fr;
  }
  .feature-list {
    grid-template-columns: 1fr;
  }
  .mode-card {
    padding: var(--space-3);
  }
  .mode-card__icon {
    font-size: 24px;
  }
}
@media (max-width: 480px) {
  .admin-tier-badge {
    font-size: 9px;
    padding: 3px 8px;
  }
  .feature-item {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-1);
  }
  .feature-status-badge {
    font-size: 9px;
  }
}
.processing-status {
  margin-bottom: var(--space-4);
}
.processing-status__header {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-3);
}
.processing-status__indicator {
  color: var(--admin-success);
  font-size: 1.25rem;
  animation: pulse 1s ease-in-out infinite;
}
.processing-status__indicator--idle {
  color: var(--admin-text-dim);
  animation: none;
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.processing-status__label {
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.processing-status--active .processing-status__label {
  color: var(--admin-success);
}
.processing-status--idle .processing-status__label {
  color: var(--admin-text-dim);
}
.processing-progress {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.processing-progress__bar {
  flex: 1;
  height: 8px;
  background: var(--admin-surface);
  border-radius: 4px;
  overflow: hidden;
}
.processing-progress__fill {
  height: 100%;
  background: linear-gradient(90deg, var(--admin-success), #34d399);
  border-radius: 4px;
  transition: width 0.3s ease;
}
.processing-progress__text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--admin-success);
  min-width: 40px;
  text-align: right;
}
.processing-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.processing-stat {
  text-align: center;
  padding: var(--space-2);
  background: var(--admin-surface);
  border-radius: 6px;
}
.processing-stat__value {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--admin-text);
}
.processing-stat__label {
  font-size: 0.75rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.processing-current {
  font-size: 0.8rem;
  color: var(--admin-text-muted);
  margin-bottom: var(--space-3);
  padding: var(--space-2);
  background: var(--admin-surface);
  border-radius: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.processing-current__label {
  color: var(--admin-text-dim);
  margin-right: var(--space-2);
}
.processing-current__file {
  font-family: monospace;
  color: var(--admin-text);
}
.processing-errors {
  color: var(--admin-error);
  font-size: 0.875rem;
  margin-bottom: var(--space-3);
}
.processing-actions {
  display: flex;
  gap: var(--space-3);
  flex-wrap: wrap;
  margin-top: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--admin-border);
}
.processing-actions .admin-btn {
  flex: 1;
  min-width: 150px;
}
.processing-status-bar {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--admin-border);
}
.processing-indicator {
  font-weight: 600;
  font-size: 0.875rem;
}
.processing-indicator--active {
  color: var(--admin-success);
  animation: pulse 1s ease-in-out infinite;
}
.processing-indicator--idle {
  color: var(--admin-text-dim);
}
.processing-queue,
.processing-rate {
  font-size: 0.8rem;
  color: var(--admin-text-muted);
}
.processing-log {
  max-height: 400px;
  overflow-y: auto;
  font-family: monospace;
  font-size: 0.8rem;
}
.processing-log__entry {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-2) var(--space-3);
  border-bottom: 1px solid var(--admin-border);
}
.processing-log__entry:hover {
  background: var(--admin-surface);
}
.processing-log__entry--error {
  background: var(--admin-error-bg);
}
.processing-log__status {
  width: 1.5rem;
  text-align: center;
}
.processing-log__entry:not(.processing-log__entry--error) .processing-log__status {
  color: var(--admin-success);
}
.processing-log__entry--error .processing-log__status {
  color: var(--admin-error);
}
.processing-log__filename {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--admin-text);
}
.processing-log__time {
  color: var(--admin-text-dim);
  min-width: 50px;
  text-align: right;
}
.processing-log__empty {
  padding: var(--space-4);
  text-align: center;
  color: var(--admin-text-dim);
}
.doc-pins-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-5);
  color: var(--admin-text);
}
.doc-pins-header h1 {
  margin: 0;
  font-size: var(--admin-text-2xl);
  color: var(--admin-text);
}
.doc-pins-actions {
  margin: var(--space-5) 0;
  display: flex;
  gap: var(--space-3);
}
.doc-pins-btn-primary {
  background: var(--admin-primary);
  color: #fff;
  border: none;
  padding: var(--space-3) var(--space-5);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius);
  transition: background var(--admin-transition);
}
.doc-pins-btn-primary:hover {
  background: var(--admin-primary-hover);
}
.doc-pins-btn-secondary {
  background: transparent;
  color: var(--admin-text-muted);
  border: 1px solid var(--admin-border);
  padding: var(--space-3) var(--space-5);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius);
  text-decoration: none;
  transition: background var(--admin-transition);
}
.doc-pins-btn-secondary:hover {
  background: var(--admin-surface-hover);
}
.doc-pins-btn-sm {
  background: transparent;
  color: var(--admin-text-muted);
  border: 1px solid var(--admin-border);
  padding: var(--space-1) var(--space-2);
  cursor: pointer;
  font-size: var(--admin-text-xs);
  border-radius: var(--admin-radius);
  margin-right: var(--space-1);
  transition: background var(--admin-transition);
}
.doc-pins-btn-sm:hover {
  background: var(--admin-surface-hover);
}
.doc-pins-btn-danger {
  border-color: var(--admin-error);
  color: var(--admin-error);
}
.doc-pins-btn-danger:hover {
  background: var(--admin-error-bg);
}
.doc-pins-table-wrap {
  overflow-x: auto;
}
.doc-pins-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius);
}
.doc-pins-table th,
.doc-pins-table td {
  padding: var(--space-3);
  text-align: left;
  border-bottom: 1px solid var(--admin-border);
}
.doc-pins-table th {
  background: var(--admin-bg);
  font-weight: 500;
  text-transform: uppercase;
  font-size: var(--admin-text-xs);
  letter-spacing: 0.05em;
  color: var(--admin-text-muted);
}
.doc-pins-disabled-row {
  opacity: 0.5;
}
.doc-pins-value code {
  background: var(--admin-bg);
  padding: var(--space-1) var(--space-2);
  border-radius: var(--admin-radius);
  font-size: var(--admin-text-sm);
  letter-spacing: 0.15em;
  color: var(--admin-accent);
}
.doc-pins-paths-cell {
  max-width: 200px;
}
.doc-pins-path-tag {
  display: inline-block;
  background: var(--admin-info-bg);
  color: var(--admin-info);
  padding: 2px var(--space-2);
  margin: 2px;
  border-radius: var(--admin-radius);
  font-size: var(--admin-text-xs);
}
.doc-pins-numeric {
  text-align: right;
}
.doc-pins-never {
  opacity: 0.5;
}
.doc-pins-expired {
  color: var(--admin-error);
}
.doc-pins-status-badge {
  display: inline-block;
  padding: 3px var(--space-2);
  border-radius: var(--admin-radius);
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  font-weight: 500;
}
.doc-pins-status-active {
  background: var(--admin-success);
  color: #000;
}
.doc-pins-status-disabled {
  background: var(--admin-text-dim);
  color: #fff;
}
.doc-pins-status-expired {
  background: var(--admin-error);
  color: #fff;
}
.doc-pins-actions-cell {
  white-space: nowrap;
}
.doc-pins-empty {
  padding: var(--space-8);
  text-align: center;
  color: var(--admin-text-dim);
}
.doc-pins-legacy-note {
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-left: 3px solid var(--admin-text-dim);
  border-radius: var(--admin-radius);
}
.doc-pins-legacy-note h3 {
  margin: 0 0 var(--space-3) 0;
  font-size: var(--admin-text-sm);
  color: var(--admin-text);
}
.doc-pins-legacy-note p {
  margin: var(--space-1) 0;
  color: var(--admin-text-muted);
}
.doc-pins-legacy-note ul {
  margin: var(--space-3) 0;
  padding-left: var(--space-5);
  color: var(--admin-text-muted);
}
.doc-pins-legacy-note code {
  background: var(--admin-bg);
  padding: 2px var(--space-2);
  border-radius: var(--admin-radius);
  color: var(--admin-accent);
}
.doc-pins-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}
.doc-pins-modal {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  padding: var(--space-6);
  max-width: 500px;
  width: 90%;
  box-shadow: var(--admin-shadow-lg);
}
.doc-pins-modal h2 {
  margin: 0 0 var(--space-5) 0;
  font-size: var(--admin-text-xl);
  color: var(--admin-text);
}
.doc-pins-form-group {
  margin-bottom: var(--space-5);
}
.doc-pins-form-group label {
  display: block;
  margin-bottom: var(--space-2);
  font-size: var(--admin-text-xs);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--admin-text-muted);
}
.doc-pins-form-group input[type=text],
.doc-pins-form-group select {
  width: 100%;
  background: var(--admin-bg);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
  padding: var(--space-3);
  font-size: var(--admin-text-sm);
  border-radius: var(--admin-radius);
  transition: border-color var(--admin-transition);
}
.doc-pins-form-group input:focus,
.doc-pins-form-group select:focus {
  outline: none;
  border-color: var(--admin-primary);
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
.doc-pins-input-row {
  display: flex;
  gap: var(--space-3);
}
.doc-pins-input-row input {
  flex: 1;
}
.doc-pins-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-3);
}
.doc-pins-checkbox-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  cursor: pointer;
  font-size: var(--admin-text-sm);
  color: var(--admin-text);
}
.doc-pins-checkbox-label input {
  accent-color: var(--admin-primary);
}
.doc-pins-modal-actions {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-6);
}
.admin-login-container {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-4);
  background: var(--admin-bg);
}
.admin-login-card {
  width: 100%;
  max-width: 400px;
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-lg);
  box-shadow: var(--admin-shadow-lg);
  padding: var(--space-8);
}
.admin-login-header {
  text-align: center;
  margin-bottom: var(--space-6);
}
.admin-login-title {
  font-size: var(--admin-text-2xl);
  font-weight: 700;
  color: var(--admin-accent);
  margin: 0 0 var(--space-2) 0;
}
.admin-login-subtitle {
  font-size: var(--admin-text-base);
  color: var(--admin-text-muted);
  margin: 0;
}
.admin-login-input {
  width: 100%;
  padding: var(--space-4);
  font-size: var(--admin-text-xl);
  text-align: center;
  letter-spacing: 0.5em;
  background: var(--admin-bg);
  border: 2px solid var(--admin-border);
  border-radius: var(--admin-radius);
  color: var(--admin-text);
  transition: border-color var(--admin-transition);
}
.admin-login-input:focus {
  outline: none;
  border-color: var(--admin-primary);
}
.admin-login-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.admin-login-btn {
  width: 100%;
  margin-top: var(--space-4);
}
.admin-login-footer {
  text-align: center;
  margin-top: var(--space-6);
}
.admin-login-footer a {
  text-decoration: none;
}
.admin-login-footer a:hover {
  color: var(--admin-text);
}
.lq-header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.lq-clock {
  text-align: right;
  flex-shrink: 0;
}
.lq-clock-time {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: var(--admin-text);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.lq-clock-date {
  display: block;
  font-size: 0.85rem;
  color: var(--admin-text-muted);
  margin-top: 2px;
}
.lq-stats-grid {
  grid-template-columns: repeat(4, 1fr);
}
.lq-pipeline-bars {
  display: flex;
  gap: 6px;
}
.lq-pipeline-stage {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.lq-pipeline-bar-wrap {
  width: 100%;
  height: 80px;
  display: flex;
  align-items: flex-end;
}
.lq-pipeline-bar {
  width: 100%;
  min-height: 4px;
  border-radius: 4px 4px 0 0;
  transition: height 0.3s ease;
}
.lq-pipeline-label {
  font-size: 0.7rem;
  color: var(--admin-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 6px;
}
.lq-pipeline-count {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--admin-text);
}
.lq-table {
  width: 100%;
}
.lq-tc-cell {
  font-family: monospace;
  font-weight: 600;
}
.lq-film-cell {
  font-size: 0.85rem;
}
.lq-status-badge {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 600;
  background: color-mix(in srgb, var(--badge-color) 15%, transparent);
  color: var(--badge-color);
}
.lq-age-overdue {
  color: var(--admin-error);
  font-weight: 600;
}
.lq-age-warning {
  color: var(--admin-warning);
}
.lq-age-ok {
  color: var(--admin-success);
}
.lq-qc-pass {
  color: var(--admin-success);
  font-weight: 600;
}
.lq-qc-fail {
  color: var(--admin-error);
  font-weight: 600;
}
.lq-delivery-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid var(--admin-border);
}
.lq-delivery-row:last-child {
  border-bottom: none;
}
.lq-delivery-info {
  display: flex;
  align-items: center;
  gap: 10px;
}
.lq-delivery-name {
  font-weight: 600;
}
.lq-delivery-complete {
  color: var(--admin-success);
}
.lq-delivery-progress {
  color: var(--admin-warning);
}
.lq-delivery-opened {
  color: var(--admin-info);
}
.lq-empty-state {
  text-align: center;
  color: var(--admin-text-muted);
  padding: 24px;
}
@media (max-width: 768px) {
  .lq-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .lq-header-row {
    flex-direction: column;
    gap: 8px;
  }
  .lq-clock {
    text-align: left;
  }
  .lq-clock-time {
    font-size: 1.5rem;
  }
  .lq-delivery-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }
}
@media (min-width: 1600px) {
  .lq-clock-time {
    font-size: 3rem;
  }
  .lq-clock-date {
    font-size: 1.1rem;
  }
  .lq-pipeline-count {
    font-size: 1.5rem;
  }
  .lq-pipeline-label {
    font-size: 0.85rem;
  }
  .lq-pipeline-bar-wrap {
    height: 120px;
  }
  .lq-table {
    font-size: 1.1rem;
  }
  .lq-table th,
  .lq-table td {
    padding: 12px 16px;
  }
  .lq-delivery-row {
    padding: 14px 0;
    font-size: 1.05rem;
  }
}
.review-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}
.review-filters {
  display: flex;
  gap: var(--space-1);
}
.review-filter-btn {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  color: var(--admin-text);
  padding: 6px 14px;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: 0.85rem;
  transition: all var(--admin-transition);
}
.review-filter-btn:hover {
  background: var(--admin-border);
}
.review-filter-btn.active {
  background: var(--admin-accent);
  color: var(--admin-bg);
  border-color: var(--admin-accent);
}
.review-batch-btn {
  background: var(--admin-success);
  color: #000;
  border: none;
  padding: 8px 16px;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-size: 0.85rem;
  font-weight: 600;
}
.review-batch-btn:hover {
  opacity: 0.9;
}
.review-layout {
  display: flex;
  gap: var(--space-4);
  min-height: 60vh;
}
@media (max-width: 768px) {
  .review-layout {
    flex-direction: column;
  }
}
.review-sidebar {
  width: 280px;
  flex-shrink: 0;
  overflow-y: auto;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
@media (max-width: 768px) {
  .review-sidebar {
    width: 100%;
    max-height: 200px;
    flex-direction: row;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .review-sidebar .review-card {
    min-width: 160px;
    flex-shrink: 0;
  }
}
.review-card {
  background: var(--admin-surface);
  border: 2px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  padding: var(--space-2) var(--space-3);
  cursor: pointer;
  transition: border-color var(--admin-transition);
}
.review-card:hover {
  border-color: var(--admin-accent);
}
.review-card.selected {
  border-color: var(--admin-accent);
  background: rgba(99, 102, 241, 0.1);
}
.review-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}
.review-card-id {
  font-weight: 700;
  font-size: 0.9rem;
}
.review-card-filename {
  font-size: 0.8rem;
  color: var(--admin-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.review-card-meta {
  font-size: 0.75rem;
  color: var(--admin-muted);
  display: flex;
  justify-content: space-between;
  margin-top: 4px;
}
.review-card-status {
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.7rem;
}
.review-qc-badge {
  font-size: 0.75rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 10px;
}
.review-qc-good {
  background: var(--admin-success);
  color: #000;
}
.review-qc-ok {
  background: var(--admin-warning);
  color: #000;
}
.review-qc-bad {
  background: var(--admin-error);
  color: #fff;
}
.review-detail {
  flex: 1;
  min-width: 0;
}
.review-no-selection,
.review-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 300px;
  color: var(--admin-muted);
  font-size: 1.1rem;
}
.review-compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
@media (max-width: 600px) {
  .review-compare {
    grid-template-columns: 1fr;
  }
}
.review-compare-panel {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  overflow: hidden;
}
.review-compare-label {
  padding: var(--space-2) var(--space-3);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  border-bottom: 1px solid var(--admin-border);
  margin: 0;
}
.review-preview-img {
  width: 100%;
  display: block;
  max-height: 400px;
  object-fit: contain;
  background: #000;
}
.review-no-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  color: var(--admin-muted);
  background: var(--admin-bg);
}
.review-section {
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  padding: var(--space-3);
  margin-bottom: var(--space-3);
}
.review-section h3 {
  margin: 0 0 var(--space-2) 0;
  font-size: 0.9rem;
  text-transform: uppercase;
  color: var(--admin-muted);
}
.review-scores-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: var(--space-2);
}
.review-score-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.review-score-label {
  font-size: 0.75rem;
  color: var(--admin-muted);
  text-transform: uppercase;
}
.review-score-value {
  font-size: 1.1rem;
  font-weight: 700;
}
.review-corrections-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
}
.review-correction-item {
  font-size: 0.85rem;
  padding: 4px 0;
  border-bottom: 1px solid var(--admin-border);
}
.review-correction-item:last-child {
  border-bottom: none;
}
.review-actions {
  display: flex;
  gap: var(--space-2);
  padding: var(--space-3);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius-sm);
  position: sticky;
  bottom: 0;
  flex-wrap: wrap;
}
.review-action-btn {
  padding: 10px 20px;
  border: none;
  border-radius: var(--admin-radius-sm);
  cursor: pointer;
  font-weight: 600;
  font-size: 0.9rem;
  transition: opacity var(--admin-transition);
}
.review-action-btn:hover {
  opacity: 0.85;
}
.review-btn-approve {
  background: var(--admin-success);
  color: #000;
  flex: 1;
}
.review-btn-approve-only {
  background: var(--admin-surface);
  color: var(--admin-success);
  border: 2px solid var(--admin-success);
}
.review-btn-reject {
  background: var(--admin-error);
  color: #fff;
}
.review-btn-reprocess {
  background: var(--admin-surface);
  color: var(--admin-warning);
  border: 2px solid var(--admin-warning);
}
.progress-tracker {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin: var(--space-4) 0 var(--space-6) 0;
  padding: var(--space-4) var(--space-3);
  background: var(--admin-surface);
  border: 1px solid var(--admin-border);
  border-radius: var(--admin-radius, 8px);
  overflow-x: auto;
  position: relative;
}
.progress-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  position: relative;
  min-width: 70px;
}
.progress-step::before {
  content: "";
  position: absolute;
  top: 14px;
  left: -50%;
  width: 100%;
  height: 3px;
  background: var(--admin-border);
  z-index: 0;
}
.progress-step:first-child::before {
  display: none;
}
.progress-step.completed::before {
  background: var(--admin-success);
}
.progress-step.current::before {
  background: linear-gradient(90deg, var(--admin-success) 50%, var(--admin-border) 50%);
}
.progress-dot {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--admin-bg);
  border: 3px solid var(--admin-border);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  position: relative;
  font-size: 12px;
}
.progress-step.completed .progress-dot {
  background: var(--admin-success);
  border-color: var(--admin-success);
  color: #000;
}
.progress-step.current .progress-dot {
  background: var(--admin-primary);
  border-color: var(--admin-primary);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.25);
  animation: progress-pulse 2s ease-in-out infinite;
}
.progress-step.cancelled .progress-dot {
  background: var(--admin-error);
  border-color: var(--admin-error);
  color: #fff;
}
@keyframes progress-pulse {
  0%, 100% {
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.25);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(59, 130, 246, 0.1);
  }
}
.progress-label {
  margin-top: var(--space-2);
  font-size: 0.7rem;
  color: var(--admin-text-dim);
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
}
.progress-step.completed .progress-label {
  color: var(--admin-success);
}
.progress-step.current .progress-label {
  color: var(--admin-primary);
  font-weight: 600;
}
@media (max-width: 640px) {
  .progress-tracker {
    padding: var(--space-3) var(--space-2);
  }
  .progress-step {
    min-width: 55px;
  }
  .progress-label {
    font-size: 0.6rem;
  }
  .progress-dot {
    width: 22px;
    height: 22px;
    font-size: 10px;
  }
}

/* css/app.css */
.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert-info {
  color: #31708f;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.alert-warning {
  color: #8a6d3b;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.alert-danger {
  color: #a94442;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.alert p {
  margin-bottom: 0;
}
.alert:empty {
  display: none;
}
.invalid-feedback {
  color: #a94442;
  display: block;
  margin: -1rem 0 2rem;
}
.phx-no-feedback.invalid-feedback,
.phx-no-feedback .invalid-feedback {
  display: none;
}
.phx-click-loading {
  opacity: 0.5;
  transition: opacity 1s ease-out;
}
.phx-disconnected {
  cursor: wait;
}
.phx-disconnected * {
  pointer-events: none;
}
.phx-modal {
  opacity: 1 !important;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
}
.phx-modal-content {
  background-color: #fefefe;
  margin: 15vh auto;
  padding: 20px;
  border: 1px solid #888;
  width: 80%;
}
.phx-modal-close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
}
.phx-modal-close:hover,
.phx-modal-close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vYXNzZXRzL2Nzcy9nYWxsZXJ5LmNzcyIsICIuLi8uLi8uLi9hc3NldHMvY3NzL3RoZW1lX21vZGVybi5jc3MiLCAiLi4vLi4vLi4vYXNzZXRzL2Nzcy9haV9jb2xsYWIuY3NzIiwgIi4uLy4uLy4uL2Fzc2V0cy9jc3MvYWRtaW4uY3NzIiwgIi4uLy4uLy4uL2Fzc2V0cy9jc3MvYXBwLmNzcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU0NBTkVYIEdBTExFUlkgLSBNYWluIEdhbGxlcnkgU3R5bGVzaGVldFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBUaGVtZTogUmV0cm8gVkhTIC8gQ1JUIC8gRmlsbSBhZXN0aGV0aWNcbiAqXG4gKiBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyBmb3IgdGhlIG1haW4gcGhvdG8gZ2FsbGVyeSB2aWV3LlxuICogT3JpZ2luYWxseSBleHRyYWN0ZWQgZnJvbSBpbmxpbmUgc3R5bGVzIGluIGhvbWVwYWdlX2xpdmUuaHRtbC5oZWV4XG4gKlxuICogU0VDVElPTlM6XG4gKiAxLiBDU1MgVmFyaWFibGVzIChUaGVtZSBDb2xvcnMgJiBGb250cylcbiAqIDIuIFJlc2V0ICYgQmFzZSBTdHlsZXNcbiAqIDMuIEFwcCBTaGVsbCAoTWFpbiBMYXlvdXQgQ29udGFpbmVyKVxuICogNC4gSGVhZGVyIEJhciAoVkNSLXN0eWxlIHRvcCBiYXIpXG4gKiA1LiBNYWluIFN0YWdlIChIZXJvIEltYWdlIERpc3BsYXkpXG4gKiA2LiBTaWRlYmFyIChUaHVtYm5haWwgU3RyaXApXG4gKiA3LiBOYXZpZ2F0aW9uIENvbnRyb2xzIChWQ1IgVHJhbnNwb3J0IEJ1dHRvbnMpXG4gKiA4LiBDYWxlbmRhci9EYXRlIFBpY2tlclxuICogOS4gSW5mbyBNb2RhbCAoSW1hZ2UgRGV0YWlscylcbiAqIDEwLiBGYWNlIERldGVjdGlvbiBPdmVybGF5c1xuICogMTEuIE9iamVjdCBEZXRlY3Rpb24gT3ZlcmxheXNcbiAqIDEyLiBDb250YWN0IFNoZWV0IChQdWxsLXVwIFBhbmVsKVxuICogMTMuIFNoYXJlIE1vZGFsXG4gKiAxNC4gU2VhcmNoIEludGVyZmFjZVxuICogMTUuIERlc2t0b3AgT3ZlcnJpZGVzICg3NjhweCspXG4gKiAxNi4gTGFyZ2UgRGVza3RvcCAoMTIwMHB4KylcbiAqIDE3LiBNb2JpbGUgTGFuZHNjYXBlXG4gKiAxOC4gU21hbGwgTW9iaWxlICg0MDBweC0pXG4gKiAxOS4gVG91Y2ggRGV2aWNlIE92ZXJyaWRlc1xuICpcbiAqIEFSQ0hJVEVDVFVSRSBOT1RFUzpcbiAqIC0gTW9iaWxlLWZpcnN0IGRlc2lnbiAoYmFzZSBzdHlsZXMgYXJlIG1vYmlsZSlcbiAqIC0gRGVza3RvcCBzdHlsZXMgdXNlIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gKiAtIFRvdWNoIGRldmljZXMgZ2V0IHNwZWNpYWwgdHJlYXRtZW50IHZpYSAoaG92ZXI6IG5vbmUpIHF1ZXJpZXNcbiAqIC0gQWxsIGNvbG9ycyB1c2UgQ1NTIHZhcmlhYmxlcyBmb3IgZWFzeSB0aGVtaW5nXG4gKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMS4gQ1NTIFZBUklBQkxFUyAtIFRoZW1lIENvbG9ycyAmIEZvbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBDb2xvciBuYW1pbmcgY29udmVudGlvbjpcbiAgIC0gY3J0LSogOiBDUlQgbW9uaXRvciBjb2xvcnMgKGFtYmVyLCBncmVlbiBmb3IgdGVybWluYWwgZmVlbClcbiAgIC0ga29kYWstKiA6IEtvZGFrIGZpbG0gY29sb3JzICh5ZWxsb3csIHJlZCBmb3IgZGF0ZSBzdGFtcHMpXG4gICAtIGZpbG0tKiA6IEZpbG0gc3RyaXAgY29sb3JzIChib3JkZXJzLCBiYWNrZ3JvdW5kcylcbiAgIC0gcGFwZXItKiA6IE5ld3NwYXBlci9wcmludCBjb2xvcnMgKGNyZWFtIGJhY2tncm91bmRzKVxuKi9cblxuLyogRm9udHMgbG9hZGVkIHZpYSA8bGluaz4gaW4gcm9vdC5odG1sLmhlZXggd2l0aCBmb250LWRpc3BsYXk6IHN3YXAgZm9yIG5vbi1ibG9ja2luZyByZW5kZXIgKi9cblxuOnJvb3Qge1xuICAvKiA9PT0gQ1JUIE1vbml0b3IgQ29sb3JzID09PSAqL1xuICAtLWNydC1ibGFjazogIzBhMDgwNjsgICAgICAgLyogRGVlcCB3YXJtIGJsYWNrIChsaWtlIG9sZCBDUlQpICovXG4gIC0tY3J0LWRhcms6ICMxYTE2MTI7ICAgICAgICAvKiBEYXJrIGJyb3duLWJsYWNrIGZvciBwYW5lbHMgKi9cbiAgLS1jcnQtYW1iZXI6ICNmZmIwMDA7ICAgICAgIC8qIENsYXNzaWMgYW1iZXIgdGVybWluYWwgY29sb3IgKi9cbiAgLS1jcnQtYW1iZXItZGltOiAjOTk2NjAwOyAgIC8qIERpbW1lZCBhbWJlciBmb3IgaW5hY3RpdmUgc3RhdGVzICovXG4gIC0tY3J0LWdyZWVuOiAjMzNmZjMzOyAgICAgICAvKiBDbGFzc2ljIGdyZWVuIHRlcm1pbmFsIGNvbG9yICovXG4gIC0tY3J0LXJlZDogI2ZmMzMzMzsgICAgICAgICAvKiBBbGVydC9yZWNvcmRpbmcgcmVkICovXG5cbiAgLyogPT09IEtvZGFrIEZpbG0gQ29sb3JzID09PSAqL1xuICAtLWtvZGFrLXllbGxvdzogI2ZmZDcwMDsgICAgLyogS29kYWsgbG9nbyB5ZWxsb3cgKi9cbiAgLS1rb2Rhay1yZWQ6ICNjNDFlM2E7ICAgICAgIC8qIEtvZGFrIGRhdGUgc3RhbXAgcmVkICovXG5cbiAgLyogPT09IEZpbG0gU3RyaXAgQ29sb3JzID09PSAqL1xuICAtLWZpbG0tYm9yZGVyOiAjMmEyNDIwOyAgICAgLyogRmlsbSBzdHJpcCBib3JkZXIvc3Byb2NrZXQgYXJlYSAqL1xuXG4gIC8qID09PSBQYXBlci9QcmludCBDb2xvcnMgPT09ICovXG4gIC0tcGFwZXItY3JlYW06ICNmNWYwZTY7ICAgICAvKiBOZXdzcGFwZXIgYmFja2dyb3VuZCAqL1xuICAtLXBhcGVyLWFnZWQ6ICNlOGUwZDA7ICAgICAgLyogQWdlZCBwYXBlciAqL1xuXG4gIC8qID09PSBUeXBvZ3JhcGh5ID09PSAqL1xuICAtLWZvbnQtbW9ubzogJ1NoYXJlIFRlY2ggTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTtcbiAgLS1mb250LWRpc3BsYXk6ICdWVDMyMycsIG1vbm9zcGFjZTtcblxuICAvKiA9PT0gU3BhY2luZyA9PT0gKi9cbiAgLS1zcGFjaW5nLXhzOiA0cHg7XG4gIC0tc3BhY2luZy1zbTogOHB4O1xuICAtLXNwYWNpbmctbWQ6IDEycHg7XG4gIC0tc3BhY2luZy1sZzogMTZweDtcbiAgLS1zcGFjaW5nLXhsOiAyNHB4O1xuXG4gIC8qID09PSBUb3VjaCBUYXJnZXRzIChhY2Nlc3NpYmlsaXR5KSA9PT0gKi9cbiAgLS10b3VjaC10YXJnZXQtbWluOiA0NHB4OyAgIC8qIFdDQUcgbWluaW11bSB0b3VjaCB0YXJnZXQgKi9cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMi4gUkVTRVQgJiBCQVNFIFNUWUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qIFByZXZlbnQgaG9yaXpvbnRhbCBvdmVyZmxvdyBvbiBmb2xkYWJsZS91bnVzdWFsIGFzcGVjdCByYXRpbyBkZXZpY2VzICovXG5odG1sLCBib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBQcmV2ZW50IHRleHQgc2VsZWN0aW9uIG9uIFVJIGVsZW1lbnRzIChidXQgYWxsb3cgb24gY29udGVudCkgKi9cbi5uby1zZWxlY3Qge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMy4gQVBQIFNIRUxMIC0gTWFpbiBMYXlvdXQgQ29udGFpbmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBUaGUgYXBwIHNoZWxsIGlzIGEgZml4ZWQsIGZ1bGwtdmlld3BvcnQgY29udGFpbmVyIHVzaW5nIGZsZXhib3guXG4gICBMYXlvdXQ6IEhlYWRlciAtPiBTdGFnZSAoaGVybykgLT4gU2lkZWJhciAodGh1bWJuYWlscylcblxuICAgT24gbW9iaWxlOiB2ZXJ0aWNhbCBzdGFja1xuICAgT24gZGVza3RvcDogc2lkZWJhciBtb3ZlcyB0byBsZWZ0IHNpZGVcbiovXG5cbi5hcHAtc2hlbGwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEZpbGxzIGVudGlyZSB2aWV3cG9ydCAqL1xuICAvKiBVc2UgZHluYW1pYyB2aWV3cG9ydCBoZWlnaHQgdG8gaGFuZGxlIG1vYmlsZSBicm93c2VyIGNocm9tZSAqL1xuICBoZWlnaHQ6IDEwMHZoO1xuICBoZWlnaHQ6IDEwMGR2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDExcHg7ICAgICAgICAgICAgICAgICAgICAgICAvKiBCYXNlIHNpemUgZm9yIG1vYmlsZSAqL1xuICAvKiBTYWZlIGFyZWEgaW5zZXRzIGZvciBub3RjaGVkL2ZvbGRhYmxlIGRldmljZXMgKi9cbiAgcGFkZGluZy1sZWZ0OiBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpO1xuICBwYWRkaW5nLXJpZ2h0OiBlbnYoc2FmZS1hcmVhLWluc2V0LXJpZ2h0KTtcbiAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbn1cblxuLyogQ1JUIFNjYW5saW5lcyBPdmVybGF5IEVmZmVjdCAoVGVybWluYWwgdGhlbWUgb25seSlcbiAgIENyZWF0ZXMgaG9yaXpvbnRhbCBsaW5lcyBsaWtlIGFuIG9sZCBDUlQgbW9uaXRvci5cbiAgIFVzZXMgcHNldWRvLWVsZW1lbnQgdG8gYXZvaWQgYWZmZWN0aW5nIGNvbnRlbnQgaW50ZXJhY3Rpb24uXG4qL1xuLmFwcC1zaGVsbC50aGVtZS10ZXJtaW5hbDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAgICAgICAgICAgICAgICAgIC8qIENsaWNrLXRocm91Z2ggKi9cbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAwZGVnLFxuICAgIHRyYW5zcGFyZW50IDBweCxcbiAgICB0cmFuc3BhcmVudCAycHgsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjE1KSAycHgsXG4gICAgcmdiYSgwLCAwLCAwLCAwLjE1KSA0cHhcbiAgKTtcbiAgei1pbmRleDogOTk5OTsgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWJvdmUgZXZlcnl0aGluZyAqL1xufVxuXG4vKiBTdGF0ZTogc2lkZWJhciBoaWRkZW4gKi9cbi5hcHAtc2hlbGwuc2lkZWJhci1oaWRkZW4gLnNpZGViYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA0LiBIRUFERVIgQkFSIC0gVkNSIFN0YXR1cyBTdHlsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgVG9wIGJhciBzaG93aW5nOlxuICAgLSBCcmFuZCBuYW1lIChsZWZ0KVxuICAgLSBTdGF0dXMgaW5kaWNhdG9yczogTElWRS9SRUMsIGZyYW1lIGNvdW50IChyaWdodClcbiovXG5cbi5oZWFkZXItYmFyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJhMjYyMiAwJSwgIzFhMTYxMiAxMDAlKTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzYTM2MzI7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIERvbid0IGNvbXByZXNzICovXG59XG5cbi5oZWFkZXItYnJhbmQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMjU1LCAxNzYsIDAsIDAuNSk7ICAvKiBHbG93IGVmZmVjdCAqL1xufVxuXG4uaGVhZGVyLXN0YXR1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4vKiBSZWNvcmRpbmcgaW5kaWNhdG9yIChyZWQgZG90ICsgXCJMSVZFXCIgb3IgXCJSRUNcIikgKi9cbi5yZWMtaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtcmVkKTtcbn1cblxuLnJlYy1kb3Qge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LXJlZCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLnJlYy1kb3QuYWN0aXZlIHtcbiAgYW5pbWF0aW9uOiBibGluay1yZWMgMXMgaW5maW5pdGU7XG59XG5cbi5yZWMtaW5kaWNhdG9yLmluYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlci1kaW0pO1xufVxuXG4ucmVjLWluZGljYXRvci5pbmFjdGl2ZSAucmVjLWRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlci1kaW0pO1xufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rLXJlYyB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjM7IH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgNS4gTUFJTiBTVEFHRSAtIEhlcm8gSW1hZ2UgRGlzcGxheVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgQ2VudGVyIGFyZWEgd2hlcmUgdGhlIHNlbGVjdGVkIHBob3RvIGlzIGRpc3BsYXllZC5cbiAgIENvbnRhaW5zOlxuICAgLSBIZXJvIGltYWdlIHdyYXBwZXIgKGZpbG0gZnJhbWUgZWZmZWN0KVxuICAgLSBUYXAgem9uZXMgZm9yIHByZXYvbmV4dCBuYXZpZ2F0aW9uXG4gICAtIERhdGUgc3RhbXAgb3ZlcmxheSAoS29kYWsgc3R5bGUpXG4gICAtIEZyYW1lIGNvdW50ZXJcbiAgIC0gQnJvYWRjYXN0IGJhbm5lclxuICAgLSBQZXJzb24gZmlsdGVyIGJhbm5lclxuKi9cblxuLnN0YWdlIHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogMDsgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWxsb3cgc2hyaW5raW5nIGluIGZsZXhib3ggKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ibGFjayk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNpbmctc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBNb2JpbGU6IG5hdiBhdCB0b3AsIGJvcmRlciBvbiBib3R0b20gKi9cbi5zdGFnZSAubmF2LWNvbnRyb2xzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2EzNjMyO1xufVxuXG4uc3RhZ2UgLmhlcm8td3JhcHBlciB7XG4gIGZsZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlOyAgLyogVGFrZSBmdWxsIHdpZHRoIG9mIHN0YWdlICovXG59XG5cbi8qIEZpbG0gRnJhbWUgQm9yZGVyXG4gICBDcmVhdGVzIGEgZnJhbWUgYXJvdW5kIHRoZSBoZXJvIGltYWdlIGxpa2UgYSBmaWxtIG5lZ2F0aXZlXG4qL1xuLmhlcm8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7ICAvKiBGaWxsIGF2YWlsYWJsZSBzcGFjZSAqL1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tZmlsbS1ib3JkZXIpO1xuICBwYWRkaW5nOiA0cHg7XG4gIGJveC1zaGFkb3c6XG4gICAgaW5zZXQgMCAwIDMwcHggcmdiYSgwLDAsMCwwLjUpLCAgICAgICAvKiBJbm5lciBzaGFkb3cgKi9cbiAgICAwIDAgMjBweCByZ2JhKDI1NSwgMTc2LCAwLCAwLjEpOyAgICAgICAvKiBPdXRlciBnbG93ICovXG59XG5cbi8qIEhlcm8gSW1hZ2UgLSBtYWludGFpbnMgY29uc2lzdGVudCBjb250YWluZXIgc2l6ZSByZWdhcmRsZXNzIG9mIGFzcGVjdCByYXRpbyAqL1xuLnN0YWdlIGltZy5oZXJvLFxuLnN0YWdlIHZpZGVvLmhlcm8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7ICAvKiBGaWxsIHRoZSB3cmFwcGVyICovXG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47ICAvKiBGaXQgaW1hZ2Ugd2l0aGluLCBtYWludGFpbmluZyBhc3BlY3QgcmF0aW8gKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFRhcCBab25lcyBmb3IgTmF2aWdhdGlvblxuICAgSW52aXNpYmxlIGFyZWFzIG9uIGxlZnQvcmlnaHQgc2lkZXMgZm9yIHByZXYvbmV4dCBuYXZpZ2F0aW9uXG4qL1xuLnRhcC16b25lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDI1JTtcbiAgei1pbmRleDogNTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgIC8qIFJlbW92ZSBpT1MgdGFwIGhpZ2hsaWdodCAqL1xufVxuXG4udGFwLXpvbmUucHJldiB7IGxlZnQ6IDA7IH1cbi50YXAtem9uZS5uZXh0IHsgcmlnaHQ6IDA7IH1cbi50YXAtem9uZTphY3RpdmUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjEpOyB9XG5cbi8qIERhdGUgU3RhbXAgKEtvZGFrIHN0eWxlLCBib3R0b20tcmlnaHQgb2YgaW1hZ2UpICovXG4uZGF0ZS1zdGFtcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMnB4O1xuICByaWdodDogMTJweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLWtvZGFrLXJlZCk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMTUsIDAsIDAuOSk7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qIEZyYW1lIENvdW50ZXIgKHRvcC1sZWZ0KSAqL1xuLmZyYW1lLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA4cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5cbi8qIEJyb2FkY2FzdCBCYW5uZXIgKGNlbnRlcmVkLCB0b3ApICovXG4uYmFubmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHotaW5kZXg6IDEwMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LXJlZCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogNHB4IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGFuaW1hdGlvbjogZmxhc2gtYmFubmVyIDJzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoLWJhbm5lciB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjc7IH1cbn1cblxuLyogUGVyc29uL09iamVjdCBGaWx0ZXIgQmFubmVyIChjZW50ZXJlZCwgYm90dG9tKSAqL1xuLmZpbHRlci1iYW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogOHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgei1pbmRleDogMTAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtZ3JlZW4pO1xuICBjb2xvcjogdmFyKC0tY3J0LWJsYWNrKTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xufVxuXG4uZmlsdGVyLWJhbm5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYmxhY2spO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jcnQtZ3JlZW4pO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmlsdGVyLWJhbm5lci5vYmplY3QtZmlsdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6IHZhcigtLWNydC1ibGFjayk7XG59XG5cbi5maWx0ZXItYmFubmVyLm9iamVjdC1maWx0ZXIgYnV0dG9uIHtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG59XG5cbi8qIERvd25sb2FkIEFsbCBCdXR0b24gKGluIGZpbHRlciBiYW5uZXIpICovXG4uZG93bmxvYWQtYWxsLWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmMGMwNjA7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgbWFyZ2luOiAwIDhweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZG93bmxvYWQtYWxsLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmQwODA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDYuIFNJREVCQVIgLSBUaHVtYm5haWwgU3RyaXAgKEZpbG0gUm9sbClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEhvcml6b250YWwgc2Nyb2xsaW5nIHN0cmlwIG9mIHRodW1ibmFpbCBpbWFnZXMuXG4gICBTdHlsZWQgbGlrZSBhIGZpbG0gcm9sbCB3aXRoIHNwcm9ja2V0IGhvbGVzIG9uIGVkZ2VzLlxuKi9cblxuLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtZGFyayk7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjM2EzNjMyO1xuICBmbGV4LXNocmluazogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAxNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDQ1cHg7ICAgICAgICAgICAgICAgICAgLyogU3BhY2UgZm9yIGNvbnRhY3Qgc2hlZXQgdG9nZ2xlICovXG59XG5cbi5zaWRlYmFyLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEZpbG0gU3RyaXAgSGVhZGVyIChzaG93cyBmcmFtZSBjb3VudCkgKi9cbi5zdHJpcC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1maWxtLWJvcmRlcik7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXItZGltKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzYTM2MzI7XG59XG5cbi8qIFRodW1ibmFpbCBTY3JvbGwgQXJlYSAqL1xuLnNjcm9sbC13cmFwcGVyIHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1maWxtLWJvcmRlcik7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgICAgIC8qIFNtb290aCBzY3JvbGwgb24gaU9TICovXG59XG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycHg7XG4gIHBhZGRpbmc6IDRweCAxNnB4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIEZpbG0gU3Byb2NrZXQgRWZmZWN0IChkZWNvcmF0aXZlIGhvbGVzIG9uIHNpZGVzKVxuICAgTm90ZTogVGhpcyB1c2VzIGFic29sdXRlIHBvc2l0aW9uaW5nIHNvIG5lZWRzIHBhcmVudCB0byBiZSByZWxhdGl2ZVxuKi9cbi5zY3JvbGwtd3JhcHBlcjo6YmVmb3JlLFxuLnNjcm9sbC13cmFwcGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTRweDtcbiAgYmFja2dyb3VuZDogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudChcbiAgICAxODBkZWcsXG4gICAgdmFyKC0tZmlsbS1ib3JkZXIpIDBweCxcbiAgICB2YXIoLS1maWxtLWJvcmRlcikgNnB4LFxuICAgICMwYTA4MDYgNnB4LFxuICAgICMwYTA4MDYgMTJweFxuICApO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyogSW5kaXZpZHVhbCBUaHVtYm5haWwgKi9cbi50aHVtYiB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogIzFhMTQxMDtcbiAgcGFkZGluZzogMnB4O1xuICBvcGFjaXR5OiAwLjY7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEaW0gdW5zZWxlY3RlZCAqL1xufVxuXG4udGh1bWIuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG59XG5cbi50aHVtYiBwaWN0dXJlIHtcbiAgZGlzcGxheTogY29udGVudHM7ICAgICAgICAgICAgICAgICAgICAgICAvKiBQaWN0dXJlIGRvZXNuJ3QgYWZmZWN0IGxheW91dCAqL1xufVxuXG4udGh1bWIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgYmFja2dyb3VuZDogIzBhMDgwNjtcbiAgaW1hZ2Utb3JpZW50YXRpb246IGZyb20taW1hZ2U7ICAvKiBSZXNwZWN0IEVYSUYgb3JpZW50YXRpb24gKi9cbn1cblxuLyogRnJhbWUgTnVtYmVyIG9uIFRodW1ibmFpbCAoYm90dG9tLXJpZ2h0KSAqL1xuLnRodW1iOjphZnRlciB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1mcmFtZSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxcHg7XG4gIHJpZ2h0OiAycHg7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBjb2xvcjogdmFyKC0ta29kYWstcmVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDcuIE5BVklHQVRJT04gQ09OVFJPTFMgLSBWQ1IgVHJhbnNwb3J0IEJ1dHRvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEJvdHRvbSBjb250cm9sIGJhciB3aXRoOlxuICAgLSBQcmV2L05leHQgYXJyb3dzXG4gICAtIERhdGUgcGlja2VyXG4gICAtIFNvcnQgdG9nZ2xlXG4gICAtIEljb24gYnV0dG9ucyAoaW5mbywgZmFjZXMsIHNlYXJjaCwgZXRjLilcbiovXG5cbi5uYXYtY29udHJvbHMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmEyNjIyIDAlLCAjMWExNjEyIDEwMCUpO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzNhMzYzMjtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE1MDtcbn1cblxuLyogVkNSLXN0eWxlIEJ1dHRvbiAqL1xuLm5hdi1idG4ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjM2EzNjMyIDAlLCAjMmEyNjIyIDUwJSwgIzFhMTYxMiAxMDAlKTtcbiAgYm9yZGVyOiAycHggc29saWQgIzRhNDY0MjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzFhMTYxMjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMWExNjEyO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAzNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBCdXR0b24gcHJlc3MgZWZmZWN0IChpbnZlcnRlZCBiZXZlbCkgKi9cbi5uYXYtYnRuOmFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogIzFhMTYxMjtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzRhNDY0MjtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM0YTQ2NDI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxYTE2MTIgMCUsICMyYTI2MjIgNTAlLCAjM2EzNjMyIDEwMCUpO1xufVxuXG4vKiBBY3RpdmUgc3RhdGUgKGdyZWVuIGdsb3cpICovXG4ubmF2LWJ0bi5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tY3J0LWdyZWVuKTtcbiAgdGV4dC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tY3J0LWdyZWVuKTtcbn1cblxuLyogSWNvbiBidXR0b25zIC0gaGlkZGVuIG9uIG1vYmlsZSBieSBkZWZhdWx0ICovXG4ubmF2LWJ0bi5pY29uLWJ0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uYXYtc3BhY2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogRGF0ZSBEaXNwbGF5IChMRUQtc3R5bGUpICovXG4uZGF0ZS1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogIzFhMGEwMDtcbiAgYm9yZGVyOiAzcHggaW5zZXQgIzNhMmExYTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAxMDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZGF0ZS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNydC1hbWJlcik7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZGF0ZS1kZXRhaWwge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyLWRpbSk7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgOC4gU0VBUkNIIElOVEVSRkFDRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5zZWFyY2gtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2VhcmNoLWNvbnRhaW5lci5hY3RpdmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHdpZHRoOiAxNTBweDtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDE3NiwgMCwgMC41KTtcbn1cblxuLnNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3J0LWdyZWVuKTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDUxLCAyNTUsIDUxLCAwLjMpO1xufVxuXG4uc2VhcmNoLXJlc3VsdHMtY291bnQge1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uc2VhcmNoLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyYTI2MjIgMCUsICMxYTE2MTIgMTAwJSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBtYXJnaW46IDRweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc2VhcmNoLWJhbm5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4uc2VhcmNoLWJhbm5lciBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjIpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA5LiBEQVRFIFNFTEVDVCBEUk9QRE9XTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRGlyZWN0IGRhdGUgbmF2aWdhdGlvbiBkcm9wZG93biBzdHlsZWQgbGlrZSBMRUQgZGlzcGxheS5cbiAgIFJlcGxhY2VzIHRoZSBkYXRlIHBpY2tlciBtb2RhbCBvbiBzbWFsbGVyIHNjcmVlbnMuXG4qL1xuXG4uZGF0ZS1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjMWEwYTAwO1xuICBib3JkZXI6IDNweCBpbnNldCAjM2EyYTFhO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNydC1hbWJlcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAxNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmRhdGUtc2VsZWN0IG9wdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMxYTBhMDA7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTAuIE1FVEEgRElTUExBWSAtIEZsb3BweSBEaXNrIExhYmVsIFN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBTaG93cyBFWElGIGRhdGEsIHRhZ3MsIGFuZCBzY2VuZSBkZXNjcmlwdGlvbi5cbiAgIFN0eWxlZCBsaWtlIGFuIG9sZCAzLjVcIiBmbG9wcHkgZGlzayBsYWJlbC5cbiAgIEhpZGRlbiBvbiBtb2JpbGUsIHNob3duIG9uIGRlc2t0b3Agc2lkZWJhci5cbiovXG5cbi5tZXRhLWRpc3BsYXkge1xuICBkaXNwbGF5OiBub25lOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2U4ZTBkMCAwJSwgI2QwYzhiOCAxMDAlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2EwOTA4MDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBmb250LXNpemU6IDlweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBcIlBIT1RPIERBVEFcIiBsYWJlbCBhdCB0b3AtbGVmdCAqL1xuLm1ldGEtZGlzcGxheTo6YmVmb3JlIHtcbiAgY29udGVudDogJ1BIT1RPIERBVEEnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLThweDtcbiAgbGVmdDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZDBjOGI4O1xuICBwYWRkaW5nOiAwIDRweDtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGNvbG9yOiAjNjY2O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4ubWV0YS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDJweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNhMDkwODA7XG59XG5cbi5tZXRhLXJvdzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLm1ldGEtdmFsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay1yZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLm1ldGEtaWQge1xuICBjb2xvcjogIzMzMztcbn1cblxuLyogRGVza3RvcC1vbmx5IGV4cG9zdXJlIGRhdGEgKi9cbi5kZXNrdG9wLWV4cG9zdXJlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogNnB4O1xufVxuXG4vKiBDTElQIHRhZ3MgYW5kIHNjZW5lIGRlc2NyaXB0aW9uICovXG4ubWV0YS10YWdzLFxuLm1ldGEtb2JqZWN0cyB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubWV0YS10YWdzLXZhbCxcbi5tZXRhLW9iamVjdHMtdmFsIHtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5tZXRhLXBlb3BsZS12YWwge1xuICBmb250LXNpemU6IDhweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbi5tZXRhLXBlcnNvbi1saW5rIHtcbiAgY29sb3I6ICM4MDgwZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5tZXRhLXBlcnNvbi1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNhYWEwZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubWV0YS1zY2VuZSB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZXRhLXNjZW5lID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbn1cblxuLm1ldGEtc2NlbmUtdmFsIHtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxMS4gRE9XTkxPQUQgUEFORUwgLSBGaWxtIENhbmlzdGVyIFN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBLb2Rhay1zdHlsZWQgZG93bmxvYWQgYnV0dG9uLlxuICAgSGlkZGVuIG9uIG1vYmlsZSwgc2hvd24gaW4gZGVza3RvcCBzaWRlYmFyLlxuKi9cblxuLmRvd25sb2FkLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBIaWRkZW4gb24gbW9iaWxlICovXG4gIHBhZGRpbmc6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWRhcmspO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzNhMzYzMjtcbn1cblxuLmRvd25sb2FkLWJ0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1rb2Rhay15ZWxsb3cpO1xuICBjb2xvcjogdmFyKC0ta29kYWstcmVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0ta29kYWstcmVkKTtcbn1cblxuLmRvd25sb2FkLWJ0bjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1rb2Rhay1yZWQpO1xuICBjb2xvcjogdmFyKC0ta29kYWsteWVsbG93KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTIuIFNIQVJFIFBBTkVMICYgTU9EQUwgLSBBZG1pbiBGZWF0dXJlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBBbGxvd3MgYWRtaW4gdG8gc2hhcmUgYSBkaXJlY3QgcHVyY2hhc2UgbGluayB3aXRoIHBob3RvIHN1YmplY3RzLlxuICAgR3JlZW4gY29sb3Igc2NoZW1lIChkaXN0aW5ndWlzaGVzIGZyb20gYW1iZXIva29kYWsgcGFsZXR0ZSkuXG4qL1xuXG4uc2hhcmUtcGFuZWwge1xuICBkaXNwbGF5OiBub25lOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhpZGRlbiBvbiBtb2JpbGUgKi9cbiAgcGFkZGluZzogOHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtZGFyayk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjM2EzNjMyO1xufVxuXG4uc2hhcmUtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMyYTRhMmE7XG4gIGNvbG9yOiAjNjBmMDYwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzYwZjA2MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2hhcmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzNhNWEzYTtcbn1cblxuLnNoYXJlLWJ0bjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjNjBmMDYwO1xuICBjb2xvcjogIzJhNGEyYTtcbn1cblxuLmRlbGV0ZS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjNGEyYTJhO1xuICBjb2xvcjogI2YwNjA2MDtcbiAgYm9yZGVyLWNvbG9yOiAjZjA2MDYwO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5kZWxldGUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzVhM2EzYTtcbn1cblxuLmRlbGV0ZS1idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2YwNjA2MDtcbiAgY29sb3I6ICM0YTJhMmE7XG59XG5cbi8qIE1vZGFsIE92ZXJsYXkgKGRhcmtlbnMgYmFja2dyb3VuZCkgKi9cbi5zaGFyZS1tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgei1pbmRleDogNjAwO1xufVxuXG4vKiBNb2RhbCBDb250YWluZXIgKi9cbi5zaGFyZS1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC13aWR0aDogNDUwcHg7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM2MGYwNjA7XG4gIHotaW5kZXg6IDYwMTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi5zaGFyZS1tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHggMTZweDtcbiAgYmFja2dyb3VuZDogIzJhNGEyYTtcbiAgY29sb3I6ICM2MGYwNjA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cblxuLnNoYXJlLW1vZGFsLWhlYWRlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzYwZjA2MDtcbiAgY29sb3I6ICM2MGYwNjA7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4uc2hhcmUtbW9kYWwtaGVhZGVyIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM2MGYwNjA7XG4gIGNvbG9yOiAjMWExYTFhO1xufVxuXG4uc2hhcmUtbW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5zaGFyZS1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjYWFhO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFVSTCBDb3B5IFNlY3Rpb24gKi9cbi5zaGFyZS11cmwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnNoYXJlLXVybC1pbnB1dCB7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NDQ7XG4gIGNvbG9yOiAjZjBjMDYwO1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1vbmFjbywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5jb3B5LWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmMGMwNjA7XG4gIGNvbG9yOiAjMWExYTFhO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmNvcHktYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZDA4MDtcbn1cblxuLmNvcHktYnRuLmNvcGllZCB7XG4gIGJhY2tncm91bmQ6ICM2MGYwNjA7XG59XG5cbi5zaGFyZS1jb3B5LWZlZWRiYWNrIHtcbiAgY29sb3I6ICM2MGYwNjA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWluLWhlaWdodDogMThweDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLyogRW1haWwgU2VjdGlvbiAqL1xuLnNoYXJlLXNlY3Rpb24tbGFiZWwge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLnNoYXJlLWVtYWlsLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5zaGFyZS1lbWFpbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbn1cblxuLnNoYXJlLWVtYWlsLWlucHV0IHtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ0NDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uc2hhcmUtZW1haWwtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi5zaGFyZS1lbWFpbC1pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzYwZjA2MDtcbn1cblxuLnNlbmQtYnRuIHtcbiAgYmFja2dyb3VuZDogIzYwZjA2MDtcbiAgY29sb3I6ICMxYTFhMWE7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtaW4td2lkdGg6IDcwcHg7XG59XG5cbi5zZW5kLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM4MGZmODA7XG59XG5cbi5zZW5kLWJ0bjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQ6ICM0NDQ7XG4gIGNvbG9yOiAjODg4O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uc2hhcmUtZW1haWwtZmVlZGJhY2sge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uc2hhcmUtZW1haWwtZmVlZGJhY2suc3VjY2VzcyB7XG4gIGNvbG9yOiAjNjBmMDYwO1xufVxuXG4uc2hhcmUtZW1haWwtZmVlZGJhY2suZXJyb3Ige1xuICBjb2xvcjogI2ZmNmI2Yjtcbn1cblxuLnNoYXJlLW5vdGUge1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIEFzc2lnbiB0byBQZXJzb24gYnV0dG9uIChuZXh0IHRvIHNoYXJlKSAqL1xuLmFzc2lnbi1wZXJzb24tYnRuIHtcbiAgYmFja2dyb3VuZDogIzJhMmE0YSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM2MDYwZjAgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2MDYwZjAgIWltcG9ydGFudDtcbn1cbi5hc3NpZ24tcGVyc29uLWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM2MDYwZjAgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxYTFhMWEgIWltcG9ydGFudDtcbn1cblxuLyogQXNzaWduIHRvIFBlcnNvbiBNb2RhbCAqL1xuLmFzc2lnbi1wZXJzb24tbW9kYWwge1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmFzc2lnbi1wZXJzb24tbW9kYWwgLnNoYXJlLW1vZGFsLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMyYTJhNGE7XG4gIGNvbG9yOiAjODA4MGZmO1xufVxuLmFzc2lnbi1wZXJzb24tbW9kYWwgLnNoYXJlLW1vZGFsLWhlYWRlciBidXR0b24ge1xuICBib3JkZXItY29sb3I6ICM4MDgwZmY7XG4gIGNvbG9yOiAjODA4MGZmO1xufVxuLmFzc2lnbi1wZXJzb24tbW9kYWwgLnNoYXJlLW1vZGFsLWhlYWRlciBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjODA4MGZmO1xuICBjb2xvcjogIzFhMWExYTtcbn1cbi5hc3NpZ24tcGVyc29uLW1vZGFsIC5zaGFyZS1tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZmxleDogMTtcbn1cbi5hc3NpZ24tcGVyc29uLXNlYXJjaCB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4uYXNzaWduLXBlcnNvbi1saXN0IHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogNDAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xufVxuLmFzc2lnbi1wZXJzb24taXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5hc3NpZ24tcGVyc29uLWl0ZW06aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM1NTU7XG59XG4uYXNzaWduLXBlcnNvbi1pdGVtLmFscmVhZHktYXNzaWduZWQge1xuICBvcGFjaXR5OiAwLjY7XG59XG4uYXNzaWduLXBlcnNvbi1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG59XG4uYXNzaWduLXBlcnNvbi1uYW1lIHtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5hc3NpZ24tcGVyc29uLWNvdW50IHtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbi5hc3NpZ24tcGVyc29uLWFjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMyYTJhNGE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2MDYwZjA7XG4gIGNvbG9yOiAjNjA2MGYwO1xuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuLmFzc2lnbi1wZXJzb24tYWN0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzYwNjBmMDtcbiAgY29sb3I6ICNmZmY7XG59XG4uYXNzaWduLXBlcnNvbi1iYWRnZSB7XG4gIGNvbG9yOiAjNGFkZTgwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEzLiBJTkZPIE1PREFMIC0gTmV3c3BhcGVyIFN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGdWxsLXNjcmVlbiBpbmZvIG92ZXJsYXkgc2hvd2luZzpcbiAgIC0gU2l0ZSBpbmZvL2Jpb1xuICAgLSBLZXlib2FyZCBzaG9ydGN1dHMgKGRlc2t0b3ApXG5cbiAgIFN0eWxlZCBsaWtlIGEgdmludGFnZSBuZXdzcGFwZXIgY2xpcHBpbmcuXG4qL1xuXG4uaW5mby1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIHotaW5kZXg6IDUwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5pbmZvLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGFwZXItY3JlYW0pO1xuICBjb2xvcjogIzFhMWExYTtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1mYW1pbHk6ICdDb3VyaWVyIFByaW1lJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICBib3JkZXI6IDNweCBkb3VibGUgIzFhMWExYTtcbiAgbWF4LWhlaWdodDogOTB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmluZm8taGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMxYTFhMWE7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pbmZvLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbn1cblxuLmNsb3NlLWJ0biB7XG4gIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLXBhcGVyLWNyZWFtKTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmluZm8tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLyogS2V5Ym9hcmQgU2hvcnRjdXQgVGFibGUgKi9cbi5zaG9ydGN1dC10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IDExcHg7XG59XG5cbi5zaG9ydGN1dC10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDZweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM5OTk7XG59XG5cbi5zaG9ydGN1dC1rZXkge1xuICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICBjb2xvcjogdmFyKC0tcGFwZXItY3JlYW0pO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiBEZXNrdG9wLW9ubHkgY29udGVudCAoa2V5Ym9hcmQgc2hvcnRjdXRzLCBldGMpICovXG4uZGVza3RvcC1vbmx5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTQuIERBVEUgUElDS0VSIE1PREFMXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBQb3AtdXAgY2FsZW5kYXIgZm9yIGRpcmVjdCBkYXRlIHNlbGVjdGlvbi5cbiAgIFVzZXMgdGVybWluYWwgYW1iZXIgY29sb3Igc2NoZW1lLlxuKi9cblxuLmRhdGUtcGlja2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDgwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmEyNjIyIDAlLCAjMWExNjEyIDEwMCUpO1xuICBib3JkZXI6IDNweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBwYWRkaW5nOiAxMnB4O1xuICB6LWluZGV4OiAzMDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4uZGF0ZS1waWNrZXIgc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogIzFhMGEwMDtcbiAgYm9yZGVyOiAycHggaW5zZXQgIzNhMmExYTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIHBhZGRpbmc6IDhweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG4uZGF0ZS1waWNrZXIgc2VsZWN0IG9wdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMxYTBhMDA7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBwYWRkaW5nOiA0cHg7XG59XG5cbi5kYXRlLXBpY2tlci1idG5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5kYXRlLXBpY2tlci1idG5zIGJ1dHRvbiB7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNydC1ibGFjayk7XG4gIHBhZGRpbmc6IDhweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTUuIEZBQ0UgREVURUNUSU9OIE9WRVJMQVlTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBHcmVlbiBib3VuZGluZyBib3hlcyBhcm91bmQgZGV0ZWN0ZWQgZmFjZXMuXG4gICBDbGlja2luZyBuYXZpZ2F0ZXMgdG8gb3RoZXIgcGhvdG9zIG9mIHRoYXQgcGVyc29uLlxuICAgTGFiZWxzIGhpZGRlbiBieSBkZWZhdWx0LCBzaG93biBvbiBob3Zlci90YXAuXG4qL1xuXG4uZmFjZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgICAgICAgICAgICAgICAgICAgIC8qIENsaWNrIHRocm91Z2ggdG8gaW1hZ2UgKi9cbn1cblxuLmZhY2UtYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcnQtZ3JlZW4pO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDUxLCAyNTUsIDUxLCAwLjEpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyAgICAgICAgICAgICAgICAgICAgLyogQm94ZXMgQVJFIGNsaWNrYWJsZSAqL1xufVxuXG4uZmFjZS1ib3ggLmZhY2UtbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTE2cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYmxhY2spO1xuICBjb2xvcjogdmFyKC0tY3J0LWdyZWVuKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZzogMXB4IDZweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3BhY2l0eTogMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBIaWRkZW4gYnkgZGVmYXVsdCAqL1xufVxuXG4uZmFjZS1ib3g6YWN0aXZlIC5mYWNlLWxhYmVsIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTYuIE9CSkVDVCBERVRFQ1RJT04gT1ZFUkxBWVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEFtYmVyIGJvdW5kaW5nIGJveGVzIGFyb3VuZCBkZXRlY3RlZCBvYmplY3RzIChjYXJzLCBhbmltYWxzLCBldGMpLlxuICAgQ2xpY2tpbmcgbmF2aWdhdGVzIHRvIG90aGVyIHBob3RvcyB3aXRoIHNhbWUgb2JqZWN0IHR5cGUuXG4gICBTYW1lIHBhdHRlcm4gYXMgZmFjZSBib3hlcyBidXQgZGlmZmVyZW50IGNvbG9yLlxuKi9cblxuLm9iamVjdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm9iamVjdC1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzYsIDAsIDAuMTUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ub2JqZWN0LWJveCAub2JqZWN0LWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xOHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ub2JqZWN0LWJveDpob3ZlciAub2JqZWN0LWxhYmVsLFxuLm9iamVjdC1ib3g6YWN0aXZlIC5vYmplY3QtbGFiZWwge1xuICBvcGFjaXR5OiAxO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxNy4gVklERU8gUExBWUVSIC0gVkNSIFN0eWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGdWxsIENSVC9WQ1IgYWVzdGhldGljIGZvciB2aWRlbyBwbGF5YmFjazpcbiAgIC0gUGhvc3Bob3IgZ2xvdyBlZmZlY3RcbiAgIC0gVkNSIHRyYW5zcG9ydCBjb250cm9scyAocGxheSwgcGF1c2UsIHNjcnViYmVyKVxuICAgLSBUaW1lIGRpc3BsYXlcbiAgIC0gVm9sdW1lIHNsaWRlclxuICAgLSBNdXRlIGluZGljYXRvclxuICAgLSBBdWRpbyB3YXZlZm9ybSB2aXN1YWxpemF0aW9uXG4qL1xuXG4udmlkZW8tY29udGFpbmVyLFxuLnZpZGVvLXBsYXllci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi52aWRlby1jb250YWluZXIgdmlkZW8sXG4udmlkZW8tcGxheWVyLXdyYXBwZXIgdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuXG4vKiBQaG9zcGhvciBnbG93IHJlbW92ZWQgZnJvbSB2aWRlbyBcdTIwMTQgaXQgZGVzYXR1cmF0ZXMgSERSIGNvbnRlbnQgKi9cblxuLyogVkNSIENvbnRyb2wgQmFyIChib3R0b20gZ3JhZGllbnQpICovXG4udmNyLWNvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwwLDAsMC44KSk7XG4gIHBhZGRpbmc6IDQwcHggMTVweCAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBvcGFjaXR5OiAwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEhpZGRlbiB1bnRpbCBob3ZlciAqL1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4udmlkZW8tY29udGFpbmVyOmhvdmVyIC52Y3ItY29udHJvbHMsXG4udmlkZW8tY29udGFpbmVyLmNvbnRyb2xzLXZpc2libGUgLnZjci1jb250cm9scyxcbi52aWRlby1wbGF5ZXItd3JhcHBlcjpob3ZlciAudmNyLWNvbnRyb2xzLFxuLnZpZGVvLXBsYXllci13cmFwcGVyLmNvbnRyb2xzLXZpc2libGUgLnZjci1jb250cm9scyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIFZDUiBUcmFuc3BvcnQgQnV0dG9uICovXG4udmNyLWJ0biB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggdmFyKC0tY3J0LWFtYmVyKTtcbn1cblxuLnZjci1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogdmFyKC0tY3J0LWJsYWNrKTtcbn1cblxuLnZjci1idG4uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWdyZWVuKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnQtZ3JlZW4pO1xuICBjb2xvcjogdmFyKC0tY3J0LWJsYWNrKTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFZDUiBpbmxpbmUgY29udHJvbCBidXR0b25zIChwbGF5LCBtdXRlLCBmdWxsc2NyZWVuKSAqL1xuLnZjci1wbGF5LCAudmNyLW11dGUsIC52Y3ItZnVsbHNjcmVlbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA2cHg7XG4gIG1pbi13aWR0aDogMzZweDtcbiAgbWluLWhlaWdodDogMzZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4IHZhcigtLWNydC1hbWJlcik7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG59XG5cbi52Y3ItcGxheTpob3ZlciwgLnZjci1tdXRlOmhvdmVyLCAudmNyLWZ1bGxzY3JlZW46aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogUXVhbGl0eSBiYWRnZSBcdTIwMTQgc2hvd3MgcmVzb2x1dGlvbiArIEhEUi9TRFIsIHRhcHBhYmxlIHRvIGN5Y2xlICovXG4udmNyLXF1YWxpdHkge1xuICBmb250LWZhbWlseTogJ0lCTSBQbGV4IE1vbm8nLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxNzYsIDAsIDAuMyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnZjci1xdWFsaXR5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG59XG4udmNyLXF1YWxpdHlbZGF0YS1oZHI9XCJ0cnVlXCJdIHtcbiAgY29sb3I6ICMwMGU1ZmY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAyMjksIDI1NSwgMC40KTtcbiAgdGV4dC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLCAyMjksIDI1NSwgMC41KTtcbn1cbi52Y3ItcXVhbGl0eVtkYXRhLW1vZGU9XCJoZHJcIl0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDYwLCA4MCwgMC42KTtcbn1cbi52Y3ItcXVhbGl0eVtkYXRhLW1vZGU9XCJzZHJcIl0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDgwLCA2MCwgMCwgMC42KTtcbn1cblxuLyogVmlkZW86IHN0YWdlIGRyb3BzIHBhZGRpbmcgc28gdmlkZW8gZmlsbHMgZWRnZS10by1lZGdlICovXG4uc3RhZ2U6aGFzKC52aWRlby1wbGF5ZXItd3JhcHBlcikge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiBWaWRlbyBwbGF5ZXIgd3JhcHBlcjogc3RyaXAgZmlsbSBib3JkZXIsIGZpbGwgc3RhZ2UgbGlrZSBpbWFnZXMgZG8gKi9cbi5zdGFnZSAuaGVyby13cmFwcGVyOmhhcygudmlkZW8tcGxheWVyLXdyYXBwZXIpIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4vKiBWaWRlbyB3cmFwcGVyIGZpbGxzIGhlcm8td3JhcHBlciB2aWEgYWJzb2x1dGUgcG9zaXRpb25pbmcgKGJ1bGxldHByb29mKSAqL1xuLnN0YWdlIC52aWRlby1wbGF5ZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGFzcGVjdC1yYXRpbzogdW5zZXQ7XG59XG5cbi8qIEZ1bGxzY3JlZW4gbW9kZSBzdHlsZXMgKi9cbi52aWRlby1wbGF5ZXItd3JhcHBlcjpmdWxsc2NyZWVuIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbn1cblxuLnZpZGVvLXBsYXllci13cmFwcGVyOmZ1bGxzY3JlZW4gdmlkZW8ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4udmlkZW8tcGxheWVyLXdyYXBwZXI6ZnVsbHNjcmVlbiAudmNyLWNvbnRyb2xzIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xufVxuXG4udmlkZW8tcGxheWVyLXdyYXBwZXI6ZnVsbHNjcmVlbjpob3ZlciAudmNyLWNvbnRyb2xzLFxuLnZpZGVvLXBsYXllci13cmFwcGVyOmZ1bGxzY3JlZW4uY29udHJvbHMtdmlzaWJsZSAudmNyLWNvbnRyb2xzIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogVGltZWxpbmUgU2NydWJiZXIgKi9cbi52Y3ItdGltZWxpbmUge1xuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWRhcmspO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXItZGltKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52Y3ItdGltZWxpbmUtcHJvZ3Jlc3Mge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tY3J0LWFtYmVyKTtcbiAgd2lkdGg6IDAlO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGxpbmVhcjtcbn1cblxuLnZjci10aW1lbGluZS1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWJsYWNrKTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCB2YXIoLS1jcnQtYW1iZXIpO1xufVxuXG4vKiBUaW1lIERpc3BsYXkgKi9cbi52Y3ItdGltZSB7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1pbi13aWR0aDogOTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCB2YXIoLS1jcnQtYW1iZXIpO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4vKiBWb2x1bWUgQ29udHJvbCAqL1xuLnZjci12b2x1bWUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbn1cblxuLnZjci12b2x1bWUtc2xpZGVyIHtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtZGFyayk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNydC1hbWJlci1kaW0pO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi52Y3Itdm9sdW1lLXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcnQtYmxhY2spO1xuICBib3gtc2hhZG93OiAwIDAgNXB4IHZhcigtLWNydC1hbWJlcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogTXV0ZSBJbmRpY2F0b3IgKGZsYXNoaW5nIHJlZCkgKi9cbi52Y3ItbXV0ZWQtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNydC1yZWQpO1xuICBjb2xvcjogdmFyKC0tY3J0LXJlZCk7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCB2YXIoLS1jcnQtcmVkKTtcbiAgei1pbmRleDogMTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYW5pbWF0aW9uOiBibGluayAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBibGluayB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjU7IH1cbn1cblxuLyogQXVkaW8gV2F2ZWZvcm0gVmlzdWFsaXphdGlvbiAqL1xuLnZjci13YXZlZm9ybSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA3MHB4O1xuICBsZWZ0OiAxNXB4O1xuICByaWdodDogMTVweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogMnB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3M7XG59XG5cbi52aWRlby1jb250YWluZXI6aG92ZXIgLnZjci13YXZlZm9ybSxcbi52aWRlby1jb250YWluZXIuY29udHJvbHMtdmlzaWJsZSAudmNyLXdhdmVmb3JtLFxuLnZpZGVvLXBsYXllci13cmFwcGVyOmhvdmVyIC52Y3Itd2F2ZWZvcm0sXG4udmlkZW8tcGxheWVyLXdyYXBwZXIuY29udHJvbHMtdmlzaWJsZSAudmNyLXdhdmVmb3JtIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4udmNyLXdhdmVmb3JtLWJhciB7XG4gIGZsZXg6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ncmVlbik7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggdmFyKC0tY3J0LWdyZWVuKTtcbiAgbWluLWhlaWdodDogMnB4O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4wNXM7XG59XG5cbi8qIFJlY29yZGluZyBJbmRpY2F0b3IgKGxpdmUgc3RyZWFtcykgKi9cbi52Y3ItcmVjIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIGxlZnQ6IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBjb2xvcjogdmFyKC0tY3J0LXJlZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtc2hhZG93OiAwIDAgOHB4IHZhcigtLWNydC1yZWQpO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLnZjci1yZWMtZG90IHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LXJlZCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCB2YXIoLS1jcnQtcmVkKTtcbiAgYW5pbWF0aW9uOiBibGluayAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLyogVGltZXN0YW1wIE92ZXJsYXkgKi9cbi52Y3ItdGltZXN0YW1wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggdmFyKC0tY3J0LWFtYmVyKTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyogTW9iaWxlIFRvdWNoIEFyZWEgKi9cbi52aWRlby10b3VjaC1hcmVhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBCaWcgUGxheSBCdXR0b24gT3ZlcmxheSAqL1xuLnZpZGVvLXBsYXktb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMyk7XG4gIHotaW5kZXg6IDY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnZpZGVvLXBsYXktb3ZlcmxheSAucGxheS1pY29uIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgdGV4dC1zaGFkb3c6IDAgMCAyMHB4IHZhcigtLWNydC1hbWJlcik7XG4gIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMjU1LCAxNzYsIDAsIDAuMyk7XG59XG5cbi52aWRlby1wbGF5LW92ZXJsYXk6aG92ZXIgLnBsYXktaWNvbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYmxhY2spO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTguIFNJREVCQVIgVE9HR0xFIEJVVFRPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRml4ZWQgYnV0dG9uIHRvIHNob3cvaGlkZSB0aGUgdGh1bWJuYWlsIHNpZGViYXIuXG4qL1xuXG4uc2lkZWJhci10b2dnbGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogNjBweDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWJvdmUgbmF2LWNvbnRyb2xzICovXG4gIHJpZ2h0OiAxMHB4O1xuICB6LWluZGV4OiAxNTA7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNydC1ibGFjayk7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYmxhY2spO1xuICBwYWRkaW5nOiA4cHggMTJweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAxOS4gUElOIFNDUkVFTiAtIEF1dGhlbnRpY2F0aW9uIE92ZXJsYXlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEZ1bGwtc2NyZWVuIFBJTiBlbnRyeSBmb3IgcHJvdGVjdGVkIGdhbGxlcmllcy5cbiAgIExFRC1zdHlsZSBpbnB1dCBmaWVsZCB3aXRoIFZDUiBidXR0b24uXG4qL1xuXG4ucGluLXNjcmVlbiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYmxhY2spO1xuICB6LWluZGV4OiAxMDAwO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4ucGluLXNjcmVlbiBoMSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXItZGltKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnBpbi1zY3JlZW4gaDIge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHZhcigtLWNydC1hbWJlcik7XG59XG5cbi5waW4tc2NyZWVuIGZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE1cHg7XG59XG5cbi5waW4tc2NyZWVuIGlucHV0IHtcbiAgYmFja2dyb3VuZDogIzFhMGEwMDtcbiAgYm9yZGVyOiAzcHggaW5zZXQgIzNhMmExYTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDEwcHg7XG4gIHdpZHRoOiAyMjBweDtcbn1cblxuLnBpbi1zY3JlZW4gLnN1Ym1pdC1idG4ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjM2EzNjMyIDAlLCAjMmEyNjIyIDUwJSwgIzFhMTYxMiAxMDAlKTtcbiAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDIwcHg7XG4gIHBhZGRpbmc6IDEycHggNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDhweCB2YXIoLS1jcnQtYW1iZXIpO1xufVxuXG4ucGluLXNjcmVlbiAuc3VibWl0LWJ0bjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMWExNjEyIDAlLCAjMmEyNjIyIDUwJSwgIzNhMzYzMiAxMDAlKTtcbn1cblxuLnBpbi1zY3JlZW4gLmVycm9yIHtcbiAgY29sb3I6IHZhcigtLWNydC1yZWQpO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ucGluLXNjcmVlbiAuaGludCB7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXItZGltKTtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjAuIENPTlRBQ1QgU0hFRVQgLSBQdWxsLVVwIFRodW1ibmFpbCBQYW5lbCAoTW9iaWxlKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRnVsbC1oZWlnaHQgcGFuZWwgd2l0aCBncmlkIG9mIGFsbCB0aHVtYm5haWxzLlxuICAgU2xpZGVzIHVwIGZyb20gYm90dG9tIG9uIG1vYmlsZSBkZXZpY2VzLlxuICAgSGlkZGVuIG9uIHRhYmxldHMvZGVza3RvcCAodGhleSBoYXZlIHNpZGViYXIpLlxuKi9cblxuLyogVG9nZ2xlIEJhciBhdCBCb3R0b20gKi9cbi5jb250YWN0LXNoZWV0LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJhMjYyMiAwJSwgIzFhMTYxMiAxMDAlKTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIHBhZGRpbmc6IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLyogVGhlIFBhbmVsIEl0c2VsZiAqL1xuLmNvbnRhY3Qtc2hlZXQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogNzB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbiAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLWNydC1hbWJlcik7XG4gIHotaW5kZXg6IDIwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYW5pbWF0aW9uOiBzbGlkZVVwIDAuMnMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG4gIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgdG8geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuLmNvbnRhY3Qtc2hlZXQtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzJhMjYyMiAwJSwgIzFhMTYxMiAxMDAlKTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjM2EzNjMyO1xufVxuXG4uY29udGFjdC1zaGVldC1oZWFkZXIgc3BhbiB7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uY29udGFjdC1zaGVldC1oZWFkZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFRodW1ibmFpbCBHcmlkICovXG4uY29udGFjdC1zaGVldC1ncmlkIHtcbiAgZmxleDogMTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgcGFkZGluZzogMTBweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ2FwOiA4cHg7XG59XG5cbi5jb250YWN0LXNoZWV0LWdyaWQgcGljdHVyZSB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzOyAgICAgICAgICAgICAgICAgICAgICAgLyogUGljdHVyZSBkb2Vzbid0IGFmZmVjdCBsYXlvdXQgKi9cbn1cblxuLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgaW1hZ2Utb3JpZW50YXRpb246IGZyb20taW1hZ2U7ICAvKiBSZXNwZWN0IEVYSUYgb3JpZW50YXRpb24gKi9cbn1cblxuLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcuc2VsZWN0ZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHZhcigtLWNydC1hbWJlcik7XG59XG5cbi8qIEZyYW1lIG51bWJlciBvdmVybGF5IG9uIGNvbnRhY3Qgc2hlZXQgdGlsZXMgKi9cbi5jb250YWN0LXNoZWV0LWdyaWQgYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb250YWN0LXNoZWV0LWdyaWQgYTo6YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKGRhdGEtZnJhbWUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMnB4O1xuICByaWdodDogNHB4O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGNvbG9yOiB2YXIoLS1rb2Rhay1yZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgdGV4dC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjgpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogT3ZlcmxheSAoZGFya2VucyBiYWNrZ3JvdW5kIHdoZW4gc2hlZXQgaXMgb3BlbikgKi9cbi5jb250YWN0LXNoZWV0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHotaW5kZXg6IDE1MDtcbn1cblxuLyogTW9iaWxlIE1ldGEgUGFuZWxcbiAgIFNob3dzIGRhdGUsIGV4cG9zdXJlLCBzY2VuZSBkZXNjcmlwdGlvbiBiZWxvdyBoZXJvIG9uIG1vYmlsZS5cbiAgIEhpZGRlbiBvbiBkZXNrdG9wIHdoZXJlIHRoZSBzaWRlYmFyIG1ldGEtZGlzcGxheSBzaG93cyBpdC5cbiovXG4ubW9iaWxlLW1ldGEge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDMwLCAyNSwgMjAsIDAuOTUpIDAlLCByZ2JhKDIwLCAxNSwgMTAsIDAuOTUpIDEwMCUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXItZGltKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgbWFyZ2luOiA0cHggOHB4IDA7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1vYmlsZS1tZXRhLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlci1kaW0pO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4ubW9iaWxlLW1ldGEtYm9keSB7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLm1vYmlsZS1tZXRhLmNvbGxhcHNlZCAubW9iaWxlLW1ldGEtYm9keSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tb2JpbGUtbWV0YS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDFweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHJnYmEoMTUzLCAxMDIsIDAsIDAuMyk7XG59XG5cbi5tb2JpbGUtbWV0YS1yb3c6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5tb2JpbGUtbWV0YS1rZXkge1xuICBjb2xvcjogdmFyKC0tY3J0LWFtYmVyLWRpbSk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuXG4ubW9iaWxlLW1ldGEtdmFsIHtcbiAgY29sb3I6ICNjMGIwOTA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5tb2JpbGUtbWV0YS1zY2VuZSAubW9iaWxlLW1ldGEtdmFsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXgtd2lkdGg6IDgwJTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjEuIFJFU1BPTlNJVkUgLSBUYWJsZXRzICYgRGVza3RvcCAoNzY4cHgrKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgTWFqb3IgbGF5b3V0IHNoaWZ0OlxuICAgLSBIb3Jpem9udGFsIGxheW91dCAoc2lkZWJhciBvbiBsZWZ0KVxuICAgLSBIZWFkZXIgYmFyIGhpZGRlbiAoaW5mbyBpbiBzaWRlYmFyKVxuICAgLSBTaWRlYmFyIGJlY29tZXMgdmVydGljYWwgc2Nyb2xsXG4gICAtIENvbnRhY3Qgc2hlZXQgaGlkZGVuICh1c2Ugc2lkZWJhciBpbnN0ZWFkKVxuKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8qIEhpZGUgbW9iaWxlLW9ubHkgZWxlbWVudHMgKi9cbiAgLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHsgZGlzcGxheTogbm9uZTsgfVxuICAuY29udGFjdC1zaGVldCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbnRhY3Qtc2hlZXQtb3ZlcmxheSB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vYmlsZS1tZXRhIHsgZGlzcGxheTogbm9uZTsgfSAgICAgICAgICAgLyogVXNlIHNpZGViYXIgbWV0YS1kaXNwbGF5IGluc3RlYWQgKi9cbiAgLnNpZGViYXIgeyBwYWRkaW5nLWJvdHRvbTogMDsgfSAgICAgICAgICAvKiBSZW1vdmUgbW9iaWxlIHBhZGRpbmcgKi9cblxuICAvKiBIb3Jpem9udGFsIGxheW91dCAqL1xuICAuYXBwLXNoZWxsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmhlYWRlci1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7ICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFVzZSBzaWRlYmFyIGluZm8gaW5zdGVhZCAqL1xuICB9XG5cbiAgLnN0YWdlIHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLyogTmF2IGNvbnRyb2xzIGF0IGJvdHRvbSBvbiBkZXNrdG9wICovXG4gIC5zdGFnZSAubmF2LWNvbnRyb2xzIHtcbiAgICBvcmRlcjogMTAgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgIzNhMzYzMjtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgLnN0YWdlIC5oZXJvLXdyYXBwZXIge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC5zdGFnZSBpbWcuaGVybyxcbiAgLnN0YWdlIHZpZGVvLmhlcm8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG5cbiAgLyogU2lkZWJhcjogZml4ZWQgd2lkdGgsIHZlcnRpY2FsIHNjcm9sbCAqL1xuICAuc2lkZWJhciB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzNhMzYzMjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnNjcm9sbC13cmFwcGVyIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLyogVGh1bWJuYWlsIGdyaWQgKDIgY29sdW1ucykgKi9cbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDNweDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLnRodW1iIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYXNwZWN0LXJhdGlvOiAxO1xuICB9XG5cbiAgLyogTmF2IGNvbnRyb2xzIHdyYXAgKi9cbiAgLm5hdi1jb250cm9scyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGdhcDogNnB4O1xuICB9XG5cbiAgLm5hdi1idG4ge1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5uYXYtYnRuLmljb24tYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgICAgICAgICAgICAgICAgICAgICAgICAvKiBTaG93IGljb24gYnV0dG9ucyBvbiBkZXNrdG9wICovXG4gIH1cblxuICAubmF2LXNwYWNlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUHVzaCByaWdodC1zaWRlIGJ1dHRvbnMgKi9cbiAgfVxuXG4gIC8qIFNob3cgZGVza3RvcC1vbmx5IHBhbmVscyAqL1xuICAubWV0YS1kaXNwbGF5IHsgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRlc2t0b3AtZXhwb3N1cmUgeyBkaXNwbGF5OiBibG9jazsgfVxuICAuZG93bmxvYWQtcGFuZWwgeyBkaXNwbGF5OiBibG9jazsgfVxuICAuc2hhcmUtcGFuZWwgeyBkaXNwbGF5OiBibG9jazsgfVxuICAuZGVza3RvcC1vbmx5IHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAvKiBMYXJnZXIgZGF0ZSBkaXNwbGF5ICovXG4gIC5kYXRlLWRpc3BsYXkge1xuICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgcGFkZGluZzogNnB4IDE2cHg7XG4gIH1cblxuICAuZGF0ZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjIuIFJFU1BPTlNJVkUgLSBMYXJnZSBEZXNrdG9wICgxMjAwcHgrKVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNpZGViYXIge1xuICAgIHdpZHRoOiAzNjBweDtcbiAgfVxuXG4gIC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyAgLyogMy1jb2x1bW4gZ3JpZCAqL1xuICB9XG5cbiAgLnN0YWdlIHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICB9XG5cbiAgLyogTGFyZ2VyIHRleHQgZm9yIG1ldGFkYXRhICovXG4gIC5tZXRhLXRhZ3MtdmFsLFxuICAubWV0YS1vYmplY3RzLXZhbCxcbiAgLm1ldGEtcGVvcGxlLXZhbCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAubWV0YS1zY2VuZS12YWwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDIzLiBSRVNQT05TSVZFIC0gTGFuZHNjYXBlIFBob25lc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgU3BlY2lhbCBoYW5kbGluZyBmb3IgcGhvbmVzIHJvdGF0ZWQgdG8gbGFuZHNjYXBlLlxuICAgU2lkZWJhciBiZWNvbWVzIG5hcnJvdyB2ZXJ0aWNhbCBzdHJpcCBvbiByaWdodC5cbiovXG5cbkBtZWRpYSAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OiA1MDBweCkge1xuICAuYXBwLXNoZWxsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmhlYWRlci1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2lkZWJhciB7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzNhMzYzMjtcbiAgfVxuXG4gIC5zY3JvbGwtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cblxuICAuZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgICAgICAgICAgICAvKiBTaW5nbGUgY29sdW1uICovXG4gICAgZ2FwOiAycHg7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC50aHVtYiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgfVxuXG4gIC5zdHJpcC1oZWFkZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5tZXRhLWRpc3BsYXkgeyBkaXNwbGF5OiBub25lOyB9XG4gIC5kb3dubG9hZC1wYW5lbCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAvKiBWaWRlbyBmaWxscyBzdGFnZSBlZGdlLXRvLWVkZ2UgaW4gbGFuZHNjYXBlICovXG4gIC5oZXJvLXdyYXBwZXI6aGFzKC52aWRlby1wbGF5ZXItd3JhcHBlcikge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5uYXYtY29udHJvbHMge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBnYXA6IDJweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gIH1cblxuICAubmF2LWJ0biB7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWluLXdpZHRoOiAyOHB4O1xuICB9XG5cbiAgLmRhdGUtZGlzcGxheSB7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gIH1cblxuICAuZGF0ZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAuZGF0ZS1kZXRhaWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjQuIFJFU1BPTlNJVkUgLSBTbWFsbC9OYXJyb3cgU2NyZWVucyAoNDAwcHggYW5kIGJlbG93KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgRm9yIGZvbGRhYmxlcyAobGlrZSBSYXpyKSBhbmQgc21hbGwgcGhvbmVzLlxuICAgSW5jcmVhc2VzIHRvdWNoIHRhcmdldHMgYW5kIGZvbnQgc2l6ZXMgZm9yIGJldHRlciB1c2FiaWxpdHkuXG4qL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgLmhlYWRlci1iYXIge1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICB9XG5cbiAgLmhlYWRlci1icmFuZCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLmhlYWRlci1zdGF0dXMge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5uYXYtY29udHJvbHMge1xuICAgIHBhZGRpbmc6IDZweCA2cHg7XG4gICAgZ2FwOiAzcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB9XG5cbiAgLm5hdi1idG4ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAvKiBEcm9wZG93bnMgc2hyaW5rIGdyYWNlZnVsbHkgb24gbmFycm93IHNjcmVlbnMgKi9cbiAgLmRhdGUtc2VsZWN0IHtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAubG9jYXRpb24tc2VsZWN0LFxuICAucmF0aW5nLXNlbGVjdCxcbiAgLm1lZGlhLXR5cGUtc2VsZWN0IHtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogMnB4IDNweDtcbiAgfVxuXG4gIC5kYXRlLWRpc3BsYXkge1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICB9XG5cbiAgLmRhdGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLmRhdGUtZGV0YWlsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAuZGF0ZS1zdGFtcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICB9XG5cbiAgLmZyYW1lLWNvdW50ZXIge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICB9XG5cbiAgLyogRW5zdXJlIGhlcm8gZG9lc24ndCBvdmVyZmxvdyB2aWV3cG9ydCAqL1xuICAuaGVyby13cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKiBMYXJnZXIgdG91Y2ggdGFyZ2V0cyBmb3Igb3ZlcmxheXMgKi9cbiAgLmZhY2UtYm94LFxuICAub2JqZWN0LWJveCB7XG4gICAgbWluLXdpZHRoOiA0NHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMjUuIFJFU1BPTlNJVkUgLSBWZXJ5IFNtYWxsIFNjcmVlbnMgKDMyMHB4IGFuZCBiZWxvdylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEV4dHJhIGNvbXBhY3QgbGF5b3V0IGZvciB2ZXJ5IG5hcnJvdyBkZXZpY2VzLlxuKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gIC5uYXYtYnRuIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgbWluLXdpZHRoOiA0MHB4O1xuICB9XG5cbiAgLmRhdGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLmRhdGUtZGV0YWlsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDI2LiBUT1VDSCBERVZJQ0UgT1ZFUlJJREVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBPbiB0b3VjaCBkZXZpY2VzIChubyBob3ZlciBjYXBhYmlsaXR5KTpcbiAgIC0gTGFiZWxzIGFyZSBhbHdheXMgdmlzaWJsZSAoY2FuJ3QgaG92ZXIgdG8gcmV2ZWFsKVxuKi9cblxuQG1lZGlhIChob3Zlcjogbm9uZSkgYW5kIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLmZhY2UtYm94IC5mYWNlLWxhYmVsIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLm9iamVjdC1ib3ggLm9iamVjdC1sYWJlbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8qIFZpZGVvOiBhbHdheXMgc2hvdyBjb250cm9scyBvbiB0b3VjaCAoY2FuJ3QgaG92ZXIpICovXG4gIC52Y3ItY29udHJvbHMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvKiBMYXJnZXIgdGFwIHRhcmdldHMgZm9yIHZpZGVvIGNvbnRyb2xzICovXG4gIC52Y3ItYnRuIHtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1pbi13aWR0aDogNDRweDtcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICB9XG5cbiAgLnZjci1tdXRlLCAudmNyLWZ1bGxzY3JlZW4ge1xuICAgIG1pbi13aWR0aDogNDRweDtcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxuXG4gIC8qIE1ha2UgdGltZWxpbmUgdGFsbGVyIGZvciBlYXNpZXIgc2NydWJiaW5nICovXG4gIC52Y3ItdGltZWxpbmUge1xuICAgIGhlaWdodDogMTRweDtcbiAgfVxuXG4gIC52Y3ItdGltZWxpbmUtaGFuZGxlIHtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gIH1cblxuICAvKiBNb3JlIHByb21pbmVudCBtdXRlIGluZGljYXRvciAqL1xuICAudmNyLW11dGVkLWluZGljYXRvciB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDhweCAxNHB4O1xuICB9XG5cbiAgLyogV2F2ZWZvcm0gYWx3YXlzIHZpc2libGUgd2hlbiBwbGF5aW5nICovXG4gIC52Y3Itd2F2ZWZvcm0ge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyNy4gTUVUQSBQQU5FTCBUT0dHTEVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4ubWV0YS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNydC1hbWJlci1kaW0pO1xufVxuXG4ubWV0YS1oZWFkZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5tZXRhLXRvZ2dsZSB7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5tZXRhLWRpc3BsYXkuY29sbGFwc2VkIHtcbiAgLyogV2hlbiBjb2xsYXBzZWQsIGp1c3Qgc2hvdyB0aGUgaGVhZGVyICovXG59XG5cbi5tZXRhLWRpc3BsYXkuY29sbGFwc2VkIC5tZXRhLXJvdyxcbi5tZXRhLWRpc3BsYXkuY29sbGFwc2VkIC5kZXNrdG9wLWV4cG9zdXJlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDI4LiBMT0FEIE1PUkUgQlVUVE9OXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLyogTG9hZCBtb3JlIGJ1dHRvbiAtIGFsd2F5cyB2aXNpYmxlIGF0IGJvdHRvbSBvZiBzaWRlYmFyICovXG4ubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWZpbG0tYm9yZGVyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY3J0LWFtYmVyLWRpbSk7XG59XG5cbi5sb2FkLW1vcmUtYnRuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3J0LWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWNydC1ibGFjayk7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5sb2FkLW1vcmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDI3LiBGT0xEQUJMRS9UQUxMIFNDUkVFTlMgKFJhenIsIFogRmxpcCwgZXRjLilcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgIEZvbGRhYmxlIHBob25lcyB3aGVuIHVuZm9sZGVkIGhhdmUgdmVyeSB0YWxsLCBuYXJyb3cgc2NyZWVucy5cbiAgIFJhenIgMjAyNDogMjY0MHgxMDgwIChpbm5lciksIH40MTJcdTAwRDc5MTUgQ1NTIHBpeGVsc1xuXG4gICBLZXkgb3B0aW1pemF0aW9uczpcbiAgIC0gTW9yZSB2ZXJ0aWNhbCB0aHVtYm5haWxzIHZpc2libGVcbiAgIC0gQ29tcGFjdCBoZWFkZXIgdG8gbWF4aW1pemUgc3RhZ2UgYXJlYVxuICAgLSBPcHRpbWl6ZWQgZm9yIDIxOjkrIGFzcGVjdCByYXRpb3NcbiovXG5cbi8qIFRhbGwgbmFycm93IHBvcnRyYWl0IHNjcmVlbnMgKGZvbGRhYmxlcyB1bmZvbGRlZCkgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0NTBweCkgYW5kIChtaW4taGVpZ2h0OiA4MDBweCkge1xuICAuaGVhZGVyLWJhciB7XG4gICAgcGFkZGluZzogNHB4IDEwcHg7XG4gIH1cblxuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgfVxuXG4gIC5oZWFkZXItc3RhdHVzIHtcbiAgICBmb250LXNpemU6IDlweDtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC8qIE1heGltaXplIGhlcm8gaW1hZ2UgYXJlYSAqL1xuICAuc3RhZ2Uge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLWhlaWdodDogNTB2aDtcbiAgfVxuXG4gIC8qIE1vcmUgdGh1bWJuYWlscyB2aXNpYmxlIGluIHN0cmlwICovXG4gIC5zaWRlYmFyIHtcbiAgICBtYXgtaGVpZ2h0OiAzNXZoO1xuICB9XG5cbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiAycHg7XG4gIH1cblxuICAudGh1bWIge1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgfVxuXG4gIC8qIENvbXBhY3QgbmF2IGZvciBtb3JlIHNjcmVlbiBzcGFjZSAqL1xuICAubmF2LWNvbnRyb2xzIHtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGdhcDogNHB4O1xuICB9XG5cbiAgLm5hdi1idG4ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICB9XG5cbiAgLmRhdGUtZGlzcGxheSB7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gIH1cblxuICAuZGF0ZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cblxuICAuZGF0ZS1kZXRhaWwge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxuXG4gIC8qIEhpZGUgYWRtaW4tb25seSBmaWx0ZXIgZHJvcGRvd25zIG9uIG5hcnJvdyBtb2JpbGUgXHUyMDE0IHVzZSBVUkwgcGFyYW1zIGluc3RlYWQgKi9cbiAgLnJhdGluZy1zZWxlY3QsIC5tZWRpYS10eXBlLXNlbGVjdCB7IGRpc3BsYXk6IG5vbmU7IH1cbn1cblxuLyogVmVyeSB0YWxsIHNjcmVlbnMgKDIwOjkgYW5kIHRhbGxlciBhc3BlY3QgcmF0aW9zKSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDQyMHB4KSBhbmQgKG1pbi1hc3BlY3QtcmF0aW86IDE5LzkpIHtcbiAgLyogRXZlbiBtb3JlIGNvbXBhY3QgaGVhZGVyICovXG4gIC5oZWFkZXItYmFyIHtcbiAgICBwYWRkaW5nOiAzcHggOHB4O1xuICB9XG5cbiAgLmhlYWRlci1icmFuZCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG5cbiAgLyogNS1jb2x1bW4gZ3JpZCBmb3IgbW9yZSB0aHVtYm5haWxzICovXG4gIC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xuICAgIGdhcDogMXB4O1xuICB9XG5cbiAgLyogU21hbGxlciBzdHJpcCB0byBtYXhpbWl6ZSBzdGFnZSAqL1xuICAuc2lkZWJhciB7XG4gICAgbWF4LWhlaWdodDogMzB2aDtcbiAgfVxuXG4gIC5zdHJpcC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gIH1cbn1cblxuLyogRm9sZGFibGUgbGFuZHNjYXBlIChvdXRlciBzY3JlZW4gb3IgZm9sZGVkIHZpZXdpbmcpICovXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OiA0MDBweCkge1xuICAuYXBwLXNoZWxsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmhlYWRlci1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBTaWRlYmFyIG9uIGxlZnQgKi9cbiAgLnNpZGViYXIge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMzYTM2MzI7XG4gICAgb3JkZXI6IC0xO1xuICB9XG5cbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogMXB4O1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxuXG4gIC50aHVtYiB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICB9XG5cbiAgLnN0cmlwLWhlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIE1pbmltYWwgbmF2ICovXG4gIC5uYXYtY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDRweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHBhZGRpbmc6IDJweCA0cHg7XG4gICAgZ2FwOiAycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgfVxuXG4gIC5uYXYtYnRuIHtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgfVxuXG4gIC5kYXRlLWRpc3BsYXkge1xuICAgIHBhZGRpbmc6IDJweCA2cHg7XG4gICAgbWluLXdpZHRoOiA3MHB4O1xuICB9XG5cbiAgLmRhdGUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG5cbiAgLmRhdGUtZGV0YWlsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDI5LiBMSVZFIFNUUkVBTUlOR1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgU3RyZWFtIGluZGljYXRvciBiYWRnZSBhbmQgdmlkZW8gZW1iZWQgZm9yIE1lZGlhTVRYIGludGVncmF0aW9uLlxuICAgU2hvd3Mgd2hlbiBzaXRlIGhhcyBhY3RpdmUgdmlkZW8gc3RyZWFtLlxuKi9cblxuLyogU3RyZWFtIGluZGljYXRvciBiYWRnZSAoc2hvd24gaW4gaGVhZGVyIHdoZW4gc3RyZWFtaW5nKSAqL1xuLnN0cmVhbS1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHZhcigtLWNydC1yZWQsICNmZjAwNDApO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwgNjQsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcnQtcmVkKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4uc3RyZWFtLWluZGljYXRvcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAwLCA2NCwgMC4zKTtcbn1cblxuLnN0cmVhbS1kb3Qge1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LXJlZCwgI2ZmMDA0MCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBzdHJlYW0tcHVsc2UgMS41cyBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBzdHJlYW0tcHVsc2Uge1xuICAwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBib3gtc2hhZG93OiAwIDAgNHB4IHZhcigtLWNydC1yZWQpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggdmFyKC0tY3J0LXJlZCk7XG4gIH1cbn1cblxuLyogU3RyZWFtIHZpZGVvIGVtYmVkIGNvbnRhaW5lciAqL1xuLnN0cmVhbS1lbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgbWF4LWhlaWdodDogNTB2aDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWNydC1yZWQpO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLnN0cmVhbS1lbWJlZCBpZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5zdHJlYW0tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3RyZWFtLWNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDY0LCAwLjgpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNydC1yZWQpO1xufVxuXG4vKiBEZXNrdG9wOiBTdHJlYW0gZW1iZWQgYWRqdXN0bWVudHMgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3RyZWFtLWVtYmVkIHtcbiAgICBtYXgtaGVpZ2h0OiA0MHZoO1xuICB9XG5cbiAgLnN0cmVhbS1pbmRpY2F0b3Ige1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA0cHggMTJweDtcbiAgfVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVZJQ0UgSU5GTyBCQURHRSAoZGVidWdnaW5nL3Rlc3RpbmcpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZ2FsbGVyeS1kZXZpY2UtYmFkZ2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgIC8qIENlbnRlciBob3Jpem9udGFsbHkgKi9cbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNydC1hbWJlci1kaW0sICMzYTJhMDApO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vLCAnSUJNIFBsZXggTW9ubycsIG1vbm9zcGFjZSk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlciwgI2ZmYjAwMCk7XG4gIHotaW5kZXg6IDUwOyAgLyogQmVsb3cgbW9kYWxzICh3aGljaCBhcmUgdHlwaWNhbGx5IDEwMCspICovXG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3BhY2l0eTogMC42O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZ2FsbGVyeS1kZXZpY2UtYmFkZ2U6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBNb2Rlcm4gdGhlbWUgb3ZlcnJpZGUgKi9cbi50aGVtZS1tb2Rlcm4gLmdhbGxlcnktZGV2aWNlLWJhZGdlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3JkZXItY29sb3I6ICNlNWU3ZWI7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4vKiBNb2JpbGUgLSBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLmdhbGxlcnktZGV2aWNlLWJhZGdlIHtcbiAgICB0b3A6IDRweDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgfVxufVxuXG4vKiBMYW5kc2NhcGUgLSBzbWFsbGVyICovXG5AbWVkaWEgKG1heC1oZWlnaHQ6IDUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgLmdhbGxlcnktZGV2aWNlLWJhZGdlIHtcbiAgICB0b3A6IDRweDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBJTkxJTkUgSU1BR0UgRURJVE9SXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBFZGl0b3IgUGFuZSAoYm90dG9tIHBhbmVsIGJlbG93IGhlcm8gaW1hZ2UpICovXG4uZWRpdG9yLXBhbmUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY3J0LWFtYmVyLWRpbSwgIzY2NTUwMCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ibGFjaywgIzBhMGEwYSk7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBmbGV4LXNocmluazogMDtcbn1cbi5lZGl0b3ItYmFyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxMnB4OyBmbGV4LXdyYXA6IHdyYXA7IH1cbi5lZGl0b3ItaGVhZGVyIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA4cHg7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIsICNmZmIwMDApOyBmb250LXNpemU6IDEzcHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbi5lZGl0b3ItZGlydHkuYWN0aXZlIHsgY29sb3I6IHZhcigtLWNydC1ncmVlbiwgIzAwZmY0MSk7IGZvbnQtc2l6ZTogMTFweDsgfVxuLmVkaXRvci10YWJzIHsgZGlzcGxheTogZmxleDsgZ2FwOiAycHg7IH1cbi5lZGl0b3ItdGFiIHsgcGFkZGluZzogMnB4IDhweDsgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTsgZm9udC1zaXplOiAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXItZGltLCAjNjY1NTAwKTsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXItZGltLCAjNjY1NTAwKTsgY3Vyc29yOiBwb2ludGVyOyB9XG4uZWRpdG9yLXRhYi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXItZGltLCAjNjY1NTAwKTsgY29sb3I6IHZhcigtLWNydC1ibGFjaywgIzBhMGEwYSk7IH1cblxuLyogU2xpZGVycyByb3cgKi9cbi5lZGl0b3Itc2xpZGVycyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBmbGV4OiAxOyBhbGlnbi1pdGVtczogY2VudGVyOyBmbGV4LXdyYXA6IHdyYXA7IH1cbi5lZGl0b3Itc2xpZGVyLWdyb3VwIHsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiA0cHg7IG1pbi13aWR0aDogMTIwcHg7IGZsZXg6IDE7IH1cbi5lZGl0b3Itc2xpZGVyLWxhYmVsIHsgY29sb3I6IHZhcigtLWNydC1hbWJlci1kaW0sICM2NjU1MDApOyBmb250LXNpemU6IDExcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IG1pbi13aWR0aDogMjhweDsgfVxuLmVkaXRvci1zbGlkZXItdmFsdWUgeyBjb2xvcjogdmFyKC0tY3J0LWFtYmVyLCAjZmZiMDAwKTsgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOyBtaW4td2lkdGg6IDMycHg7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4uZWRpdG9yLXNsaWRlciB7IGZsZXg6IDE7IGFjY2VudC1jb2xvcjogdmFyKC0tY3J0LWFtYmVyLCAjZmZiMDAwKTsgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1kYXJrLCAjMWExYTFhKTsgYXBwZWFyYW5jZTogbm9uZTsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyBtaW4td2lkdGg6IDYwcHg7IH1cbi5lZGl0b3Itc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGFwcGVhcmFuY2U6IG5vbmU7IHdpZHRoOiAxMnB4OyBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlciwgI2ZmYjAwMCk7IGJvcmRlci1yYWRpdXM6IDUwJTsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5lZGl0b3ItYWN0aW9ucyB7IGRpc3BsYXk6IGZsZXg7IGdhcDogNHB4OyB9XG4uZWRpdG9yLWJ0biB7IHBhZGRpbmc6IDNweCAxMHB4OyBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlOyBmb250LXNpemU6IDEzcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNydC1hbWJlci1kaW0sICM2NjU1MDApOyBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtZGFyaywgIzFhMWExYSk7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuLmVkaXRvci1idG4tc2F2ZSB7IGNvbG9yOiB2YXIoLS1jcnQtZ3JlZW4sICMwMGZmNDEpOyBib3JkZXItY29sb3I6IHZhcigtLWNydC1ncmVlbiwgIzAwZmY0MSk7IH1cbi5lZGl0b3ItYnRuLXNhdmU6ZGlzYWJsZWQgeyBvcGFjaXR5OiAwLjM7IGN1cnNvcjogZGVmYXVsdDsgfVxuLmVkaXRvci1idG4tcmVzZXQgeyBjb2xvcjogdmFyKC0tY3J0LWFtYmVyLCAjZmZiMDAwKTsgfVxuXG4uZWRpdG9yLWNyb3AtaW5mbyB7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogOHB4OyBmbGV4OiAxOyB9XG4uZWRpdG9yLWNyb3AtaGludCB7IGNvbG9yOiB2YXIoLS1jcnQtYW1iZXItZGltLCAjNjY1NTAwKTsgZm9udC1zaXplOiAxMnB4OyB9XG4uZWRpdG9yLWNyb3AtdmFsdWVzIHsgY29sb3I6IHZhcigtLWNydC1hbWJlciwgI2ZmYjAwMCk7IGZvbnQtc2l6ZTogMTJweDsgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmVkaXRvci1iYXIgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuZWRpdG9yLXNsaWRlcnMgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5lZGl0b3Itc2xpZGVyLWdyb3VwIHsgbWluLXdpZHRoOiAxMDAlOyB9XG59XG5cbi8qIENyb3AgT3ZlcmxheSAqL1xuLmNyb3Atb3ZlcmxheSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IHotaW5kZXg6IDE1OyBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuLmNyb3AtbWFzayB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpOyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuLmNyb3AtcmVnaW9uIHsgcG9zaXRpb246IGFic29sdXRlOyBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tY3J0LWFtYmVyLCAjZmZiMDAwKTsgY3Vyc29yOiBtb3ZlOyB9XG4uY3JvcC1oYW5kbGUgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlciwgI2ZmYjAwMCk7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNydC1ibGFjaywgIzBhMGEwYSk7IH1cblxuLyogQXNwZWN0IHJhdGlvIGJ1dHRvbnMgKi9cbi5lZGl0b3ItY3JvcC1hc3BlY3RzIHsgZGlzcGxheTogZmxleDsgZ2FwOiA0cHg7IG1hcmdpbjogNHB4IDA7IH1cbi5lZGl0b3ItYXNwZWN0LWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzYsIDAsIDAuMSk7IGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxNzYsIDAsIDAuMyk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjYpOyBmb250LXNpemU6IDEwcHg7IHBhZGRpbmc6IDJweCA2cHg7IGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubywgbW9ub3NwYWNlKTsgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuLmVkaXRvci1hc3BlY3QtYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNzYsIDAsIDAuMjUpOyBib3JkZXItY29sb3I6IHZhcigtLWNydC1hbWJlciwgI2ZmYjAwMCk7XG4gIGNvbG9yOiB2YXIoLS1jcnQtYW1iZXIsICNmZmIwMDApO1xufVxuLmVkaXRvci1hc3BlY3QtYnRuOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnQtYW1iZXIsICNmZmIwMDApOyB9XG5cbi8qIEFjdGl2ZSBzbGlkZXIgZ3JvdXAgaGlnaGxpZ2h0ICovXG4uZWRpdG9yLXNsaWRlci1ncm91cC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMTc2LCAwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSgyNTUsIDE3NiwgMCwgMC4yNSk7XG59XG5cbi8qIENsaWNrLXRvLXR5cGUgdmFsdWUgaW5wdXQgKi9cbi5lZGl0b3Itc2xpZGVyLXZhbHVlIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4uZWRpdG9yLXNsaWRlci12YWx1ZTpob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5lZGl0b3Itc2xpZGVyLWlucHV0IHtcbiAgd2lkdGg6IDQ4cHg7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlciwgI2ZmYjAwMCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1kYXJrLCAjMWExYTFhKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3J0LWFtYmVyLCAjZmZiMDAwKTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmc6IDAgMnB4O1xuICBvdXRsaW5lOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cbi5lZGl0b3Itc2xpZGVyLWlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLmVkaXRvci1zbGlkZXItaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogU3RhciBSYXRpbmcgKi9cbi5oZXJvLXJhdGluZyB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAzNnB4OyBsZWZ0OiAxMnB4OyB6LWluZGV4OiAxMDtcbiAgZm9udC1zaXplOiAyMHB4OyBjdXJzb3I6IHBvaW50ZXI7IHVzZXItc2VsZWN0OiBub25lOyB9XG4uaGVyby1yYXRpbmcgLnN0YXIgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjMpOyB0cmFuc2l0aW9uOiBjb2xvciAwLjFzOyB9XG4uaGVyby1yYXRpbmcgLnN0YXIuZmlsbGVkIHsgY29sb3I6ICNmZmIwMDA7IHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMjU1LDE3NiwwLDAuNSk7IH1cbi5oZXJvLXJhdGluZyAuc3Rhcjpob3ZlciB7IGNvbG9yOiAjZmZiMDAwOyB9XG5cbi8qIFJhdGluZyAmIG1lZGlhIHR5cGUgZmlsdGVyIGRyb3Bkb3ducyAqL1xuLnJhdGluZy1zZWxlY3QsIC5tZWRpYS10eXBlLXNlbGVjdCB7IGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7IGZvbnQtc2l6ZTogMTJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWRhcmssICMxYTFhMWEpOyBjb2xvcjogdmFyKC0tY3J0LWFtYmVyLCAjZmZiMDAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY3J0LWFtYmVyLWRpbSwgIzY2NTUwMCk7IHBhZGRpbmc6IDJweCA0cHg7IH1cblxuLyogTW9kZXJuIHRoZW1lIG92ZXJyaWRlcyAqL1xuLnRoZW1lLW1vZGVybiAuZWRpdG9yLXBhbmUsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmVkaXRvci1wYW5lIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjg1KTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZjtcbn1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci1oZWFkZXIsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmVkaXRvci1oZWFkZXIgeyBjb2xvcjogI2ZmZjsgfVxuLnRoZW1lLW1vZGVybiAuZWRpdG9yLXRhYixcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLXRhYiB7IGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjIpOyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmOyBib3JkZXItcmFkaXVzOiA0cHg7IH1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci10YWIuYWN0aXZlLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3ItdGFiLmFjdGl2ZSB7IGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4xNSk7IGNvbG9yOiAjZmZmOyB9XG4udGhlbWUtbW9kZXJuIC5lZGl0b3Itc2xpZGVyLWxhYmVsLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3Itc2xpZGVyLWxhYmVsIHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTsgfVxuLnRoZW1lLW1vZGVybiAuZWRpdG9yLXNsaWRlci12YWx1ZSxcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLXNsaWRlci12YWx1ZSB7IGNvbG9yOiAjZmZmOyB9XG4udGhlbWUtbW9kZXJuIC5lZGl0b3Itc2xpZGVyLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3Itc2xpZGVyIHsgYWNjZW50LWNvbG9yOiAjM2I4MmY2OyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7IH1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3Itc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGJhY2tncm91bmQ6ICMzYjgyZjY7IH1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci1idG4sXG4udGhlbWUtbW9kZXJuLWRhcmsgLmVkaXRvci1idG4geyBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZjsgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4udGhlbWUtbW9kZXJuIC5lZGl0b3ItYnRuLXNhdmUsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmVkaXRvci1idG4tc2F2ZSB7IGNvbG9yOiAjMjJjNTVlOyBib3JkZXItY29sb3I6ICMyMmM1NWU7IH1cbi50aGVtZS1tb2Rlcm4gLmVkaXRvci1idG4tcmVzZXQsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmVkaXRvci1idG4tcmVzZXQgeyBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpOyB9XG4udGhlbWUtbW9kZXJuIC5lZGl0b3ItY3JvcC1oaW50LFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3ItY3JvcC1oaW50IHsgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZjsgfVxuLnRoZW1lLW1vZGVybiAuZWRpdG9yLWNyb3AtdmFsdWVzLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5lZGl0b3ItY3JvcC12YWx1ZXMgeyBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwgc2Fucy1zZXJpZjsgfVxuLnRoZW1lLW1vZGVybiAuZWRpdG9yLWRpcnR5LmFjdGl2ZSxcbi50aGVtZS1tb2Rlcm4tZGFyayAuZWRpdG9yLWRpcnR5LmFjdGl2ZSB7IGNvbG9yOiAjMjJjNTVlOyB9XG4udGhlbWUtbW9kZXJuIC5jcm9wLXJlZ2lvbixcbi50aGVtZS1tb2Rlcm4tZGFyayAuY3JvcC1yZWdpb24geyBib3JkZXItY29sb3I6ICMzYjgyZjY7IH1cbi50aGVtZS1tb2Rlcm4gLmNyb3AtaGFuZGxlLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5jcm9wLWhhbmRsZSB7IGJhY2tncm91bmQ6ICMzYjgyZjY7IH1cbi50aGVtZS1tb2Rlcm4gLnJhdGluZy1zZWxlY3QsXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJhdGluZy1zZWxlY3QsXG4udGhlbWUtbW9kZXJuIC5tZWRpYS10eXBlLXNlbGVjdCxcbi50aGVtZS1tb2Rlcm4tZGFyayAubWVkaWEtdHlwZS1zZWxlY3Qge1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMyk7IGNvbG9yOiAjZmZmOyBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTU9CSUxFIEZFRUQgTEFZT1VUIChJbnN0YWdyYW0tc3R5bGUgc2Nyb2xsaW5nIGZvciA8PSA3NjhweClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBY3RpdmF0ZWQgd2hlbiBAbW9iaWxlX2ZlZWQgaXMgdHJ1ZS4gTmF0dXJhbCBkb2N1bWVudCBmbG93LCBubyBmaXhlZCBwYW5lbHMuXG4gICBEZXNrdG9wIGxheW91dCBpcyBjb21wbGV0ZWx5IHVuYWZmZWN0ZWQgXHUyMDE0IHRoaXMgaXMgYWRkaXRpdmUgQ1NTIG9ubHkuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiAtLS0gRmVlZCBMYXlvdXQgQ29udGFpbmVyIC0tLSAqL1xuLmZlZWQtbGF5b3V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc3lzdGVtLXVpLCBzYW5zLXNlcmlmO1xufVxuXG4vKiAtLS0gU3RpY2t5IEhlYWRlciAtLS0gKi9cbi5mZWVkLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOTIpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEycHgpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cblxuLmZlZWQtaGVhZGVyLWxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4uZmVlZC1zaXRlLW5hbWUge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5mZWVkLXBlcnNvbi1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZmVlZC1oZWFkZXItcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5mZWVkLWxpdmUtZG90IHtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2ZmM2IzMDtcbiAgYW5pbWF0aW9uOiBmZWVkLXB1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgZmVlZC1wdWxzZSB7XG4gIDAlLCAxMDAlIHsgb3BhY2l0eTogMTsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjM7IH1cbn1cblxuLmZlZWQtY291bnQge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5mZWVkLW1lbnUtYnRuIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKiAtLS0gRmlsdGVyIERyYXdlciAtLS0gKi9cbi5mZWVkLWZpbHRlci1kcmF3ZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjVzIGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbn1cblxuLmZlZWQtZmlsdGVyLWRyYXdlci5vcGVuIHtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluO1xufVxuXG4uZmVlZC1maWx0ZXItcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xufVxuXG4uZmVlZC1maWx0ZXItZm9ybSB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xufVxuXG4uZmVlZC1maWx0ZXItc2VsZWN0IHtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgY29sb3I6ICNlMGUwZTA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYXV0bztcbiAgYXBwZWFyYW5jZTogYXV0bztcbn1cblxuLmZlZWQtZmlsdGVyLXNlbGVjdCBvcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICBjb2xvcjogI2UwZTBlMDtcbn1cblxuLmZlZWQtZmlsdGVyLWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuXG4uZmVlZC1maWx0ZXItYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZmVlZC1maWx0ZXItcGVyc29uIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4vKiAtLS0gRmVlZCBCYW5uZXIgLS0tICovXG4uZmVlZC1iYW5uZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNjUsIDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmYTUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKiAtLS0gRmVlZCBDYXJkcyAtLS0gKi9cbi5mZWVkIHtcbiAgcGFkZGluZzogNHB4IDA7XG59XG5cbi5mZWVkLWVtcHR5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA2MHB4IDIwcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLmZlZWQtY2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZmVlZC1jYXJkLW1lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzExMTtcbn1cblxuLmZlZWQtY2FyZC1tZWRpYSBpbWcsXG4uZmVlZC1jYXJkLW1lZGlhIHZpZGVvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIEhpZGUgbmF0aXZlIGJyb3dzZXIgcGxheSBidXR0b24gb3ZlcmxheSBvbiBmZWVkIGNhcmQgdmlkZW9zICovXG4uZmVlZC1jYXJkLXZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmZlZWQtY2FyZC12aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5mZWVkLWNhcmQtdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtb3ZlcmxheS1wbGF5LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZlZWQtY2FyZC1tZWRpYSBpbWcge1xuICAvKiBOYXR1cmFsIGFzcGVjdCByYXRpbyBcdTIwMTQgbm8gY3JvcCwgbm8gZml4ZWQgaGVpZ2h0ICovXG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIGJhY2tncm91bmQ6ICMxMTE7XG59XG5cbi5mZWVkLWNhcmQtdmlkZW8tYmFkZ2UgeyBkaXNwbGF5OiBub25lOyB9IC8qIFJlcGxhY2VkIGJ5IC5mZWVkLWNhcmQtYmFkZ2VzICovXG5cbi8qIFBsYXkgYnV0dG9uIG92ZXJsYXkgZm9yIHZpZGVvIGNhcmRzICovXG4uZmVlZC1jYXJkLXBsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNjhweDtcbiAgaGVpZ2h0OiA2OHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJvcmRlcjogMi41cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgei1pbmRleDogMztcbiAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4uZmVlZC1jYXJkLXBsYXk6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDE0cHggMCAxNHB4IDI0cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpKTtcbn1cbi8qIEhpZGUgcGxheSBvdmVybGF5IHdoZW4gdmlkZW8gaXMgYWN0dWFsbHkgcGxheWluZyAqL1xuLmZlZWQtY2FyZC1tZWRpYSB2aWRlb1tkYXRhLXBsYXlpbmc9XCJ0cnVlXCJdIH4gLmZlZWQtY2FyZC1wbGF5IHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmZlZWQtY2FyZC1iYWRnZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICByaWdodDogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDRweDtcbn1cblxuLmZlZWQtYmFkZ2Uge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNjUpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG59XG5cbi5mZWVkLWJhZGdlLXZpZGVvIHsgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjY1KTsgfVxuLmZlZWQtYmFkZ2UtaGRyIHsgYmFja2dyb3VuZDogcmdiYSgxODAsIDEyMCwgMCwgMC44KTsgY29sb3I6ICNmZmY7IH1cbi5mZWVkLWJhZGdlLXJhdyB7IGJhY2tncm91bmQ6IHJnYmEoMCwgMTAwLCAxODAsIDAuOCk7IGNvbG9yOiAjZmZmOyB9XG4uZmVlZC1iYWRnZS0xMGJpdCB7IGJhY2tncm91bmQ6IHJnYmEoMTAwLCAwLCAxNjAsIDAuNzUpOyBjb2xvcjogI2ZmZjsgfVxuXG4uZmVlZC1jYXJkLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDZweCAxMnB4IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi5mZWVkLWNhcmQtZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4uZmVlZC1jYXJkLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDEycHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZmVlZC1jYXJkLXJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICNmZmQ3MDA7XG59XG5cbi5mZWVkLWNhcmQtZGwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogNHB4O1xufVxuXG4vKiAtLS0gSW5maW5pdGUgU2Nyb2xsIFNlbnRpbmVsIC0tLSAqL1xuLmZlZWQtc2VudGluZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDI0cHggMCA0OHB4O1xufVxuXG4uZmVlZC1sb2FkaW5nIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xufVxuXG4vKiAtLS0gTGlnaHRib3ggU2Nyb2xsIExvY2sgLS0tICovXG4uZmVlZC1sYXlvdXQ6aGFzKC5mZWVkLWxpZ2h0Ym94KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwdmg7XG4gIGhlaWdodDogMTAwZHZoO1xufVxuXG4vKiAtLS0gTGlnaHRib3ggTW9kYWwgLS0tICovXG4uZmVlZC1saWdodGJveCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDIwMDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgLyogUHJldmVudCBib2R5IHNjcm9sbCB3aGlsZSBsaWdodGJveCBpcyBvcGVuICovXG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxMnB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWNsb3NlIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWNvdW50ZXIge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWRsIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuXG4uZmVlZC1saWdodGJveC1tZWRpYSB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5mZWVkLWxpZ2h0Ym94LW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiA3MnB4O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZlZWQtbGlnaHRib3gtcHJldiB7IGxlZnQ6IDA7IH1cbi5mZWVkLWxpZ2h0Ym94LW5leHQgeyByaWdodDogMDsgfVxuXG4uZmVlZC1saWdodGJveC1uYXY6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWluZm8ge1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogbWF4KDE2cHgsIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIG1heC1oZWlnaHQ6IDQwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLmZlZWQtbGlnaHRib3gtZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uZmVlZC1saWdodGJveC12ZW51ZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40NSk7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmZlZWQtbGlnaHRib3gtZXhpZiB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmZlZWQtbGlnaHRib3gtZGVzYyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuXG4uZmVlZC1saWdodGJveC1yYXRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDRweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmVlZC1saWdodGJveC1zdGFyIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAzNnB4O1xuICBtaW4taGVpZ2h0OiAzNnB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uZmVlZC1saWdodGJveC1zdGFyLmZpbGxlZCB7XG4gIGNvbG9yOiAjZmZkNzAwO1xufVxuXG4uZmVlZC1saWdodGJveC1hZG1pbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5mZWVkLWxpZ2h0Ym94LWFkbWluLWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmZlZWQtbGlnaHRib3gtZGVsZXRlIHtcbiAgY29sb3I6ICNmZjQ0NDQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDY4LCA2OCwgMC4yKTtcbn1cblxuLmZlZWQtY29uZmlybS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmY0NDQ0O1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY0NDQ0O1xuICBhbmltYXRpb246IHB1bHNlLWRlbGV0ZSAwLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbn1cblxuQGtleWZyYW1lcyBwdWxzZS1kZWxldGUge1xuICBmcm9tIHsgb3BhY2l0eTogMC44OyB9XG4gIHRvIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vKiAtLS0gRmVlZCBsYXlvdXQgc2FmZSBhcmVhIGZvciBpUGhvbmUgbm90Y2ggLS0tICovXG4uZmVlZC1sYXlvdXQge1xuICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3ApO1xuICBwYWRkaW5nLWxlZnQ6IGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCk7XG4gIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xufVxuXG4vKiAtLS0gVGhlbWUgc3VwcG9ydCBmb3IgZmVlZCAtLS0gKi9cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtaGVhZGVyLFxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZC1maWx0ZXItZHJhd2VyLFxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZC1jYXJkLW1ldGEge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTcpO1xuICBjb2xvcjogIzIyMjtcbn1cblxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiB7IGJhY2tncm91bmQ6ICNmYWZhZmE7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtaGVhZGVyIHsgYmFja2dyb3VuZDogI2ZmZjsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZTA7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtc2l0ZS1uYW1lIHsgY29sb3I6ICMyMjI7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtY291bnQgeyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLW1lbnUtYnRuIHsgY29sb3I6ICMyMjI7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtY2FyZC1kYXRlIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZC1jYXJkLWRsIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZCB7IGJhY2tncm91bmQ6ICNmYWZhZmE7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtY2FyZCB7IGJhY2tncm91bmQ6ICNmZmY7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtY2FyZC1tZWRpYSB7IGJhY2tncm91bmQ6ICNmMGYwZjA7IH1cbi5mZWVkLWxheW91dC50aGVtZS1tb2Rlcm4gLmZlZWQtZmlsdGVyLWRyYXdlciB7IGJhY2tncm91bmQ6ICNmNWY1ZjU7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwOyB9XG4uZmVlZC1sYXlvdXQudGhlbWUtbW9kZXJuIC5mZWVkLWZpbHRlci1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzIyMjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZC1maWx0ZXItc2VsZWN0IG9wdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMjIyO1xufVxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZC1maWx0ZXItYnRuIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuLmZlZWQtbGF5b3V0LnRoZW1lLW1vZGVybiAuZmVlZC1sb2FkaW5nIHsgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4vKiAtLS0gRGVhZCBSZW5kZXIgRml4OiBIaWRlIGRlc2t0b3Agc2hlbGwgb24gbW9iaWxlIGJlZm9yZSBMaXZlU29ja2V0IGNvbm5lY3RzIC0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hcHAtc2hlbGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZlZWQtbGF5b3V0IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRU5EIE9GIEdBTExFUlkgU1RZTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICBGb3IgY3VzdG9taXphdGlvbiwgZWRpdCBjdXN0b20uY3NzIChub3QgdGhpcyBmaWxlKS5cbiAgIFNlZSBkb2NzL0NTU19BUkNISVRFQ1RVUkUubWQgZm9yIGd1aWRhbmNlLlxuKi9cbiIsICIvKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBTQ0FORVggR0FMTEVSWSAtIE1vZGVybiBUaGVtZVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiBBIGNsZWFuLCBtaW5pbWFsIHRoZW1lIGZvciBhIGNvbnRlbXBvcmFyeSBsb29rLlxuICogQXBwbHkgYnkgYWRkaW5nIGNsYXNzPVwidGhlbWUtbW9kZXJuXCIgdG8gPGJvZHk+XG4gKlxuICogVGhpcyBvdmVycmlkZXMgdGhlIGRlZmF1bHQgdGVybWluYWwvVkNSIGFlc3RoZXRpYyB3aXRoOlxuICogLSBDbGVhbiB3aGl0ZXMgYW5kIGdyYXlzXG4gKiAtIFN1YnRsZSBzaGFkb3dzIGluc3RlYWQgb2YgZ2xvd3NcbiAqIC0gU2Fucy1zZXJpZiB0eXBvZ3JhcGh5XG4gKiAtIE1pbmltYWwgdmlzdWFsIG5vaXNlIChubyBzY2FubGluZXMpXG4gKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKiBGb250cyBsb2FkZWQgdmlhIDxsaW5rPiBpbiByb290Lmh0bWwuaGVleCB3aXRoIGZvbnQtZGlzcGxheTogc3dhcCBmb3Igbm9uLWJsb2NraW5nIHJlbmRlciAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIFRoZW1lIFZhcmlhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4sXG4uYXBwLXNoZWxsLnRoZW1lLW1vZGVybiB7XG4gIC8qID09PSBCYWNrZ3JvdW5kIENvbG9ycyA9PT0gKi9cbiAgLS1jcnQtYmxhY2s6ICNmZmZmZmY7ICAgICAgICAgLyogV2hpdGUgYmFja2dyb3VuZCAqL1xuICAtLWNydC1kYXJrOiAjZjhmOWZhOyAgICAgICAgICAvKiBMaWdodCBncmF5IHBhbmVscyAqL1xuICAtLWNydC1hbWJlcjogIzI1NjNlYjsgICAgICAgICAvKiBCbHVlIGFjY2VudCAod2FzIGFtYmVyKSAqL1xuICAtLWNydC1hbWJlci1kaW06ICM5M2M1ZmQ7ICAgICAvKiBMaWdodCBibHVlIGZvciBpbmFjdGl2ZSAqL1xuICAtLWNydC1ncmVlbjogIzIyYzU1ZTsgICAgICAgICAvKiBTdWNjZXNzIGdyZWVuICovXG4gIC0tY3J0LXJlZDogI2VmNDQ0NDsgICAgICAgICAgIC8qIEFsZXJ0IHJlZCAqL1xuXG4gIC8qID09PSBBY2NlbnQgQ29sb3JzID09PSAqL1xuICAtLWtvZGFrLXllbGxvdzogI2ZiYmYyNDsgICAgICAvKiBXYXJtIHllbGxvdyBhY2NlbnQgKi9cbiAgLS1rb2Rhay1yZWQ6ICMxZjI5Mzc7ICAgICAgICAgLyogRGFyayB0ZXh0ICh3YXMgcmVkKSAqL1xuXG4gIC8qID09PSBTdXJmYWNlIENvbG9ycyA9PT0gKi9cbiAgLS1maWxtLWJvcmRlcjogI2U1ZTdlYjsgICAgICAgLyogTGlnaHQgYm9yZGVyICovXG4gIC0tcGFwZXItY3JlYW06ICNmZmZmZmY7ICAgICAgIC8qIFdoaXRlICovXG4gIC0tcGFwZXItYWdlZDogI2YzZjRmNjsgICAgICAgIC8qIExpZ2h0IGdyYXkgKi9cblxuICAvKiA9PT0gVHlwb2dyYXBoeSA9PT0gKi9cbiAgLS1mb250LW1vbm86ICdKZXRCcmFpbnMgTW9ubycsICdTRiBNb25vJywgbW9ub3NwYWNlO1xuICAtLWZvbnQtZGlzcGxheTogJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBzYW5zLXNlcmlmO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZW1vdmUgQ1JUL1ZIUyBFZmZlY3RzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLyogTm8gc2NhbmxpbmVzICovXG4udGhlbWUtbW9kZXJuIC5hcHAtc2hlbGw6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIENsZWFuIHNoYWRvd3MgaW5zdGVhZCBvZiBnbG93cyAqL1xuLnRoZW1lLW1vZGVybiAuaGVhZGVyLWJyYW5kIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuZGF0ZS10ZXh0IHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm5hdi1idG4ge1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIEFwcCBTaGVsbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmFwcC1zaGVsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ibGFjayk7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuaGVhZGVyLWJhciB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLnRoZW1lLW1vZGVybiAucmVjLWluZGljYXRvciB7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5yZWMtaW5kaWNhdG9yLmluYWN0aXZlIHtcbiAgY29sb3I6ICM5Y2EzYWY7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnJlYy1kb3Qge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xufVxuXG4udGhlbWUtbW9kZXJuIC5yZWMtaW5kaWNhdG9yLmluYWN0aXZlIC5yZWMtZG90IHtcbiAgYmFja2dyb3VuZDogI2QxZDVkYjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIE5hdmlnYXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5uYXYtY29udHJvbHMge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybiAubmF2LWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybiAubmF2LWJ0bjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNWU3ZWI7XG4gIGJvcmRlci1jb2xvcjogI2QxZDVkYjtcbn1cblxuLnRoZW1lLW1vZGVybiAubmF2LWJ0bjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZDFkNWRiO1xufVxuXG4udGhlbWUtbW9kZXJuIC5uYXYtYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBEYXRlIERpc3BsYXlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5kYXRlLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmRhdGUtdGV4dCB7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5kYXRlLWRldGFpbCB7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5kYXRlLXNlbGVjdCB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gU2lkZWJhclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLnNpZGViYXIge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4udGhlbWUtbW9kZXJuIC5zdHJpcC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgY29sb3I6ICM2YjcyODA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnNjcm9sbC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2Y5ZmFmYjtcbn1cblxuLyogTm8gZmlsbSBzcHJvY2tldCBlZmZlY3QgKi9cbi50aGVtZS1tb2Rlcm4gLnNjcm9sbC13cmFwcGVyOjpiZWZvcmUsXG4udGhlbWUtbW9kZXJuIC5zY3JvbGwtd3JhcHBlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuIC50aHVtYiB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMDtcbiAgb3BhY2l0eTogMC44O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybiAudGh1bWI6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4udGhlbWUtbW9kZXJuIC50aHVtYi5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vKiBObyBmcmFtZSBudW1iZXJzICovXG4udGhlbWUtbW9kZXJuIC50aHVtYjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gSGVyby9TdGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLnN0YWdlIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbn1cblxuLnRoZW1lLW1vZGVybiAuaGVyby13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBObyBkYXRlIHN0YW1wIG92ZXJsYXkgKi9cbi50aGVtZS1tb2Rlcm4gLmRhdGUtc3RhbXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBObyBmcmFtZSBjb3VudGVyICovXG4udGhlbWUtbW9kZXJuIC5mcmFtZS1jb3VudGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIEJhbm5lcnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYW5pbWF0aW9uOiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuZmlsdGVyLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuZmlsdGVyLWJhbm5lciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBNZXRhIERpc3BsYXlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5tZXRhLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGNvbG9yOiAjMzc0MTUxO1xufVxuXG4udGhlbWUtbW9kZXJuIC5tZXRhLWRpc3BsYXk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5tZXRhLXJvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjNmNGY2O1xufVxuXG4udGhlbWUtbW9kZXJuIC5tZXRhLXZhbCB7XG4gIGNvbG9yOiAjMWU0MGFmOyAgLyogQmx1ZSA4MDAgZm9yIGxpZ2h0IHRoZW1lICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE1cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm1ldGEtdmFsIGEge1xuICBjb2xvcjogIzI1NjNlYjsgIC8qIEJsdWUgNjAwICovXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qIEV4cG9zdXJlIGRhdGEgLSBjb25zaXN0ZW50IHNpemluZyAqL1xuLnRoZW1lLW1vZGVybiAuZGVza3RvcC1leHBvc3VyZSB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICMzNzQxNTE7ICAvKiBHcmF5IDcwMCAqL1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4vKiBUYWdzIGFuZCBkZXNjcmlwdGlvbiAtIHJlYWRhYmxlICovXG4udGhlbWUtbW9kZXJuIC50YWctbGlzdCB7XG4gIGNvbG9yOiAjNGI1NTYzOyAgLyogR3JheSA2MDAgKi9cbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udGhlbWUtbW9kZXJuIC5kZXNjcmlwdGlvbi10ZXh0IHtcbiAgY29sb3I6ICM0YjU1NjM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIERvd25sb2FkICYgU2hhcmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5kb3dubG9hZC1wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4udGhlbWUtbW9kZXJuIC5kb3dubG9hZC1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybiAuZG93bmxvYWQtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzFkNGVkODtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2hhcmUtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2hhcmUtYnRuIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2hhcmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YTM0YTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIE1vZGFsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmluZm8tbW9kYWwge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmluZm8tY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm94LXNoYWRvdzogMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmluZm8taGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmluZm8tdGl0bGUge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNsb3NlLWJ0biB7XG4gIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5zaG9ydGN1dC1rZXkge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICBjb2xvcjogIzM3NDE1MTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kZXJuIEZhY2UvT2JqZWN0IE92ZXJsYXlzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLnRoZW1lLW1vZGVybiAuZmFjZS1ib3gge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMjJjNTVlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmZhY2UtYm94IC5mYWNlLWxhYmVsIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm9iamVjdC1ib3gge1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM3LCA5OSwgMjM1LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLm9iamVjdC1ib3ggLm9iamVjdC1sYWJlbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gQ29udGFjdCBTaGVldFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU3ZWI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHNwYW4ge1xuICBjb2xvcjogIzM3NDE1MTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgYm9yZGVyLXJhZGl1czogMTZweCAxNnB4IDAgMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuY29udGFjdC1zaGVldC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLnRoZW1lLW1vZGVybiAuY29udGFjdC1zaGVldC1oZWFkZXIgc3BhbiB7XG4gIGNvbG9yOiAjMzc0MTUxO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuY29udGFjdC1zaGVldC1oZWFkZXIgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgY29sb3I6ICMzNzQxNTE7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcuc2VsZWN0ZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jcnQtYW1iZXIpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2Rlcm4gUElOIFNjcmVlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4gLnBpbi1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNjY3ZWVhIDAlLCAjNzY0YmEyIDEwMCUpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIGgxIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIGgyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnBpbi1zY3JlZW4gaW5wdXQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIC5zdWJtaXQtYnRuIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGNvbG9yOiAjN2MzYWVkO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLnBpbi1zY3JlZW4gLmVycm9yIHtcbiAgY29sb3I6ICNmZWNhY2E7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5waW4tc2NyZWVuIC5oaW50IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1vZGVybiBTZWFyY2hcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4udGhlbWUtbW9kZXJuIC5zZWFyY2gtaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgzNywgOTksIDIzNSwgMC4xKTtcbn1cblxuLnRoZW1lLW1vZGVybiAuc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOWNhM2FmO1xufVxuXG4udGhlbWUtbW9kZXJuIC5zZWFyY2gtcmVzdWx0cy1jb3VudCB7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTU9ERVJOIERBUksgVEhFTUVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTYW1lIGNsZWFuIGFlc3RoZXRpYyBhcyBtb2Rlcm4tbGlnaHQsIGJ1dCB3aXRoIGRhcmsgYmFja2dyb3VuZHMuXG4gICBBcHBseSB3aXRoIGNsYXNzPVwidGhlbWUtbW9kZXJuLWRhcmtcIiBvbiBib2R5LlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi50aGVtZS1tb2Rlcm4tZGFyayxcbi5hcHAtc2hlbGwudGhlbWUtbW9kZXJuLWRhcmsge1xuICAvKiA9PT0gQmFja2dyb3VuZCBDb2xvcnMgPT09ICovXG4gIC0tY3J0LWJsYWNrOiAjMGYxNzJhOyAgICAgICAgICAgLyogU2xhdGUgOTAwIC0gZGVlcCBkYXJrICovXG4gIC0tY3J0LWRhcms6ICMxZTI5M2I7ICAgICAgICAgICAgLyogU2xhdGUgODAwIC0gcGFuZWxzICovXG4gIC0tY3J0LWFtYmVyOiAjN2RkM2ZjOyAgICAgICAgICAgLyogU2t5IDMwMCAtIGJyaWdodCBhY2NlbnQgKGhpZ2ggY29udHJhc3QpICovXG4gIC0tY3J0LWFtYmVyLWRpbTogIzM4YmRmODsgICAgICAgLyogU2t5IDQwMCAtIHNsaWdodGx5IGRpbW1lciAqL1xuICAtLWNydC1ncmVlbjogIzRhZGU4MDsgICAgICAgICAgIC8qIEdyZWVuIDQwMCAtIGJyaWdodGVyIGZvciBkYXJrIGJnICovXG4gIC0tY3J0LXJlZDogI2Y4NzE3MTsgICAgICAgICAgICAgLyogUmVkIDQwMCAtIGJyaWdodGVyIGZvciBkYXJrIGJnICovXG5cbiAgLyogPT09IEFjY2VudCBDb2xvcnMgPT09ICovXG4gIC0ta29kYWsteWVsbG93OiAjZmNkMzRkOyAgICAgICAgLyogQW1iZXIgMzAwIC0gYnJpZ2h0ZXIgeWVsbG93ICovXG4gIC0ta29kYWstcmVkOiAjZjFmNWY5OyAgICAgICAgICAgLyogU2xhdGUgMTAwIC0gYnJpZ2h0ZXIgdGV4dCAqL1xuXG4gIC8qID09PSBTdXJmYWNlIENvbG9ycyA9PT0gKi9cbiAgLS1maWxtLWJvcmRlcjogIzQ3NTU2OTsgICAgICAgICAvKiBTbGF0ZSA2MDAgLSBicmlnaHRlciBib3JkZXJzICovXG4gIC0tcGFwZXItY3JlYW06ICMxZTI5M2I7ICAgICAgICAgLyogU2xhdGUgODAwICovXG4gIC0tcGFwZXItYWdlZDogIzBmMTcyYTsgICAgICAgICAgLyogU2xhdGUgOTAwICovXG5cbiAgLyogPT09IFR5cG9ncmFwaHkgPT09ICovXG4gIC0tZm9udC1tb25vOiAnSmV0QnJhaW5zIE1vbm8nLCAnU0YgTW9ubycsIG1vbm9zcGFjZTtcbiAgLS1mb250LWRpc3BsYXk6ICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjtcbn1cblxuLyogTm8gc2NhbmxpbmVzIGluIGRhcmsgbW9kZSBlaXRoZXIgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYXBwLXNoZWxsOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmhlYWRlci1icmFuZCB7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2YxZjVmOTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGF0ZS10ZXh0IHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubmF2LWJ0biB7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiA9PT0gRGFyayBBcHAgU2hlbGwgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFwcC1zaGVsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1ibGFjayk7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiA9PT0gRGFyayBIZWFkZXIgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmhlYWRlci1iYXIge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWMtaW5kaWNhdG9yIHtcbiAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVjLWluZGljYXRvci5pbmFjdGl2ZSB7XG4gIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlYy1kb3Qge1xuICBiYWNrZ3JvdW5kOiAjMjJjNTVlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlYy1pbmRpY2F0b3IuaW5hY3RpdmUgLnJlYy1kb3Qge1xuICBiYWNrZ3JvdW5kOiAjNDc1NTY5O1xufVxuXG4vKiA9PT0gRGFyayBOYXZpZ2F0aW9uID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5uYXYtY29udHJvbHMge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5uYXYtYnRuIHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NTU2OTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2UyZThmMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLm5hdi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjNDc1NTY5O1xuICBib3JkZXItY29sb3I6ICM2NDc0OGI7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAubmF2LWJ0bjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjNjQ3NDhiO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLm5hdi1idG4uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogIzBmMTcyYTsgIC8qIERhcmsgdGV4dCBvbiBicmlnaHQgY3lhbiAqL1xufVxuXG4vKiA9PT0gRGFyayBEYXRlIERpc3BsYXkgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRhdGUtZGlzcGxheSB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5kYXRlLXRleHQge1xuICBjb2xvcjogI2YxZjVmOTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxOHB4OyAgLyogTGFyZ2VyIGRhdGUgdGV4dCAqL1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRhdGUtZGV0YWlsIHtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5kYXRlLXNlbGVjdCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE2cHg7ICAvKiBMYXJnZXIgZHJvcGRvd24gKi9cbn1cblxuLyogPT09IERhcmsgU2lkZWJhciA9PT0gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2lkZWJhciB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc3RyaXAtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNjcm9sbC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zY3JvbGwtd3JhcHBlcjo6YmVmb3JlLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5zY3JvbGwtd3JhcHBlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnRodW1iIHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAwLjg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnRodW1iOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC50aHVtYi5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY3J0LWFtYmVyKTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnRodW1iOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PSBEYXJrIEhlcm8vU3RhZ2UgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnN0YWdlIHtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5oZXJvLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGF0ZS1zdGFtcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZnJhbWUtY291bnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PSBEYXJrIEJhbm5lcnMgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmJhbm5lciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNydC1hbWJlcik7XG4gIGNvbG9yOiAjMGYxNzJhOyAgLyogRGFyayB0ZXh0IG9uIGJyaWdodCBjeWFuICovXG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGFuaW1hdGlvbjogbm9uZTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmlsdGVyLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5maWx0ZXItYmFubmVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLyogPT09IERhcmsgTWV0YSBEaXNwbGF5ID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiAjMWUyOTNiO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGNvbG9yOiAjOTRhM2I4OyAgLyogU29mdGVyIGdyYXkgZm9yIGxhYmVscyAqL1xuICBmb250LXdlaWdodDogNDAwOyAgLyogTm9ybWFsIHdlaWdodCAqL1xuICBmb250LXNpemU6IDE1cHg7ICAvKiBTbGlnaHRseSBsYXJnZXIgYmFzZSAqL1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLm1ldGEtZGlzcGxheTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgY29sb3I6ICM2NDc0OGI7ICAvKiBTdWJ0bGUgaGVhZGVyICovXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLXJvdyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzM0MTU1O1xuICBwYWRkaW5nOiA4cHggMTJweDsgIC8qIE1vcmUgcGFkZGluZyBmb3IgcmVhZGFiaWxpdHkgKi9cbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLWxhYmVsIHtcbiAgY29sb3I6ICM2NDc0OGI7ICAvKiBEaW0gbGFiZWxzICovXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLXZhbCB7XG4gIGNvbG9yOiAjZTJlOGYwOyAgLyogU2xhdGUgMjAwIC0gYnJpZ2h0ZXIgZm9yIHJlYWRhYmlsaXR5ICovXG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpOyAgLyogVXNlIHNhbnMtc2VyaWYsIG5vdCBtb25vICovXG4gIGZvbnQtd2VpZ2h0OiA0MDA7ICAvKiBOb3JtYWwsIG5vdCBib2xkICovXG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5tZXRhLXZhbCBhIHtcbiAgY29sb3I6IHZhcigtLWNydC1hbWJlcik7ICAvKiBMaW5rcyBzdGF5IGN5YW4gKi9cbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyogRXhwb3N1cmUgZGF0YSAtIGxhcmdlciBhbmQgY2xlYXJlciAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5kZXNrdG9wLWV4cG9zdXJlIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogI2UyZThmMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLyogVGFncyBhbmQgZGVzY3JpcHRpb24gLSByZWFkYWJsZSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC50YWctbGlzdCB7XG4gIGNvbG9yOiAjY2JkNWUxO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZGVzY3JpcHRpb24tdGV4dCB7XG4gIGNvbG9yOiAjY2JkNWUxO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi8qID09PSBEYXJrIERvd25sb2FkICYgU2hhcmUgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmRvd25sb2FkLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZG93bmxvYWQtYnRuIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3J0LWFtYmVyKTtcbiAgY29sb3I6ICMwZjE3MmE7ICAvKiBEYXJrIHRleHQgb24gYnJpZ2h0IGN5YW4gKi9cbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5kb3dubG9hZC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzhiZGY4OyAgLyogU2t5IDQwMCAtIHNsaWdodGx5IGRhcmtlciBvbiBob3ZlciAqL1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNoYXJlLXBhbmVsIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2hhcmUtYnRuIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zaGFyZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuXG4vKiA9PT0gRGFyayBNb2RhbHMgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmluZm8tbW9kYWwge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuaW5mby1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgYm94LXNoYWRvdzogMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgY29sb3I6ICNlMmU4ZjA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuaW5mby1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5pbmZvLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBjb2xvcjogI2YxZjVmOTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jbG9zZS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBjb2xvcjogI2UyZThmMDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zaG9ydGN1dC1rZXkge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBjb2xvcjogI2UyZThmMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbn1cblxuLyogPT09IERhcmsgRmFjZS9PYmplY3QgT3ZlcmxheXMgPT09ICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmZhY2UtYm94IHtcbiAgYm9yZGVyOiAycHggc29saWQgIzIyYzU1ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5mYWNlLWJveCAuZmFjZS1sYWJlbCB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLm9iamVjdC1ib3gge1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jcnQtYW1iZXIpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMTUpOyAgLyogU2t5IDMwMCB3aXRoIGFscGhhICovXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5vYmplY3QtYm94IC5vYmplY3QtbGFiZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jcnQtYW1iZXIpO1xuICBjb2xvcjogIzBmMTcyYTsgIC8qIERhcmsgdGV4dCBvbiBicmlnaHQgY3lhbiAqL1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG4vKiA9PT0gRGFyayBDb250YWN0IFNoZWV0ID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5jb250YWN0LXNoZWV0LXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNvbnRhY3Qtc2hlZXQtdG9nZ2xlIHNwYW4ge1xuICBjb2xvcjogI2UyZThmMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY29udGFjdC1zaGVldCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzM0MTU1O1xuICBib3JkZXItcmFkaXVzOiAxNnB4IDE2cHggMCAwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNvbnRhY3Qtc2hlZXQtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY29udGFjdC1zaGVldC1oZWFkZXIgc3BhbiB7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jb250YWN0LXNoZWV0LWhlYWRlciBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDc1NTY5O1xuICBjb2xvcjogI2UyZThmMDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jb250YWN0LXNoZWV0LWdyaWQgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNvbnRhY3Qtc2hlZXQtZ3JpZCBpbWcuc2VsZWN0ZWQge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1jcnQtYW1iZXIpO1xufVxuXG4vKiA9PT0gRGFyayBQSU4gU2NyZWVuIC0gU2xlZWsgJiBTb3BoaXN0aWNhdGVkID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIHtcbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCAyMCUgMCUsIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjE1KSAwJSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCA4MCUgMTAwJSwgcmdiYSgxMzksIDkyLCAyNDYsIDAuMTUpIDAlLCB0cmFuc3BhcmVudCA1MCUpLFxuICAgIGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwYzEyMjIgMCUsICMwZjE3MmEgNTAlLCAjMWUxYjRiIDEwMCUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBBbmltYXRlZCBncmFkaWVudCBvcmJzICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTUwJTtcbiAgbGVmdDogLTUwJTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDMwJSAzMCUsIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjA4KSAwJSwgdHJhbnNwYXJlbnQgNDAlKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDcwJSA3MCUsIHJnYmEoMTY3LCAxMzksIDI1MCwgMC4wOCkgMCUsIHRyYW5zcGFyZW50IDQwJSk7XG4gIGFuaW1hdGlvbjogcGluU2NyZWVuR2xvdyAyMHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5Aa2V5ZnJhbWVzIHBpblNjcmVlbkdsb3cge1xuICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHJvdGF0ZSgwZGVnKTsgfVxuICAyNSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyJSwgMiUpIHJvdGF0ZSg1ZGVnKTsgfVxuICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMSUsIDMlKSByb3RhdGUoLTNkZWcpOyB9XG4gIDc1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDMlLCAtMiUpIHJvdGF0ZSgyZGVnKTsgfVxufVxuXG4vKiBHbGFzcyBjYXJkIGNvbnRhaW5lciAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIGZvcm0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBwYWRkaW5nOiA0OHB4IDQwcHg7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAyNXB4IDUwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIGluc2V0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiBoMSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIGgyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4vKiBMb2NrIGljb24gYmVmb3JlIHRpdGxlICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gaDI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcdTI1QzgnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA0OHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMzhiZGY4IDAlLCAjYTc4YmZhIDEwMCUpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiBpbnB1dCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBmb250LXNpemU6IDI4cHg7XG4gIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgd2lkdGg6IDI0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAxMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIGlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxODksIDI0OCwgMC41KTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCA0cHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMSksXG4gICAgMCAwIDMwcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiAuc3VibWl0LWJ0biB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMzOGJkZjggMCUsICM4MThjZjggMTAwJSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHBhZGRpbmc6IDE2cHggNDhweDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDRweCAxNXB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjMpLFxuICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgaW5zZXQ7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucGluLXNjcmVlbiAuc3VibWl0LWJ0bjpob3ZlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDhweCAyNXB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjQpLFxuICAgIDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIGluc2V0O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnBpbi1zY3JlZW4gLnN1Ym1pdC1idG46YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICBib3gtc2hhZG93OlxuICAgIDAgMnB4IDEwcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMyksXG4gICAgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSBpbnNldDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIC5lcnJvciB7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5waW4tc2NyZWVuIC5oaW50IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cblxuLyogPT09IERhcmsgU2VhcmNoID09PSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5zZWFyY2gtaW5wdXQge1xuICBiYWNrZ3JvdW5kOiAjMzM0MTU1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDc1NTY5O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNydC1hbWJlcik7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMjUpOyAgLyogU2t5IDMwMCBnbG93ICovXG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnNlYXJjaC1yZXN1bHRzLWNvdW50IHtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBRE1JTiBQQUdFIFNUWUxFUyAtIE1vZGVybiBUaGVtZSAoTGlnaHQpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uc2lzdGVudCBzdHlsaW5nIGZvciBhbGwgYWRtaW4gcGFnZXM6XG4gICAvc2VjcmV0YWRtaW4sIC9zZWNyZXRhZG1pbi9nYWxsZXJ5LCAvc2VjcmV0YWRtaW4vY2x1c3RlciwgL3NlY3JldGFkbWluL25vZGVzLFxuICAgL3NlY3JldGFkbWluL3Blb3BsZSwgL3NlY3JldGFkbWluL2V2ZW50cywgL3N1cGVyYWRtaW4sIC91cGxvYWQsIC9jbGFpbSwgL2F1ZGl0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLyogQWRtaW4gcGFnZSB3cmFwcGVyICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1wYWdlIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiBBZG1pbiBOYXZpZ2F0aW9uIEJhciAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1icmFuZCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMTZweCAyMHB4IDE2cHggMDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U1ZTdlYjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBjb2xvcjogIzI1NjNlYjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtaXRlbSB7XG4gIHBhZGRpbmc6IDE2cHggMTZweDtcbiAgY29sb3I6ICM2YjcyODA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICBjb2xvcjogIzM3NDE1MTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6ICMyNTYzZWI7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMyNTYzZWI7XG4gIGJhY2tncm91bmQ6ICNlZmY2ZmY7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1zcGFjZXIge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1iYWNrIHtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBjb2xvcjogIzZiNzI4MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW5hdi1iYWNrOmhvdmVyIHtcbiAgY29sb3I6ICMyNTYzZWI7XG59XG5cbi8qIEFkbWluIENvbnRlbnQgQXJlYSAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tY29udGVudCB7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogQWRtaW4gUGFnZSBUaXRsZSAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4vKiBBZG1pbiBTZWN0aW9ucy9DYXJkcyAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1zZWN0aW9uIGgyIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzM3NDE1MTtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjNmNGY2O1xufVxuXG4vKiBBZG1pbiBCdXR0b25zICovXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4ge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMyNTYzZWI7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1idG4tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxZDRlZDg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICBjb2xvcjogIzM3NDE1MTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNWU3ZWI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0bi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmMmYyO1xuICBjb2xvcjogI2RjMjYyNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlY2FjYTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYnRuLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZWUyZTI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0bi1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJ0bi1zdWNjZXNzOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzE2YTM0YTtcbn1cblxuLyogQWRtaW4gRm9ybSBFbGVtZW50cyAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4taW5wdXQsXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1zZWxlY3QsXG4udGhlbWUtbW9kZXJuIC5hZG1pbi10ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMWYyOTM3O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDFkNWRiO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1pbnB1dDpmb2N1cyxcbi50aGVtZS1tb2Rlcm4gLmFkbWluLXNlbGVjdDpmb2N1cyxcbi50aGVtZS1tb2Rlcm4gLmFkbWluLXRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMjU2M2ViO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgzNywgOTksIDIzNSwgMC4xKTtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4taW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5Y2EzYWY7XG59XG5cbi8qIEFkbWluIFN0YXRzIEdyaWQgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXN0YXRzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE4MHB4LCAxZnIpKTtcbiAgZ2FwOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXN0YXQtdmFsdWUge1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMjU2M2ViO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXN0YXQtbGFiZWwge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4vKiBBZG1pbiBUYWJsZXMgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXRhYmxlIHRoLFxuLnRoZW1lLW1vZGVybiAuYWRtaW4tdGFibGUgdGQge1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjNmNGY2O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi10YWJsZSB0aCB7XG4gIGJhY2tncm91bmQ6ICNmOWZhZmI7XG4gIGNvbG9yOiAjNmI3MjgwO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tdGFibGUgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjlmYWZiO1xufVxuXG4vKiBBZG1pbiBNb2RhbHMgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1tb2RhbCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC1oZWlnaHQ6IDkwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLW1vZGFsLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzFmMjkzNztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViO1xufVxuXG4vKiBBZG1pbiBCYWRnZXMvVGFncyAqL1xuLnRoZW1lLW1vZGVybiAuYWRtaW4tYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tYmFkZ2Utc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICNkY2ZjZTc7XG4gIGNvbG9yOiAjMTY2NTM0O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1iYWRnZS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2ZlZjNjNztcbiAgY29sb3I6ICM5MjQwMGU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLWJhZGdlLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6ICNmZWUyZTI7XG4gIGNvbG9yOiAjZGMyNjI2O1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1iYWRnZS1pbmZvIHtcbiAgYmFja2dyb3VuZDogI2RiZWFmZTtcbiAgY29sb3I6ICMxZTQwYWY7XG59XG5cbi8qIEFkbWluIFBJTiBTY3JlZW4gKHN0YW5kYWxvbmUgcGFnZXMgbGlrZSAvdXBsb2FkLCBhZG1pbiBsb2dpbikgKi9cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXBpbi1zY3JlZW4ge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXBpbi1jYXJkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogNDhweCA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIHdpZHRoOiA5MCU7XG59XG5cbi50aGVtZS1tb2Rlcm4gLmFkbWluLXBpbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tcGluLXN1YnRpdGxlIHtcbiAgY29sb3I6ICM2YjcyODA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbn1cblxuLnRoZW1lLW1vZGVybiAuYWRtaW4tcGluLWlucHV0IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZjNmNGY2O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTVlN2ViO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIHdpZHRoOiAyMDBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDhweDtcbiAgY29sb3I6ICMxZjI5Mzc7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1waW4taW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICMyNTYzZWI7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDM3LCA5OSwgMjM1LCAwLjEpO1xufVxuXG4udGhlbWUtbW9kZXJuIC5hZG1pbi1waW4tZXJyb3Ige1xuICBjb2xvcjogI2RjMjYyNjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBRE1JTiBQQUdFIFNUWUxFUyAtIE1vZGVybiBEYXJrIFRoZW1lXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLyogQWRtaW4gcGFnZSB3cmFwcGVyIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1wYWdlIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1kaXNwbGF5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiBBZG1pbiBOYXZpZ2F0aW9uIEJhciAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2IHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzQxNTU7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtYnJhbmQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDE2cHggMjBweCAxNnB4IDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMzMzQxNTU7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgY29sb3I6ICM3ZGQzZmM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtaXRlbSB7XG4gIHBhZGRpbmc6IDE2cHggMTZweDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzMzQxNTU7XG4gIGNvbG9yOiAjZTJlOGYwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1pdGVtLmFjdGl2ZSB7XG4gIGNvbG9yOiAjN2RkM2ZjO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjN2RkM2ZjO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMSk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LXNwYWNlciB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtYmFjayB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1iYWNrOmhvdmVyIHtcbiAgY29sb3I6ICM3ZGQzZmM7XG59XG5cbi8qIEFkbWluIENvbnRlbnQgQXJlYSAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tY29udGVudCB7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogQWRtaW4gUGFnZSBUaXRsZSAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjFmNWY5O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4vKiBBZG1pbiBTZWN0aW9ucy9DYXJkcyAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tc2VjdGlvbiBoMiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbn1cblxuLyogQWRtaW4gQnV0dG9ucyAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZGlzcGxheSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICM3ZGQzZmM7XG4gIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM4YmRmODtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1idG4tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzMzNDE1NTtcbiAgY29sb3I6ICNlMmU4ZjA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzU1Njk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM0NzU1Njk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0bi1kYW5nZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJ0bi1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuXG4vKiBBZG1pbiBGb3JtIEVsZW1lbnRzIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1pbnB1dCxcbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tc2VsZWN0LFxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi10ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWRpc3BsYXkpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDc1NTY5O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWlucHV0OmZvY3VzLFxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1zZWxlY3Q6Zm9jdXMsXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXRleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjN2RkM2ZjO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjE1KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLyogQWRtaW4gU3RhdHMgR3JpZCAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tc3RhdHMtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpO1xuICBnYXA6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tc3RhdC1jYXJkIHtcbiAgYmFja2dyb3VuZDogIzFlMjkzYjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXN0YXQtdmFsdWUge1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjN2RkM2ZjO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi8qIEFkbWluIFRhYmxlcyAtIGRhcmsgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi10YWJsZSB0aCxcbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tdGFibGUgdGQge1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzM0MTU1O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXRhYmxlIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjA1KTtcbn1cblxuLyogQWRtaW4gTW9kYWxzIC0gZGFyayAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1tb2RhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1tb2RhbCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC1oZWlnaHQ6IDkwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1tb2RhbC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzNDE1NTtcbn1cblxuLyogQWRtaW4gQmFkZ2VzL1RhZ3MgLSBkYXJrICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYmFkZ2Utc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBjb2xvcjogIzRhZGU4MDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1iYWRnZS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDE5MSwgMzYsIDAuMTUpO1xuICBjb2xvcjogI2ZjZDM0ZDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1iYWRnZS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTtcbiAgY29sb3I6ICNmODcxNzE7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tYmFkZ2UtaW5mbyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4xNSk7XG4gIGNvbG9yOiAjN2RkM2ZjO1xufVxuXG4vKiBBZG1pbiBQSU4gU2NyZWVuIC0gZGFyayAoc2xlZWsgZ2xhc3MgbW9ycGhpc20pICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi1zY3JlZW4ge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6XG4gICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgMjAlIDAlLCByZ2JhKDU2LCAxODksIDI0OCwgMC4xNSkgMCUsIHRyYW5zcGFyZW50IDUwJSksXG4gICAgcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgODAlIDEwMCUsIHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjE1KSAwJSwgdHJhbnNwYXJlbnQgNTAlKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMGMxMjIyIDAlLCAjMGYxNzJhIDUwJSwgIzFlMWI0YiAxMDAlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4tc2NyZWVuOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MCU7XG4gIGxlZnQ6IC01MCU7XG4gIHdpZHRoOiAyMDAlO1xuICBoZWlnaHQ6IDIwMCU7XG4gIGJhY2tncm91bmQ6XG4gICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMzAlLCByZ2JhKDU2LCAxODksIDI0OCwgMC4wOCkgMCUsIHRyYW5zcGFyZW50IDQwJSksXG4gICAgcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA3MCUgNzAlLCByZ2JhKDE2NywgMTM5LCAyNTAsIDAuMDgpIDAlLCB0cmFuc3BhcmVudCA0MCUpO1xuICBhbmltYXRpb246IHBpblNjcmVlbkdsb3cgMjBzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4tY2FyZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMyk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIHBhZGRpbmc6IDQ4cHggNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3gtc2hhZG93OlxuICAgIDAgMjVweCA1MHB4IC0xMnB4IHJnYmEoMCwgMCwgMCwgMC41KSxcbiAgICAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSBpbnNldDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICB3aWR0aDogOTAlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLXBpbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1waW4tc3VidGl0bGUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLWlucHV0IHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgd2lkdGg6IDIyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogOHB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDU2LCAxODksIDI0OCwgMC41KTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCA0cHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMSksXG4gICAgMCAwIDMwcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMSk7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tcGluLWVycm9yIHtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgcGFkZGluZzogMTJweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdQVSBDTFVTVEVSIFBBR0UgU1RZTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lmaWMgc3R5bGVzIGZvciAvc2VjcmV0YWRtaW4vY2x1c3RlciBHUFUgbW9uaXRvcmluZyBkYXNoYm9hcmQuXG4gICBVc2VzIGFkbWluLSogYmFzZSBjbGFzc2VzIHdpdGggY2x1c3Rlci0qIGV4dGVuc2lvbnMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLyogQ2x1c3RlciBzdGF0cyBncmlkIC0gc2ltaWxhciB0byBhZG1pbi1zdGF0cy1ncmlkIGJ1dCB3aXRoIG1vcmUgY29sdW1ucyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5jbHVzdGVyLXN0YXRzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE1MHB4LCAxZnIpKTtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNsdXN0ZXItc3RhdC1jYXJkIHtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2x1c3Rlci1zdGF0LXZhbHVlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzdkZDNmYztcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNsdXN0ZXItc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM2NDc0OGI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLyogV29ya2VyIGNhcmRzICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLndvcmtlci1jYXJkIHtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC53b3JrZXItY2FyZC5vbmxpbmUge1xuICBib3JkZXItY29sb3I6ICMyMmM1NWU7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzIyYzU1ZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC53b3JrZXItY2FyZC5vZmZsaW5lIHtcbiAgYm9yZGVyLWNvbG9yOiAjZjg3MTcxO1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmODcxNzE7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC53b3JrZXItY2FyZC51bmtub3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmNkMzRkO1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmY2QzNGQ7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAud29ya2VyLWluZm8ge1xuICBmbGV4OiAxO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLndvcmtlci1pbmZvIGgzIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2YxZjVmOTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLndvcmtlci1tZXRhIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLyogU3RhdHVzIGJhZGdlcyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5zdGF0dXMtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnN0YXR1cy1iYWRnZS5vbmxpbmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgY29sb3I6ICM0YWRlODA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuc3RhdHVzLWJhZGdlLm9mZmxpbmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuMTUpO1xuICBjb2xvcjogI2Y4NzE3MTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5zdGF0dXMtYmFkZ2UudW5rbm93biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAyMTEsIDc3LCAwLjE1KTtcbiAgY29sb3I6ICNmY2QzNGQ7XG59XG5cbi8qIENhcGFiaWxpdHkgdGFncyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5jYXBhYmlsaXRpZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDZweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuY2FwYWJpbGl0eS10YWcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMjExLCAyNTIsIDAuMSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4zKTtcbiAgY29sb3I6ICM3ZGQzZmM7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBGZWF0dXJlIHJlY29tbWVuZGF0aW9ucyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWNvbW1lbmRhdGlvbi1ib3gge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4wNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjUxLCAxOTEsIDM2LCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAucmVjb21tZW5kYXRpb24tYm94IGgzIHtcbiAgY29sb3I6ICNmY2QzNGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5mZWF0dXJlLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcbiAgZ2FwOiA4cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmVhdHVyZS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5mZWF0dXJlLXN0YXR1cy5yZWNvbW1lbmRlZCB7IGNvbG9yOiAjNGFkZTgwOyB9XG4udGhlbWUtbW9kZXJuLWRhcmsgLmZlYXR1cmUtc3RhdHVzLnBvc3NpYmxlIHsgY29sb3I6ICNmY2QzNGQ7IH1cbi50aGVtZS1tb2Rlcm4tZGFyayAuZmVhdHVyZS1zdGF0dXMubm90X3JlY29tbWVuZGVkIHsgY29sb3I6ICNmODcxNzE7IH1cblxuLyogQWRkIHdvcmtlciBmb3JtICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmFkZC13b3JrZXItZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRkLXdvcmtlci1mb3JtIGlucHV0IHtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ3NTU2OTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI2UyZThmMDtcbiAgcGFkZGluZzogMTBweCAxNHB4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRkLXdvcmtlci1mb3JtIGlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjN2RkM2ZjO1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjE1KTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5hZGQtd29ya2VyLWZvcm0gYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzdkZDNmYztcbiAgY29sb3I6ICMwZjE3MmE7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuYWRkLXdvcmtlci1mb3JtIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzOGJkZjg7XG59XG5cbi8qIFJlbW92ZSB3b3JrZXIgYnV0dG9uICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlbW92ZS1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlbW92ZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xufVxuXG4vKiBIZWFkZXIgcm93IHdpdGggcmVmcmVzaCAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5jbHVzdGVyLWhlYWRlci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxNnB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmNsdXN0ZXItaGVhZGVyLXJvdyBoMSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIG1hcmdpbjogMDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5yZWZyZXNoLWJ0biB7XG4gIGJhY2tncm91bmQ6ICMzMzQxNTU7XG4gIGNvbG9yOiAjZTJlOGYwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDc1NTY5O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLnJlZnJlc2gtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQ3NTU2OTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5sYXN0LXJlZnJlc2gge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjNjQ3NDhiO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbn1cblxuLyogTG9hZGluZyBzdGF0ZSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5jbHVzdGVyLWxvYWRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDYwcHggMjBweDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5jbHVzdGVyLWxvYWRpbmc6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzQ3NTU2OTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzdkZDNmYztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFVkVOVFMgUEFHRSBTVFlMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEV2ZW50IGNhcmQgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtY2FyZCB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtY2FyZDpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzdkZDNmYztcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1jYXJkLmV4Y2x1c2l2ZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y4NzE3MTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1jYXJkLmhpZGRlbiB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLyogRXZlbnQgbmFtZSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1uYW1lIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2YxZjVmOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LW5hbWU6aG92ZXIge1xuICBjb2xvcjogIzdkZDNmYztcbn1cblxuLyogRXZlbnQgZGF0ZSByYW5nZSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1kYXRlcyB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLyogRXZlbnQgZGVzY3JpcHRpb24gKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjY2JkNWUxO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi8qIEV2ZW50IGJhZGdlcyAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1iYWRnZS1leGNsdXNpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuMik7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYmFkZ2UtaGlkZGVuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjIpO1xuICBjb2xvcjogIzk0YTNiODtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjMpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJhZGdlLXBpbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDUsIDIxMiwgMTkxLCAwLjIpO1xuICBjb2xvcjogIzJkZDRiZjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg0NSwgMjEyLCAxOTEsIDAuMyk7XG59XG5cbi8qIEV2ZW50IGZvcm0gaW5wdXRzICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWlucHV0IHtcbiAgYmFja2dyb3VuZDogIzBmMTcyYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzNDE1NTtcbiAgY29sb3I6ICNmMWY1Zjk7XG4gIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1pbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzdkZDNmYztcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLyogRXZlbnQgZm9ybSBsYWJlbHMgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzk0YTNiODtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi8qIEV2ZW50IGFjdGlvbiBidXR0b25zICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYnRuIHtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJ0bi12aWV3IHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjEpO1xuICBjb2xvcjogIzdkZDNmYztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjMpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJ0bi12aWV3OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjIpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJ0bi10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM5NGEzYjg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0NzU1Njk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYnRuLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMzMzQxNTU7XG4gIGNvbG9yOiAjZjFmNWY5O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJ0bi10b2dnbGUuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDExMywgMTEzLCAwLjEpO1xuICBjb2xvcjogI2Y4NzE3MTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuMyk7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtYnRuLWRlbGV0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50LWJ0bi1kZWxldGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xufVxuXG4vKiBDcmVhdGUgZXZlbnQgZm9ybSAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1jcmVhdGUtZm9ybSB7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1jcmVhdGUtZm9ybSBoMyB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2YxZjVmOTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1mb3JtLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDE2cHg7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnQtZm9ybS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdhcDogMTZweDtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudC1mb3JtLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi8qIEhlbHAgbW9kYWwgKi9cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWhlbHAtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIHotaW5kZXg6IDk5OTtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtaGVscC1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQ6ICMxZTI5M2I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzQxNTU7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHotaW5kZXg6IDEwMDA7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMwcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1oZWxwLW1vZGFsIGgyIHtcbiAgbWFyZ2luOiAwIDAgMTZweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZjFmNWY5O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1oZWxwLW1vZGFsIGgzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2UyZThmMDtcbiAgbWFyZ2luOiAyMHB4IDAgOHB4IDA7XG59XG5cbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWhlbHAtbW9kYWwgcCxcbi50aGVtZS1tb2Rlcm4tZGFyayAuZXZlbnRzLWhlbHAtbW9kYWwgbGkge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1oZWxwLW1vZGFsIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEVtcHR5IHN0YXRlICovXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNjBweCAyMHB4O1xuICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtZW1wdHkgcCB7XG4gIG1hcmdpbjogOHB4IDA7XG59XG5cbi8qIEV2ZW50IGhlYWRlciAqL1xuLnRoZW1lLW1vZGVybi1kYXJrIC5ldmVudHMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4udGhlbWUtbW9kZXJuLWRhcmsgLmV2ZW50cy1jb3VudCB7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBRE1JTiBHQUxMRVJZIFVOSUZJRUQgREVTSUdOIFNZU1RFTVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnNvbGlkYXRlcyB0aGUgcmFpbmJvdyBib3JkZXIgY2hhb3MgaW50byBhIGNvaGVzaXZlIDMtY29sb3IgaGllcmFyY2h5LlxuICAgUmVwbGFjZXMgaW5saW5lIHN0eWxlcyBpbiBhZG1pbl9saXZlLmh0bWwuaGVleCB3aXRoIHByb3BlciBDU1MgY2xhc3Nlcy5cblxuICAgQ29sb3IgUGFsZXR0ZTpcbiAgIC0gUHJpbWFyeSAoQ3lhbik6ICM3ZGQzZmMgLSBNYWluIGNvbnRyb2xzLCBhY3RpdmUgc3RhdGVzXG4gICAtIFNlY29uZGFyeSAoR3JlZW4pOiAjNGFkZTgwIC0gU3VjY2VzcyBzdGF0ZXMsIGNvbmZpcm1hdGlvbnNcbiAgIC0gVGVydGlhcnkgKEFtYmVyKTogI2ZiYmYyNCAtIFdhcm5pbmdzLCBzcGVjaWFsIG1vZGVzXG4gICAtIERhbmdlciAoUmVkKTogI2Y4NzE3MSAtIERlc3RydWN0aXZlIGFjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vKiBBZG1pbiBDb2xvciBWYXJpYWJsZXMgKi9cbi5hZG1pbi1wYWdlIHtcbiAgLS1hZG1pbi1iZzogIzBmMTcyYTtcbiAgLS1hZG1pbi1zdXJmYWNlOiAjMWUyOTNiO1xuICAtLWFkbWluLXN1cmZhY2UtZWxldmF0ZWQ6ICMzMzQxNTU7XG4gIC0tYWRtaW4tYm9yZGVyOiAjNDc1NTY5O1xuICAtLWFkbWluLXRleHQ6ICNlMmU4ZjA7XG4gIC0tYWRtaW4tdGV4dC1tdXRlZDogIzk0YTNiODtcbiAgLS1hZG1pbi10ZXh0LWRpbTogIzY0NzQ4YjtcblxuICAvKiBBY2NlbnQgQ29sb3JzIC0gMy1jb2xvciBoaWVyYXJjaHkgKi9cbiAgLS1hZG1pbi1hY2NlbnQtcHJpbWFyeTogIzdkZDNmYzsgICAgLyogQ3lhbiAtIG1haW4gYWN0aW9ucyAqL1xuICAtLWFkbWluLWFjY2VudC1zZWNvbmRhcnk6ICM0YWRlODA7ICAvKiBHcmVlbiAtIHN1Y2Nlc3MvYWN0aXZlICovXG4gIC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5OiAjZmJiZjI0OyAgIC8qIEFtYmVyIC0gd2FybmluZ3Mvc3BlY2lhbCAqL1xuICAtLWFkbWluLWFjY2VudC1kYW5nZXI6ICNmODcxNzE7ICAgICAvKiBSZWQgLSBkZXN0cnVjdGl2ZSAqL1xuXG4gIC8qIEFjY2VudCBCYWNrZ3JvdW5kcyAoMTAlIG9wYWNpdHkpICovXG4gIC0tYWRtaW4tYWNjZW50LXByaW1hcnktYmc6IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4xKTtcbiAgLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5LWJnOiByZ2JhKDc0LCAyMjIsIDEyOCwgMC4xKTtcbiAgLS1hZG1pbi1hY2NlbnQtdGVydGlhcnktYmc6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjEpO1xuICAtLWFkbWluLWFjY2VudC1kYW5nZXItYmc6IHJnYmEoMjQ4LCAxMTMsIDExMywgMC4xKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkbWluIFNlY3Rpb24gQ2FyZHMgLSBVbmlmaWVkIEJvcmRlciBIaWVyYXJjaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uYWRtaW4tc2VjdGlvbi0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWFkbWluLWFjY2VudC1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmFkbWluLXNlY3Rpb24tLXRlcnRpYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXIpO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXIpO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1uZXV0cmFsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLyogU2VjdGlvbiBIZWFkZXJzICovXG4uYWRtaW4tc2VjdGlvbl9faGVhZGVyIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmFkbWluLXNlY3Rpb24tLXByaW1hcnkgLmFkbWluLXNlY3Rpb25fX2hlYWRlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtcHJpbWFyeSk7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1zZWNvbmRhcnkgLmFkbWluLXNlY3Rpb25fX2hlYWRlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5KTtcbn1cblxuLmFkbWluLXNlY3Rpb24tLXRlcnRpYXJ5IC5hZG1pbi1zZWN0aW9uX19oZWFkZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXRlcnRpYXJ5KTtcbn1cblxuLmFkbWluLXNlY3Rpb24tLWRhbmdlciAuYWRtaW4tc2VjdGlvbl9faGVhZGVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXIpO1xufVxuXG4vKiBTZWN0aW9uIERlc2NyaXB0aW9uICovXG4uYWRtaW4tc2VjdGlvbl9fZGVzYyB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDhweCAwIDE2cHggMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkbWluIEJ1dHRvbnMgLSBVbmlmaWVkIFN0eWxpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uYWRtaW4tYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlO1xufVxuXG4uYWRtaW4tYnRuLS1wcmltYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM4YmRmODtcbn1cblxuLmFkbWluLWJ0bi0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1lbGV2YXRlZCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbn1cblxuLmFkbWluLWJ0bi0tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzQ3NTU2OTtcbiAgYm9yZGVyLWNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uYWRtaW4tYnRuLS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYWRtaW4tYnRuLS1zdWNjZXNzOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cblxuLmFkbWluLWJ0bi0td2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnkpO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hZG1pbi1idG4tLXdhcm5pbmc6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4yKTtcbn1cblxuLmFkbWluLWJ0bi0tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlci1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNDgsIDExMywgMTEzLCAwLjMpO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hZG1pbi1idG4tLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ4LCAxMTMsIDExMywgMC4yKTtcbn1cblxuLyogVG9nZ2xlIGJ1dHRvbiBhY3RpdmUgc3RhdGVzICovXG4uYWRtaW4tYnRuLS10b2dnbGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cblxuLmFkbWluLWJ0bi0tdG9nZ2xlLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC1zZWNvbmRhcnktYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50LXNlY29uZGFyeSk7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZS5hY3RpdmUtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeS1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeSk7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZS5hY3RpdmUtZGFuZ2VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYWNjZW50LWRhbmdlci1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtZGFuZ2VyKTtcbn1cblxuLyogU3RhdHVzIGluZGljYXRvciBkb3QgKi9cbi5hZG1pbi1zdGF0dXMtZG90IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4uYWRtaW4tc3RhdHVzLWRvdC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtc2Vjb25kYXJ5KTtcbn1cblxuLmFkbWluLXN0YXR1cy1kb3Qud2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC10ZXJ0aWFyeSk7XG4gIGFuaW1hdGlvbjogcHVsc2UgMXMgaW5maW5pdGU7XG59XG5cbi5hZG1pbi1zdGF0dXMtZG90LmRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXIpO1xuICBhbmltYXRpb246IHB1bHNlIDFzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGhlbWUgU2VsZWN0b3IgQnV0dG9ucyAtIFVuaWZpZWQgR3JpZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5hZG1pbi10aGVtZS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgZ2FwOiA4cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYWRtaW4tdGhlbWUtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxufVxuXG4uYWRtaW4tdGhlbWUtYnRuIHtcbiAgcGFkZGluZzogMTJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4uYWRtaW4tdGhlbWUtYnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4uYWRtaW4tdGhlbWUtYnRuLnNlbGVjdGVkIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCAxMnB4IHJnYmEoMTI1LCAyMTEsIDI1MiwgMC4zKTtcbn1cblxuLyogVGhlbWUtc3BlY2lmaWMgY29sb3JzIChhcHBsaWVkIHZpYSBkYXRhIGF0dHJpYnV0ZSBvciBpbmxpbmUpICovXG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJrb2Rha1wiXSB7IGJhY2tncm91bmQ6ICNmYmJmMjQ7IGNvbG9yOiAjZGMyNjI2OyB9XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJmdWppXCJdIHsgYmFja2dyb3VuZDogIzAwNmIzYzsgY29sb3I6ICNmZmY7IH1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cInBvbGFyb2lkXCJdIHsgYmFja2dyb3VuZDogI2Y1ZjVmNTsgY29sb3I6ICMzMzM7IH1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cIm5vaXJcIl0geyBiYWNrZ3JvdW5kOiAjMDAwOyBjb2xvcjogI2ZmZjsgfVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwicGxheWJveVwiXSB7IGJhY2tncm91bmQ6ICMwMDA7IGNvbG9yOiAjZDRhZjM3OyB9XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJwZW50aG91c2VcIl0geyBiYWNrZ3JvdW5kOiAjMWExYTJlOyBjb2xvcjogI2M5YTIyNzsgfVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwiaHVzdGxlclwiXSB7IGJhY2tncm91bmQ6ICM4YjAwMDA7IGNvbG9yOiAjZmZkNzAwOyB9XG4uYWRtaW4tdGhlbWUtYnRuW2RhdGEtdGhlbWU9XCJpbnN0YWdyYW1cIl0ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsICNmMDk0MzMsICNlNjY4M2MsICNkYzI3NDMsICNjYzIzNjYsICNiYzE4ODgpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5hZG1pbi10aGVtZS1idG5bZGF0YS10aGVtZT1cIndlYjFcIl0geyBiYWNrZ3JvdW5kOiAjYzBjMGMwOyBjb2xvcjogIzAwMDA4MDsgfVxuLmFkbWluLXRoZW1lLWJ0bltkYXRhLXRoZW1lPVwid3cyXCJdIHsgYmFja2dyb3VuZDogIzJkMmExZjsgY29sb3I6ICNkNGM5YTg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkbWluIFN0YXRzIEdyaWRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4uYWRtaW4tc3RhdHMtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW46IDE2cHggMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5hZG1pbi1zdGF0cy1yb3cge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cblxuLmFkbWluLXN0YXQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgcGFkZGluZzogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWRtaW4tc3RhdF9fbGFiZWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uYWRtaW4tc3RhdF9fdmFsdWUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtcHJpbWFyeSk7XG59XG5cbi5hZG1pbi1zdGF0X192YWx1ZS5zdWNjZXNzIHsgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1zZWNvbmRhcnkpOyB9XG4uYWRtaW4tc3RhdF9fdmFsdWUud2FybmluZyB7IGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtdGVydGlhcnkpOyB9XG4uYWRtaW4tc3RhdF9fdmFsdWUuZGFuZ2VyIHsgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1kYW5nZXIpOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZG1pbiBUeXBvZ3JhcGh5IFNjYWxlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWluaW11bSAxMnB4IGZvciByZWFkYWJpbGl0eS4gQmFzZSAxNHB4LlxuKi9cblxuLmFkbWluLXBhZ2Uge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5hZG1pbi10ZXh0LXhzIHsgZm9udC1zaXplOiAxMnB4OyB9ICAvKiBNaW5pbXVtICovXG4uYWRtaW4tdGV4dC1zbSB7IGZvbnQtc2l6ZTogMTNweDsgfVxuLmFkbWluLXRleHQtYmFzZSB7IGZvbnQtc2l6ZTogMTRweDsgfVxuLmFkbWluLXRleHQtbGcgeyBmb250LXNpemU6IDE2cHg7IH1cbi5hZG1pbi10ZXh0LXhsIHsgZm9udC1zaXplOiAxOHB4OyB9XG5cbi5hZG1pbi10ZXh0LW11dGVkIHsgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpOyB9XG4uYWRtaW4tdGV4dC1kaW0geyBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZG1pbiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi5hZG1pbi1pbnB1dCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFkbWluLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCB2YXIoLS1hZG1pbi1hY2NlbnQtcHJpbWFyeS1iZyk7XG59XG5cbi5hZG1pbi1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4uYWRtaW4tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWRtaW4gQnV0dG9uIEdyaWQgKDMtY29sIGxheW91dCBmb3IgY29udHJvbHMpXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKi9cblxuLmFkbWluLWJ0bi1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ2FwOiAxMnB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmFkbWluLWJ0bi1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9iaWxlIFJlc3BvbnNpdmUgQWRqdXN0bWVudHMgKHBlciBHZW1pbmkgZGVzaWduIHJldmlldylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmFkbWluLXBhZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5hZG1pbi1zZWN0aW9uX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuXG4gIC5hZG1pbi1idG4tLXByaW1hcnksXG4gIC5hZG1pbi1idG4tLXNlY29uZGFyeSxcbiAgLmFkbWluLWJ0bi0tdG9nZ2xlIHtcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIH1cblxuICAuYWRtaW4taW5wdXQge1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIH1cblxuICAvKiBBZG1pbiBuYXY6IHdyYXAgYW5kIHN0YWNrIG9uIG1vYmlsZSAqL1xuICAuYWRtaW4tbmF2LFxuICAudGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYsXG4gIC50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2IHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBnYXA6IDJweDtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmFkbWluLW5hdi1icmFuZCxcbiAgLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWJyYW5kLFxuICAudGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1icmFuZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTI4LDEyOCwxMjgsMC4yKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmFkbWluLW5hdi1pdGVtLFxuICAudGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtaXRlbSxcbiAgLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgcGFkZGluZzogNnB4IDhweCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtc3BhY2VyLFxuICAudGhlbWUtbW9kZXJuIC5hZG1pbi1uYXYtc3BhY2VyLFxuICAudGhlbWUtbW9kZXJuLWRhcmsgLmFkbWluLW5hdi1zcGFjZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtYmFjayxcbiAgLnRoZW1lLW1vZGVybiAuYWRtaW4tbmF2LWJhY2ssXG4gIC50aGVtZS1tb2Rlcm4tZGFyayAuYWRtaW4tbmF2LWJhY2sge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLyogUHJldmVudCBob3Jpem9udGFsIG92ZXJmbG93ICovXG4gIC5hZG1pbi1wYWdlLFxuICBib2R5IHtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYWRtaW4tY29udGVudCxcbiAgLnRoZW1lLW1vZGVybiAuYWRtaW4tY29udGVudCxcbiAgLnRoZW1lLW1vZGVybi1kYXJrIC5hZG1pbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIFNlY3Rpb25zOiBmdWxsIHdpZHRoLCBsZXNzIHBhZGRpbmcgKi9cbiAgLmFkbWluLXNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgfVxuXG4gIC8qIEdyaWRzOiBzaW5nbGUgY29sdW1uICovXG4gIC5hZG1pbi1zdGF0cy1ncmlkLFxuICAuY2x1c3Rlci1zdGF0cy1ncmlkLFxuICAuYWRtaW4tYnV0dG9uLWdyb3VwIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogSW1hZ2UgZ3JpZDogMiBjb2x1bW5zIG9uIG1vYmlsZSAqL1xuICAuYWRtaW4taW1hZ2UtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKSAhaW1wb3J0YW50O1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLyogVGFibGVzOiBob3Jpem9udGFsIHNjcm9sbCAqL1xuICAuYWRtaW4tdGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvKiBWSFMgY29udHJvbHM6IHN0YWNrICovXG4gIC52aHMtY29udHJvbHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG4gIH1cblxuICAudmhzLWNvbnRyb2wge1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKiBMRUQgZGlzcGxheXM6IHNtYWxsZXIgb24gbW9iaWxlICovXG4gIC5sZWQtZGlzcGxheSB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gIH1cblxuICAvKiBGbG9wcHkgbGFiZWxzOiBzdGFjayAqL1xuICAuZmxvcHB5LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVXRpbGl0eTogZmxleC0xICovXG4uZmxleC0xIHsgZmxleDogMTsgfVxuIiwgIi8qIEFJIENvbGxhYiBEYXNoYm9hcmQgLSA5MHMgU2NpLUZpIE1lZ2EgQ29tcHV0ZXIgKi9cbi8qIFRoaW5rOiBXT1BSLCBKdXJhc3NpYyBQYXJrLCBUaGUgTWF0cml4ICovXG5cbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVZUMzIzJmZhbWlseT1TaGFyZStUZWNoK01vbm8mZGlzcGxheT1zd2FwJyk7XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQYWdlIExheW91dCAtIERhcmsgVGVybWluYWwgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1wYWdlIHtcbiAgYmFja2dyb3VuZDogIzBhMGEwZjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGZvbnQtZmFtaWx5OiAnU2hhcmUgVGVjaCBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDExcHQ7XG4gIGNvbG9yOiAjMDBmZjg4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cblxuLyogU2NhbmxpbmUgb3ZlcmxheSBlZmZlY3QgKi9cbi5obi1wYWdlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG4gICAgMGRlZyxcbiAgICByZ2JhKDAsMCwwLDAuMSkgMHB4LFxuICAgIHJnYmEoMCwwLDAsMC4xKSAxcHgsXG4gICAgdHJhbnNwYXJlbnQgMXB4LFxuICAgIHRyYW5zcGFyZW50IDJweFxuICApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLmhuLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIZWFkZXIgJiBOYXZpZ2F0aW9uIC0gU2NpLUZpIFRlcm1pbmFsICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4taGVhZGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzFhMWEyZSAwJSwgIzBmMGYxYSAxMDAlKTtcbiAgcGFkZGluZzogOHB4IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMGZmODg7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwyNTUsMTM2LDAuMyk7XG59XG5cbi5obi1sb2dvIHtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAyNHB0O1xuICBjb2xvcjogIzAwZmY4ODtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4ICMwMGZmODgsIDAgMCAyMHB4ICMwMGZmODg7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG59XG5cbi5obi1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDVweDtcbiAgZmxleDogMTtcbn1cblxuLmhuLW5hdiBhLFxuLmhuLXRhYiB7XG4gIGNvbG9yOiAjMDBhYTY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMGFhNjY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmhuLXRhYi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjMDBmZjg4O1xuICBjb2xvcjogIzAwMDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggIzAwZmY4ODtcbn1cblxuLmhuLXRhYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwyNTUsMTM2LDAuMik7XG4gIGJvcmRlci1jb2xvcjogIzAwZmY4ODtcbiAgY29sb3I6ICMwMGZmODg7XG59XG5cbi5obi11c2VyIHtcbiAgY29sb3I6ICNmZjY2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogOXB0O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ2xvY2sgQmFyIC0gU3lzdGVtIFN0YXR1cyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLWNsb2NrLWJhciB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgwLDI1NSwxMzYsMC4xKSAwJSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDAsMTcwLDI1NSwwLjEpIDEwMCUpO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMDBmZjg4O1xufVxuXG4uaG4tY2xvY2sge1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDIwcHQ7XG4gIGNvbG9yOiAjMDBmZjg4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggIzAwZmY4ODtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cblxuLmhuLXR6LXNlbGVjdCB7XG4gIGJhY2tncm91bmQ6ICMxMTE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMGFhNjY7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDlwdDtcbiAgY29sb3I6ICMwMGZmODg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdTaGFyZSBUZWNoIE1vbm8nLCBtb25vc3BhY2U7XG59XG5cbi5obi10ei1zZWxlY3Q6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMwMGZmODg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwyNTUsMTM2LDAuMyk7XG59XG5cbi5obi10ei1zZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICMwMGZmODg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdGF0cyBCYXIgLSBTeXN0ZW0gTWV0cmljcyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLXN0YXRzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMjBweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjNjY2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjIyO1xufVxuXG4uaG4tc3RhdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmhuLXN0YXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDEzNiwwLjEpO1xufVxuXG4uaG4tc3RhdC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDEzNiwwLjIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBmZjg4O1xufVxuXG4uaG4tc3RhdC1sYWJlbCB7XG4gIGNvbG9yOiAjNTU1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDhwdDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbn1cblxuLmhuLXN0YXQtdmFsIHtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNHB0O1xufVxuXG4uaG4tc3RhdC12YWwuY2xhdWRlIHtcbiAgY29sb3I6ICMwMGFhZmY7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4ICMwMGFhZmY7XG59XG5cbi5obi1zdGF0LXZhbC5nZW1pbmkge1xuICBjb2xvcjogIzAwZmY4ODtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggIzAwZmY4ODtcbn1cblxuLmhuLXN0YXQtdmFsLmtpbWkge1xuICBjb2xvcjogI2FhNTVmZjtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggI2FhNTVmZjtcbn1cblxuLmhuLXN0YXQtdmFsLmdwdCB7XG4gIGNvbG9yOiAjZmY4ODAwO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCAjZmY4ODAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ3ljbGUgU3RhdHVzIEJhbm5lciAtIENvbW1hbmQgQ29uc29sZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLWN5Y2xlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMWExYTJlLCAjMGYwZjFhKTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwZmY4ODtcbiAgcGFkZGluZzogMTJweCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE1cHg7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwyNTUsMTM2LDAuMik7XG59XG5cbi5obi1jeWNsZS53YWl0aW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZhYTAwO1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDI1NSwxNzAsMCwwLjIpO1xufVxuXG4uaG4tY3ljbGUtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMThwdDtcbn1cblxuLmhuLWN5Y2xlLXRleHQge1xuICBmbGV4OiAxO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjODg4O1xufVxuXG4uaG4tY3ljbGUtdGV4dCBzdHJvbmcge1xuICBjb2xvcjogI2ZmYWEwMDtcbn1cblxuLmhuLWN5Y2xlLWJ0biB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwZmY4ODtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwZmY4ODtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG5cbi5obi1jeWNsZS1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDBmZjg4O1xuICBjb2xvcjogIzAwMDtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggIzAwZmY4ODtcbn1cblxuLmhuLWN5Y2xlLWJ0bi5yZXNldCB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDQ0NDtcbiAgY29sb3I6ICNmZjQ0NDQ7XG59XG5cbi5obi1jeWNsZS1idG4ucmVzZXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY0NDQ0O1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmhuLWN5Y2xlLWJ0bi50cmlnZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBmZjg4O1xuICBjb2xvcjogIzAwZmY4ODtcbiAgYW5pbWF0aW9uOiBidXR0b24tcHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgYnV0dG9uLXB1bHNlIHtcbiAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgNXB4ICMwMGZmODg7IH1cbiAgNTAlIHsgYm94LXNoYWRvdzogMCAwIDIwcHggIzAwZmY4OCwgMCAwIDMwcHggIzAwZmY4ODsgfVxufVxuXG4uaG4tY3ljbGUtYnRuLnRyaWdnZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDBmZjg4O1xuICBjb2xvcjogIzAwMDtcbiAgYW5pbWF0aW9uOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFicyAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBkODtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwO1xufVxuXG4uaG4tdGFiLWJ0biB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEwcHQ7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4uaG4tdGFiLWJ0bjpob3ZlciB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uaG4tdGFiLWJ0bi5hY3RpdmUge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmY2NjAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUaHJlYWQgVmlldyAtIFJldHJvIFRlcm1pbmFsIEVtYWlsICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tdGhyZWFkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xuICBtYXgtaGVpZ2h0OiA2MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vKiBDdXN0b20gc2Nyb2xsYmFyICovXG4uaG4tdGhyZWFkOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA4cHg7XG59XG4uaG4tdGhyZWFkOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6ICMxMTE7XG59XG4uaG4tdGhyZWFkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICMwMGZmODg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5obi1tc2cge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzIyMjtcbiAgcGFkZGluZzogMTJweCAxNXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5obi1tc2c6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMjU1LDEzNiwwLjA1KTtcbn1cblxuLyogQ29sb3ItY29kZWQgbGVmdCBib3JkZXIgYnkgc2VuZGVyICovXG4uaG4tbXNnOmhhcyguaG4tbXNnLWF1dGhvci5jbGF1ZGUpIHsgYm9yZGVyLWxlZnQtY29sb3I6ICMwMGFhZmY7IH1cbi5obi1tc2c6aGFzKC5obi1tc2ctYXV0aG9yLmdlbWluaSkgeyBib3JkZXItbGVmdC1jb2xvcjogIzAwZmY4ODsgfVxuLmhuLW1zZzpoYXMoLmhuLW1zZy1hdXRob3IuZ3B0KSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjZmY4ODAwOyB9XG4uaG4tbXNnOmhhcyguaG4tbXNnLWF1dGhvci5raW1pKSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAjYWE1NWZmOyB9XG5cbi5obi1tc2ctaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDlwdDtcbiAgY29sb3I6ICM2NjY7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuLmhuLW1zZy1hdXRob3Ige1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE0cHQ7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5obi1tc2ctYXV0aG9yLmNsYXVkZSB7XG4gIGNvbG9yOiAjMDBhYWZmO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCAjMDBhYWZmO1xufVxuXG4uaG4tbXNnLWF1dGhvci5nZW1pbmkge1xuICBjb2xvcjogIzAwZmY4ODtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggIzAwZmY4ODtcbn1cblxuLmhuLW1zZy1hdXRob3Iua2ltaSB7XG4gIGNvbG9yOiAjYWE1NWZmO1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCAjYWE1NWZmO1xufVxuXG4uaG4tbXNnLWF1dGhvci5ncHQge1xuICBjb2xvcjogI2ZmODgwMDtcbiAgdGV4dC1zaGFkb3c6IDAgMCA1cHggI2ZmODgwMDtcbn1cblxuLmhuLW1zZy10byB7XG4gIGNvbG9yOiAjNTU1O1xufVxuXG4uaG4tbXNnLXRpbWUge1xuICBjb2xvcjogIzQ0NDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5obi1tc2ctc3ViamVjdCB7XG4gIGNvbG9yOiAjMDBmZjg4O1xuICBmb250LXNpemU6IDExcHQ7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmhuLW1zZy1zdWJqZWN0IGEge1xuICBjb2xvcjogIzAwZmY4ODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uaG4tbXNnLXN1YmplY3QgYTpob3ZlciB7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4ICMwMGZmODg7XG59XG5cbi5obi1tc2ctYm9keSB7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgY29sb3I6ICM4ODg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1heC1oZWlnaHQ6IDNlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4uaG4tbXNnLWJvZHkuZXhwYW5kZWQge1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY29sb3I6ICNhYWE7XG59XG5cbi5obi1tc2ctdG9nZ2xlIHtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjMDBhYTY2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBhYTY2O1xufVxuXG4uaG4tbXNnLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMGFhNjY7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUHJvcG9zYWxzIExpc3QgLSBGaWxlIEJyb3dzZXIgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5obi1wcm9wb3NhbHMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG59XG5cbi5obi1wcm9wIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxNXB4O1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjIyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmhuLXByb3A6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5obi1wcm9wLXN0YXR1cyB7XG4gIGZvbnQtc2l6ZTogOHB0O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbn1cblxuLmhuLXByb3Atc3RhdHVzLmFwcHJvdmVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBmZjg4O1xuICBjb2xvcjogIzAwZmY4ODtcbn1cblxuLmhuLXByb3Atc3RhdHVzLnJlYWR5IHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZhYTAwO1xuICBjb2xvcjogI2ZmYWEwMDtcbn1cblxuLmhuLXByb3Atc3RhdHVzLmRyYWZ0IHtcbiAgYm9yZGVyLWNvbG9yOiAjNjY2O1xuICBjb2xvcjogIzY2Njtcbn1cblxuLmhuLXByb3Atc3RhdHVzLmluIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhYWZmO1xuICBjb2xvcjogIzAwYWFmZjtcbiAgYW5pbWF0aW9uOiBwdWxzZSAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLmhuLXByb3AtbmFtZSB7XG4gIGZsZXg6IDE7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgY29sb3I6ICMwMGZmODg7XG59XG5cbi5obi1wcm9wLXByaW9yaXR5IHtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjZmY4ODAwO1xufVxuXG4uaG4tcHJvcC1kYXRlIHtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjNTU1O1xufVxuXG4uaG4tcHJvcDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwyNTUsMTM2LDAuMSk7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzAwZmY4ODtcbn1cblxuLmhuLXByb3Atdmlld2VyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBmZjg4O1xufVxuXG4uaG4tcHJvcC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEycHggMTVweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsMjU1LDEzNiwwLjIpLCB0cmFuc3BhcmVudCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDBmZjg4O1xufVxuXG4uaG4tcHJvcC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTZwdDtcbiAgY29sb3I6ICMwMGZmODg7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCAjMDBmZjg4O1xufVxuXG4uaG4tcHJvcC1jbG9zZSB7XG4gIGNvbG9yOiAjZmY0NDQ0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBwdDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjQ0NDQ7XG59XG5cbi5obi1wcm9wLWNsb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNDQ0NDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5obi1wcm9wLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxNXB4O1xuICBmb250LWZhbWlseTogJ1NoYXJlIFRlY2ggTW9ubycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxMHB0O1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzg4ODtcbiAgYmFja2dyb3VuZDogIzBhMGEwZjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRPRE9zICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tdG9kb3Mge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGQ4O1xufVxuXG4uaG4tdG9kbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMGYwZTg7XG4gIGZvbnQtc2l6ZTogOXB0O1xufVxuXG4uaG4tdG9kbzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmhuLXRvZG8tY2hlY2sge1xuICBjb2xvcjogIzg4ODtcbn1cblxuLmhuLXRvZG8tdGV4dCB7XG4gIGZsZXg6IDE7XG4gIGNvbG9yOiAjNDQ0O1xufVxuXG4uaG4tdG9kby1zcmMge1xuICBmb250LXNpemU6IDhwdDtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFbXB0eSBTdGF0ZSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLWVtcHR5IHtcbiAgcGFkZGluZzogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzQ0NDtcbiAgZm9udC1zaXplOiAxMHB0O1xuICBib3JkZXI6IDFweCBkYXNoZWQgIzMzMztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBJTiBGb3JtIC0gQWNjZXNzIFRlcm1pbmFsICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tcGluLWZvcm0ge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW46IDEwMHB4IGF1dG87XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxYTFhMmUgMCUsICMwZDBkMTUgMTAwJSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMGZmODg7XG4gIHBhZGRpbmc6IDQwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCA1MHB4IHJnYmEoMCwyNTUsMTM2LDAuMyk7XG59XG5cbi5obi1waW4tZm9ybSBoMiB7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMjhwdDtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICBjb2xvcjogIzAwZmY4ODtcbiAgdGV4dC1zaGFkb3c6IDAgMCAyMHB4ICMwMGZmODg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbn1cblxuLmhuLXBpbi1mb3JtIHAge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uaG4tcGluLWZvcm0gaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzMzM7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGY7XG4gIGNvbG9yOiAjMDBmZjg4O1xuICBmb250LXNpemU6IDE4cHQ7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGV0dGVyLXNwYWNpbmc6IDVweDtcbn1cblxuLmhuLXBpbi1mb3JtIGlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMDBmZjg4O1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsMjU1LDEzNiwwLjMpO1xufVxuXG4uaG4tcGluLWZvcm0gYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwZmY4ODtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwZmY4ODtcbiAgcGFkZGluZzogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE0cHQ7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xufVxuXG4uaG4tcGluLWZvcm0gYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwZmY4ODtcbiAgY29sb3I6ICMwMDA7XG4gIGJveC1zaGFkb3c6IDAgMCAzMHB4ICMwMGZmODg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGaWx0ZXIgQmFubmVyICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tZmlsdGVyLWJhbm5lciB7XG4gIHBhZGRpbmc6IDhweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmM2NkO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmZjMTA3O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDlwdDtcbn1cblxuLmhuLWZpbHRlci1jbGVhciB7XG4gIGNvbG9yOiAjZmY2NjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uaG4tZmlsdGVyLWNsZWFyOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTeW5jIFN0YXR1cyBDYXJkcyAtIFNxdWFyZSBCb3QgUGFuZWxzICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tc3luYy1jYXJkcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIGdhcDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbn1cblxuLmhuLXN5bmMtY2FyZCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxYTFhMmUgMCUsICMwZDBkMTUgMTAwJSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzMzM7XG4gIHBhZGRpbmc6IDE1cHggMThweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi8qIEFuaW1hdGVkIGNvcm5lciBhY2NlbnRzICovXG4uaG4tc3luYy1jYXJkOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZDtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xufVxuXG4uaG4tc3luYy1jYXJkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmhuLXN5bmMtY2FyZDpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG59XG5cbi8qIENsYXVkZSAtIEVsZWN0cmljIEJsdWUgKi9cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDEpIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBhYWZmO1xufVxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMSk6aG92ZXIsXG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCgxKS5iZWhpbmQge1xuICBib3gtc2hhZG93OiAwIDAgMzBweCByZ2JhKDAsMTcwLDI1NSwwLjUpLCBpbnNldCAwIDAgMzBweCByZ2JhKDAsMTcwLDI1NSwwLjEpO1xufVxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMSkgLmhuLXN5bmMtYm90IHtcbiAgY29sb3I6ICMwMGFhZmY7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCAjMDBhYWZmO1xufVxuXG4vKiBHZW1pbmkgLSBNYXRyaXggR3JlZW4gKi9cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBmZjg4O1xufVxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMik6aG92ZXIsXG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCgyKS5iZWhpbmQge1xuICBib3gtc2hhZG93OiAwIDAgMzBweCByZ2JhKDAsMjU1LDEzNiwwLjUpLCBpbnNldCAwIDAgMzBweCByZ2JhKDAsMjU1LDEzNiwwLjEpO1xufVxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMikgLmhuLXN5bmMtYm90IHtcbiAgY29sb3I6ICMwMGZmODg7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCAjMDBmZjg4O1xufVxuXG4vKiBHUFQgLSBPcmFuZ2UgKi9cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY4ODAwO1xufVxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMyk6aG92ZXIsXG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCgzKS5iZWhpbmQge1xuICBib3gtc2hhZG93OiAwIDAgMzBweCByZ2JhKDI1NSwxMzYsMCwwLjUpLCBpbnNldCAwIDAgMzBweCByZ2JhKDI1NSwxMzYsMCwwLjEpO1xufVxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoMykgLmhuLXN5bmMtYm90IHtcbiAgY29sb3I6ICNmZjg4MDA7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCAjZmY4ODAwO1xufVxuXG4vKiBLaW1pIC0gUHVycGxlICovXG4uaG4tc3luYy1jYXJkOm50aC1jaGlsZCg0KSB7XG4gIGJvcmRlci1jb2xvcjogI2FhNTVmZjtcbn1cbi5obi1zeW5jLWNhcmQ6bnRoLWNoaWxkKDQpOmhvdmVyLFxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoNCkuYmVoaW5kIHtcbiAgYm94LXNoYWRvdzogMCAwIDMwcHggcmdiYSgxNzAsODUsMjU1LDAuNSksIGluc2V0IDAgMCAzMHB4IHJnYmEoMTcwLDg1LDI1NSwwLjEpO1xufVxuLmhuLXN5bmMtY2FyZDpudGgtY2hpbGQoNCkgLmhuLXN5bmMtYm90IHtcbiAgY29sb3I6ICNhYTU1ZmY7XG4gIHRleHQtc2hhZG93OiAwIDAgMTBweCAjYWE1NWZmO1xufVxuXG4vKiBQdWxzaW5nIGFuaW1hdGlvbiBmb3IgY2FyZHMgd2l0aCB1bnJlYWQgKi9cbi5obi1zeW5jLWNhcmQuYmVoaW5kIHtcbiAgYW5pbWF0aW9uOiBwdWxzZS1nbG93IDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlLWdsb3cge1xuICAwJSwgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbiAgNTAlIHsgb3BhY2l0eTogMC43OyB9XG59XG5cbi5obi1zeW5jLWJvdCB7XG4gIGZvbnQtZmFtaWx5OiAnVlQzMjMnLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMThwdDtcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xufVxuXG4uaG4tc3luYy1zdGF0dXMge1xuICBmb250LXNpemU6IDExcHQ7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmhuLXN5bmMtc3RhdHVzLnN5bmNlZCB7XG4gIGNvbG9yOiAjMDBmZjg4O1xufVxuXG4uaG4tc3luYy1zdGF0dXMuYmVoaW5kIHtcbiAgY29sb3I6ICNmZmFhMDA7XG59XG5cbi5obi1zeW5jLXN0YXR1cy5vZmZsaW5lIHtcbiAgY29sb3I6ICNmZjQ0NDQ7XG59XG5cbi5obi1zeW5jLXRpbWUge1xuICBmb250LXNpemU6IDlwdDtcbiAgY29sb3I6ICM4ODg7XG59XG5cbi5obi1zeW5jLWZyb20ge1xuICBmb250LXNpemU6IDlwdDtcbiAgY29sb3I6ICNhYWE7XG4gIG1hcmdpbi10b3A6IDRweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENhdGNoLXVwIE1vZGFsICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4tbW9kYWwtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4uaG4tbW9kYWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHdpZHRoOiA5MCU7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBib3gtc2hhZG93OiAwIDRweCAyMHB4IHJnYmEoMCwwLDAsMC4yKTtcbn1cblxuLmhuLW1vZGFsLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmZjY2MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5obi1tb2RhbC1jbG9zZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwIDVweDtcbn1cblxuLmhuLW1vZGFsLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5obi1tb2RhbC1ib2R5IHtcbiAgcGFkZGluZzogMTVweDtcbn1cblxuLmhuLW1vZGFsLWJvZHkgcCB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgZm9udC1zaXplOiAxMHB0O1xufVxuXG4uaG4tdW5yZWFkLWxpc3Qge1xuICBiYWNrZ3JvdW5kOiAjZjZmNmVmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTBlMGQ4O1xuICBwYWRkaW5nOiA4cHg7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG4uaG4tdW5yZWFkLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDRweCAwO1xuICBmb250LXNpemU6IDlwdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZDg7XG59XG5cbi5obi11bnJlYWQtaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLmhuLXVucmVhZC1maWxlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5obi11bnJlYWQtY291bnQge1xuICBjb2xvcjogI2Q5NzcwNjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5obi1jYXRjaHVwLXByb21wdCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5obi1jYXRjaHVwLXByb21wdCBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDlwdDtcbiAgY29sb3I6ICM2NjY7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLmhuLWNhdGNodXAtcHJvbXB0IHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDlwdDtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4uaG4tY2F0Y2h1cC1wcm9tcHQgYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmY2NjAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDlwdDtcbn1cblxuLmhuLWNhdGNodXAtcHJvbXB0IGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlNTVjMDA7XG59XG5cbi5obi1zeW5jLWRldGFpbCB7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXNpemU6IDlwdDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFdhcm5pbmcgQmFubmVyICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaG4td2FybmluZy1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmMmYyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWY0NDQ0O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNlZjQ0NDQ7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIGNvbG9yOiAjOTkxYjFiO1xufVxuXG4uaG4td2FybmluZy1iYW5uZXIgc3Ryb25nIHtcbiAgY29sb3I6ICNkYzI2MjY7XG59XG5cbi5obi13YXJuaW5nLWJhbm5lciB1bCB7XG4gIG1hcmdpbjogNXB4IDAgNXB4IDIwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5obi13YXJuaW5nLWJhbm5lciBsaSB7XG4gIG1hcmdpbjogMnB4IDA7XG59XG5cbi5obi13YXJuaW5nLWJhbm5lciBzbWFsbCB7XG4gIGNvbG9yOiAjNjY2O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNb2JpbGUgUmVzcG9uc2l2ZSAocGVyIEdlbWluaSBkZXNpZ24gcmV2aWV3KSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogLS0tIEJhc2UgTW9iaWxlIFN0eWxlcyAoPCA3NjhweCkgLS0tICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBGb3JjZSBzaW5nbGUtY29sdW1uIGxheW91dCBmb3IgYWxsIGdyaWRzICovXG4gIC5obi1zeW5jLWNhcmRzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLmhuLXN5bmMtY2FyZCB7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLyogU3RhdHMgd3JhcCB2ZXJ0aWNhbGx5ICovXG4gIC5obi1zdGF0cyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC8qIEhlYWRlciB3cmFwcyBvbiBtb2JpbGUgKi9cbiAgLmhuLWhlYWRlciB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICB9XG5cbiAgLmhuLW5hdiB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDRweDtcbiAgfVxuXG4gIC8qIFRhYnMgc2Nyb2xsIGhvcml6b250YWxseSAqL1xuICAuaG4tdGFicyB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvKiBDeWNsZSBiYW5uZXIgc3RhY2tzICovXG4gIC5obi1jeWNsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDhweDtcbiAgfVxuXG4gIC5obi1jeWNsZS1idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8qIE1vZGFsIHRha2VzIG1vcmUgc2NyZWVuICovXG4gIC5obi1tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgbWF4LWhlaWdodDogOTB2aDtcbiAgfVxuXG4gIC8qIENsb2NrIGJhciBzdGFja3MgKi9cbiAgLmhuLWNsb2NrLWJhciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDZweDtcbiAgfVxuXG4gIC8qIE1lc3NhZ2UgaGVhZGVycyB3cmFwIGJldHRlciAqL1xuICAuaG4tbXNnLWhlYWRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgfVxuXG4gIC8qIFRvdWNoIHRhcmdldCBpbXByb3ZlbWVudHMgKi9cbiAgLmhuLXRhYi1idG4sXG4gIC5obi1jeWNsZS1idG4sXG4gIC5obi1zdGF0LFxuICAuaG4tc3luYy1jYXJkLFxuICAuaG4tdGFiIHtcbiAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyogSW5jcmVhc2UgYmFzZSBmb250IGZvciByZWFkYWJpbGl0eSAqL1xuICAuaG4tcGFnZSB7XG4gICAgZm9udC1zaXplOiAxMXB0O1xuICB9XG5cbiAgLmhuLW1zZy1ib2R5IHtcbiAgICBmb250LXNpemU6IDEwcHQ7XG4gIH1cblxuICAvKiBQSU4gZm9ybSBmdWxsIHdpZHRoICovXG4gIC5obi1waW4tZm9ybSB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbjogMjBweCAxMHB4O1xuICB9XG5cbiAgLyogUHJvcG9zYWxzIGxpc3QgcmVhZGFibGUgKi9cbiAgLmhuLXByb3Age1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA0cHg7XG4gIH1cblxuICAuaG4tcHJvcC1uYW1lIHtcbiAgICBmb250LXNpemU6IDEwcHQ7XG4gIH1cblxuICAvKiBUT0RPcyByZWFkYWJsZSAqL1xuICAuaG4tdG9kbyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxufVxuXG4vKiAtLS0gRGVza3RvcCBCcmVha3BvaW50IChtaW4td2lkdGg6IDc2OHB4KSAtLS0gKi9cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8qIFJlLWludHJvZHVjZSBtdWx0aS1jb2x1bW4gbGF5b3V0cyAqL1xuICAuaG4tc3luYy1jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5obi1zeW5jLWNhcmQge1xuICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC8qIFJlc3RvcmUgZGVza3RvcCBmb250IHNpemVzICovXG4gIC5obi1wYWdlIHtcbiAgICBmb250LXNpemU6IDEwcHQ7XG4gIH1cbn1cblxuLyogLS0tIEdQVCBIZWFydGJlYXQgQ291bnRkb3duIC0tLSAqL1xuXG4uaG4tZ3B0LWhlYXJ0YmVhdCB7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgZm9udC1zaXplOiA5cHQ7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ5LCAxMTUsIDIyLCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuXG4uZ3B0LWNvdW50ZG93biB7XG4gIGNvbG9yOiAjZjk3MzE2O1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xufVxuXG4uZ3B0LXByb2Nlc3Npbmcge1xuICBjb2xvcjogIzIyYzU1ZTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAxcyBpbmZpbml0ZTtcbn1cblxuLmdwdC1zdG9wcGVkIHtcbiAgY29sb3I6ICM2YjcyODA7XG59XG5cbi5ncHQtdW5rbm93biB7XG4gIGNvbG9yOiAjZmY2NjAwO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNTsgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29udmVyc2F0aW9uIFRocmVhZCBWaWV3IC0gRnVsbCBTY3JlZW4gT3ZlcmxheSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhuLWNvbnZlcnNhdGlvbi12aWV3IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoNSw1LDEwLDAuOTgpO1xuICBib3JkZXI6IG5vbmU7XG4gIHotaW5kZXg6IDkwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmhuLWNvbnYtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsMjU1LDEzNiwwLjE1KSwgcmdiYSgwLDE3MCwyNTUsMC4xNSkpO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwZmY4ODtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5obi1jb252LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNnB0O1xuICBjb2xvcjogIzAwZmY4ODtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4ICMwMGZmODg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5cbi8qIEhlYWRlciBjbG9zZSBidXR0b24gcmVtb3ZlZCAtIHVzaW5nIGZsb2F0aW5nIGJ1dHRvbiBvbmx5ICovXG5cbi8qIEZsb2F0aW5nIGNsb3NlIGJ1dHRvbiAtIGFsd2F5cyB2aXNpYmxlICovXG4uaG4tY29udi1mbG9hdC1jbG9zZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAzMHB4O1xuICByaWdodDogMzBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzFhMWEyZSwgIzBkMGQxNSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZjQ0NDQ7XG4gIGNvbG9yOiAjZmY0NDQ0O1xuICBwYWRkaW5nOiAxNXB4IDI1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6ICdWVDMyMycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNHB0O1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB6LWluZGV4OiAxMDAxO1xuICBib3gtc2hhZG93OiAwIDAgMzBweCByZ2JhKDI1NSw2OCw2OCwwLjUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLmhuLWNvbnYtZmxvYXQtY2xvc2U6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY0NDQ0O1xuICBjb2xvcjogIzAwMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgYm94LXNoYWRvdzogMCAwIDQwcHggI2ZmNDQ0NDtcbn1cblxuLyogVGhyZWFkIGxpbmsgYnV0dG9uIG9uIG1lc3NhZ2VzICovXG4uaG4tbXNnLXRocmVhZC1saW5rIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjY7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogOXB0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDBhYTY2O1xuICBjb2xvcjogIzAwYWE2Njtcbn1cblxuLmhuLW1zZy10aHJlYWQtbGluazpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6ICMwMGFhNjY7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKiBDb252ZXJzYXRpb24gdmlldyBtZXNzYWdlcyAtIHNjcm9sbGFibGUgYXJlYSAqL1xuLmhuLWNvbnYtbWVzc2FnZXMge1xuICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5obi1tc2ctY29udiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbn1cblxuLyogQ29sb3ItY29kZWQgYnkgc2VuZGVyICovXG4uaG4tbXNnLWNvbnYuZnJvbS1jbGF1ZGUge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwMGFhZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwxNzAsMjU1LDAuMDUpO1xufVxuXG4uaG4tbXNnLWNvbnYuZnJvbS1nZW1pbmkge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICMwMGZmODg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwyNTUsMTM2LDAuMDUpO1xufVxuXG4uaG4tbXNnLWNvbnYuZnJvbS1ncHQge1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmZjg4MDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LDEzNiwwLDAuMDUpO1xufVxuXG4uaG4tbXNnLWNvbnYuZnJvbS1raW1pIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjYWE1NWZmO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE3MCw4NSwyNTUsMC4wNSk7XG59XG5cbi8qIENvbnZlcnNhdGlvbiBtZXNzYWdlIGhlYWRlciAqL1xuLmhuLW1zZy1jb252IC5obi1tc2ctaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7XG59XG5cbi8qIENvbnZlcnNhdGlvbiB2aWV3IHNob3dzIGZ1bGwgYm9keSB3aXRoIGJldHRlciBzdHlsaW5nICovXG4uaG4tbXNnLWNvbnYgLmhuLW1zZy1ib2R5IHtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgZm9udC1mYW1pbHk6ICdTaGFyZSBUZWNoIE1vbm8nLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTFwdDtcbiAgbGluZS1oZWlnaHQ6IDEuNztcbiAgY29sb3I6ICNiYmI7XG59XG5cbi5obi1tc2ctY29udiAuaG4tbXNnLXN1YmplY3Qge1xuICBmb250LWZhbWlseTogJ1ZUMzIzJywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE0cHQ7XG4gIGNvbG9yOiAjMDBmZjg4O1xuICB0ZXh0LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMjU1LDEzNiwwLjUpO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4iLCAiLypcbiAqIFNjYW5leCBBZG1pbiBQb3J0YWwgRGVzaWduIFN5c3RlbVxuICpcbiAqIFBlciBHZW1pbmkncyBkZXNpZ24gZGVjaXNpb25zICgyMDI2LTAxLTI5KTpcbiAqIC0gRGFyayB0aGVtZSBvbmx5ICgjMWExYTJlKVxuICogLSBEcm9wZG93biBuYXYgZ3JvdXBzXG4gKiAtIENhcmQtYmFzZWQgbGF5b3V0c1xuICogLSBTdGFja2VkIG5hdiBvbiBtb2JpbGUgKGZsZXgtd3JhcClcbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMS4gQ1NTIFZBUklBQkxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuICAvKiBDb2xvcnMgLSBEYXJrIFRoZW1lICovXG4gIC0tYWRtaW4tYmc6ICMxYTFhMmU7XG4gIC0tYWRtaW4tYmctYWx0OiAjMTYyMTNlO1xuICAtLWFkbWluLXN1cmZhY2U6ICMxZjI5Mzc7XG4gIC0tYWRtaW4tc3VyZmFjZS1ob3ZlcjogIzM3NDE1MTtcbiAgLS1hZG1pbi1ib3JkZXI6ICMzNzQxNTE7XG5cbiAgLyogQWNjZW50IENvbG9ycyAqL1xuICAtLWFkbWluLWFjY2VudDogI2U5NDU2MDtcbiAgLS1hZG1pbi1hY2NlbnQtaG92ZXI6ICNmZjZiNmI7XG4gIC0tYWRtaW4tcHJpbWFyeTogIzNiODJmNjtcbiAgLS1hZG1pbi1wcmltYXJ5LWhvdmVyOiAjNjBhNWZhO1xuXG4gIC8qIFRleHQgQ29sb3JzICovXG4gIC0tYWRtaW4tdGV4dDogI2YzZjRmNjtcbiAgLS1hZG1pbi10ZXh0LW11dGVkOiAjOWNhM2FmO1xuICAtLWFkbWluLXRleHQtZGltOiAjNmI3MjgwO1xuXG4gIC8qIFN0YXR1cyBDb2xvcnMgKi9cbiAgLS1hZG1pbi1zdWNjZXNzOiAjMTBiOTgxO1xuICAtLWFkbWluLXN1Y2Nlc3MtYmc6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEpO1xuICAtLWFkbWluLXdhcm5pbmc6ICNmNTllMGI7XG4gIC0tYWRtaW4td2FybmluZy1iZzogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMSk7XG4gIC0tYWRtaW4tZXJyb3I6ICNlZjQ0NDQ7XG4gIC0tYWRtaW4tZXJyb3ItYmc6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIC0tYWRtaW4taW5mbzogIzNiODJmNjtcbiAgLS1hZG1pbi1pbmZvLWJnOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTtcblxuICAvKiBTcGFjaW5nIFNjYWxlICovXG4gIC0tc3BhY2UtMTogMC4yNXJlbTtcbiAgLS1zcGFjZS0yOiAwLjVyZW07XG4gIC0tc3BhY2UtMzogMC43NXJlbTtcbiAgLS1zcGFjZS00OiAxcmVtO1xuICAtLXNwYWNlLTU6IDEuMjVyZW07XG4gIC0tc3BhY2UtNjogMS41cmVtO1xuICAtLXNwYWNlLTg6IDJyZW07XG4gIC0tc3BhY2UtMTA6IDIuNXJlbTtcbiAgLS1zcGFjZS0xMjogM3JlbTtcblxuICAvKiBUeXBvZ3JhcGh5ICovXG4gIC0tYWRtaW4tZm9udDogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAtLWFkbWluLWZvbnQtbW9ubzogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTtcbiAgLS1hZG1pbi10ZXh0LXhzOiAwLjc1cmVtO1xuICAtLWFkbWluLXRleHQtc206IDAuODc1cmVtO1xuICAtLWFkbWluLXRleHQtYmFzZTogMXJlbTtcbiAgLS1hZG1pbi10ZXh0LWxnOiAxLjEyNXJlbTtcbiAgLS1hZG1pbi10ZXh0LXhsOiAxLjI1cmVtO1xuICAtLWFkbWluLXRleHQtMnhsOiAxLjVyZW07XG4gIC0tYWRtaW4tdGV4dC0zeGw6IDEuODc1cmVtO1xuXG4gIC8qIEVmZmVjdHMgKi9cbiAgLS1hZG1pbi1yYWRpdXM6IDhweDtcbiAgLS1hZG1pbi1yYWRpdXMtc206IDRweDtcbiAgLS1hZG1pbi1yYWRpdXMtbGc6IDEycHg7XG4gIC0tYWRtaW4tc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLS1hZG1pbi1zaGFkb3ctbGc6IDAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDRweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC0tYWRtaW4tdHJhbnNpdGlvbjogMTUwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAyLiBCQVNFIFNUWUxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWxheW91dCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDBkdmg7IC8qIER5bmFtaWMgdmlld3BvcnQgaGVpZ2h0IC0gYWNjb3VudHMgZm9yIGJyb3dzZXIgY2hyb21lICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgLyogU2FmZSBhcmVhIGluc2V0cyBmb3Igbm90Y2hlZC9mb2xkYWJsZSBkZXZpY2VzICovXG4gIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgcGFkZGluZy1yaWdodDogZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCk7XG4gIHBhZGRpbmctYm90dG9tOiBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7XG59XG5cbi5hZG1pbi1sYXlvdXQgKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAzLiBOQVZJR0FUSU9OXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLWFsdCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5hZG1pbi1uYXYtYnJhbmQge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLW5hdi1icmFuZDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQtaG92ZXIpO1xufVxuXG4vKiBEcm9wZG93biBDb250YWluZXIgKi9cbi5hZG1pbi1uYXYtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24tdHJpZ2dlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi10cmlnZ2VyOmhvdmVyLFxuLmFkbWluLW5hdi1kcm9wZG93bi10cmlnZ2VyLmFjdGl2ZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24tdHJpZ2dlcjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgbWluLXdpZHRoOiAxODBweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLWFkbWluLXNoYWRvdy1sZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIDA7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd246aG92ZXIgLmFkbWluLW5hdi1kcm9wZG93bi1tZW51IHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtNCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24taXRlbTpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24taXRlbS5hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG59XG5cbi8qIFNpbXBsZSBOYXYgSXRlbXMgKG5vbi1kcm9wZG93bikgKi9cbi5hZG1pbi1uYXYtaXRlbSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWl0ZW06aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xufVxuXG4uYWRtaW4tbmF2LWl0ZW0uYWN0aXZlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xufVxuXG4uYWRtaW4tbmF2LXNwYWNlciB7XG4gIGZsZXg6IDE7XG59XG5cbi5hZG1pbi1uYXYtYmFjayB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWJhY2s6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi8qIE5hdiBMYXlvdXQgKi9cbi5hZG1pbi1uYXYtbGVmdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGZsZXg6IDE7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmFkbWluLW5hdi1jZW50ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5hZG1pbi1uYXYtcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4vKiBOYXYgQ2FyZXQgKi9cbi5hZG1pbi1uYXYtY2FyZXQge1xuICBmb250LXNpemU6IDAuN2VtO1xuICBvcGFjaXR5OiAwLjc7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLyogRW5oYW5jZWQgRHJvcGRvd24gSXRlbXMgKi9cbi5hZG1pbi1uYXYtZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWRyb3Bkb3duLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1uYXYtZHJvcGRvd24tZGVzYyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0xKTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXNwYWNlLTQpICsgNHB4KTtcbn1cblxuLmFkbWluLW5hdi1kcm9wZG93bi1pdGVtOmhvdmVyIC5hZG1pbi1uYXYtZHJvcGRvd24tZGVzYyB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLyogTG9nb3V0IExpbmsgKi9cbi5hZG1pbi1uYXYtbG9nb3V0IHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tbmF2LWxvZ291dDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yLWJnKTtcbn1cblxuLyogTWFpbiBDb250ZW50IEFyZWEgKi9cbi5hZG1pbi1tYWluIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNik7XG4gIG1heC13aWR0aDogMTYwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDQuIExBWU9VVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS02KTtcbiAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYWRtaW4taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi5hZG1pbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0yeGwpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpIDA7XG59XG5cbi5hZG1pbi1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDA7XG59XG5cbi5hZG1pbi1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWdyaWQtMiB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbi5hZG1pbi1ncmlkLTMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4uYWRtaW4tZ3JpZC00IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuXG4uYWRtaW4tZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1mbGV4LWNvbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5hZG1pbi1mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5hZG1pbi1mbGV4LTEgeyBmbGV4OiAxOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA1LiBDQVJEU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tYWRtaW4tc2hhZG93KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmFkbWluLWNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5hZG1pbi1jYXJkLXRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW46IDA7XG59XG5cbi5hZG1pbi1jYXJkLWJvZHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWNhcmQtZm9vdGVyIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMykgdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xufVxuXG4vKiBTdGF0cyBHcmlkIC0gcmVzcG9uc2l2ZSA2LWNvbHVtbiBsYXlvdXQgKi9cbi5hZG1pbi1zdGF0cy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgMWZyKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi8qIFN0YXQgQ2FyZHMgKi9cbi5hZG1pbi1zdGF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tc3RhdC1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3cpO1xufVxuXG4uYWRtaW4tc3RhdC1jYXJkOmhvdmVyIC5hZG1pbi1zdGF0LXZhbHVlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4uYWRtaW4tc3RhdC12YWx1ZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0zeGwpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tc3RhdC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbi5hZG1pbi1zdGF0LWNhcmQuc3VjY2VzcyB7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWRtaW4tc3VjY2Vzcyk7IH1cbi5hZG1pbi1zdGF0LWNhcmQud2FybmluZyB7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5hZG1pbi1zdGF0LWNhcmQuZXJyb3IgeyBib3JkZXItbGVmdDogNHB4IHNvbGlkIHZhcigtLWFkbWluLWVycm9yKTsgfVxuLmFkbWluLXN0YXQtY2FyZC5pbmZvIHsgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS1hZG1pbi1pbmZvKTsgfVxuXG4vKiBMaXZlIHN0cmVhbWluZyBpbmRpY2F0b3IgKi9cbi5hZG1pbi1zdGF0LWNhcmQuc3RyZWFtaW5nLWxpdmUsXG4uYWRtaW4tY2FyZC5zdHJlYW1pbmctbGl2ZSB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgI2ZmNDA0MDtcbiAgYW5pbWF0aW9uOiBzdHJlYW1pbmctcHVsc2UgMnMgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgc3RyZWFtaW5nLXB1bHNlIHtcbiAgMCUsIDEwMCUgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTsgfVxuICA1MCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgNjQsIDY0LCAwLjEpOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA2LiBUQUJMRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xufVxuXG4uYWRtaW4tdGFibGUgdGgsXG4uYWRtaW4tdGFibGUgdGQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi10YWJsZSB0aCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLmFkbWluLXRhYmxlIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG59XG5cbi5hZG1pbi10YWJsZSB0Ym9keSB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDcuIEJVVFRPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5hZG1pbi1idG46ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hZG1pbi1idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5hZG1pbi1idG4tcHJpbWFyeTpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXByaW1hcnktaG92ZXIpO1xufVxuXG4uYWRtaW4tYnRuLWFjY2VudCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmFkbWluLWJ0bi1hY2NlbnQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQtaG92ZXIpO1xufVxuXG4uYWRtaW4tYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmFkbWluLWJ0bi1zZWNvbmRhcnk6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbn1cblxuLmFkbWluLWJ0bi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmFkbWluLWJ0bi1kYW5nZXI6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjZGMyNjI2O1xufVxuXG4uYWRtaW4tYnRuLXNtIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG59XG5cbi5hZG1pbi1idG4tbGcge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS02KTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWJhc2UpO1xufVxuXG4uYWRtaW4tYnRuLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4tYnRuLXN1Y2Nlc3M6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuXG4uYWRtaW4tYnRuLWluZm8ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1pbmZvKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1pbmZvKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4tYnRuLWluZm86aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiAjN2MzYWVkO1xufVxuXG4uYWRtaW4tYnRuLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgY29sb3I6ICMxZjI5Mzc7XG59XG5cbi5hZG1pbi1idG4td2FybmluZzpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNkOTc3MDY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICA4LiBGT1JNU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1pbnB1dCxcbi5hZG1pbi1zZWxlY3QsXG4uYWRtaW4tdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1pbnB1dDpmb2N1cyxcbi5hZG1pbi1zZWxlY3Q6Zm9jdXMsXG4uYWRtaW4tdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMik7XG59XG5cbi5hZG1pbi1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4uYWRtaW4tdGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDkuIEJBREdFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5hZG1pbi1iYWRnZS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VjY2Vzcy1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLmFkbWluLWJhZGdlLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nLWJnKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xufVxuXG4uYWRtaW4tYmFkZ2UtZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvci1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG59XG5cbi5hZG1pbi1iYWRnZS1pbmZvIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4taW5mby1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1pbmZvKTtcbn1cblxuLmFkbWluLWJhZGdlLW5ldXRyYWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTAuIEFMRVJUUyAvIEZMQVNIIE1FU1NBR0VTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tYWxlcnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uYWRtaW4tYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MtYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xufVxuXG4uYWRtaW4tYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXdhcm5pbmctYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xufVxuXG4uYWRtaW4tYWxlcnQtZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvci1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWVycm9yKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbn1cblxuLmFkbWluLWFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1pbmZvLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4taW5mbyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1pbmZvKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDExLiBFTVBUWSBTVEFURVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1lbXB0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMTIpIHZhcigtLXNwYWNlLTQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5hZG1pbi1lbXB0eS1pY29uIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uYWRtaW4tZW1wdHktdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tZW1wdHktZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEyLiBMT0FESU5HIFNUQVRFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWxvYWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtOCk7XG59XG5cbi5hZG1pbi1zcGlubmVyIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBhZG1pbi1zcGluIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGFkbWluLXNwaW4ge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEzLiBVVElMSVRJRVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi10ZXh0LW11dGVkIHsgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpOyB9XG4uYWRtaW4tdGV4dC1zdWNjZXNzIHsgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4uYWRtaW4tdGV4dC13YXJuaW5nIHsgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4uYWRtaW4tdGV4dC1lcnJvciB7IGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7IH1cbi5hZG1pbi10ZXh0LWluZm8geyBjb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7IH1cbi5hZG1pbi10ZXh0LWFjY2VudCB7IGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpOyB9XG5cbi5hZG1pbi10ZXh0LXNtIHsgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTsgfVxuLmFkbWluLXRleHQteHMgeyBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpOyB9XG4uYWRtaW4tdGV4dC1sZyB7IGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1sZyk7IH1cblxuLmFkbWluLWZvbnQtbW9ubyB7IGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pOyB9XG4uYWRtaW4tZm9udC1ib2xkIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYWRtaW4tbXQtMiB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTIpOyB9XG4uYWRtaW4tbXQtNCB7IG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpOyB9XG4uYWRtaW4tbWItMiB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpOyB9XG4uYWRtaW4tbWItNCB7IG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpOyB9XG5cbi5hZG1pbi1wLTQgeyBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTsgfVxuLmFkbWluLXAtNiB7IHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpOyB9XG5cbi5hZG1pbi1oaWRkZW4geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogVGV4dCB1dGlsaXRpZXMgKi9cbi5hZG1pbi10ZXh0LWRpbSB7IGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7IH1cblxuLyogQ29kZSBpbmxpbmUgKi9cbi5hZG1pbi1jb2RlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjIpO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogQ2FyZCBsaW5rIHZhcmlhbnQgKi9cbi5hZG1pbi1jYXJkLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3ctbGcpO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rIGgzIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMikgMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4uYWRtaW4tY2FyZC1saW5rIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEJ1dHRvbiBibG9jayB2YXJpYW50ICovXG4uYWRtaW4tYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBCYWRnZSBzaXplIHZhcmlhbnRzICovXG4uYWRtaW4tYmFkZ2UtbGcge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS02KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIDEzLiBEQVNIQk9BUkQgTEFZT1VUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tZGFzaGJvYXJkLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzODBweDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS02KTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1kYXNoYm9hcmQtbWFpbiB7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLmFkbWluLWRhc2hib2FyZC1zaWRlYmFyIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgMTQuIFJFU1BPTlNJVkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4gIC5hZG1pbi1kYXNoYm9hcmQtZ3JpZCB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9XG4gIC5hZG1pbi1ncmlkLTQgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIC5hZG1pbi1ncmlkLTMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAvKiBVc2UgZHluYW1pYyB2aWV3cG9ydCBoZWlnaHQgdG8gYWNjb3VudCBmb3IgYnJvd3NlciBjaHJvbWUgKi9cbiAgLmFkbWluLWxheW91dCB7XG4gICAgbWluLWhlaWdodDogMTAwZHZoO1xuICB9XG5cbiAgLyogQ29tcGFjdCBob3Jpem9udGFsIG5hdiAtIHNpbmdsZSByb3cgd2l0aCBoYW1idXJnZXIgb3ZlcmZsb3cgKi9cbiAgLmFkbWluLW5hdiB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIH1cblxuICAuYWRtaW4tbmF2Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMSk7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAuYWRtaW4tbmF2LXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0xKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC8qIENvbXBhY3QgbmF2IGl0ZW1zIC0gaWNvbi1saWtlICovXG4gIC5hZG1pbi1uYXYtZHJvcGRvd24sXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAuYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXIsXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC8qIEhpZGUgZHJvcGRvd24gY2FyZXQgdGV4dCBvbiBtb2JpbGUgKi9cbiAgLmFkbWluLW5hdi1jYXJldCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtc3BhY2VyIHsgZGlzcGxheTogbm9uZTsgfVxuICAuYWRtaW4tbmF2LWRyb3Bkb3duLWRlc2MgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLyogQmFjayBsaW5rIGNvbXBhY3QgKi9cbiAgLmFkbWluLW5hdi1iYWNrLFxuICAuYWRtaW4tbmF2LWxvZ291dCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICB9XG5cbiAgLyogTW9iaWxlOiBIaWRlIGRyb3Bkb3duIHRyaWdnZXJzLCBzaG93IG1lbnUgaXRlbXMgZGlyZWN0bHkgKi9cbiAgLmFkbWluLW5hdi1kcm9wZG93bi10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmFkbWluLW5hdi1kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgfVxuXG4gIC5hZG1pbi1uYXYtZHJvcGRvd24taXRlbSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAvKiBDb250ZW50IGFkanVzdG1lbnRzICovXG4gIC5hZG1pbi1tYWluIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxuXG4gIC5hZG1pbi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxuXG4gIC5hZG1pbi1zdGF0cy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIH1cblxuICAuYWRtaW4tZ3JpZC0yLFxuICAuYWRtaW4tZ3JpZC0zLFxuICAuYWRtaW4tZ3JpZC00IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC5hZG1pbi1mbGV4Om5vdCguYWRtaW4tZmxleC1jb2wpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLyogVGFibGUgc2Nyb2xscyAqL1xuICAuYWRtaW4tdGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvKiBUb3VjaC1mcmllbmRseSB0YXJnZXRzICovXG4gIC5hZG1pbi1idG4ge1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIH1cblxuICAvKiBDb21wYWN0IGhlYWRlcnMgKi9cbiAgLmFkbWluLWhlYWRlciBoMSxcbiAgLmFkbWluLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICB9XG5cbiAgLmFkbWluLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB9XG5cbiAgLyogQ29tcGFjdCBzdGF0IGNhcmRzICovXG4gIC5hZG1pbi1zdGF0LWNhcmQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICB9XG5cbiAgLmFkbWluLXN0YXQtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1sZyk7XG4gIH1cblxuICAuYWRtaW4tc3RhdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICB9XG5cbiAgLyogQ29tcGFjdCBzZWN0aW9uIHRpdGxlcyAqL1xuICAuYWRtaW4tc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxuXG4gIC8qIFF1aWNrIGFjY2VzcyBncmlkIC0gMiBjb2x1bW5zIG9uIHRhYmxldCAqL1xuICAuYWRtaW4tZ3JpZC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIH1cblxuICAuYWRtaW4tY2FyZCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIH1cblxuICAuYWRtaW4tY2FyZCBoMyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgfVxuXG4gIC5hZG1pbi1jYXJkIHAge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIH1cbn1cblxuLyogTmFycm93IHBob25lcyAoUmF6ciBmb2xkZWQsIGlQaG9uZSBtaW5pLCBldGMpICovXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cblxuICAuYWRtaW4tZ3JpZC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC8qIEV2ZW4gbW9yZSBjb21wYWN0IG5hdiAqL1xuICAuYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXIsXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICB9XG59XG5cbi8qIExhbmRzY2FwZSBtb2RlIG9uIG1vYmlsZSAtIG1heGltaXplIGhvcml6b250YWwgc3BhY2UgKi9cbkBtZWRpYSAobWF4LWhlaWdodDogNTAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuYWRtaW4tbmF2IHtcbiAgICBwYWRkaW5nOiA0cHggdmFyKC0tc3BhY2UtMik7XG4gIH1cblxuICAuYWRtaW4tbmF2LWRyb3Bkb3duLXRyaWdnZXIsXG4gIC5hZG1pbi1uYXYtaXRlbSB7XG4gICAgbWluLWhlaWdodDogMjhweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgfVxuXG4gIC5hZG1pbi1uYXYtYnJhbmQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICB9XG5cbiAgLmFkbWluLW1haW4ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICB9XG5cbiAgLyogU3RhdHMgaW4gcm93IGZvciBsYW5kc2NhcGUgKi9cbiAgLmFkbWluLXN0YXRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxuXG4gIC5hZG1pbi1zdGF0LWNhcmQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICB9XG5cbiAgLmFkbWluLXN0YXQtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1iYXNlKTtcbiAgfVxuXG4gIC5hZG1pbi1zdGF0LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDlweDtcbiAgfVxufVxuXG4vKiBGb2xkYWJsZSB0YWxsIHNjcmVlbnMgKFJhenIgdW5mb2xkZWQ6IH40MDBweCB3aWRlLCB2ZXJ5IHRhbGwpICovXG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIGFuZCAobWluLWhlaWdodDogODAwcHgpIHtcbiAgLmFkbWluLXN0YXRzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cblxuICAuYWRtaW4tZ3JpZC0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC8qIE1vcmUgdmVydGljYWwgYnJlYXRoaW5nIHJvb20gKi9cbiAgLmFkbWluLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICB9XG59XG5cbiAgLmFkbWluLXN0YXQtdmFsdWUge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0yeGwpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGQUxMQkFDSyBNT0RFIFNFTEVDVE9SXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZmFsbGJhY2stbW9kZS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1sYWJlbC1pbmxpbmUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5hZG1pbi1zZWxlY3Qge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtNik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMicgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEyIDEyJyUzRSUzQ3BhdGggZmlsbD0nJTIzOWNhM2FmJyBkPSdNMyA0bDMgMyAzLTMnLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDhweCBjZW50ZXI7XG59XG5cbi5hZG1pbi1zZWxlY3Q6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4uYWRtaW4tc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpO1xufVxuXG4uYWRtaW4tc2VsZWN0LXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4xKTtcbn1cblxuLmFkbWluLXNlbGVjdC1kYW5nZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbn1cblxuLmFkbWluLXNlbGVjdC1pbmZvIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1pbmZvKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgV09SS0VSUyAtIENvbXBhY3QgQ2FyZCBMYXlvdXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi53b3JrZXItZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLndvcmtlci1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLndvcmtlci1jYXJkLndvcmtlci1vbmxpbmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMyMmM1NWU7XG59XG5cbi53b3JrZXItY2FyZC53b3JrZXItb2ZmbGluZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2VmNDQ0NDtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ud29ya2VyLWNhcmQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWJvcmRlci1hY3RpdmUpO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyogSGVhZGVyOiBOYW1lICsgU3RhdHVzIGRvdCArIE1ldGEgKi9cbi53b3JrZXItaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLndvcmtlci1pZGVudGl0eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi53b3JrZXItc3RhdHVzLWRvdCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud29ya2VyLXN0YXR1cy1kb3Qub25saW5lIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDM0LCAxOTcsIDk0LCAwLjYpO1xufVxuXG4ud29ya2VyLXN0YXR1cy1kb3Qub2ZmbGluZSB7XG4gIGJhY2tncm91bmQ6ICNlZjQ0NDQ7XG59XG5cbi53b3JrZXItbmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4ud29ya2VyLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ud29ya2VyLXNvdXJjZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1zdWJ0bGUpO1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi53b3JrZXItbGF0ZW5jeSB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgY29sb3I6ICMyMmM1NWU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xufVxuXG4vKiBTcGVjczogR1BVICsgVlJBTSArIEVuZHBvaW50IGluIG9uZSBjb21wYWN0IGFyZWEgKi9cbi53b3JrZXItc3BlY3Mge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLXN1YnRsZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG59XG5cbi53b3JrZXItc3BlYy1tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4uc3BlYy1pY29uIHtcbiAgY29sb3I6ICMyMmM1NWU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLnNwZWMtdmFsdWUge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgZmxleDogMTtcbn1cblxuLnNwZWMtdnJhbSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICM2MGE1ZmE7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KTtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi53b3JrZXItZW5kcG9pbnQge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ubyk7XG59XG5cbi8qIENhcGFiaWxpdGllczogQ29tcGFjdCBjb2xvci1jb2RlZCBiYWRnZXMgKi9cbi53b3JrZXItY2FwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uY2FwLWJhZGdlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG59XG5cbi8qIFZpc2lvbiBjYXBhYmlsaXRpZXM6IGZhY2VzLCBjbGlwLCBwb3NlICovXG4uY2FwLXZpc2lvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjIpO1xuICBjb2xvcjogI2E3OGJmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMzksIDkyLCAyNDYsIDAuMyk7XG59XG5cbi8qIExMTSBjYXBhYmlsaXRpZXM6IHNjZW5lIGFuYWx5c2lzLCBjYXB0aW9ucyAqL1xuLmNhcC1sbG0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgY29sb3I6ICM0YWRlODA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7XG59XG5cbi8qIE90aGVyIGNhcGFiaWxpdGllcyAqL1xuLmNhcC1vdGhlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNSk7XG4gIGNvbG9yOiAjOTRhM2I4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMyk7XG59XG5cbi8qIEVycm9yIGRpc3BsYXkgKi9cbi53b3JrZXItZXJyb3Ige1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiAjZmNhNWE1O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLyogQWN0aW9ucyAqL1xuLndvcmtlci1hY3Rpb25zIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLyogUmVzcG9uc2l2ZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC53b3JrZXItZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cblxuICAud29ya2VyLWNhcmQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgV09SS0VSUyAtIEludGVyYWN0aXZlIEVsZW1lbnRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDYXBhYmlsaXR5IHRvZ2dsZXMgaW5zdGVhZCBvZiBzdGF0aWMgYmFkZ2VzICovXG4uY2FwLXRvZ2dsZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogNHB4IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4uY2FwLXRvZ2dsZTpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC12aXNpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSwgOTIsIDI0NiwgMC4yKTtcbiAgY29sb3I6ICNhNzhiZmE7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC12aXNpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSwgOTIsIDI0NiwgMC4zNSk7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC1sbG0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgY29sb3I6ICM0YWRlODA7XG59XG5cbi5jYXAtdG9nZ2xlLmNhcC1sbG06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xufVxuXG4uY2FwLXRvZ2dsZS5jYXAtb3RoZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTUpO1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmNhcC10b2dnbGUuY2FwLW90aGVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjMpO1xufVxuXG4vKiBFcnJvciBib3ggd2l0aCByZXRyeSAqL1xuLndvcmtlci1lcnJvci1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLndvcmtlci1lcnJvci1ib3ggLndvcmtlci1lcnJvciB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi53b3JrZXItcmV0cnktYnRuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbiAgY29sb3I6ICNmY2E1YTU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICBmb250LXNpemU6IDExcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi53b3JrZXItcmV0cnktYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4zNSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBXb3JrZXIgYWN0aW9uIGJ1dHRvbnMgKi9cbi53b3JrZXItYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLndvcmtlci10b2dnbGUtYnRuLFxuLndvcmtlci10ZXN0LWJ0bixcbi53b3JrZXItcmVtb3ZlLWJ0biB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4ud29ya2VyLXRvZ2dsZS1idG4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTtcbiAgY29sb3I6ICM0YWRlODA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLndvcmtlci10b2dnbGUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLndvcmtlci10b2dnbGUtYnRuLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDE5MSwgMzYsIDAuMTUpO1xuICBjb2xvcjogI2ZiYmYyNDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1MSwgMTkxLCAzNiwgMC4zKTtcbn1cblxuLndvcmtlci10ZXN0LWJ0biB7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KTtcbiAgY29sb3I6ICM2MGE1ZmE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSg5NiwgMTY1LCAyNTAsIDAuMyk7XG59XG5cbi53b3JrZXItdGVzdC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk2LCAxNjUsIDI1MCwgMC4zKTtcbn1cblxuLndvcmtlci1yZW1vdmUtYnRuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgY29sb3I6ICNmODcxNzE7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4yKTtcbn1cblxuLndvcmtlci1yZW1vdmUtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yNSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgQ0xVU1RFUiAtIEdyb3VwZWQgYnkgUGh5c2ljYWwgR1BVXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBDYXBhYmlsaXR5IExlZ2VuZCAqL1xuLmNhcGFiaWxpdHktbGVnZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5sZWdlbmQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLmxlZ2VuZC1pdGVtIC5jYXAtYmFkZ2Uge1xuICBmb250LXNpemU6IDlweDtcbiAgcGFkZGluZzogMnB4IDZweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jYXBhYmlsaXR5LWxlZ2VuZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHUFUgV09SS0VSUyBcdTIwMTQgU2luZ2xlLWNvbHVtbiwgbGFyZ2UtZm9udCByZWRlc2lnblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogU2VjdGlvbiBoZWFkZXIgd2l0aCBpbmxpbmUgcmVmcmVzaCAqL1xuLndvcmtlci1zZWN0aW9uLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi53b3JrZXItcmVmcmVzaC1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBwYWRkaW5nOiA4cHggMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICBtaW4taGVpZ2h0OiA0NHB4O1xufVxuXG4ud29ya2VyLXJlZnJlc2gtYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbn1cblxuLyogQ2FyZHMgY29udGFpbmVyIFx1MjAxNCBzaW5nbGUgY29sdW1uLCBjZW50ZXJlZCAqL1xuLndvcmtlci1jYXJkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbi8qIEluZGl2aWR1YWwgd29ya2VyIGNhcmQgKi9cbi53b3JrZXItY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLWxnKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSwgMS41cmVtKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2UsIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLndvcmtlci1jYXJkLS1vbmxpbmUge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMyMmM1NWU7XG59XG5cbi53b3JrZXItY2FyZC0tb2ZmbGluZSB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2VmNDQ0NDtcbiAgb3BhY2l0eTogMC44NTtcbn1cblxuLndvcmtlci1jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4vKiBDYXJkIGhlYWRlciBcdTIwMTQgR1BVIGlkZW50aXR5LCBiaWdnZXN0IHRleHQgKi9cbi53b3JrZXItY2FyZF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLndvcmtlci1zdGF0dXMtZG90IHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmbGV4LXNocmluazogMDtcbn1cblxuLndvcmtlci1zdGF0dXMtZG90Lm9ubGluZSB7XG4gIGJhY2tncm91bmQ6ICMyMmM1NWU7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMzQsIDE5NywgOTQsIDAuNik7XG59XG5cbi53b3JrZXItc3RhdHVzLWRvdC5vZmZsaW5lIHtcbiAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjQpO1xufVxuXG4ud29ya2VyLXN0YXR1cy1kb3Qtc20ge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud29ya2VyLXN0YXR1cy1kb3Qtc20ub25saW5lIHtcbiAgYmFja2dyb3VuZDogIzIyYzU1ZTtcbn1cblxuLndvcmtlci1zdGF0dXMtZG90LXNtLm9mZmxpbmUge1xuICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xufVxuXG4ud29ya2VyLWNhcmRfX2xvY2F0aW9uIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi53b3JrZXItY2FyZF9fZ3B1LW5hbWUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNjBhNWZhO1xufVxuXG4ud29ya2VyLWNhcmRfX2hvc3Qge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogU2VydmljZSB3aXRoaW4gYSBHUFUgY2FyZCAqL1xuLndvcmtlci1zZXJ2aWNlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7XG59XG5cbi53b3JrZXItc2VydmljZS0tb25saW5lIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMjJjNTVlO1xufVxuXG4ud29ya2VyLXNlcnZpY2UtLW9mZmxpbmUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlZjQ0NDQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLndvcmtlci1zZXJ2aWNlX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ud29ya2VyLXNlcnZpY2VfX3BvcnQge1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi53b3JrZXItc2VydmljZV9fbGF0ZW5jeSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICMyMmM1NWU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4ud29ya2VyLXNlcnZpY2VfX2FjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi8qIEFjdGlvbiBidXR0b25zIFx1MjAxNCA0NHB4IG1pbiB0YXAgdGFyZ2V0ICovXG4ud29ya2VyLWFjdGlvbi1idG4ge1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xufVxuXG4ud29ya2VyLWFjdGlvbi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4ud29ya2VyLWFjdGlvbi1idG4tLXBhdXNlZCB7XG4gIGNvbG9yOiAjZmJiZjI0O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjMpO1xufVxuXG4ud29ya2VyLWFjdGlvbi1idG4tLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG4gIGNvbG9yOiAjZjg3MTcxO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuNSk7XG59XG5cbi8qIEVycm9yICovXG4ud29ya2VyLXNlcnZpY2VfX2Vycm9yIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2ZjYTVhNTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbn1cblxuLyogTW9kZWxzIHNlY3Rpb24gXHUyMDE0IHRoZSBtYWluIGF0dHJhY3Rpb24gKi9cbi53b3JrZXItbW9kZWxzIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLndvcmtlci1tb2RlbHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ud29ya2VyLW1vZGVsLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBwYWRkaW5nOiA4cHggMDtcbn1cblxuLndvcmtlci1tb2RlbC1pdGVtX19pbmRpY2F0b3Ige1xuICBmb250LXNpemU6IDIwcHg7XG4gIHdpZHRoOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ud29ya2VyLW1vZGVsLWl0ZW0tLWxvYWRlZCAud29ya2VyLW1vZGVsLWl0ZW1fX2luZGljYXRvciB7XG4gIGNvbG9yOiAjMjJjNTVlO1xufVxuXG4ud29ya2VyLW1vZGVsLWl0ZW0tLXVubG9hZGVkIC53b3JrZXItbW9kZWwtaXRlbV9faW5kaWNhdG9yIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLndvcmtlci1tb2RlbC1pdGVtX19uYW1lIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGZsZXg6IDE7XG59XG5cbi53b3JrZXItbW9kZWwtaXRlbS0tdW5sb2FkZWQgLndvcmtlci1tb2RlbC1pdGVtX19uYW1lIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xufVxuXG4ud29ya2VyLW1vZGVsLWl0ZW1fX25vdGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogTW9kZWwgbG9hZC91bmxvYWQgYnV0dG9ucyAqL1xuLndvcmtlci1tb2RlbC1idG4ge1xuICBtaW4td2lkdGg6IDgwcHg7XG4gIG1pbi1oZWlnaHQ6IDM4cHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi53b3JrZXItbW9kZWwtYnRuLS1sb2FkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xKTtcbiAgY29sb3I6ICM0YWRlODA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLndvcmtlci1tb2RlbC1idG4tLWxvYWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjI1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjUpO1xufVxuXG4ud29ya2VyLW1vZGVsLWJ0bi0tdW5sb2FkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgY29sb3I6ICNmY2E1YTU7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4zKTtcbn1cblxuLndvcmtlci1tb2RlbC1idG4tLXVubG9hZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMjUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuNSk7XG59XG5cbi8qIFZSQU0gYmFyICovXG4ud29ya2VyLXZyYW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTIpIDA7XG59XG5cbi53b3JrZXItdnJhbV9fbGFiZWwge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1pbi13aWR0aDogMTgwcHg7XG59XG5cbi53b3JrZXItdnJhbV9fYmFyIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ud29ya2VyLXZyYW1fX2ZpbGwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICM2MGE1ZmE7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcbn1cblxuLndvcmtlci12cmFtX19maWxsLS1tZWQge1xuICBiYWNrZ3JvdW5kOiAjZmJiZjI0O1xufVxuXG4ud29ya2VyLXZyYW1fX2ZpbGwtLWhpZ2gge1xuICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xufVxuXG4ud29ya2VyLXZyYW1fX3BjdCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgbWluLXdpZHRoOiA0OHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogR1BVIHV0aWxpemF0aW9uICovXG4ud29ya2VyLWdwdS11dGlsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLyogQ2FwYWJpbGl0aWVzIFx1MjAxNCBjb21wYWN0IHJvdyAqL1xuLndvcmtlci1jYXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDZweDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi53b3JrZXItY2FwLXRhZyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSwgOTIsIDI0NiwgMC4xNSk7XG4gIGNvbG9yOiAjYTc4YmZhO1xuICBtaW4taGVpZ2h0OiAzMnB4O1xufVxuXG4ud29ya2VyLWNhcC10YWc6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjQpO1xufVxuXG4ud29ya2VyLWNhcC10YWctLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40O1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbn1cblxuLyogUXVpY2sgQWN0aW9ucyBcdTIwMTQgbGFyZ2UgYm90dG9tIGJhciAqL1xuLndvcmtlci1xdWljay1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbi53b3JrZXItcXVpY2stYnRuIHtcbiAgZmxleDogMTtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgcGFkZGluZzogMTJweCAyNHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtbGcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7XG59XG5cbi53b3JrZXItcXVpY2stYnRuLS1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpO1xuICBjb2xvcjogI2ZjYTVhNTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xufVxuXG4ud29ya2VyLXF1aWNrLWJ0bi0tZGFuZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4yNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC41KTtcbn1cblxuLndvcmtlci1xdWljay1idG4tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjEpO1xuICBjb2xvcjogIzRhZGU4MDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xufVxuXG4ud29ya2VyLXF1aWNrLWJ0bi0tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMjUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDE5NywgOTQsIDAuNSk7XG59XG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAud29ya2VyLWNhcmRfX2hlYWRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIC53b3JrZXItY2FyZF9faG9zdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAud29ya2VyLWNhcmRfX2xvY2F0aW9uIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cblxuICAud29ya2VyLWNhcmRfX2dwdS1uYW1lIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICAud29ya2VyLXZyYW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICAud29ya2VyLXZyYW1fX2xhYmVsIHtcbiAgICBtaW4td2lkdGg6IHVuc2V0O1xuICB9XG5cbiAgLndvcmtlci1xdWljay1hY3Rpb25zIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBRE1JTiBHQUxMRVJZIFBBR0UgLSBTZWN0aW9ucyAmIENvbnRyb2xzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBTZWN0aW9uIHZhcmlhbnRzIGZvciBnYWxsZXJ5IGFkbWluIHBhbmVscyAqL1xuLmFkbWluLXNlY3Rpb24tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tc2VjdGlvbi0tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS10ZXJ0aWFyeSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUwLCAyMDQsIDIxLCAwLjA1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTAsIDIwNCwgMjEsIDAuMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLXNlY3Rpb24tLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMDUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zZWN0aW9uLS1uZXV0cmFsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tc2VjdGlvbl9faGVhZGVyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLXNlY3Rpb25fX2Rlc2Mge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFRvZ2dsZSBidXR0b25zIChPTi9PRkYgc3RhdGVzKSAqL1xuLmFkbWluLWJ0bi0tdG9nZ2xlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS00KTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGUuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogU3RhdHVzIGluZGljYXRvciBkb3RzICovXG4uYWRtaW4tc3RhdHVzLWRvdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4uYWRtaW4tc3RhdHVzLWRvdC5vbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBib3gtc2hhZG93OiAwIDAgNnB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjYpO1xufVxuXG4uYWRtaW4tc3RhdHVzLWRvdC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4td2FybmluZyk7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggcmdiYSgyNDUsIDE1OCwgMTEsIDAuNik7XG4gIGFuaW1hdGlvbjogYWRtaW4tYmxpbmsgMXMgaW5maW5pdGU7XG59XG5cbi5hZG1pbi1zdGF0dXMtZG90LmRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgYm94LXNoYWRvdzogMCAwIDZweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjYpO1xuICBhbmltYXRpb246IGFkbWluLWJsaW5rIDFzIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIGFkbWluLWJsaW5rIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNDsgfVxufVxuXG4vKiBDb250cm9sIGJ1dHRvbnMgd2l0aCBzdGF0ZSB2YXJpYW50cyAqL1xuLmFkbWluLWN0cmwtYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWRtaW4tY3RybC1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlLWhvdmVyKTtcbn1cblxuLmFkbWluLWN0cmwtYnRuLm9uLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLmFkbWluLWN0cmwtYnRuLm9uLWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbn1cblxuLmFkbWluLWN0cmwtYnRuLm9uLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMjA0LCAyMSwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLyogU3RhdHMgZGlzcGxheSByb3cgKi9cbi5hZG1pbi1zdGF0cy1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLXN0YXRzLXJvd19faXRlbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFkbWluLXN0YXRzLXJvd19fbGFiZWwge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLmFkbWluLXN0YXRzLXJvd19fdmFsdWUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4uYWRtaW4tc3RhdHMtcm93X192YWx1ZS53YXJuaW5nIHsgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4uYWRtaW4tc3RhdHMtcm93X192YWx1ZS5zdWNjZXNzIHsgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4uYWRtaW4tc3RhdHMtcm93X192YWx1ZS5kYW5nZXIgeyBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpOyB9XG5cbi8qIEltYWdlIG1hbmFnZW1lbnQgZ3JpZCAqL1xuLmFkbWluLWltYWdlLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMDBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1pbWFnZS1jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmFkbWluLWltYWdlLWNlbGw6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xufVxuXG4uYWRtaW4taW1hZ2UtY2VsbCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hZG1pbi1pbWFnZS1jZWxsLmhpZGRlbiB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLmFkbWluLWltYWdlLWNlbGwuZGVsZXRlLW1vZGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpO1xufVxuXG4uYWRtaW4taW1hZ2UtY2VsbC5kZWxldGUtbW9kZTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpO1xufVxuXG4vKiBJbWFnZSBjZWxsIG92ZXJsYXkgYnV0dG9ucyAqL1xuLmFkbWluLWltYWdlLWNlbGxfX2FjdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tc3BhY2UtMSk7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS0xKTtcbiAgbGVmdDogdmFyKC0tc3BhY2UtMSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLmFkbWluLWltYWdlLWJ0biB7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1pbWFnZS1idG4tLXZpc2libGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC45KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4taW1hZ2UtYnRuLS1oaWRkZW4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYWRtaW4taW1hZ2UtYnRuLS1zaGFyZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi8qIERlbGV0ZSBvdmVybGF5ICovXG4uYWRtaW4taW1hZ2UtY2VsbF9fZGVsZXRlLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4vKiBIaWRkZW4gZnJvbSBwdWJsaWMgYmFubmVyICovXG4uYWRtaW4taW1hZ2UtY2VsbF9faGlkZGVuLWJhbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC44NSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMnB4O1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbn1cblxuLyogRm9ybSBpbnB1dHMgc3R5bGVkIGZvciBnYWxsZXJ5IGFkbWluICovXG4uYWRtaW4tZm9ybS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLmFkbWluLWZvcm0taW5saW5lIC5hZG1pbi1pbnB1dCB7XG4gIGZsZXg6IDE7XG59XG5cbi8qIFF1ZXJ5IHN5bnRheCBoZWxwZXIgKi9cbi5hZG1pbi1zeW50YXgtaGVscCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXN5bnRheC1oZWxwIGNvZGUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBwYWRkaW5nOiAxcHggNHB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG59XG5cbi8qIFNoYXJlIGxpbmtzIHRhYmxlIGltcHJvdmVtZW50cyAqL1xuLmFkbWluLXNoYXJlLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xufVxuXG4uYWRtaW4tc2hhcmUtdGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZy1hbHQpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmFkbWluLXNoYXJlLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5hZG1pbi1zaGFyZS10YWJsZSB0ci5leHBpcmVkIHtcbiAgb3BhY2l0eTogMC40O1xufVxuXG4vKiBEYXRlIFBJTiB0YWJsZSAqL1xuLmFkbWluLWRhdGUtcGlucy10YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xufVxuXG4uYWRtaW4tZGF0ZS1waW5zLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi1kYXRlLXBpbnMtdGFibGUgdGQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi1kYXRlLXBpbnMtdGFibGUgdHIuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi8qIFJlc3BvbnNpdmUgYWRqdXN0bWVudHMgZm9yIGdhbGxlcnkgYWRtaW4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYWRtaW4tc3RhdHMtcm93IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG5cbiAgLmFkbWluLWZvcm0taW5saW5lIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLmFkbWluLWltYWdlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDgwcHgsIDFmcikpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQRU9QTEUgUEFHRSAtIEZhY2UgR3JpZCBDYXJkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSGVhZGVyIHdpdGggdGl0bGUgKyBjb250cm9scyBvbiBzYW1lIGxpbmUgKi9cbi5hZG1pbi1oZWFkZXItcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1oZWFkZXItY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYWRtaW4tcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi8qIFBlcnNvbiBjYXJkIC0gbm8gcGFkZGluZywgbGV0IHNlY3Rpb25zIGRlZmluZSB0aGVpciBvd24gKi9cbi5wZXJzb24tY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3cpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBQZW9wbGUgZ3JpZDogbW9iaWxlLWZpcnN0LCAyIGNvbHVtbnMgb24gbmFycm93IHNjcmVlbnMgKi9cbi5wZW9wbGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVvcGxlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE1MHB4LCAxODBweCkpO1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wZW9wbGUtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjAwcHgsIDI0MHB4KSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgfVxufVxuXG4vKiBGYWNlIHRodW1ibmFpbCAtIHNxdWFyZSBhc3BlY3QgcmF0aW8gY29udGFpbmVyICovXG4ucGVyc29uLWNhcmRfX3RodW1iIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDEwMCU7IC8qIFNxdWFyZSBhc3BlY3QgcmF0aW8gKi9cbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGVyc29uLWNhcmRfX3RodW1iLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBlcnNvbi1jYXJkX190aHVtYi1pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgLyogb2JqZWN0LXBvc2l0aW9uIHNldCB2aWEgaW5saW5lIHN0eWxlIHRvIGNlbnRlciBvbiBmYWNlICovXG59XG5cbi5wZXJzb24tY2FyZF9fdGh1bWItcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX3RodW1iLXBsYWNlaG9sZGVyIHtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gIH1cbn1cblxuLyogQmFkZ2VzIHBvc2l0aW9uZWQgb24gdGh1bWJuYWlsICovXG4ucGVyc29uLWNhcmRfX2JhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHZhcigtLXNwYWNlLTEpO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX2JhZGdlIHtcbiAgICB0b3A6IHZhcigtLXNwYWNlLTIpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiByZXZlcnQ7XG4gIH1cbn1cblxuLnBlcnNvbi1jYXJkX19iYWRnZS0tbGVmdCB7XG4gIGxlZnQ6IHZhcigtLXNwYWNlLTEpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBlcnNvbi1jYXJkX19iYWRnZS0tbGVmdCB7XG4gICAgbGVmdDogdmFyKC0tc3BhY2UtMik7XG4gIH1cbn1cblxuLnBlcnNvbi1jYXJkX19iYWRnZS0tcmlnaHQge1xuICByaWdodDogdmFyKC0tc3BhY2UtMSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX2JhZGdlLS1yaWdodCB7XG4gICAgcmlnaHQ6IHZhcigtLXNwYWNlLTIpO1xuICB9XG59XG5cbi8qIENhcmQgYm9keSB3aXRoIGluZm8gYW5kIGFjdGlvbnMgKi9cbi5wZXJzb24tY2FyZF9fYm9keSB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBlcnNvbi1jYXJkX19ib2R5IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgfVxufVxuXG4ucGVyc29uLWNhcmRfX25hbWUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMSk7XG4gIGN1cnNvcjogdGV4dDtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xuICB9XG59XG5cbi5wZXJzb24tY2FyZF9fbmFtZS1pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX25hbWUtaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxufVxuXG4ucGVyc29uLWNhcmRfX21ldGEge1xuICBmb250LXNpemU6IDExcHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGVyc29uLWNhcmRfX21ldGEge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIH1cbn1cblxuLnBlcnNvbi1jYXJkX191bnZlcmlmaWVkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBwYWRkaW5nOiAycHggNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nLCAjZjU5ZTBiKTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbi5wZXJzb24tY2FyZF9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMSk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fYWN0aW9ucyB7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgfVxufVxuXG4vKiBTbWFsbGVyIGJ1dHRvbnMgb24gbW9iaWxlICovXG4ucGVyc29uLWNhcmRfX2FjdGlvbnMgLmFkbWluLWJ0biB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fYWN0aW9ucyAuYWRtaW4tYnRuIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB9XG59XG5cbi8qIElubGluZSBQSU4gZm9ybSAqL1xuLnBlcnNvbi1jYXJkX19waW4tZm9ybSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW46IDA7XG59XG5cbi5wZXJzb24tY2FyZF9fcGluLWlucHV0IHtcbiAgd2lkdGg6IDQwcHg7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKSAwIDAgdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fcGluLWlucHV0IHtcbiAgICB3aWR0aDogNTBweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB9XG59XG5cbi5wZXJzb24tY2FyZF9fcGluLWJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYWRtaW4tcmFkaXVzLXNtKSB2YXIoLS1hZG1pbi1yYWRpdXMtc20pIDA7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wZXJzb24tY2FyZF9fcGluLWJ0biB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSkgdmFyKC0tc3BhY2UtMik7XG4gICAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgfVxufVxuXG4vKiBFbXB0eSBzdGF0ZSBmb3IgcGVvcGxlIHBhZ2UgKi9cbi5hZG1pbi1lbXB0eS1sYXJnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMTIpIHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tZW1wdHktbGFyZ2VfX2ljb24ge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBQ1RJT05TIEJBUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWFjdGlvbnMtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNUUkVBTUlORyBQQUdFIC0gU3RhdHVzICYgQ29uZmlnIFBhbmVsc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLXN0cmVhbS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zdHJlYW0tcGFuZWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4uYWRtaW4tc3RyZWFtLXN0YXR1cy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXN0cmVhbS1zdGF0dXMtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uYWRtaW4tc3RyZWFtLXN0YXR1cy0tbGl2ZSB7XG4gIGNvbG9yOiAjMjJjNTVlO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYWRtaW4tc3RyZWFtLXN0YXR1cy0tb2ZmbGluZSB7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYWRtaW4tc3RyZWFtLWNvbmZpZy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLmFkbWluLXN0cmVhbS1jb25maWctdXJsIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG59XG5cbi8qIFRlc3QgcmVzdWx0IGJveCAqL1xuLmFkbWluLXRlc3QtcmVzdWx0IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG59XG5cbi5hZG1pbi10ZXN0LXJlc3VsdC0tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xufVxuXG4uYWRtaW4tdGVzdC1yZXN1bHQtLWVycm9yIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG59XG5cbi5hZG1pbi10ZXN0LXJlc3VsdF9fdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLmFkbWluLXRlc3QtcmVzdWx0X190aXRsZS0tc3VjY2VzcyB7XG4gIGNvbG9yOiAjNGFkZTgwO1xufVxuXG4uYWRtaW4tdGVzdC1yZXN1bHRfX3RpdGxlLS1lcnJvciB7XG4gIGNvbG9yOiAjZjg3MTcxO1xufVxuXG4uYWRtaW4tdGVzdC1yZXN1bHRfX2luZm8ge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbn1cblxuLyogTm90IGNvbmZpZ3VyZWQgc3RhdGUgKi9cbi5hZG1pbi1zdHJlYW0tbm90LWNvbmZpZ3VyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEwKSB2YXIoLS1zcGFjZS00KTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLmFkbWluLXN0cmVhbS1ub3QtY29uZmlndXJlZF9fdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtbGcpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLXN0cmVhbS1ub3QtY29uZmlndXJlZF9faGludCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG59XG5cbi8qIFNldHVwIGd1aWRlICovXG4uYWRtaW4tZ3VpZGUtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTYpO1xufVxuXG4uYWRtaW4tZ3VpZGUtc3RlcF9fdGl0bGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLWd1aWRlLXN0ZXBfX2Rlc2Mge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFNlY3Rpb24gdGl0bGUgd2l0aCBpbmxpbmUgZWxlbWVudHMgKi9cbi5hZG1pbi1zZWN0aW9uLXRpdGxlLS1mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE1PREFMU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4uYWRtaW4tbW9kYWwge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICB3aWR0aDogOTAlO1xuICBtYXgtaGVpZ2h0OiA4NXZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uYWRtaW4tbW9kYWwtLXNtIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbn1cblxuLmFkbWluLW1vZGFsLS1sZyB7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5cbi5hZG1pbi1tb2RhbF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLW1vZGFsX190aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhsKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmFkbWluLW1vZGFsX19jbG9zZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQUk9HUkVTUyBCQVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tcHJvZ3Jlc3Mge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLXByb2dyZXNzX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tcHJvZ3Jlc3NfX2JhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgaGVpZ2h0OiA4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5hZG1pbi1wcm9ncmVzc19fZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3M7XG59XG5cbi5hZG1pbi1wcm9ncmVzc19fc3RhdHVzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDT0RFIEJMT0NLUyAmIExPRyBWSUVXRVJTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tY29kZS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWFkbWluLWZvbnQtbW9ubyk7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4uYWRtaW4tbG9nLXZpZXdlciB7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi5hZG1pbi1sb2ctdmlld2VyIHByZSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVRBSUxTL0FDQ09SRElPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmFkbWluLWRldGFpbHMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWRldGFpbHNfX3N1bW1hcnkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5hZG1pbi1kZXRhaWxzX19jb250ZW50IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElOU1RSVUNUSU9OIFNURVBTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tc3RlcCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tc3RlcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFkbWluLXN0ZXBfX2xhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTEpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRU1QVFkgU1RBVEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYWRtaW4tZW1wdHktY2FyZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMTApO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSE9TVCBJTkZPIEhFQURFUiAoYmFkZ2UgKyBob3N0bmFtZSlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1ob3N0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5hZG1pbi1ob3N0LW5hbWUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5hZG1pbi1ob3N0LWFsaWFzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQURNSU4gSFVCIC0gRGFzaGJvYXJkIFNwZWNpZmljIENvbXBvbmVudHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIExpdmUgc3RyZWFtaW5nIGluZGljYXRvciAtIHJlZCBjb2xvciBmb3IgbGl2ZSBzdGF0dXMgKi9cbi5hZG1pbi1zdGF0LXZhbHVlLS1saXZlIHtcbiAgY29sb3I6ICNmZjQwNDA7XG59XG5cbi8qIENhcmQgd2l0aCBhY2NlbnQgYm9yZGVyIChlLmcuLCBBSSBDb2xsYWIpICovXG4uYWRtaW4tY2FyZC0tYWNjZW50IHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xufVxuXG4uYWRtaW4tY2FyZC0tYWNjZW50IGgzIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG59XG5cbi8qIEZsZXggbGF5b3V0cyB3aXRoIGdhcHMgKi9cbi5hZG1pbi1mbGV4LWdhcC1zbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5hZG1pbi1mbGV4LWdhcC1tZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5hZG1pbi1mbGV4LWdhcC1sZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1mbGV4LWNvbC1nYXAtc20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tZmxleC1jb2wtZ2FwLW1kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLyogSG9zdCB0aWVyIGJhZGdlIGFyZWEgKi9cbi5hZG1pbi10aWVyLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmFkbWluLXRpZXItaG9zdG5hbWUge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLyogVGllciBiYWRnZSBjb2xvciB2YXJpYW50cyAqL1xuLmFkbWluLWJhZGdlLS1jb21tdW5pdHkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTUpO1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmFkbWluLWJhZGdlLS1wcm8ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDk2LCAxNjUsIDI1MCwgMC4xNSk7XG4gIGNvbG9yOiAjNjBhNWZhO1xufVxuXG4uYWRtaW4tYmFkZ2UtLXN0dWRpbyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjE1KTtcbiAgY29sb3I6ICNhNzhiZmE7XG59XG5cbi5hZG1pbi1iYWRnZS0tZW50ZXJwcmlzZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUwLCAyMDQsIDIxLCAwLjE1KTtcbiAgY29sb3I6ICNmYWNjMTU7XG59XG5cbi8qIEZlYXR1cmVzIHRvZ2dsZSBidXR0b24gKi9cbi5hZG1pbi1mZWF0dXJlcy10b2dnbGUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG59XG5cbi5hZG1pbi1mZWF0dXJlcy10b2dnbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi5hZG1pbi1mZWF0dXJlcy10b2dnbGVfX2NvdW50IHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5hZG1pbi1mZWF0dXJlcy10b2dnbGVfX2NhcmV0IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIEZlYXR1cmVzIHBhbmVsICovXG4uYWRtaW4tZmVhdHVyZXMtcGFuZWwge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLyogVGllciBncm91cCB3aXRoaW4gZmVhdHVyZXMgcGFuZWwgKi9cbi5hZG1pbi10aWVyLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi10aWVyLWdyb3VwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwtLWNvbW11bml0eSB7IGNvbG9yOiAjOTRhM2I4OyB9XG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwtLXBybyB7IGNvbG9yOiAjNjBhNWZhOyB9XG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwtLXN0dWRpbyB7IGNvbG9yOiAjYTc4YmZhOyB9XG4uYWRtaW4tdGllci1ncm91cF9fbGFiZWwtLWVudGVycHJpc2UgeyBjb2xvcjogI2ZhY2MxNTsgfVxuXG4uYWRtaW4tdGllci1ncm91cF9fYmFkZ2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xufVxuXG4vKiBGZWF0dXJlIGJhZGdlICovXG4uYWRtaW4tZmVhdHVyZS1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xufVxuXG4uYWRtaW4tZmVhdHVyZS1iYWRnZS0tZW5hYmxlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTUpO1xuICBjb2xvcjogIzRhZGU4MDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbn1cblxuLmFkbWluLWZlYXR1cmUtYmFkZ2UtLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjE1KTtcbiAgY29sb3I6ICM4ODg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKTtcbn1cblxuLyogSG9zdCBzeXN0ZW0gc3RhdHMgZ3JpZCAqL1xuLmFkbWluLWhvc3Qtc3RhdHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWhvc3Qtc3RhdF9fbGFiZWwge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLmFkbWluLWhvc3Qtc3RhdF9fdmFsdWUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi5hZG1pbi1ob3N0LXN0YXRfX3N1YiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi8qIENhcmQgcGFkZGluZyB1dGlsaXR5ICovXG4uYWRtaW4tY2FyZC0tcGFkZGVkIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi8qIFF1aWNrIGFjdGlvbnMgY2FyZCBsYXlvdXQgKi9cbi5hZG1pbi1xdWljay1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiBOZXR3b3JrIGRpYWdub3N0aWNzIGNhcmQgc3BhY2luZyAqL1xuLmFkbWluLWNhcmQtLW5ldHdvcmsge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmFkbWluLWNhcmQtLW5ldHdvcmsgLmFkbWluLXN0YXQtbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLmFkbWluLW5ldHdvcmstc3RhdHVzIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi8qIENvbm5lY3Rpb24gaW5mbyBjYXJkICovXG4uYWRtaW4tY29ubmVjdGlvbi1pbmZvIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogTXV0ZWQgc3VidGl0bGUvZGVzY3JpcHRpb24gaW4gc2VjdGlvbiAqL1xuLmFkbWluLXNlY3Rpb24tZGVzYyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQRVJTT04gUkVWSUVXIFBBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIE1haW4gbGF5b3V0ICovXG4ucmV2aWV3LWxheW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tc3BhY2UtNCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucmV2aWV3LWxheW91dCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4ucmV2aWV3LW1haW4ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXZpZXctc2lkZWJhciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnJldmlldy1zaWRlYmFyIHtcbiAgICB3aWR0aDogMzIwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbn1cblxuLyogRmFjZSBncmlkICovXG4ucmV2aWV3LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnJldmlldy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxODBweCwgMWZyKSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnJldmlldy1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgfVxufVxuXG4vKiBGYWNlIGNhcmQgKi9cbi5yZXZpZXctY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5yZXZpZXctY2FyZC0tZ3JlZW4geyBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4ucmV2aWV3LWNhcmQtLWxpbWUgeyBib3JkZXItY29sb3I6ICM4NGNjMTY7IH1cbi5yZXZpZXctY2FyZC0teWVsbG93IHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTsgfVxuLnJldmlldy1jYXJkLS1yZWQgeyBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTsgfVxuXG4ucmV2aWV3LWNhcmRfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAucmV2aWV3LWNhcmRfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucmV2aWV3LWNhcmRfX2ltYWdlIHtcbiAgICBoZWlnaHQ6IDE4MHB4O1xuICB9XG59XG5cbi5yZXZpZXctY2FyZF9faW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgIC8qIFVzZSBjb250YWluIHRvIHByZXNlcnZlIGFzcGVjdCByYXRpbyAtIGZhY2UgYm94ZXMgYWxpZ24gY29ycmVjdGx5ICovXG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbn1cblxuLyogRmFjZSBib3ggb3ZlcmxheSAtIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gaW1hZ2UsIG5lZWRzIEpTIGhvb2sgdG8gYWRqdXN0IGZvciBvYmplY3QtZml0ICovXG4ucmV2aWV3LWZhY2UtYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAwLCAwLjkpO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLyogV2lsbCBiZSByZXBvc2l0aW9uZWQgYnkgRmFjZUJveEFsaWduIGhvb2sgdG8gYWNjb3VudCBmb3Igb2JqZWN0LWZpdDpjb250YWluIG9mZnNldCAqL1xufVxuXG4vKiBGYWNlLWNlbnRlcmVkIHRodW1ibmFpbCBjcm9wIC0gc2hvd3MganVzdCB0aGUgZmFjZSBhcmVhICovXG4ucmV2aWV3LWNhcmRfX2ZhY2UtY3JvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnJldmlldy1jYXJkX19mYWNlLWNyb3AgeyBoZWlnaHQ6IDE1MHB4OyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAucmV2aWV3LWNhcmRfX2ZhY2UtY3JvcCB7IGhlaWdodDogMTgwcHg7IH1cbn1cblxuLnJldmlldy1jYXJkX19mYWNlLWNyb3AgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBUcmFuc2Zvcm0gb3JpZ2luIGFuZCBwb3NpdGlvbiBzZXQgdmlhIGlubGluZSBzdHlsZXMgdG8gY2VudGVyIG9uIGZhY2UgKi9cbn1cblxuLyogRGlzdGFuY2UgaW5kaWNhdG9yIGJhciAqL1xuLnJldmlldy1jYXJkX19kaXN0LWJhciB7XG4gIGhlaWdodDogM3B4O1xufVxuXG4ucmV2aWV3LWNhcmRfX2Rpc3QtYmFyLS1ncmVlbiB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4ucmV2aWV3LWNhcmRfX2Rpc3QtYmFyLS1saW1lIHsgYmFja2dyb3VuZDogIzg0Y2MxNjsgfVxuLnJldmlldy1jYXJkX19kaXN0LWJhci0teWVsbG93IHsgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5yZXZpZXctY2FyZF9fZGlzdC1iYXItLXJlZCB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yKTsgfVxuXG4vKiBDYXJkIGluZm8gc2VjdGlvbiAqL1xuLnJldmlldy1jYXJkX19pbmZvIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnLWFsdCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAucmV2aWV3LWNhcmRfX2luZm8ge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICB9XG59XG5cbi5yZXZpZXctY2FyZF9fZGlzdGFuY2Uge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnJldmlldy1jYXJkX19kaXN0YW5jZS0tZ3JlZW4geyBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7IH1cbi5yZXZpZXctY2FyZF9fZGlzdGFuY2UtLWxpbWUgeyBjb2xvcjogIzg0Y2MxNjsgfVxuLnJldmlldy1jYXJkX19kaXN0YW5jZS0teWVsbG93IHsgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4ucmV2aWV3LWNhcmRfX2Rpc3RhbmNlLS1yZWQgeyBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpOyB9XG5cbi8qIENhcmQgYWN0aW9uIGJ1dHRvbnMgKi9cbi5yZXZpZXctY2FyZF9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNHB4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuIHtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiA0cHggNnB4O1xuICBmb250LXNpemU6IDlweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5yZXZpZXctY2FyZF9fYnRuIHtcbiAgICBwYWRkaW5nOiA1cHggOHB4O1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgfVxufVxuXG4ucmV2aWV3LWNhcmRfX2J0bi0tbW92ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWluZm8pO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuLS1tb3ZlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzI1NjNlYjtcbn1cblxuLnJldmlldy1jYXJkX19idG4tLXdyb25nIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tZXJyb3IpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuLS13cm9uZzpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNkYzI2MjY7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuLS1ub3QtZmFjZSB7XG4gIGJhY2tncm91bmQ6ICNmZjY2MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnJldmlldy1jYXJkX19idG4tLW5vdC1mYWNlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2U1NWEwMDtcbn1cblxuLnJldmlldy1jYXJkX19idG4tLWFzc2lnbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5yZXZpZXctY2FyZF9fYnRuLS1hc3NpZ246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMTZhMzRhO1xufVxuXG4ucmV2aWV3LWNhcmRfX2J0bi0tY2FuY2VsIHtcbiAgYmFja2dyb3VuZDogIzZiNzI4MDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucmV2aWV3LWNhcmRfX2J0bi0tY2FuY2VsOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzRiNTU2Mztcbn1cblxuLyogQ2F0ZWdvcnkgaGVhZGVyIGZvciBjb250ZXh0IHZpZXcgKi9cbi5yZXZpZXctY2F0ZWdvcnkge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnJldmlldy1jYXRlZ29yeV9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5yZXZpZXctY2F0ZWdvcnlfX2xhYmVsIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi5yZXZpZXctY2F0ZWdvcnlfX2NvdW50IHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLyogSW5zdHJ1Y3Rpb25zIGJhbm5lciAqL1xuLnJldmlldy1pbnN0cnVjdGlvbnMge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xufVxuXG4ucmV2aWV3LWluc3RydWN0aW9uc19fbGVnZW5kIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnJldmlldy1pbnN0cnVjdGlvbnNfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xufVxuXG4ucmV2aWV3LWluc3RydWN0aW9uc19fZG90IHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4ucmV2aWV3LWluc3RydWN0aW9uc19fZG90LS1ncmVlbiB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4ucmV2aWV3LWluc3RydWN0aW9uc19fZG90LS1saW1lIHsgYmFja2dyb3VuZDogIzg0Y2MxNjsgfVxuLnJldmlldy1pbnN0cnVjdGlvbnNfX2RvdC0teWVsbG93IHsgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5yZXZpZXctaW5zdHJ1Y3Rpb25zX19kb3QtLXJlZCB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yKTsgfVxuXG4vKiBTaWRlYmFyIGNvbnRyb2wgcGFuZWwgKi9cbi5yZXZpZXctcGFuZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5yZXZpZXctcGFuZWxfX3RpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLnJldmlldy1wYW5lbF9fc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4ucmV2aWV3LXBhbmVsX19zZWN0aW9uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucmV2aWV3LXBhbmVsX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4vKiBQSU4gcHJvdGVjdGlvbiBzZWN0aW9uICovXG4ucmV2aWV3LXBpbi1zZWN0aW9uIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5yZXZpZXctcGluLXNlY3Rpb24tLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogIzhiNWNmNjtcbiAgYmFja2dyb3VuZDogcmdiYSgxMzksIDkyLCAyNDYsIDAuMSk7XG59XG5cbi5yZXZpZXctcGluLXNlY3Rpb25fX2JhZGdlIHtcbiAgZm9udC1zaXplOiA5cHg7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGJhY2tncm91bmQ6ICM4YjVjZjY7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi8qIFN0YXRzIGJveCAqL1xuLnJldmlldy1zdGF0cyB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1hZG1pbi1mb250LW1vbm8pO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4vKiBQZXJzb24gYmxhY2tsaXN0IGxpc3QgKGluIHNpZGViYXIpICovXG4ucmV2aWV3LWJsYWNrbGlzdC1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBwYWRkaW5nOiA2cHg7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbn1cblxuLnJldmlldy1ibGFja2xpc3QtY2FyZF9faW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnJldmlldy1ibGFja2xpc3QtY2FyZF9faW1hZ2U6aG92ZXIgaW1nIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnJldmlldy1ibGFja2xpc3QtY2FyZF9fYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWY0NDQ0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX3BsYWNlaG9sZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnJldmlldy1ibGFja2xpc3QtY2FyZF9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJldmlldy1ibGFja2xpc3QtY2FyZF9fYnRuIHtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5yZXZpZXctYmxhY2tsaXN0LWNhcmRfX2J0bjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cblxuLnJldmlldy1ibGFja2xpc3QtY2FyZF9fYnRuLS1yZXN0b3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnJldmlldy1ibGFja2xpc3QtY2FyZF9fYnRuLS1kZWxldGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogRGFuZ2VyIHpvbmUgKi9cbi5yZXZpZXctZGFuZ2VyLXpvbmUge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjYwMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDEwMiwgMCwgMC4xKTtcbn1cblxuLnJldmlldy1kYW5nZXItem9uZV9fdGl0bGUge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogI2ZmNjYwMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5yZXZpZXctZGFuZ2VyLXpvbmVfX2Rlc2Mge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogU2hvdCBtb2RhbCAqL1xuLnJldmlldy1zaG90LW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICB6LWluZGV4OiAyMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLnJldmlldy1zaG90LW1vZGFsX19jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA5NXZ3O1xuICBtYXgtaGVpZ2h0OiA5NXZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yZXZpZXctc2hvdC1tb2RhbF9faW1hZ2Uge1xuICBtYXgtd2lkdGg6IDkwdnc7XG4gIG1heC1oZWlnaHQ6IDcwdmg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnJldmlldy1zaG90LW1vZGFsX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA4NXZ3O1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gIH1cbn1cblxuLnJldmlldy1zaG90LW1vZGFsX19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDBweDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5yZXZpZXctc2hvdC1tb2RhbF9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ucmV2aWV3LXNob3QtbW9kYWxfX2luZm8ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbn1cblxuLyogRmFjZSBib3ggaW4gbW9kYWwgKHBvc2l0aW9uIHNldCBkeW5hbWljYWxseSkgKi9cbi5yZXZpZXctbW9kYWwtZmFjZS1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogM3B4IHNvbGlkO1xuICB6LWluZGV4OiAxMDtcbn1cblxuLyogRGlzYWJsZSBmYWNlIGJveCBpbnRlcmFjdGlvbnMgd2hlbiBkcmF3IG1vZGUgaXMgYWN0aXZlICovXG5bZGF0YS1kcmF3LW1vZGU9XCJ0cnVlXCJdIC5yZXZpZXctbW9kYWwtZmFjZS1ib3gge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnJldmlldy1tb2RhbC1mYWNlLWJveC0tY3VycmVudCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG59XG5cbi5yZXZpZXctbW9kYWwtZmFjZS1ib3gtLW90aGVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLnJldmlldy1tb2RhbC1mYWNlLWJveC0tbW92aW5nIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDBiZmZmO1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAxOTEsIDI1NSwgMC41KTtcbiAgY3Vyc29yOiBtb3ZlICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDIwO1xufVxuXG4vKiBSZXNpemUgaGFuZGxlcyBmb3IgZmFjZSBib3hlcyAtIG1ha2UgdGhlbSBtb3JlIHZpc2libGUgKi9cbi5mYWNlLWJveC1yZXNpemUtaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogIzAwYmZmZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcbiAgei1pbmRleDogMjUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG5cbi5mYWNlLWJveC1yZXNpemUtaGFuZGxlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICBiYWNrZ3JvdW5kOiAjMDBmZjg4ICFpbXBvcnRhbnQ7XG59XG5cbi5yZXZpZXctbW9kYWwtZmFjZS1ib3hfX2xhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnJldmlldy1tb2RhbC1mYWNlLWJveF9fbGFiZWwtLWN1cnJlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucmV2aWV3LW1vZGFsLWZhY2UtYm94X19sYWJlbC0tb3RoZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgY29sb3I6ICMxZjI5Mzc7XG59XG5cbi5yZXZpZXctbW9kYWwtZmFjZS1ib3hfX2FjdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAycHg7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogQmxhY2tsaXN0ZWQgcmVnaW9uIG92ZXJsYXkgKGRhc2hlZCBncmF5IGJveCkgKi9cbi5yZXZpZXctbW9kYWwtYmxhY2tsaXN0LWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAzcHggZGFzaGVkIHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTI4LCAxMjgsIDAuMik7XG4gIHotaW5kZXg6IDU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucmV2aWV3LW1vZGFsLWJsYWNrbGlzdC1ib3hfX2xhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERFVklDRSBJTkZPIEJBREdFIC0gRmxvYXRpbmcgZGVidWcgaW5mbyAodG9wLXJpZ2h0IHRvIGF2b2lkIGJvdHRvbSBnZXN0dXJlcylcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1kZXZpY2UtYmFkZ2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdmFyKC0tc3BhY2UtMik7ICAvKiBNb3ZlIHRvIGJvdHRvbSB0byBhdm9pZCBuYXYgb3ZlcmxhcCAqL1xuICByaWdodDogdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiA5cHg7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIHotaW5kZXg6IDk5O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDAuNztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xufVxuXG4uYWRtaW4tZGV2aWNlLWJhZGdlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmFkbWluLWRldmljZS1iYWRnZSBzcGFuIHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIC5hZG1pbi1kZXZpY2UtYmFkZ2Uge1xuICAgIGJvdHRvbTogNHB4O1xuICAgIHJpZ2h0OiA0cHg7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgcGFkZGluZzogM3B4IDZweDtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICB9XG59XG5cbi8qIExhbmRzY2FwZSAtIHR1Y2sgaW50byBjb3JuZXIgKi9cbkBtZWRpYSAobWF4LWhlaWdodDogNTAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAuYWRtaW4tZGV2aWNlLWJhZGdlIHtcbiAgICBib3R0b206IDRweDtcbiAgICBmb250LXNpemU6IDhweDtcbiAgICBwYWRkaW5nOiAycHggNnB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHQUxMRVJZIEFETUlOIFBBR0UgU1RZTEVTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIZWxwIE1vZGFsIFNlY3Rpb25zICovXG4uYWRtaW4taGVscC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5hZG1pbi1oZWxwLXNlY3Rpb246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uYWRtaW4taGVscC1zZWN0aW9uX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5hZG1pbi1oZWxwLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgMCAwIHZhcigtLXNwYWNlLTQpO1xuICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG4uYWRtaW4taGVscC1saXN0IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogUElOIEVudHJ5IFNjcmVlbiAqL1xuLmFkbWluLXBpbi1zY3JlZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogNzB2aDtcbn1cblxuLmFkbWluLXBpbi1jYXJkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDMyMHB4O1xufVxuXG4uYWRtaW4tcGluLWlucHV0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogOHB4O1xufVxuXG4uYWRtaW4tcGluLWRpc3BsYXkge1xuICBsZXR0ZXItc3BhY2luZzogNHB4O1xufVxuXG4vKiBBZG1pbiBwYW5lbHMgY29udGFpbmVyICovXG4uYWRtaW4tcGFuZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLyogQ2FyZCBzdGF0ZSBtb2RpZmllcnMgKi9cbi5hZG1pbi1jYXJkLS13YXJuaW5nIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMDUpO1xufVxuXG4uYWRtaW4tY2FyZC0tZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMDUpO1xufVxuXG4vKiBMaXZlIG1vZGUgc3RhdHVzIGRpc3BsYXkgKi9cbi5hZG1pbi1saXZlLXN0YXR1cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbn1cblxuLyogRGF0ZSBQSU4gRm9ybSAqL1xuLmFkbWluLWRhdGUtcGluLWZvcm0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLmFkbWluLWRhdGUtcGluLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMTIwcHggMWZyIGF1dG87XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG4gIGFsaWduLWl0ZW1zOiBlbmQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAuYWRtaW4tZGF0ZS1waW4tZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAuYWRtaW4tZGF0ZS1waW4tZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cblxuLyogVG9nZ2xlIGJ1dHRvbiBncm91cCAqL1xuLmFkbWluLWJ0bi10b2dnbGUtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDA7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZSB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSkgMCAwIHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1hZG1pbi1yYWRpdXMtc20pIHZhcigtLWFkbWluLXJhZGl1cy1zbSkgMDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi5hZG1pbi1idG4tLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xufVxuXG4uYWRtaW4tYnRuLS10b2dnbGUuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogU2hhcmUgTGlua3MgRXhwaXJ5ICovXG4uYWRtaW4tc2hhcmUtZXhwaXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYWRtaW4taW5wdXQtLWlubGluZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDEyMHB4O1xufVxuXG4vKiBTaGFyZSBsaW5rIGNyZWF0ZWQgYWxlcnQgKi9cbi5hZG1pbi1zaGFyZS1saW5rLWNyZWF0ZWQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXNoYXJlLWxpbmstY3JlYXRlZF9faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXNoYXJlLWxpbmstdXJsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxuXG4uYWRtaW4tc2hhcmUtbGluay11cmwgY29kZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogU2hhcmUgbGluayB0aHVtYm5haWwgKi9cbi5hZG1pbi1zaGFyZS10aHVtYiB7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG59XG5cbi8qIFNoYXJlIHZpZXdzIGV4cGFuZGVkIHJvdyAqL1xuLmFkbWluLXNoYXJlLXZpZXdzLXJvdyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KTtcbn1cblxuLmFkbWluLXNoYXJlLXZpZXdzIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5hZG1pbi1zaGFyZS12aWV3c19faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLyogVGFibGUgdmFyaWFudHMgKi9cbi5hZG1pbi10YWJsZS0tY29tcGFjdCB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG59XG5cbi5hZG1pbi10YWJsZS0tY29tcGFjdCB0aCxcbi5hZG1pbi10YWJsZS0tY29tcGFjdCB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tdGFibGUtLW5lc3RlZCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLmFkbWluLXRhYmxlLS1uZXN0ZWQgdGgsXG4uYWRtaW4tdGFibGUtLW5lc3RlZCB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xufVxuXG4vKiBEaXNhYmxlZCByb3cgc3RhdGUgKi9cbi5hZG1pbi1yb3ctZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi8qIEVtcHR5IHN0YXRlICovXG4uYWRtaW4tZW1wdHktc3RhdGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xuICBmb250LWZhbWlseTogdmFyKC0tYWRtaW4tZm9udC1tb25vKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbn1cblxuLyogSW1hZ2UgbmF2aWdhdGlvbiBiYXIgKi9cbi5hZG1pbi1pbWFnZS1uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4taW5saW5lLWZvcm0ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLmFkbWluLWlucHV0LXBhZ2Uge1xuICB3aWR0aDogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYWRtaW4taW5wdXQtaWQge1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi8qIFZlcnRpY2FsIGRpdmlkZXIgKi9cbi5hZG1pbi1kaXZpZGVyLXYge1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi8qIENsb3NlIGJ1dHRvbiAobWluaW1hbCkgKi9cbi5hZG1pbi1idG4tY2xvc2Uge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uYWRtaW4tYnRuLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4vKiBCdXR0b24gZ3JvdXAgKi9cbi5hZG1pbi1idG4tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogRXh0cmEgc21hbGwgYnV0dG9uICovXG4uYWRtaW4tYnRuLXhzIHtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xufVxuXG4vKiBGb290ZXIgKi9cbi5hZG1pbi1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTYpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4vKiBVdGlsaXR5OiBzZWxmLWVuZCAoYWxpZ24tc2VsZjogZmxleC1lbmQpICovXG4uYWRtaW4tc2VsZi1lbmQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLyogVXRpbGl0eTogZ2FwIHZhcmlhbnRzICovXG4uYWRtaW4tZ2FwLTIge1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4uYWRtaW4tZ2FwLTMge1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4vKiBVdGlsaXR5OiBhbGlnbi1pdGVtcyBjZW50ZXIgKi9cbi5hZG1pbi1pdGVtcy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiBVdGlsaXR5OiB0ZXh0IHdhcm5pbmcgY29sb3IgKi9cbi5hZG1pbi10ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7XG59XG5cbi8qIE1vZGFsIHNpemUgdmFyaWFudCAqL1xuLmFkbWluLW1vZGFsLS1sZyB7XG4gIG1heC13aWR0aDogNzAwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBERVBMT1lNRU5UIE1PREVTIFBBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFRpZXIgYmFkZ2UgaW4gaGVhZGVyICovXG4uYWRtaW4tdGllci1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDRweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG59XG5cbi5hZG1pbi10aWVyLWJhZGdlLnRpZXItbGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yKTtcbiAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi5hZG1pbi10aWVyLWJhZGdlLnRpZXItcHJvIHtcbiAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMik7XG4gIGNvbG9yOiAjNjBhNWZhO1xufVxuXG4uYWRtaW4tdGllci1iYWRnZS50aWVyLWFkdmFuY2VkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNjgsIDg1LCAyNDcsIDAuMik7XG4gIGNvbG9yOiAjYTg1NWY3O1xufVxuXG4uYWRtaW4tdGllci1iYWRnZS50aWVyLWRldmVsb3BlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG4gIGNvbG9yOiAjZjg3MTcxO1xufVxuXG4vKiBNb2RlIHNlbGVjdG9yIGdyaWQgKi9cbi5tb2Rlcy1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjQwcHgsIDFmcikpO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4vKiBNb2RlIGNhcmQgKi9cbi5tb2RlLWNhcmQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1sZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubW9kZS1jYXJkOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmctYWx0KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4ubW9kZS1jYXJkLS1zZWxlY3RlZCB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzMsIDY5LCA5NiwgMC4xKTtcbn1cblxuLm1vZGUtY2FyZC0tc2VsZWN0ZWQ6aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudC1ob3Zlcik7XG59XG5cbi5tb2RlLWNhcmRfX2ljb24ge1xuICBmb250LXNpemU6IDMycHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ubW9kZS1jYXJkX19uYW1lIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWxnKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKSAwO1xufVxuXG4ubW9kZS1jYXJkX19kZXNjIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0zKSAwO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4ubW9kZS1jYXJkX190aWVyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbn1cblxuLm1vZGUtY2FyZF9fc2VsZWN0ZWQtYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdmFyKC0tc3BhY2UtMik7XG4gIHJpZ2h0OiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIEZlYXR1cmUgZ3JvdXBzICovXG4uZmVhdHVyZS1ncm91cHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNlLTYpO1xufVxuXG4uZmVhdHVyZS1ncm91cCB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5mZWF0dXJlLWdyb3VwOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmZlYXR1cmUtZ3JvdXBfX3RpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWJhc2UpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTEpIDA7XG59XG5cbi5mZWF0dXJlLWdyb3VwX19kZXNjIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0zKSAwO1xufVxuXG4vKiBGZWF0dXJlIGxpc3QgKi9cbi5mZWF0dXJlLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi8qIEZlYXR1cmUgaXRlbSAqL1xuLmZlYXR1cmUtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmZlYXR1cmUtaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpO1xufVxuXG4uZmVhdHVyZS1pdGVtLS1lbmFibGVkIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4zKTtcbiAgYmFja2dyb3VuZDogcmdiYSgxNiwgMTg1LCAxMjksIDAuMDUpO1xufVxuXG4uZmVhdHVyZS1pdGVtLS1sb2NrZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5mZWF0dXJlLWl0ZW1fX2xhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmVhdHVyZS1pdGVtLS1sb2NrZWQgLmZlYXR1cmUtaXRlbV9fbGFiZWwge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZmVhdHVyZS1pdGVtX19sYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBhY2NlbnQtY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mZWF0dXJlLWl0ZW0tLWxvY2tlZCAuZmVhdHVyZS1pdGVtX19sYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZmVhdHVyZS1pdGVtX19uYW1lIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXNtKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4vKiBGZWF0dXJlIHN0YXR1cyBiYWRnZXMgKi9cbi5mZWF0dXJlLXN0YXR1cy1iYWRnZSB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZlYXR1cmUtc3RhdHVzLWJhZGdlLnN0YXR1cy1lbmFibGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNiwgMTg1LCAxMjksIDAuMik7XG4gIGNvbG9yOiAjMTBiOTgxO1xufVxuXG4uZmVhdHVyZS1zdGF0dXMtYmFkZ2Uuc3RhdHVzLW9wdGlvbmFsIHtcbiAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMik7XG4gIGNvbG9yOiAjNjBhNWZhO1xufVxuXG4uZmVhdHVyZS1zdGF0dXMtYmFkZ2Uuc3RhdHVzLW9wdGlvbmFsLWVuYWJsZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTtcbiAgY29sb3I6ICM5M2M1ZmQ7XG59XG5cbi5mZWF0dXJlLXN0YXR1cy1iYWRnZS5zdGF0dXMtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTUpO1xuICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmZlYXR1cmUtc3RhdHVzLWJhZGdlLnN0YXR1cy1vdmVycmlkZGVuIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDUsIDE1OCwgMTEsIDAuMik7XG4gIGNvbG9yOiAjZjU5ZTBiO1xufVxuXG4uZmVhdHVyZS1zdGF0dXMtYmFkZ2Uuc3RhdHVzLWxvY2tlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpO1xuICBjb2xvcjogI2Y4NzE3MTtcbn1cblxuLyogT3ZlcnJpZGVzIHN1bW1hcnkgKi9cbi5hZG1pbi1jYXJkLS13YXJuaW5nIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLm92ZXJyaWRlcy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xufVxuXG4ub3ZlcnJpZGUtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG59XG5cbi5vdmVycmlkZS1pdGVtX19mZWF0dXJlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4ub3ZlcnJpZGUtaXRlbV9fdmFsdWUge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ub3ZlcnJpZGUtaXRlbV9fdmFsdWUub3ZlcnJpZGUtZW5hYmxlZCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLm92ZXJyaWRlLWl0ZW1fX3ZhbHVlLm92ZXJyaWRlLWRpc2FibGVkIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbn1cblxuLyogQWRtaW4gYWN0aW9ucyByb3cgKi9cbi5hZG1pbi1hY3Rpb25zIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNCkgMDtcbn1cblxuLyogSGVscCBtb2RhbCBmb3IgbW9kZXMgcGFnZSAqL1xuLm1vZGVzLWhlbHAtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5tb2Rlcy1oZWxwLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1sZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTYpO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICB3aWR0aDogOTAlO1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB6LWluZGV4OiAxMDAxO1xufVxuXG4ubW9kZXMtaGVscC1tb2RhbCBoMiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14bCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtNCkgMDtcbn1cblxuLm1vZGVzLWhlbHAtbW9kYWwgaDMge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtYmFzZSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS00KSAwIHZhcigtLXNwYWNlLTIpIDA7XG59XG5cbi5tb2Rlcy1oZWxwLW1vZGFsIHAge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTIpIDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5tb2Rlcy1oZWxwLW1vZGFsIHVsIHtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMykgMDtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS00KTtcbn1cblxuLm1vZGVzLWhlbHAtbW9kYWwgbGkge1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTEpO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBSZXNwb25zaXZlIG1vZGVzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLm1vZGVzLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG5cbiAgLmZlYXR1cmUtbGlzdCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cblxuICAubW9kZS1jYXJkIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKTtcbiAgfVxuXG4gIC5tb2RlLWNhcmRfX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmFkbWluLXRpZXItYmFkZ2Uge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIHBhZGRpbmc6IDNweCA4cHg7XG4gIH1cblxuICAuZmVhdHVyZS1pdGVtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogdmFyKC0tc3BhY2UtMSk7XG4gIH1cblxuICAuZmVhdHVyZS1zdGF0dXMtYmFkZ2Uge1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQUk9DRVNTSU5HIFFVRVVFIFNUQVRVU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb2Nlc3Npbmctc3RhdHVzIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wcm9jZXNzaW5nLXN0YXR1c19faGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5wcm9jZXNzaW5nLXN0YXR1c19faW5kaWNhdG9yIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5wcm9jZXNzaW5nLXN0YXR1c19faW5kaWNhdG9yLS1pZGxlIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtZGltKTtcbiAgYW5pbWF0aW9uOiBub25lO1xufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUsIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuNTsgfVxufVxuXG4ucHJvY2Vzc2luZy1zdGF0dXNfX2xhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbn1cblxuLnByb2Nlc3Npbmctc3RhdHVzLS1hY3RpdmUgLnByb2Nlc3Npbmctc3RhdHVzX19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLnByb2Nlc3Npbmctc3RhdHVzLS1pZGxlIC5wcm9jZXNzaW5nLXN0YXR1c19fbGFiZWwge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4vKiBQcm9ncmVzcyBCYXIgKi9cbi5wcm9jZXNzaW5nLXByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wcm9jZXNzaW5nLXByb2dyZXNzX19iYXIge1xuICBmbGV4OiAxO1xuICBoZWlnaHQ6IDhweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnByb2Nlc3NpbmctcHJvZ3Jlc3NfX2ZpbGwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYWRtaW4tc3VjY2VzcyksICMzNGQzOTkpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZTtcbn1cblxuLnByb2Nlc3NpbmctcHJvZ3Jlc3NfX3RleHQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIG1pbi13aWR0aDogNDBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qIFN0YXRzIEdyaWQgKi9cbi5wcm9jZXNzaW5nLXN0YXRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCg4MHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbi5wcm9jZXNzaW5nLXN0YXQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4ucHJvY2Vzc2luZy1zdGF0X192YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xufVxuXG4ucHJvY2Vzc2luZy1zdGF0X19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xufVxuXG4vKiBDdXJyZW50IEZpbGUgKi9cbi5wcm9jZXNzaW5nLWN1cnJlbnQge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0zKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMik7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucHJvY2Vzc2luZy1jdXJyZW50X19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMik7XG59XG5cbi5wcm9jZXNzaW5nLWN1cnJlbnRfX2ZpbGUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi8qIEVycm9ycyAqL1xuLnByb2Nlc3NpbmctZXJyb3JzIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi8qIEFjdGlvbnMgKi9cbi5wcm9jZXNzaW5nLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtNCk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ucHJvY2Vzc2luZy1hY3Rpb25zIC5hZG1pbi1idG4ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDE1MHB4O1xufVxuXG4vKiBQcm9jZXNzaW5nIFN0YXR1cyBCYXIgKi9cbi5wcm9jZXNzaW5nLXN0YXR1cy1iYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLnByb2Nlc3NpbmctaW5kaWNhdG9yIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnByb2Nlc3NpbmctaW5kaWNhdG9yLS1hY3RpdmUge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5wcm9jZXNzaW5nLWluZGljYXRvci0taWRsZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG59XG5cbi5wcm9jZXNzaW5nLXF1ZXVlLFxuLnByb2Nlc3NpbmctcmF0ZSB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi8qIFByb2Nlc3NpbmcgTG9nICovXG4ucHJvY2Vzc2luZy1sb2cge1xuICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fZW50cnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yKSB2YXIoLS1zcGFjZS0zKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fZW50cnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbn1cblxuLnByb2Nlc3NpbmctbG9nX19lbnRyeS0tZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvci1iZyk7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fc3RhdHVzIHtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvY2Vzc2luZy1sb2dfX2VudHJ5Om5vdCgucHJvY2Vzc2luZy1sb2dfX2VudHJ5LS1lcnJvcikgLnByb2Nlc3NpbmctbG9nX19zdGF0dXMge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fZW50cnktLWVycm9yIC5wcm9jZXNzaW5nLWxvZ19fc3RhdHVzIHtcbiAgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTtcbn1cblxuLnByb2Nlc3NpbmctbG9nX19maWxlbmFtZSB7XG4gIGZsZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fdGltZSB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIG1pbi13aWR0aDogNTBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5wcm9jZXNzaW5nLWxvZ19fZW1wdHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS00KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRG9jIFBpbnMgUGFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRvYy1waW5zLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWhlYWRlciBoMSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LTJ4bCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWFjdGlvbnMge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTUpIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMyk7XG59XG5cbi5kb2MtcGlucy1idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXByaW1hcnkpO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuLmRvYy1waW5zLWJ0bi1wcmltYXJ5OmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeS1ob3Zlcik7IH1cblxuLmRvYy1waW5zLWJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0zKSB2YXIoLS1zcGFjZS01KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG4uZG9jLXBpbnMtYnRuLXNlY29uZGFyeTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpOyB9XG5cbi5kb2MtcGlucy1idG4tc20ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0xKSB2YXIoLS1zcGFjZS0yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLXNwYWNlLTEpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuLmRvYy1waW5zLWJ0bi1zbTpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UtaG92ZXIpOyB9XG5cbi5kb2MtcGlucy1idG4tZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG59XG4uZG9jLXBpbnMtYnRuLWRhbmdlcjpob3ZlciB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yLWJnKTsgfVxuXG4vKiBUYWJsZSAqL1xuLmRvYy1waW5zLXRhYmxlLXdyYXAge1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4uZG9jLXBpbnMtdGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG59XG5cbi5kb2MtcGlucy10YWJsZSB0aCxcbi5kb2MtcGlucy10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLmRvYy1waW5zLXRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteHMpO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5kb2MtcGlucy1kaXNhYmxlZC1yb3cgeyBvcGFjaXR5OiAwLjU7IH1cblxuLmRvYy1waW5zLXZhbHVlIGNvZGUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTEpIHZhcigtLXNwYWNlLTIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbn1cblxuLmRvYy1waW5zLXBhdGhzLWNlbGwge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xufVxuXG4uZG9jLXBpbnMtcGF0aC10YWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWluZm8tYmcpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7XG4gIHBhZGRpbmc6IDJweCB2YXIoLS1zcGFjZS0yKTtcbiAgbWFyZ2luOiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG59XG5cbi5kb2MtcGlucy1udW1lcmljIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi5kb2MtcGlucy1uZXZlciB7IG9wYWNpdHk6IDAuNTsgfVxuLmRvYy1waW5zLWV4cGlyZWQgeyBjb2xvcjogdmFyKC0tYWRtaW4tZXJyb3IpOyB9XG5cbi5kb2MtcGlucy1zdGF0dXMtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDNweCB2YXIoLS1zcGFjZS0yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzKTtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LXhzKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRvYy1waW5zLXN0YXR1cy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi5kb2MtcGlucy1zdGF0dXMtZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZG9jLXBpbnMtc3RhdHVzLWV4cGlyZWQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uZG9jLXBpbnMtYWN0aW9ucy1jZWxsIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZG9jLXBpbnMtZW1wdHkge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS04KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1kaW0pO1xufVxuXG4vKiBMZWdhY3kgbm90ZSAqL1xuLmRvYy1waW5zLWxlZ2FjeS1ub3RlIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtNik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG59XG5cbi5kb2MtcGlucy1sZWdhY3ktbm90ZSBoMyB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTMpIDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWxlZ2FjeS1ub3RlIHAge1xuICBtYXJnaW46IHZhcigtLXNwYWNlLTEpIDA7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLmRvYy1waW5zLWxlZ2FjeS1ub3RlIHVsIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS0zKSAwO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTUpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG59XG5cbi5kb2MtcGlucy1sZWdhY3ktbm90ZSBjb2RlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBwYWRkaW5nOiAycHggdmFyKC0tc3BhY2UtMik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpO1xufVxuXG4vKiBNb2RhbCAqL1xuLmRvYy1waW5zLW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4uZG9jLXBpbnMtbW9kYWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLWxnKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtNik7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIHdpZHRoOiA5MCU7XG4gIGJveC1zaGFkb3c6IHZhcigtLWFkbWluLXNoYWRvdy1sZyk7XG59XG5cbi5kb2MtcGlucy1tb2RhbCBoMiB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNlLTUpIDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14bCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS01KTtcbn1cblxuLmRvYy1waW5zLWZvcm0tZ3JvdXAgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC14cyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LW11dGVkKTtcbn1cblxuLmRvYy1waW5zLWZvcm0tZ3JvdXAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uZG9jLXBpbnMtZm9ybS1ncm91cCBzZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQtc20pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tYWRtaW4tdHJhbnNpdGlvbik7XG59XG5cbi5kb2MtcGlucy1mb3JtLWdyb3VwIGlucHV0OmZvY3VzLFxuLmRvYy1waW5zLWZvcm0tZ3JvdXAgc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpO1xufVxuXG4uZG9jLXBpbnMtaW5wdXQtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbn1cblxuLmRvYy1waW5zLWlucHV0LXJvdyBpbnB1dCB7IGZsZXg6IDE7IH1cblxuLmRvYy1waW5zLWNoZWNrYm94LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xufVxuXG4uZG9jLXBpbnMtY2hlY2tib3gtbGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC1zbSk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0KTtcbn1cblxuLmRvYy1waW5zLWNoZWNrYm94LWxhYmVsIGlucHV0IHtcbiAgYWNjZW50LWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbn1cblxuLmRvYy1waW5zLW1vZGFsLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEFkbWluIExvZ2luIFBhZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5hZG1pbi1sb2dpbi1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG59XG5cbi5hZG1pbi1sb2dpbi1jYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtbGcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1hZG1pbi1zaGFkb3ctbGcpO1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS04KTtcbn1cblxuLmFkbWluLWxvZ2luLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNik7XG59XG5cbi5hZG1pbi1sb2dpbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tYWRtaW4tdGV4dC0yeGwpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tc3BhY2UtMikgMDtcbn1cblxuLmFkbWluLWxvZ2luLXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiB2YXIoLS1hZG1pbi10ZXh0LWJhc2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFkbWluLWxvZ2luLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpO1xuICBmb250LXNpemU6IHZhcigtLWFkbWluLXRleHQteGwpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjVlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYmcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLmFkbWluLWxvZ2luLWlucHV0OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1wcmltYXJ5KTtcbn1cblxuLmFkbWluLWxvZ2luLWlucHV0OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uYWRtaW4tbG9naW4tYnRuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLTQpO1xufVxuXG4uYWRtaW4tbG9naW4tZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS02KTtcbn1cblxuLmFkbWluLWxvZ2luLWZvb3RlciBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYWRtaW4tbG9naW4tZm9vdGVyIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMQUIgUVVFVUUgREFTSEJPQVJEIFx1MjAxNCBUVi93YWxsIGRpc3BsYXkgb3B0aW1pemVkXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIZWFkZXIgcm93OiB0aXRsZSBsZWZ0LCBjbG9jayByaWdodCAqL1xuLmxxLWhlYWRlci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4vKiBMaXZlIGNsb2NrICovXG4ubHEtY2xvY2sge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5scS1jbG9jay10aW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmxxLWNsb2NrLWRhdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dC1tdXRlZCk7XG4gIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLyogU3RhdHMgZ3JpZDogNCBjb2x1bW5zICovXG4ubHEtc3RhdHMtZ3JpZCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG59XG5cbi8qIFBpcGVsaW5lIHZpc3VhbGl6YXRpb24gKi9cbi5scS1waXBlbGluZS1iYXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA2cHg7XG59XG5cbi5scS1waXBlbGluZS1zdGFnZSB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5scS1waXBlbGluZS1iYXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLmxxLXBpcGVsaW5lLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweCA0cHggMCAwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xufVxuXG4ubHEtcGlwZWxpbmUtbGFiZWwge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBtYXJnaW4tdG9wOiA2cHg7XG59XG5cbi5scS1waXBlbGluZS1jb3VudCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tdGV4dCk7XG59XG5cbi8qIE9yZGVyIHRhYmxlICovXG4ubHEtdGFibGUgeyB3aWR0aDogMTAwJTsgfVxuXG4ubHEtdGMtY2VsbCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5scS1maWxtLWNlbGwge1xuICBmb250LXNpemU6IDAuODVyZW07XG59XG5cbi5scS1zdGF0dXMtYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJhZGdlLWNvbG9yKSAxNSUsIHRyYW5zcGFyZW50KTtcbiAgY29sb3I6IHZhcigtLWJhZGdlLWNvbG9yKTtcbn1cblxuLyogQWdlIGNvbG9ycyAqL1xuLmxxLWFnZS1vdmVyZHVlIHsgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuLmxxLWFnZS13YXJuaW5nIHsgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpOyB9XG4ubHEtYWdlLW9rIHsgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG5cbi8qIFFDIHN0YXR1cyAqL1xuLmxxLXFjLXBhc3MgeyBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cbi5scS1xYy1mYWlsIHsgY29sb3I6IHZhcigtLWFkbWluLWVycm9yKTsgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKiBEZWxpdmVyeSByb3dzICovXG4ubHEtZGVsaXZlcnktcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1hZG1pbi1ib3JkZXIpO1xufVxuXG4ubHEtZGVsaXZlcnktcm93Omxhc3QtY2hpbGQgeyBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5scS1kZWxpdmVyeS1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xufVxuXG4ubHEtZGVsaXZlcnktbmFtZSB7IGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmxxLWRlbGl2ZXJ5LWNvbXBsZXRlIHsgY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyB9XG4ubHEtZGVsaXZlcnktcHJvZ3Jlc3MgeyBjb2xvcjogdmFyKC0tYWRtaW4td2FybmluZyk7IH1cbi5scS1kZWxpdmVyeS1vcGVuZWQgeyBjb2xvcjogdmFyKC0tYWRtaW4taW5mbyk7IH1cblxuLyogRW1wdHkgc3RhdGUgKi9cbi5scS1lbXB0eS1zdGF0ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQtbXV0ZWQpO1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4vKiAtLS0gTW9iaWxlOiBzdGFjayBzdGF0cyAtLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAubHEtc3RhdHMtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuXG4gIC5scS1oZWFkZXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xuICB9XG5cbiAgLmxxLWNsb2NrIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4gIC5scS1jbG9jay10aW1lIHsgZm9udC1zaXplOiAxLjVyZW07IH1cblxuICAubHEtZGVsaXZlcnktcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogNHB4O1xuICB9XG59XG5cbi8qIC0tLSBUViAvIGxhcmdlIGRpc3BsYXkgbW9kZSAoZnVsbHNjcmVlbiBvciB2ZXJ5IGxhcmdlIHZpZXdwb3J0KSAtLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLmxxLWNsb2NrLXRpbWUgeyBmb250LXNpemU6IDNyZW07IH1cbiAgLmxxLWNsb2NrLWRhdGUgeyBmb250LXNpemU6IDEuMXJlbTsgfVxuXG4gIC5scS1waXBlbGluZS1jb3VudCB7IGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5scS1waXBlbGluZS1sYWJlbCB7IGZvbnQtc2l6ZTogMC44NXJlbTsgfVxuICAubHEtcGlwZWxpbmUtYmFyLXdyYXAgeyBoZWlnaHQ6IDEyMHB4OyB9XG5cbiAgLmxxLXRhYmxlIHsgZm9udC1zaXplOiAxLjFyZW07IH1cbiAgLmxxLXRhYmxlIHRoLCAubHEtdGFibGUgdGQgeyBwYWRkaW5nOiAxMnB4IDE2cHg7IH1cblxuICAubHEtZGVsaXZlcnktcm93IHsgcGFkZGluZzogMTRweCAwOyBmb250LXNpemU6IDEuMDVyZW07IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExhYiBTY2FuIFJldmlldyBVSVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnJldmlldy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNlLTMpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS00KTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucmV2aWV3LWZpbHRlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXNwYWNlLTEpO1xufVxuXG4ucmV2aWV3LWZpbHRlci1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXRleHQpO1xuICBwYWRkaW5nOiA2cHggMTRweDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLnJldmlldy1maWx0ZXItYnRuOmhvdmVyIHsgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYm9yZGVyKTsgfVxuLnJldmlldy1maWx0ZXItYnRuLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWFjY2VudCk7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1iZyk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tYWNjZW50KTtcbn1cblxuLnJldmlldy1iYXRjaC1idG4ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6ICMwMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ucmV2aWV3LWJhdGNoLWJ0bjpob3ZlciB7IG9wYWNpdHk6IDAuOTsgfVxuXG4vKiBTcGxpdCBsYXlvdXQ6IHNpZGViYXIgKyBkZXRhaWwgKi9cbi5yZXZpZXctbGF5b3V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1zcGFjZS00KTtcbiAgbWluLWhlaWdodDogNjB2aDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5yZXZpZXctbGF5b3V0IHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxufVxuXG4vKiBTaWRlYmFyIHNjYW4gbGlzdCAqL1xuLnJldmlldy1zaWRlYmFyIHtcbiAgd2lkdGg6IDI4MHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5yZXZpZXctc2lkZWJhciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgfVxuICAucmV2aWV3LXNpZGViYXIgLnJldmlldy1jYXJkIHsgbWluLXdpZHRoOiAxNjBweDsgZmxleC1zaHJpbms6IDA7IH1cbn1cblxuLnJldmlldy1jYXJkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VyZmFjZSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWFkbWluLXJhZGl1cy1zbSk7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTIpIHZhcigtLXNwYWNlLTMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1hZG1pbi10cmFuc2l0aW9uKTtcbn1cblxuLnJldmlldy1jYXJkOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1hY2NlbnQpOyB9XG4ucmV2aWV3LWNhcmQuc2VsZWN0ZWQgeyBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLWFjY2VudCk7IGJhY2tncm91bmQ6IHJnYmEoOTksIDEwMiwgMjQxLCAwLjEpOyB9XG5cbi5yZXZpZXctY2FyZC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLnJldmlldy1jYXJkLWlkIHsgZm9udC13ZWlnaHQ6IDcwMDsgZm9udC1zaXplOiAwLjlyZW07IH1cblxuLnJldmlldy1jYXJkLWZpbGVuYW1lIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1tdXRlZCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4ucmV2aWV3LWNhcmQtbWV0YSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLWFkbWluLW11dGVkKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5cbi5yZXZpZXctY2FyZC1zdGF0dXMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuN3JlbTtcbn1cblxuLyogUUMgYmFkZ2UgKi9cbi5yZXZpZXctcWMtYmFkZ2Uge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5cbi5yZXZpZXctcWMtZ29vZCB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpOyBjb2xvcjogIzAwMDsgfVxuLnJldmlldy1xYy1vayB7IGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXdhcm5pbmcpOyBjb2xvcjogIzAwMDsgfVxuLnJldmlldy1xYy1iYWQgeyBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7IGNvbG9yOiAjZmZmOyB9XG5cbi8qIERldGFpbCBwYW5lbCAqL1xuLnJldmlldy1kZXRhaWwge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5yZXZpZXctbm8tc2VsZWN0aW9uLCAucmV2aWV3LWVtcHR5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tbXV0ZWQpO1xuICBmb250LXNpemU6IDEuMXJlbTtcbn1cblxuLyogQmVmb3JlL0FmdGVyIGNvbXBhcmlzb24gKi9cbi5yZXZpZXctY29tcGFyZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0zKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtNCk7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAucmV2aWV3LWNvbXBhcmUgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxufVxuXG4ucmV2aWV3LWNvbXBhcmUtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnJldmlldy1jb21wYXJlLWxhYmVsIHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMikgdmFyKC0tc3BhY2UtMyk7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFkbWluLWJvcmRlcik7XG4gIG1hcmdpbjogMDtcbn1cblxuLnJldmlldy1wcmV2aWV3LWltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LWhlaWdodDogNDAwcHg7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIGJhY2tncm91bmQ6ICMwMDA7XG59XG5cbi5yZXZpZXctbm8tcHJldmlldyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDIwMHB4O1xuICBjb2xvcjogdmFyKC0tYWRtaW4tbXV0ZWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1iZyk7XG59XG5cbi8qIFFDIFNjb3JlcyBncmlkICovXG4ucmV2aWV3LXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2UtMyk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTMpO1xufVxuXG4ucmV2aWV3LXNlY3Rpb24gaDMge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjZS0yKSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWFkbWluLW11dGVkKTtcbn1cblxuLnJldmlldy1zY29yZXMtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEyMHB4LCAxZnIpKTtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0yKTtcbn1cblxuLnJldmlldy1zY29yZS1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAycHg7XG59XG5cbi5yZXZpZXctc2NvcmUtbGFiZWwge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1tdXRlZCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5yZXZpZXctc2NvcmUtdmFsdWUge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLyogQ29ycmVjdGlvbnMgbGlzdCAqL1xuLnJldmlldy1jb3JyZWN0aW9ucy1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1zcGFjZS0xKTtcbn1cblxuLnJldmlldy1jb3JyZWN0aW9uLWl0ZW0ge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIHBhZGRpbmc6IDRweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbn1cblxuLnJldmlldy1jb3JyZWN0aW9uLWl0ZW06bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLyogQWN0aW9uIGJ1dHRvbnMgKi9cbi5yZXZpZXctYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tc3BhY2UtMik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLXNtKTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYm90dG9tOiAwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5yZXZpZXctYWN0aW9uLWJ0biB7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1hZG1pbi1yYWRpdXMtc20pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWFkbWluLXRyYW5zaXRpb24pO1xufVxuXG4ucmV2aWV3LWFjdGlvbi1idG46aG92ZXIgeyBvcGFjaXR5OiAwLjg1OyB9XG5cbi5yZXZpZXctYnRuLWFwcHJvdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbiAgY29sb3I6ICMwMDA7XG4gIGZsZXg6IDE7XG59XG5cbi5yZXZpZXctYnRuLWFwcHJvdmUtb25seSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1cmZhY2UpO1xuICBjb2xvcjogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xufVxuXG4ucmV2aWV3LWJ0bi1yZWplY3Qge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucmV2aWV3LWJ0bi1yZXByb2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgY29sb3I6IHZhcigtLWFkbWluLXdhcm5pbmcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1hZG1pbi13YXJuaW5nKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9SREVSIFBST0dSRVNTIFRSQUNLRVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9ncmVzcy10cmFja2VyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZS00KSAwIHZhcigtLXNwYWNlLTYpIDA7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTQpIHZhcigtLXNwYWNlLTMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hZG1pbi1zdXJmYWNlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYWRtaW4tcmFkaXVzLCA4cHgpO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9ncmVzcy1zdGVwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4td2lkdGg6IDcwcHg7XG59XG5cbi5wcm9ncmVzcy1zdGVwOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE0cHg7XG4gIGxlZnQ6IC01MCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgei1pbmRleDogMDtcbn1cblxuLnByb2dyZXNzLXN0ZXA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9ncmVzcy1zdGVwLmNvbXBsZXRlZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tc3VjY2Vzcyk7XG59XG5cbi5wcm9ncmVzcy1zdGVwLmN1cnJlbnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tYWRtaW4tc3VjY2VzcykgNTAlLCB2YXIoLS1hZG1pbi1ib3JkZXIpIDUwJSk7XG59XG5cbi5wcm9ncmVzcy1kb3Qge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWJnKTtcbiAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tYWRtaW4tYm9yZGVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ucHJvZ3Jlc3Mtc3RlcC5jb21wbGV0ZWQgLnByb2dyZXNzLWRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWFkbWluLXN1Y2Nlc3MpO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLnByb2dyZXNzLXN0ZXAuY3VycmVudCAucHJvZ3Jlc3MtZG90IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpO1xuICBhbmltYXRpb246IHByb2dyZXNzLXB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4ucHJvZ3Jlc3Mtc3RlcC5jYW5jZWxsZWQgLnByb2dyZXNzLWRvdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWFkbWluLWVycm9yKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1hZG1pbi1lcnJvcik7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLXB1bHNlIHtcbiAgMCUsIDEwMCUgeyBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpOyB9XG4gIDUwJSB7IGJveC1zaGFkb3c6IDAgMCAwIDhweCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTsgfVxufVxuXG4ucHJvZ3Jlc3MtbGFiZWwge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yKTtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi10ZXh0LWRpbSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnByb2dyZXNzLXN0ZXAuY29tcGxldGVkIC5wcm9ncmVzcy1sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1hZG1pbi1zdWNjZXNzKTtcbn1cblxuLnByb2dyZXNzLXN0ZXAuY3VycmVudCAucHJvZ3Jlc3MtbGFiZWwge1xuICBjb2xvcjogdmFyKC0tYWRtaW4tcHJpbWFyeSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAucHJvZ3Jlc3MtdHJhY2tlciB7IHBhZGRpbmc6IHZhcigtLXNwYWNlLTMpIHZhcigtLXNwYWNlLTIpOyB9XG4gIC5wcm9ncmVzcy1zdGVwIHsgbWluLXdpZHRoOiA1NXB4OyB9XG4gIC5wcm9ncmVzcy1sYWJlbCB7IGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5wcm9ncmVzcy1kb3QgeyB3aWR0aDogMjJweDsgaGVpZ2h0OiAyMnB4OyBmb250LXNpemU6IDEwcHg7IH1cbn1cbiIsICIvKiBUaGlzIGZpbGUgaXMgZm9yIHlvdXIgbWFpbiBhcHBsaWNhdGlvbiBDU1MgKi9cbi8qIEFsbCBDU1MgaXMgYnVuZGxlZCB2aWEgZXNidWlsZCAtIGltcG9ydGVkIGluIGFwcC5qcyAqL1xuQGltcG9ydCBcIi4vZ2FsbGVyeS5jc3NcIjtcbkBpbXBvcnQgXCIuL3RoZW1lX21vZGVybi5jc3NcIjtcbkBpbXBvcnQgXCIuL2FpX2NvbGxhYi5jc3NcIjtcbkBpbXBvcnQgXCIuL2FkbWluLmNzc1wiO1xuXG4vKiBBbGVydHMgYW5kIGZvcm0gZXJyb3JzIHVzZWQgYnkgcGh4Lm5ldyAqL1xuLmFsZXJ0IHtcbiAgcGFkZGluZzogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5hbGVydC1pbmZvIHtcbiAgY29sb3I6ICMzMTcwOGY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7XG4gIGJvcmRlci1jb2xvcjogI2JjZThmMTtcbn1cbi5hbGVydC13YXJuaW5nIHtcbiAgY29sb3I6ICM4YTZkM2I7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG4gIGJvcmRlci1jb2xvcjogI2ZhZWJjYztcbn1cbi5hbGVydC1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxO1xufVxuLmFsZXJ0IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmFsZXJ0OmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgY29sb3I6ICNhOTQ0NDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IC0xcmVtIDAgMnJlbTtcbn1cblxuLyogTGl2ZVZpZXcgc3BlY2lmaWMgY2xhc3NlcyBmb3IgeW91ciBjdXN0b21pemF0aW9uICovXG4ucGh4LW5vLWZlZWRiYWNrLmludmFsaWQtZmVlZGJhY2ssXG4ucGh4LW5vLWZlZWRiYWNrIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBoeC1jbGljay1sb2FkaW5nIHtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2Utb3V0O1xufVxuXG4ucGh4LWRpc2Nvbm5lY3RlZHtcbiAgY3Vyc29yOiB3YWl0O1xufVxuLnBoeC1kaXNjb25uZWN0ZWQgKntcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5waHgtbW9kYWwge1xuICBvcGFjaXR5OiAxIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7XG59XG5cbi5waHgtbW9kYWwtY29udGVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIG1hcmdpbjogMTV2aCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjODg4O1xuICB3aWR0aDogODAlO1xufVxuXG4ucGh4LW1vZGFsLWNsb3NlIHtcbiAgY29sb3I6ICNhYWE7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnBoeC1tb2RhbC1jbG9zZTpob3Zlcixcbi5waHgtbW9kYWwtY2xvc2U6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7O0FBcURBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUdBO0FBR0E7QUFDQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBZUY7QUFDRTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBYUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBa0JSO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBTUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBbUI7QUFBQTtBQUduQjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDYTtBQUFBO0FBQUE7QUFDTDtBQUFBO0FBQUE7QUFJUjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFZRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU1GO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFlRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBWUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBYUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBWUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFZRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQWVGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQVlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFhRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQWFGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQUE7QUFpQkY7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFNRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUlFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBSVI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFJRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBV0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFZRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFjRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ1M7QUFBQTtBQUFBO0FBQ0Y7QUFBQTtBQUFBO0FBR1A7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFjRjtBQUVFO0FBQXdCO0FBQUE7QUFDeEI7QUFBaUI7QUFBQTtBQUNqQjtBQUF5QjtBQUFBO0FBQ3pCO0FBQWU7QUFBQTtBQUNmO0FBQVc7QUFBQTtBQUdYO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUFnQjtBQUFBO0FBQ2hCO0FBQW9CO0FBQUE7QUFDcEI7QUFBa0I7QUFBQTtBQUNsQjtBQUFlO0FBQUE7QUFDZjtBQUFnQjtBQUFBO0FBR2hCO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFVSjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFhSjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBZ0I7QUFBQTtBQUNoQjtBQUFnQjtBQUFBO0FBQ2hCO0FBQWtCO0FBQUE7QUFHbEI7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQWFKO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBQUE7QUFZSjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQWFKO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUFBO0FBVUo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBSUE7QUFBQTtBQUVFO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFpQkY7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQUE7QUFBcUM7QUFBQTtBQUFBO0FBSXZDO0FBRUU7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFjSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVJO0FBQ0E7QUFBQTtBQUFBO0FBR0E7QUFDQTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFTSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBYztBQUFlO0FBQXFCO0FBQVc7QUFBQTtBQUM3RDtBQUFpQjtBQUFlO0FBQXFCO0FBQ25EO0FBQWtDO0FBQWlCO0FBQUE7QUFDckQ7QUFBdUI7QUFBa0M7QUFBQTtBQUN6RDtBQUFlO0FBQWU7QUFBQTtBQUM5QjtBQUFjO0FBQWtCO0FBQWlDO0FBQy9EO0FBQWlEO0FBQ2pEO0FBQXNDO0FBQUE7QUFDeEM7QUFBcUI7QUFBMkM7QUFBQTtBQUdoRTtBQUFrQjtBQUFlO0FBQVU7QUFBUztBQUFxQjtBQUFBO0FBQ3pFO0FBQXVCO0FBQWU7QUFBcUI7QUFBVTtBQUFrQjtBQUFBO0FBQ3ZGO0FBQXVCO0FBQXNDO0FBQzNEO0FBQTJCO0FBQUE7QUFDN0I7QUFBdUI7QUFBa0M7QUFDdkQ7QUFBb0M7QUFBaUI7QUFBQTtBQUN2RDtBQUFpQjtBQUFTO0FBQXlDO0FBQ2pFO0FBQXNDO0FBQWtCO0FBQTBCO0FBQUE7QUFDcEY7QUFBdUM7QUFBa0I7QUFBYTtBQUNwRTtBQUF1QztBQUFvQjtBQUFBO0FBRTdEO0FBQWtCO0FBQWU7QUFBQTtBQUNqQztBQUFjO0FBQW1CO0FBQWlDO0FBQ2hFO0FBQWlEO0FBQ2pEO0FBQUE7QUFDRjtBQUFtQjtBQUFrQztBQUFBO0FBQ3JEO0FBQTRCO0FBQWM7QUFBQTtBQUMxQztBQUFvQjtBQUFBO0FBRXBCO0FBQW9CO0FBQWU7QUFBcUI7QUFBVTtBQUFBO0FBQ2xFO0FBQW9CO0FBQXNDO0FBQUE7QUFDMUQ7QUFBc0I7QUFBa0M7QUFBaUI7QUFBQTtBQUV6RTtBQUNFO0FBQWM7QUFBd0I7QUFBQTtBQUN0QztBQUFrQjtBQUFBO0FBQ2xCO0FBQXVCO0FBQUE7QUFBQTtBQUl6QjtBQUFnQjtBQUFvQjtBQUFVO0FBQWE7QUFBQTtBQUMzRDtBQUFhO0FBQW9CO0FBQTZCO0FBQUE7QUFDOUQ7QUFBZTtBQUFvQjtBQUE4QztBQUFBO0FBQ2pGO0FBQWU7QUFBb0I7QUFBYTtBQUM5QztBQUF1QztBQUFBO0FBR3pDO0FBQXVCO0FBQWU7QUFBVTtBQUFBO0FBQ2hEO0FBQ0U7QUFBb0M7QUFDcEM7QUFBK0I7QUFBaUI7QUFBa0I7QUFDbEU7QUFBMEM7QUFBQTtBQUU1QztBQUNFO0FBQXFDO0FBQ3JDO0FBQUE7QUFFRjtBQUEyQjtBQUFBO0FBRzNCO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUF1QjtBQUFBO0FBQ3ZCO0FBQTZCO0FBQUE7QUFFN0I7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUlGO0FBQWU7QUFBb0I7QUFBYztBQUFZO0FBQzNEO0FBQWlCO0FBQWlCO0FBQUE7QUFDcEM7QUFBcUI7QUFBOEI7QUFBQTtBQUNuRDtBQUE0QjtBQUFnQjtBQUFBO0FBQzVDO0FBQTJCO0FBQUE7QUFHM0I7QUFBQTtBQUFxQztBQUFpQztBQUNwRTtBQUFzQztBQUN0QztBQUFpRDtBQUFBO0FBR25EO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVGO0FBQUE7QUFDb0M7QUFBQTtBQUNwQztBQUFBO0FBQ2lDO0FBQXFDO0FBQ3BFO0FBQUE7QUFBQTtBQUFBO0FBQW1EO0FBQUE7QUFDckQ7QUFBQTtBQUN3QztBQUFvQztBQUFBO0FBQzVFO0FBQUE7QUFDMEM7QUFBQTtBQUMxQztBQUFBO0FBQzBDO0FBQUE7QUFDMUM7QUFBQTtBQUNvQztBQUF1QjtBQUFBO0FBQzNEO0FBQUE7QUFDMEQ7QUFBQTtBQUMxRDtBQUFBO0FBQ2lDO0FBQXFDO0FBQ3BFO0FBQUE7QUFBQTtBQUFBO0FBQW1EO0FBQUE7QUFDckQ7QUFBQTtBQUNzQztBQUFnQjtBQUFBO0FBQ3REO0FBQUE7QUFDdUM7QUFBQTtBQUN2QztBQUFBO0FBQ3VDO0FBQ3JDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDRjtBQUFBO0FBQ3lDO0FBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDRjtBQUFBO0FBQzBDO0FBQUE7QUFDMUM7QUFBQTtBQUNrQztBQUFBO0FBQ2xDO0FBQUE7QUFDa0M7QUFBQTtBQUNsQztBQUFBO0FBQUE7QUFBQTtBQUlFO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBNkI7QUFBYTtBQUMxQztBQUFBO0FBV0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQUdSO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBR0Y7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXlCO0FBQUE7QUFHekI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQW9CO0FBQUE7QUFDcEI7QUFBa0I7QUFBb0M7QUFBQTtBQUN0RDtBQUFrQjtBQUFvQztBQUFBO0FBQ3REO0FBQW9CO0FBQXFDO0FBQUE7QUFFekQ7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXNCO0FBQUE7QUFDdEI7QUFBc0I7QUFBQTtBQUV0QjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDUztBQUFBO0FBQUE7QUFDRjtBQUFBO0FBQUE7QUFJUDtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUFBO0FBR0Y7QUFBNEI7QUFBQTtBQUM1QjtBQUF5QztBQUFrQjtBQUFBO0FBQzNEO0FBQTRDO0FBQUE7QUFDNUM7QUFBd0M7QUFBQTtBQUN4QztBQUEyQztBQUFBO0FBQzNDO0FBQTRDO0FBQUE7QUFDNUM7QUFBMEM7QUFBQTtBQUMxQztBQUFrQztBQUFBO0FBQ2xDO0FBQXVDO0FBQUE7QUFDdkM7QUFBNkM7QUFBQTtBQUM3QztBQUFnRDtBQUFxQjtBQUFBO0FBQ3JFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUEwQztBQUFBO0FBRzFDO0FBQ0U7QUFBYTtBQUFBO0FBQ2I7QUFBZTtBQUFBO0FBQUE7OztBQ2xqSGpCO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBU0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFTRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQVNGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFTRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBU0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBWUY7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDYTtBQUFBO0FBQUE7QUFDTDtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFJUjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBS0Y7QUFDRTtBQUNBO0FBQUE7QUFLRjtBQUNFO0FBQ0E7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQWNGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFVRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBR0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQWFGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQWlEO0FBQUE7QUFDakQ7QUFBOEM7QUFBQTtBQUM5QztBQUFxRDtBQUFBO0FBR3JEO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFDTztBQUFBO0FBQUE7QUFRUDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQWtCRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBUUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBUUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBUVI7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQXVDO0FBQXFCO0FBQUE7QUFDNUQ7QUFBc0M7QUFBcUI7QUFBQTtBQUMzRDtBQUEwQztBQUFxQjtBQUFBO0FBQy9EO0FBQXNDO0FBQWtCO0FBQUE7QUFDeEQ7QUFBeUM7QUFBa0I7QUFBQTtBQUMzRDtBQUEyQztBQUFxQjtBQUFBO0FBQ2hFO0FBQXlDO0FBQXFCO0FBQUE7QUFDOUQ7QUFDRTtBQUNBO0FBQUE7QUFFRjtBQUFzQztBQUFxQjtBQUFBO0FBQzNEO0FBQXFDO0FBQXFCO0FBQUE7QUFPMUQ7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBNkI7QUFBQTtBQUM3QjtBQUE2QjtBQUFBO0FBQzdCO0FBQTRCO0FBQUE7QUFRNUI7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFDakI7QUFBbUI7QUFBQTtBQUNuQjtBQUFpQjtBQUFBO0FBQ2pCO0FBQWlCO0FBQUE7QUFFakI7QUFBb0I7QUFBQTtBQUNwQjtBQUFrQjtBQUFBO0FBT2xCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBUUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFTSjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBR0Y7QUFBQTtBQUFBO0FBR0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUVFO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBR0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFBQTtBQUtKO0FBQVU7QUFBQTs7O0FDOWdHVjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQUdSO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQXFDO0FBQUE7QUFDckM7QUFBcUM7QUFBQTtBQUNyQztBQUFrQztBQUFBO0FBQ2xDO0FBQW1DO0FBQUE7QUFFbkM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUY7QUFBQTtBQUVFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUVGO0FBQUE7QUFFRTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFFRjtBQUFBO0FBRUU7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQUdSO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQVNGO0FBRUU7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUtFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFNSjtBQUVFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUFBO0FBTUo7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQU9SO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBTUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTs7O0FDaHpDRjtBQUVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBZ0I7QUFBQTtBQUNoQjtBQUFnQjtBQUFBO0FBQ2hCO0FBQWdCO0FBQUE7QUFFaEI7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUFnQjtBQUFBO0FBTWhCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUEyQjtBQUFBO0FBQzNCO0FBQTJCO0FBQUE7QUFDM0I7QUFBeUI7QUFBQTtBQUN6QjtBQUF3QjtBQUFBO0FBR3hCO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBT1I7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNPO0FBQUE7QUFBQTtBQU9QO0FBQW9CO0FBQUE7QUFDcEI7QUFBc0I7QUFBQTtBQUN0QjtBQUFzQjtBQUFBO0FBQ3RCO0FBQW9CO0FBQUE7QUFDcEI7QUFBbUI7QUFBQTtBQUNuQjtBQUFxQjtBQUFBO0FBRXJCO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUNqQjtBQUFpQjtBQUFBO0FBRWpCO0FBQW1CO0FBQUE7QUFDbkI7QUFBbUI7QUFBQTtBQUVuQjtBQUFjO0FBQUE7QUFDZDtBQUFjO0FBQUE7QUFDZDtBQUFjO0FBQUE7QUFDZDtBQUFjO0FBQUE7QUFFZDtBQUFhO0FBQUE7QUFDYjtBQUFhO0FBQUE7QUFFYjtBQUFnQjtBQUFBO0FBR2hCO0FBQWtCO0FBQUE7QUFHbEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBT0Y7QUFDRTtBQUFvQjtBQUFBO0FBQUE7QUFHdEI7QUFDRTtBQUFvQjtBQUFBO0FBQ3BCO0FBQXdCO0FBQUE7QUFDeEI7QUFBZ0I7QUFBQTtBQUNoQjtBQUFnQjtBQUFBO0FBQUE7QUFHbEI7QUFFRTtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFBb0I7QUFBQTtBQUNwQjtBQUEyQjtBQUFBO0FBRzNCO0FBQUE7QUFFRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQUE7QUFHRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBRUo7QUFPRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBU0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQUE7QUFBQTtBQUdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVFGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFTSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBSVI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBa0M7QUFBQTtBQUNsQztBQUFrQztBQUFBO0FBQ2xDO0FBQWlDO0FBQUE7QUFHakM7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBU0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUtKO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBT0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQVFGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFzQztBQUFBO0FBQ3RDO0FBQWdDO0FBQUE7QUFDaEM7QUFBbUM7QUFBQTtBQUNuQztBQUF1QztBQUFBO0FBRXZDO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQVFGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQ0E7QUFBQTtBQUFBO0FBS0o7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFzQjtBQUFBO0FBQ3RCO0FBQXFCO0FBQUE7QUFDckI7QUFBdUI7QUFBQTtBQUN2QjtBQUFvQjtBQUFBO0FBRXBCO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFBQTtBQUFBO0FBSUo7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUtGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQTBCO0FBQUE7QUFBQTtBQUc1QjtBQUNFO0FBQTBCO0FBQUE7QUFBQTtBQUc1QjtBQUNFO0FBQUE7QUFLRjtBQUNFO0FBQUE7QUFHRjtBQUFnQztBQUFBO0FBQ2hDO0FBQStCO0FBQUE7QUFDL0I7QUFBaUM7QUFBQTtBQUNqQztBQUE4QjtBQUFBO0FBRzlCO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFnQztBQUFBO0FBQ2hDO0FBQStCO0FBQUE7QUFDL0I7QUFBaUM7QUFBQTtBQUNqQztBQUE4QjtBQUFBO0FBRzlCO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFtQztBQUFBO0FBQ25DO0FBQWtDO0FBQUE7QUFDbEM7QUFBb0M7QUFBQTtBQUNwQztBQUFpQztBQUFBO0FBR2pDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDRTtBQUNBO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQVNKO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNFO0FBQUE7QUFBQTtBQUlKO0FBQ0U7QUFDRTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQUE7QUFFRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFBQTtBQVFGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBQUE7QUFJSjtBQUNFO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUFBO0FBUUo7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNhO0FBQUE7QUFBQTtBQUNMO0FBQUE7QUFBQTtBQUdSO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBOEI7QUFBQTtBQUU5QjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBZ0M7QUFBQTtBQUVoQztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBeUI7QUFBQTtBQUV6QjtBQUNFO0FBQ0E7QUFBQTtBQUVGO0FBQTZCO0FBQUE7QUFHN0I7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBeUI7QUFBQTtBQUV6QjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBb0I7QUFBQTtBQUNwQjtBQUFrQjtBQUFBO0FBQ2xCO0FBQW9CO0FBQUE7QUFFcEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQXlCO0FBQUE7QUFFekI7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBRUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUE0QjtBQUFBO0FBRTVCO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQU9GO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQVFGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQVk7QUFBQTtBQUVaO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBa0I7QUFBMkI7QUFBQTtBQUM3QztBQUFrQjtBQUFBO0FBQ2xCO0FBQWE7QUFBQTtBQUdiO0FBQWM7QUFBNkI7QUFBQTtBQUMzQztBQUFjO0FBQTJCO0FBQUE7QUFHekM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUE4QjtBQUFBO0FBRTlCO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFvQjtBQUFBO0FBRXBCO0FBQXdCO0FBQUE7QUFDeEI7QUFBd0I7QUFBQTtBQUN4QjtBQUFzQjtBQUFBO0FBR3RCO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBWTtBQUFBO0FBRVo7QUFBaUI7QUFBQTtBQUVqQjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFLSjtBQUNFO0FBQWlCO0FBQUE7QUFDakI7QUFBaUI7QUFBQTtBQUVqQjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXFCO0FBQUE7QUFDckI7QUFBd0I7QUFBQTtBQUV4QjtBQUFZO0FBQUE7QUFDWjtBQUFBO0FBQTZCO0FBQUE7QUFFN0I7QUFBbUI7QUFBaUI7QUFBQTtBQUFBO0FBT3RDO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBMkI7QUFBQTtBQUMzQjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUEwQjtBQUFBO0FBRzFCO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQWlCO0FBQUE7QUFBQTtBQUluQjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFBK0I7QUFBa0I7QUFBQTtBQUFBO0FBR25EO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFxQjtBQUFBO0FBQ3JCO0FBQXdCO0FBQW1DO0FBQUE7QUFFM0Q7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBa0I7QUFBa0I7QUFBQTtBQUVwQztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQWtCO0FBQWtDO0FBQUE7QUFDcEQ7QUFBZ0I7QUFBa0M7QUFBQTtBQUNsRDtBQUFpQjtBQUFnQztBQUFBO0FBR2pEO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFrQjtBQUFBO0FBQUE7QUFHcEI7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUlGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQUE7QUFJRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQXFDO0FBQUE7QUFHckM7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQTJCO0FBQUE7QUFFM0I7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFPRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFHRjtBQUFBO0FBQ2E7QUFBQTtBQUFBO0FBQ0w7QUFBQTtBQUFBO0FBR1I7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUFvQjtBQUFBO0FBQ3BCO0FBQWlCO0FBQUE7QUFDakI7QUFBa0I7QUFBQTtBQUNsQjtBQUFnQjtBQUFhO0FBQWM7QUFBQTtBQUFBOzs7QUM1dEw3QztBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBRUY7QUFDRTtBQUNBO0FBQ0E7QUFBQTtBQUVGO0FBQ0U7QUFDQTtBQUNBO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQUE7QUFFRjtBQUNFO0FBQ0E7QUFDQTtBQUFBO0FBSUY7QUFBQTtBQUVFO0FBQUE7QUFHRjtBQUNFO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFBQTtBQUVGO0FBQ0U7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUdGO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBR0Y7QUFBQTtBQUVFO0FBQ0E7QUFDQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo= */
