:root {
  --primary-blue-900: #002b5c;
  --primary-blue-800: #003b73;
  --primary-blue-700: #005a9c;
  --primary-blue-600: #0077c8;
  --primary-blue-500: #009fe3;
  --primary-blue-300: #73c9ee;
  --primary-blue-100: #d9f0fa;
  --primary-blue-50: #eef8fc;
  --primary-yellow-600: #e6a900;
  --primary-yellow-500: #ffbf00;
  --primary-yellow-400: #ffcc29;
  --primary-yellow-100: #fff2bf;
  --primary-white: #fff;
  --primary-black: #000;
  --grey-900: #1b1b1b;
  --grey-700: #4d4d4d;
  --grey-500: #777;
  --grey-300: #c7c7c7;
  --grey-200: #dedede;
  --grey-100: #f1f3f5;
  --grey-50: #f7f8fa;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  box-sizing: border-box;
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: 1px solid #000;
}

p {
  margin-top: 0;
  margin-bottom: 16px;
}
p:last-child {
  margin: 0;
}

ul,
ol {
  padding: 0;
  margin: 0;
  list-style: none outside none;
}

ol {
  counter-reset: item;
}
ol li {
  display: block;
}
ol li:before {
  content: counters(item, ".") ". ";
  counter-increment: item;
}
ol li li {
  padding-left: 10px;
}
ol li li:before {
  content: counters(item, ".") " ";
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

img,
iframe,
video,
audio,
object {
  max-width: 100%;
}

img,
iframe {
  border: 0 none;
}

img {
  height: auto;
  display: inline-block;
  vertical-align: top;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-text-fill-color: none;
  -webkit-box-shadow: none;
  transition: background-color 5000s ease-in-out 0s;
}

input::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

input::-ms-reveal {
  display: none;
  width: 0;
  height: 0;
}

fieldset {
  padding: 0;
}

button[disabled],
input[disabled],
textarea[disabled],
select[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  appearance: none;
}

textarea {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

input[type=text],
input[type=submit],
button {
  -moz-appearance: none;
  -webkit-appearance: none;
}

button,
select {
  text-transform: none;
}

blockquote {
  padding: 0;
  margin: 0;
}

pre {
  white-space: normal;
}

.skipto {
  border: 1px solid #000;
  display: block;
  padding: 5px 10px;
  margin: 0 auto;
  max-width: 300px;
  text-align: center;
  background: #fff;
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  overflow: hidden;
  font-size: 14px;
}
.skipto:focus {
  position: static;
  clip: auto;
  overflow: visible;
  height: auto;
  width: auto;
}

.visually-hidden {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.svg-icon {
  width: 100%;
  height: 100%;
  display: inline-block;
  vertical-align: top;
  fill: currentColor;
}
.svg-icon svg {
  width: 100%;
  height: 100%;
  vertical-align: top;
}

@keyframes opacity {
  50% {
    opacity: 0;
  }
}
.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (min-width: 1024px) {
  .grid {
    grid-template-columns: repeat(12, 1fr);
    gap: 20px;
  }
}

.col-span-1 {
  grid-column: span 1;
}

.col-span-2 {
  grid-column: span 2;
}

.col-span-3 {
  grid-column: span 3;
}

.col-span-4 {
  grid-column: span 4;
}

.col-row-span-1 {
  grid-row: span 1;
}

.col-row-span-2 {
  grid-row: span 2;
}

.col-row-span-3 {
  grid-row: span 3;
}

.col-row-span-4 {
  grid-row: span 4;
}

.col-row-span-5 {
  grid-row: span 5;
}

.col-row-span-6 {
  grid-row: span 6;
}

@media (min-width: 1024px) {
  .col-md-span-1 {
    grid-column: span 1;
  }
  .col-md-span-2 {
    grid-column: span 2;
  }
  .col-md-span-3 {
    grid-column: span 3;
  }
  .col-md-span-4 {
    grid-column: span 4;
  }
  .col-md-span-5 {
    grid-column: span 5;
  }
  .col-md-span-6 {
    grid-column: span 6;
  }
  .col-md-span-7 {
    grid-column: span 7;
  }
  .col-md-span-8 {
    grid-column: span 8;
  }
  .col-md-span-9 {
    grid-column: span 9;
  }
  .col-md-span-10 {
    grid-column: span 10;
  }
  .col-md-span-11 {
    grid-column: span 11;
  }
  .col-md-span-12 {
    grid-column: span 12;
  }
  .col-md-row-span-1 {
    grid-row: span 1;
  }
  .col-md-row-span-2 {
    grid-row: span 2;
  }
  .col-md-row-span-3 {
    grid-row: span 3;
  }
  .col-md-row-span-4 {
    grid-row: span 4;
  }
  .col-md-row-span-5 {
    grid-row: span 5;
  }
  .col-md-row-span-6 {
    grid-row: span 6;
  }
}
body {
  background: var(--primary_white);
  min-width: 320px;
  margin: 0;
  color: var(--primary-7);
  font: normal 17px/1.7 "e-Ukraine", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  -webkit-text-size-adjust: 100%;
}
@media screen and (max-width: calc(992px - 1px)) {
  body {
    font: normal 15px/1.4 "e-Ukraine", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  }
}

a {
  color: inherit;
  text-decoration: none;
}

.wrapper {
  overflow: hidden;
}

.hneu-container {
  width: 100%;
  max-width: 1640px;
  margin: 0 auto;
  padding-right: 40px;
  padding-left: 40px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .hneu-container {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.h1 {
  margin: 0 0 20px;
  color: #1f2f46;
  font: 700 40px/120% "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}
.h1:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: calc(992px - 1px)) {
  .h1 {
    font-size: 30px;
  }
}

.h2 {
  margin: 0 0 20px;
  color: #1f2f46;
  font: 700 35px/120% "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}
.h2:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: calc(992px - 1px)) {
  .h2 {
    font-size: 25px;
  }
}

.h3 {
  margin: 0 0 20px;
  color: #1f2f46;
  font: 700 24px/1.3 "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}
.h3:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: calc(992px - 1px)) {
  .h3 {
    font-size: 18px;
  }
}

.h4 {
  margin: 0 0 20px;
  color: #1f2f46;
  font: 400 20px/120% "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}
.h4:last-child {
  margin-bottom: 0;
}

.h5 {
  margin: 0 0 20px;
  color: #1f2f46;
  font: 300 18px/120% "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}
.h5:last-child {
  margin-bottom: 0;
}

.h6 {
  margin: 0 0 20px;
  color: #1f2f46;
  font: 200 16px/120% "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}
.h6:last-child {
  margin-bottom: 0;
}

.p {
  font: normal 17px/1.7 "e-Ukraine", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  margin: 0 0 40px;
}
@media screen and (max-width: calc(992px - 1px)) {
  .p {
    font: normal 15px/1.4 "e-Ukraine", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  }
}
.p:last-child {
  margin: 0;
}

.subtitle {
  margin: 0 0 20px;
  color: #1f2f46;
  font: 600 22px/1.4 "e-Ukraine", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  color: var(--primary_blue);
}
.subtitle:last-child {
  margin-bottom: 0;
}

.paragraph-text {
  margin: 0 0 20px;
  color: #1f2f46;
  font: normal 17px/1.7 "e-Ukraine", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
}
.paragraph-text:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: calc(992px - 1px)) {
  .paragraph-text {
    font: normal 15px/1.4 "e-Ukraine", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  }
}

.widget {
  padding: 40px 0;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .widget {
    padding: 20px 0;
  }
}

.primary-title {
  text-align: center;
  padding-bottom: 40px;
}

.two-column {
  display: flex;
  gap: 40px;
  align-items: stretch;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .two-column {
    flex-direction: column;
  }
}
.two-column .col {
  flex: 1;
  min-width: 0;
}

.bg-blue-light {
  background: #edf3fa;
}

a.disabled,
input.disabled {
  pointer-events: none;
  background: grey !important;
  border-color: grey !important;
  color: #fff !important;
  opacity: 0.3;
}

.btn-wrap {
  display: flex;
  gap: 20px;
  padding-top: 20px;
}

.button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 52px;
  padding: 13px 24px;
  border: 1px solid transparent;
  border-radius: 8px;
  font: inherit;
  font-size: 16px;
  line-height: 1;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.button__icon {
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  -webkit-mask-image: url("../svg/icon-btn-arrow.svg");
  mask-image: url("../svg/icon-btn-arrow.svg");
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.button::after {
  content: "";
  position: absolute;
  right: 24px;
  bottom: 8px;
  left: 24px;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.button:hover::after {
  transform: scaleX(1);
}
.button:hover .button__icon {
  transform: translateX(5px);
}
.button:focus-visible {
  outline: 3px solid var(--primary-blue-300);
  outline-offset: 3px;
}
.button--primary {
  color: var(--primary-blue-900);
  background: var(--primary-yellow-500);
}
.button--primary:hover {
  background: var(--primary-yellow-400);
  box-shadow: 0 8px 24px rgba(0, 43, 92, 0.14);
}
.button--secondary {
  color: var(--primary-white);
  background: var(--primary-blue-900);
}
.button--secondary:hover {
  background: var(--primary-blue-700);
  box-shadow: 0 8px 24px rgba(0, 43, 92, 0.2);
}
.button--tertiary {
  color: var(--primary-blue-900);
  background: transparent;
  border-color: var(--primary-blue-300);
}
.button--tertiary:hover {
  border-color: var(--primary-blue-900);
  background: var(--primary-blue-50);
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  padding: 22px 0;
  color: var(--primary-white);
  background: transparent;
}
.site-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 32px;
  min-height: 96px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .site-header__inner {
    gap: 20px;
    min-height: 80px;
  }
}
@media (max-width: 767px) {
  .site-header__inner {
    grid-template-columns: 1fr auto;
    gap: 12px 18px;
    min-height: auto;
  }
}
.site-header__logo {
  display: flex;
  align-items: center;
}
.site-header__logo--main {
  width: 250px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .site-header__logo--main {
    width: 190px;
  }
}
@media (max-width: 767px) {
  .site-header__logo--main {
    width: 125px;
  }
}
.site-header__logo--main img {
  display: block;
  width: 100%;
  height: auto;
}
.site-header__logo--university {
  justify-content: flex-end;
  width: 120px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .site-header__logo--university {
    width: 90px;
  }
}
@media (max-width: 767px) {
  .site-header__logo--university {
    grid-column: 2;
    grid-row: 1/span 2;
    width: 78px;
  }
}
.site-header__logo--university svg {
  display: block;
  width: 100%;
  height: auto;
  fill: var(--primary-white);
}
.site-header__title {
  font-size: 30px;
  line-height: 1.1;
  font-weight: 700;
  text-align: center;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  color: var(--primary-white);
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.18);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .site-header__title {
    font-size: 24px;
  }
}
@media (max-width: 767px) {
  .site-header__title {
    grid-column: 1;
    grid-row: 2;
    max-width: 220px;
    font-size: 18px;
    text-align: left;
  }
}
.site-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18) 20%, rgba(255, 255, 255, 0.18) 80%, transparent);
  pointer-events: none;
}

.contact-person {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 120px 0 130px;
  color: var(--primary-blue-900);
  background: radial-gradient(ellipse at 4% 8%, rgba(255, 204, 41, 0.3) 0%, rgba(255, 224, 120, 0.14) 24%, transparent 48%), radial-gradient(ellipse at 92% 20%, rgba(115, 201, 238, 0.36) 0%, rgba(0, 159, 227, 0.14) 28%, transparent 54%), linear-gradient(125deg, #fff9df 0%, var(--primary-white) 40%, #f3fbfe 65%, #dff4fc 100%);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .contact-person {
    padding: 90px 0 100px;
  }
}
@media (max-width: 767px) {
  .contact-person {
    padding: 70px 0 76px;
  }
}
.contact-person::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: linear-gradient(rgba(0, 119, 200, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 119, 200, 0.025) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}
@media (max-width: 767px) {
  .contact-person::before {
    background-size: 44px 44px;
  }
}
.contact-person__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(460px, 0.75fr);
  align-items: center;
  gap: clamp(60px, 8vw, 130px);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .contact-person__inner {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 0.8fr);
    gap: 50px;
  }
}
@media (max-width: 767px) {
  .contact-person__inner {
    grid-template-columns: 1fr;
    gap: 42px;
  }
}
.contact-person__heading {
  position: relative;
}
.contact-person__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  color: var(--primary-blue-600);
}
@media (max-width: 767px) {
  .contact-person__eyebrow {
    gap: 10px;
    margin-bottom: 22px;
    font-size: 11px;
  }
}
.contact-person__eyebrow-number {
  color: var(--primary-yellow-600);
}
.contact-person__eyebrow-line {
  width: 46px;
  height: 1px;
  background: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .contact-person__eyebrow-line {
    width: 30px;
  }
}
.contact-person__title {
  max-width: 700px;
  margin: 0;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(72px, 8vw, 126px);
  line-height: 0.86;
  font-weight: 700;
  letter-spacing: -0.06em;
  color: var(--primary-blue-900);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .contact-person__title {
    font-size: clamp(62px, 8vw, 94px);
  }
}
@media (max-width: 767px) {
  .contact-person__title {
    font-size: clamp(54px, 17vw, 78px);
    line-height: 0.9;
  }
}
.contact-person__title::after {
  content: "";
  display: block;
  width: 92px;
  height: 4px;
  margin-top: 34px;
  background: linear-gradient(90deg, var(--primary-yellow-500), var(--primary-blue-500));
}
@media (max-width: 767px) {
  .contact-person__title::after {
    width: 70px;
    margin-top: 26px;
  }
}
.contact-person__cta {
  max-width: 520px;
  margin: 36px 0 0;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: -0.025em;
  color: var(--primary-blue-800);
}
@media (max-width: 767px) {
  .contact-person__cta {
    margin-top: 28px;
    font-size: 20px;
  }
}
.contact-person__card {
  position: relative;
  padding: 42px 42px 40px;
  overflow: hidden;
  color: var(--primary-white);
  background: radial-gradient(circle at 100% 0, rgba(0, 159, 227, 0.3), transparent 38%), linear-gradient(145deg, var(--primary-blue-900), #003d78);
  box-shadow: 0 30px 70px rgba(0, 43, 92, 0.18);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .contact-person__card {
    padding: 34px;
  }
}
@media (max-width: 767px) {
  .contact-person__card {
    padding: 28px 24px 30px;
  }
}
.contact-person__card::before {
  content: "";
  position: absolute;
  top: -130px;
  right: -110px;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(115, 201, 238, 0.18);
  border-radius: 50%;
  animation: contactCardCircle 14s ease-in-out infinite;
  pointer-events: none;
}
.contact-person__card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 5px;
  background: linear-gradient(90deg, var(--primary-yellow-500), var(--primary-blue-500), var(--primary-blue-300));
}
.contact-person__card-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 56px;
}
@media (max-width: 767px) {
  .contact-person__card-top {
    margin-bottom: 40px;
  }
}
.contact-person__label {
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .contact-person__label {
    font-size: 11px;
  }
}
.contact-person__status {
  width: 11px;
  height: 11px;
  flex: 0 0 11px;
  border-radius: 50%;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 0 7px rgba(255, 191, 0, 0.08), 0 0 24px rgba(255, 191, 0, 0.45);
  animation: contactStatus 3s ease-in-out infinite;
}
.contact-person__person {
  position: relative;
  z-index: 2;
  padding-bottom: 34px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
@media (max-width: 767px) {
  .contact-person__person {
    padding-bottom: 28px;
  }
}
.contact-person__name {
  margin-bottom: 10px;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(30px, 2.7vw, 42px);
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: -0.035em;
  color: var(--primary-white);
}
@media (max-width: 767px) {
  .contact-person__name {
    font-size: 30px;
  }
}
.contact-person__position {
  margin-bottom: 20px;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 600;
  color: var(--primary-yellow-500);
}
.contact-person__university {
  max-width: 420px;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.7);
}
@media (max-width: 767px) {
  .contact-person__university {
    font-size: 15px;
  }
}
.contact-person__contacts {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  margin-top: 18px;
}
.contact-person__contact {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 16px;
  min-height: 58px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: padding 0.3s ease, border-color 0.3s ease;
}
@media (max-width: 767px) {
  .contact-person__contact {
    gap: 13px;
    min-height: 54px;
  }
}
@media (hover: hover) {
  .contact-person__contact:hover {
    padding-left: 10px;
    border-color: rgba(255, 191, 0, 0.45);
  }
  .contact-person__contact:hover .contact-person__icon {
    color: var(--primary-yellow-500);
    transform: scale(1.12);
  }
  .contact-person__contact:hover .contact-person__contact-text {
    color: var(--primary-white);
  }
}
.contact-person__icon {
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  width: 22px;
  height: 22px;
  color: var(--primary-blue-300);
  transition: color 0.3s ease, transform 0.3s ease;
}
.contact-person__icon--mail {
  -webkit-mask-image: url("../svg/mail.svg");
  mask-image: url("../svg/mail.svg");
}
.contact-person__icon--whatsapp {
  -webkit-mask-image: url("../svg/whatsapp.svg");
  mask-image: url("../svg/whatsapp.svg");
}
.contact-person__icon--site {
  -webkit-mask-image: url("../svg/site.svg");
  mask-image: url("../svg/site.svg");
}
.contact-person__contact-text {
  font-size: 16px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.78);
  transition: color 0.3s ease;
}
@media (max-width: 767px) {
  .contact-person__contact-text {
    font-size: 15px;
  }
}
.contact-person__card-decoration {
  position: absolute;
  right: -36px;
  bottom: -36px;
  z-index: 0;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(255, 191, 0, 0.12);
  border-radius: 50%;
  pointer-events: none;
}
.contact-person__card-decoration span {
  position: absolute;
  inset: 30px;
  border: 1px solid rgba(115, 201, 238, 0.14);
  border-radius: 50%;
}
.contact-person__background {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.contact-person__circle {
  position: absolute;
  border: 1px solid rgba(0, 119, 200, 0.08);
  border-radius: 50%;
}
.contact-person__circle--1 {
  top: -300px;
  left: -220px;
  width: 720px;
  height: 720px;
  animation: contactCircleOne 28s ease-in-out infinite;
}
@media (max-width: 767px) {
  .contact-person__circle--1 {
    top: -180px;
    left: -260px;
    width: 500px;
    height: 500px;
  }
}
.contact-person__circle--2 {
  top: 18%;
  right: -260px;
  width: 600px;
  height: 600px;
  border-color: rgba(255, 191, 0, 0.1);
  animation: contactCircleTwo 34s ease-in-out infinite reverse;
}
.contact-person__circle--3 {
  bottom: -340px;
  left: 36%;
  width: 680px;
  height: 680px;
  border-style: dashed;
  border-color: rgba(0, 159, 227, 0.07);
  animation: contactCircleThree 38s linear infinite;
}
.contact-person__dot {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary-blue-500);
  box-shadow: 0 0 12px rgba(0, 159, 227, 0.6), 0 0 28px rgba(0, 159, 227, 0.24);
  animation: contactDot 6s ease-in-out infinite;
}
.contact-person__dot--1 {
  top: 22%;
  left: 9%;
}
.contact-person__dot--2 {
  top: 18%;
  right: 17%;
  width: 10px;
  height: 10px;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 12px rgba(255, 191, 0, 0.7), 0 0 28px rgba(255, 191, 0, 0.25);
  animation-delay: -2s;
}
.contact-person__dot--3 {
  right: 38%;
  bottom: 15%;
  animation-delay: -4s;
}
@media (prefers-reduced-motion: reduce) {
  .contact-person .contact-person__card::before,
  .contact-person .contact-person__status,
  .contact-person .contact-person__circle,
  .contact-person .contact-person__dot {
    animation: none;
  }
}

@keyframes contactCardCircle {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(0.9);
  }
  50% {
    transform: translate3d(-25px, 20px, 0) scale(1.08);
  }
}
@keyframes contactStatus {
  0%, 100% {
    box-shadow: 0 0 0 4px rgba(255, 191, 0, 0.06), 0 0 16px rgba(255, 191, 0, 0.25);
  }
  50% {
    box-shadow: 0 0 0 10px rgba(255, 191, 0, 0.08), 0 0 28px rgba(255, 191, 0, 0.6);
  }
}
@keyframes contactCircleOne {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(0.95);
  }
  50% {
    transform: translate3d(45px, 30px, 0) scale(1.08);
  }
}
@keyframes contactCircleTwo {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(0.9);
  }
  50% {
    transform: translate3d(-50px, 30px, 0) scale(1.1);
  }
}
@keyframes contactCircleThree {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes contactDot {
  0%, 100% {
    opacity: 0.3;
    transform: translate3d(0, 0, 0) scale(0.8);
  }
  50% {
    opacity: 1;
    transform: translate3d(14px, -18px, 0) scale(1.3);
  }
}
.current-projects {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 120px 0 130px;
  color: var(--primary-blue-900);
  background: radial-gradient(ellipse at 4% 12%, rgba(255, 204, 41, 0.32) 0%, rgba(255, 221, 92, 0.18) 24%, transparent 48%), radial-gradient(ellipse at 92% 18%, rgba(115, 201, 238, 0.34) 0%, rgba(0, 159, 227, 0.14) 26%, transparent 52%), radial-gradient(ellipse at 50% 100%, rgba(217, 240, 250, 0.72) 0%, rgba(238, 248, 252, 0.42) 35%, transparent 70%), linear-gradient(120deg, #fff8dc 0%, #ffffff 38%, #f7fbfd 58%, #dff4fc 100%);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .current-projects {
    padding: 90px 0 100px;
  }
}
@media (max-width: 767px) {
  .current-projects {
    padding: 70px 0 76px;
  }
}
.current-projects::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: linear-gradient(rgba(0, 119, 200, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 119, 200, 0.025) 1px, transparent 1px);
  background-size: 64px 64px;
  pointer-events: none;
}
@media (max-width: 767px) {
  .current-projects::before {
    background-size: 44px 44px;
  }
}
.current-projects::after {
  content: "";
  position: absolute;
  top: -35%;
  left: -15%;
  z-index: -2;
  width: 130%;
  height: 130%;
  background: conic-gradient(from 180deg at 50% 50%, rgba(255, 191, 0, 0.08), rgba(255, 255, 255, 0.04), rgba(0, 159, 227, 0.1), rgba(255, 255, 255, 0.04), rgba(255, 191, 0, 0.08));
  filter: blur(70px);
  opacity: 0.75;
  animation: currentProjectsBackground 18s ease-in-out infinite alternate;
  pointer-events: none;
}
@media (max-width: 767px) {
  .current-projects::after {
    top: -10%;
    left: -50%;
    width: 180%;
    height: 120%;
    opacity: 0.55;
  }
}
.current-projects__inner {
  position: relative;
  z-index: 2;
}
.current-projects__heading {
  display: grid;
  grid-template-columns: minmax(220px, 0.36fr) minmax(0, 1fr);
  gap: clamp(50px, 7vw, 110px);
  margin-bottom: 72px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .current-projects__heading {
    grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
    gap: 46px;
    margin-bottom: 56px;
  }
}
@media (max-width: 767px) {
  .current-projects__heading {
    display: block;
    margin-bottom: 42px;
  }
}
.current-projects__eyebrow {
  display: flex;
  align-items: center;
  align-self: start;
  gap: 14px;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  color: var(--primary-blue-600);
}
@media (max-width: 767px) {
  .current-projects__eyebrow {
    gap: 10px;
    padding-top: 0;
    margin-bottom: 24px;
    font-size: 11px;
  }
}
.current-projects__eyebrow-number {
  color: var(--primary-yellow-600);
}
.current-projects__eyebrow-line {
  width: 46px;
  height: 1px;
  background: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .current-projects__eyebrow-line {
    width: 30px;
  }
}
.current-projects__heading-main {
  max-width: 1000px;
}
.current-projects__title {
  margin: 0;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(58px, 5.2vw, 88px);
  line-height: 0.94;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: var(--primary-blue-900);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .current-projects__title {
    font-size: clamp(50px, 6vw, 72px);
  }
}
@media (max-width: 767px) {
  .current-projects__title {
    font-size: clamp(43px, 12vw, 60px);
    line-height: 0.96;
  }
}
.current-projects__programme {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--primary-blue-600);
}
@media (max-width: 767px) {
  .current-projects__programme {
    margin-top: 20px;
    font-size: 11px;
  }
}
.current-projects__programme::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 0 5px rgba(255, 191, 0, 0.1);
}
.current-projects__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--primary-blue-100);
  border-left: 1px solid var(--primary-blue-100);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .current-projects__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .current-projects__grid {
    grid-template-columns: 1fr;
  }
}
.current-projects__item {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 330px;
  padding: 30px 30px 34px;
  overflow: hidden;
  border-right: 1px solid var(--primary-blue-100);
  border-bottom: 1px solid var(--primary-blue-100);
  background: linear-gradient(160deg, rgba(238, 248, 252, 0.48), rgba(255, 255, 255, 0.86));
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease, color 0.4s ease;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .current-projects__item {
    min-height: 300px;
  }
}
@media (max-width: 767px) {
  .current-projects__item {
    min-height: auto;
    padding: 26px 24px 30px;
  }
}
.current-projects__item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 100% 0, rgba(0, 159, 227, 0.24), transparent 38%), linear-gradient(145deg, var(--primary-blue-900), var(--primary-blue-700));
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.current-projects__item::after {
  content: "";
  position: absolute;
  right: 30px;
  bottom: 0;
  left: 30px;
  z-index: 2;
  height: 4px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (max-width: 767px) {
  .current-projects__item::after {
    right: 24px;
    left: 24px;
  }
}
.current-projects__item--horizon::after {
  background: linear-gradient(90deg, var(--primary-blue-500), var(--primary-blue-300));
}
.current-projects__item--horizon .current-projects__type {
  color: var(--primary-blue-700);
  background: var(--primary-blue-100);
}
.current-projects__item--erasmus::after {
  background: linear-gradient(90deg, var(--primary-yellow-500), var(--primary-blue-500));
}
.current-projects__item--erasmus .current-projects__type {
  color: var(--primary-blue-900);
  background: var(--primary-yellow-100);
}
@media (hover: hover) {
  .current-projects__item:hover {
    z-index: 3;
    color: var(--primary-white);
    box-shadow: 0 24px 48px rgba(0, 43, 92, 0.16);
  }
  .current-projects__item:hover::before {
    opacity: 1;
    transform: scale(1);
  }
  .current-projects__item:hover::after {
    transform: scaleX(1);
  }
  .current-projects__item:hover .current-projects__number {
    color: var(--primary-yellow-500);
  }
  .current-projects__item:hover .current-projects__type {
    color: var(--primary-blue-900);
    background: var(--primary-yellow-500);
  }
  .current-projects__item:hover .current-projects__item-title {
    color: var(--primary-white);
    transform: translateX(6px);
  }
  .current-projects__item:hover .current-projects__text,
  .current-projects__item:hover .current-projects__meta {
    color: rgba(255, 255, 255, 0.76);
  }
}
.current-projects__item-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 56px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .current-projects__item-top {
    margin-bottom: 44px;
  }
}
@media (max-width: 767px) {
  .current-projects__item-top {
    margin-bottom: 34px;
  }
}
.current-projects__number {
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 13px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: var(--primary-blue-500);
  transition: color 0.35s ease;
}
.current-projects__type {
  padding: 8px 11px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
  transition: color 0.35s ease, background 0.35s ease;
}
@media (max-width: 767px) {
  .current-projects__type {
    font-size: 10px;
  }
}
.current-projects__item-title {
  position: relative;
  z-index: 2;
  margin: 0 0 20px;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(28px, 2.3vw, 38px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.04em;
  color: var(--primary-blue-900);
  transition: color 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (max-width: 767px) {
  .current-projects__item-title {
    font-size: 28px;
  }
}
.current-projects__text {
  position: relative;
  z-index: 2;
  max-width: 420px;
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--primary-blue-800);
  transition: color 0.35s ease;
}
@media (max-width: 767px) {
  .current-projects__text {
    font-size: 15px;
  }
}
.current-projects__meta {
  position: relative;
  z-index: 2;
  margin-top: auto;
  padding-top: 28px;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 15px;
  line-height: 1;
  font-weight: 600;
  color: var(--primary-blue-600);
  transition: color 0.35s ease;
}
.current-projects__actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 42px;
}
@media (max-width: 767px) {
  .current-projects__actions {
    justify-content: stretch;
    margin-top: 30px;
  }
}
@media (max-width: 767px) {
  .current-projects__actions .button {
    width: 100%;
  }
}
.current-projects__background {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.current-projects__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
}
.current-projects__glow--blue {
  top: 10%;
  right: -5%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(0, 159, 227, 0.13), transparent 68%);
  animation: currentProjectsBlue 12s ease-in-out infinite;
}
@media (max-width: 767px) {
  .current-projects__glow--blue {
    right: -45%;
    width: 360px;
    height: 360px;
  }
}
.current-projects__glow--yellow {
  bottom: -18%;
  left: -5%;
  width: 460px;
  height: 460px;
  background: radial-gradient(circle, rgba(255, 191, 0, 0.12), transparent 68%);
  animation: currentProjectsYellow 15s ease-in-out infinite;
}
@media (max-width: 767px) {
  .current-projects__glow--yellow {
    left: -55%;
    width: 360px;
    height: 360px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .current-projects .current-projects__glow {
    animation: none;
  }
}
.current-projects__consortium {
  position: relative;
  margin-top: 42px;
  padding: 34px 38px 36px;
  overflow: hidden;
  border: 1px solid rgba(0, 119, 200, 0.16);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(217, 240, 250, 0.62));
  backdrop-filter: blur(8px);
  box-shadow: 0 18px 45px rgba(0, 43, 92, 0.08);
}
@media (max-width: 767px) {
  .current-projects__consortium {
    margin-top: 30px;
    padding: 26px 24px 28px;
  }
}
.current-projects__consortium::before {
  content: "";
  position: absolute;
  top: -80px;
  right: -70px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 191, 0, 0.18), transparent 68%);
  pointer-events: none;
}
.current-projects__consortium::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-yellow-500), var(--primary-blue-500), var(--primary-blue-300));
}
.current-projects__consortium-heading {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.current-projects__consortium-label {
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(26px, 2.2vw, 38px);
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: -0.035em;
  color: var(--primary-blue-900);
}
@media (max-width: 767px) {
  .current-projects__consortium-label {
    font-size: 26px;
  }
}
.current-projects__consortium-dot {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 0 7px rgba(255, 191, 0, 0.1), 0 0 20px rgba(255, 191, 0, 0.35);
}
.current-projects__consortium-text {
  position: relative;
  z-index: 2;
  max-width: 900px;
  margin: 0 0 24px;
  font-size: 18px;
  line-height: 1.6;
  color: var(--primary-blue-800);
}
@media (max-width: 767px) {
  .current-projects__consortium-text {
    font-size: 16px;
  }
}
.current-projects__consortium-subtitle {
  position: relative;
  z-index: 2;
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--primary-blue-600);
}
.current-projects__consortium-topics {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.6;
  font-weight: 500;
  color: var(--primary-blue-900);
}
@media (max-width: 767px) {
  .current-projects__consortium-topics {
    font-size: 17px;
    line-height: 1.55;
  }
}

@keyframes currentProjectsBlue {
  0%, 100% {
    opacity: 0.45;
    transform: translate3d(0, 0, 0) scale(0.9);
  }
  50% {
    opacity: 1;
    transform: translate3d(-80px, 50px, 0) scale(1.18);
  }
}
@keyframes currentProjectsYellow {
  0%, 100% {
    opacity: 0.4;
    transform: translate3d(0, 0, 0) scale(0.9);
  }
  50% {
    opacity: 0.9;
    transform: translate3d(90px, -50px, 0) scale(1.18);
  }
}
@keyframes currentProjectsBackground {
  0% {
    transform: translate3d(-3%, 0, 0) rotate(-4deg) scale(0.96);
  }
  100% {
    transform: translate3d(6%, 5%, 0) rotate(6deg) scale(1.08);
  }
}
.block-hero--flow {
  position: relative;
  min-height: 760px;
  overflow: hidden;
  isolation: isolate;
  color: var(--primary-white);
  background: #001b3d;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .block-hero--flow {
    min-height: 680px;
  }
}
@media (max-width: 767px) {
  .block-hero--flow {
    min-height: 720px;
  }
}
.block-hero--flow .block-hero__bg {
  position: absolute;
  inset: -3%;
  z-index: -3;
  background: linear-gradient(90deg, rgba(0, 18, 43, 0.92) 0%, rgba(0, 25, 58, 0.76) 38%, rgba(0, 27, 61, 0.12) 67%, transparent 100%), url("../images/hero-bg.png") center center/cover no-repeat;
  animation: heroEarthBreathing 12s ease-in-out infinite alternate;
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__bg {
    background: linear-gradient(180deg, rgba(0, 19, 44, 0.25) 0%, rgba(0, 20, 48, 0.74) 44%, rgba(0, 18, 43, 0.98) 72%), url("../images/hero-bg.png") 68% center/cover no-repeat;
  }
}
.block-hero--flow::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: radial-gradient(circle at 32% 45%, rgba(0, 159, 227, 0.1), transparent 28%);
  pointer-events: none;
}
.block-hero--flow .hneu-container {
  position: relative;
  z-index: 3;
}
.block-hero--flow .block-hero__inner {
  display: flex;
  align-items: center;
  min-height: 760px;
  padding: 160px 0 78px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .block-hero--flow .block-hero__inner {
    min-height: 680px;
    padding: 135px 0 60px;
  }
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__inner {
    align-items: flex-end;
    min-height: 720px;
    padding: 210px 0 40px;
  }
}
.block-hero--flow .block-hero__content {
  position: relative;
  z-index: 5;
  width: min(690px, 56%);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .block-hero--flow .block-hero__content {
    width: 62%;
  }
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__content {
    width: 100%;
  }
}
.block-hero--flow .block-hero__title {
  max-width: 700px;
  margin: 0 0 32px;
  font-size: clamp(58px, 5.8vw, 92px);
  line-height: 0.92;
  font-weight: 800;
  letter-spacing: -0.05em;
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__title {
    font-size: clamp(44px, 13vw, 62px);
  }
}
.block-hero--flow .block-hero__title::after {
  content: "";
  display: block;
  width: 82px;
  height: 4px;
  margin-top: 28px;
  background: var(--primary-yellow-500);
}
.block-hero--flow .block-hero__subtitle {
  max-width: 610px;
  margin-bottom: 16px;
  font-size: clamp(21px, 1.8vw, 28px);
  line-height: 1.3;
  font-weight: 700;
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__subtitle {
    font-size: 20px;
  }
}
.block-hero--flow .block-hero__text {
  max-width: 600px;
  margin: 0;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__text {
    font-size: 16px;
  }
}
.block-hero--flow .block-hero__actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 12px;
  margin-top: 34px;
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }
}
.block-hero--flow .block-hero__actions .button {
  min-height: 50px;
  padding-right: 18px;
  padding-left: 18px;
  flex: 0 0 auto;
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__actions .button {
    width: 100%;
  }
}
.block-hero--flow .block-hero__actions .button::after {
  display: none;
}
.block-hero--flow .block-hero__actions .button--primary {
  color: var(--primary-blue-900);
  background: var(--primary-white);
  border-color: var(--primary-white);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.block-hero--flow .block-hero__actions .button--primary:hover {
  color: var(--primary-blue-900);
  background: var(--primary-blue-100);
  border-color: var(--primary-blue-100);
  box-shadow: 0 10px 28px rgba(0, 159, 227, 0.18);
}
.block-hero--flow .block-hero__actions .button--secondary {
  color: var(--primary-blue-900);
  background: var(--primary-yellow-500);
  border-color: var(--primary-yellow-500);
  box-shadow: 0 8px 24px rgba(255, 191, 0, 0.1);
}
.block-hero--flow .block-hero__actions .button--secondary:hover {
  color: var(--primary-white);
  background: var(--primary-blue-600);
  border-color: var(--primary-blue-600);
  box-shadow: 0 10px 28px rgba(0, 159, 227, 0.2);
}
.block-hero--flow .block-hero__actions .button--tertiary {
  color: var(--primary-white);
  background: rgba(0, 43, 92, 0.28);
  border-color: rgba(115, 201, 238, 0.7);
  backdrop-filter: blur(8px);
}
.block-hero--flow .block-hero__actions .button--tertiary:hover {
  color: var(--primary-blue-900);
  background: var(--primary-blue-100);
  border-color: var(--primary-blue-100);
  box-shadow: 0 10px 28px rgba(115, 201, 238, 0.16);
}
.block-hero--flow .block-hero__decoration {
  position: absolute;
  top: 50%;
  left: -130px;
  z-index: 1;
  width: 650px;
  height: 500px;
  transform: translateY(-50%);
  pointer-events: none;
  opacity: 0.92;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .block-hero--flow .block-hero__decoration {
    left: -200px;
    opacity: 0.7;
  }
}
@media (max-width: 767px) {
  .block-hero--flow .block-hero__decoration {
    top: 25%;
    left: -50%;
    width: 120vw;
    height: 280px;
    opacity: 0.5;
  }
}
.block-hero--flow .block-hero__flow {
  position: absolute;
  left: -14%;
  width: 115%;
  height: 170px;
  border-radius: 50%;
}
.block-hero--flow .block-hero__flow::before, .block-hero--flow .block-hero__flow::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.block-hero--flow .block-hero__flow--blue {
  top: 80px;
  border-top: 2px solid rgba(0, 159, 227, 0.7);
  box-shadow: 0 -8px 30px rgba(0, 159, 227, 0.18), inset 0 15px 20px rgba(0, 159, 227, 0.08);
  transform: rotate(7deg);
  animation: heroFlowBlue 8s ease-in-out infinite alternate;
}
.block-hero--flow .block-hero__flow--blue::before {
  border-top: 1px dotted rgba(115, 201, 238, 0.65);
  transform: translateY(18px);
}
.block-hero--flow .block-hero__flow--blue::after {
  border-top: 1px dotted rgba(0, 159, 227, 0.38);
  transform: translateY(36px);
}
.block-hero--flow .block-hero__flow--yellow {
  top: 225px;
  border-top: 2px solid rgba(255, 191, 0, 0.65);
  box-shadow: 0 -8px 30px rgba(255, 191, 0, 0.12);
  transform: rotate(-8deg);
  animation: heroFlowYellow 11s ease-in-out infinite alternate;
}
.block-hero--flow .block-hero__flow--yellow::before {
  border-top: 1px dotted rgba(255, 204, 41, 0.55);
  transform: translateY(17px);
}
.block-hero--flow .block-hero__flow--yellow::after {
  border-top: 1px dotted rgba(255, 191, 0, 0.32);
  transform: translateY(35px);
}
.block-hero--flow .block-hero__spark {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--primary-blue-300);
  box-shadow: 0 0 12px currentColor, 0 0 28px currentColor;
  animation: heroSpark 4s ease-in-out infinite;
}
.block-hero--flow .block-hero__spark--1 {
  top: 22%;
  left: 34%;
}
.block-hero--flow .block-hero__spark--2 {
  top: 48%;
  left: 58%;
  width: 9px;
  height: 9px;
  background: var(--primary-yellow-500);
  animation-delay: -1.4s;
}
.block-hero--flow .block-hero__spark--3 {
  top: 67%;
  left: 26%;
  animation-delay: -2.3s;
}
@media (prefers-reduced-motion: reduce) {
  .block-hero--flow .block-hero__bg,
  .block-hero--flow .block-hero__flow,
  .block-hero--flow .block-hero__spark {
    animation: none;
  }
}

@keyframes heroEarthBreathing {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.045);
  }
}
@keyframes heroFlowBlue {
  0% {
    transform: translate3d(-4%, -8px, 0) rotate(7deg) scaleX(0.94);
  }
  100% {
    transform: translate3d(5%, 14px, 0) rotate(2deg) scaleX(1.08);
  }
}
@keyframes heroFlowYellow {
  0% {
    transform: translate3d(3%, 10px, 0) rotate(-8deg) scaleX(1.05);
  }
  100% {
    transform: translate3d(-5%, -10px, 0) rotate(-3deg) scaleX(0.94);
  }
}
@keyframes heroSpark {
  0%, 100% {
    opacity: 0.3;
    transform: scale(0.75);
  }
  50% {
    opacity: 1;
    transform: scale(1.35);
  }
}
.international-cooperation {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 120px 0 130px;
  color: var(--primary-white);
  background: radial-gradient(ellipse at 90% 12%, rgba(255, 191, 0, 0.12), transparent 30%), radial-gradient(ellipse at 18% 82%, rgba(0, 159, 227, 0.2), transparent 34%), linear-gradient(135deg, #00162f 0%, #002b5c 46%, #003c73 72%, #00192f 100%);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .international-cooperation {
    padding: 90px 0 100px;
  }
}
@media (max-width: 767px) {
  .international-cooperation {
    padding: 70px 0 76px;
  }
}
.international-cooperation::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: linear-gradient(rgba(115, 201, 238, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(115, 201, 238, 0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  opacity: 0.55;
  pointer-events: none;
  animation: cooperationGridMove 20s linear infinite;
}
@media (max-width: 767px) {
  .international-cooperation::before {
    background-size: 44px 44px;
    opacity: 0.35;
  }
}
.international-cooperation__inner {
  position: relative;
  z-index: 3;
}
.international-cooperation__heading {
  display: grid;
  grid-template-columns: minmax(220px, 0.36fr) minmax(0, 1fr);
  gap: clamp(50px, 7vw, 110px);
  margin-bottom: 72px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .international-cooperation__heading {
    grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
    gap: 46px;
    margin-bottom: 56px;
  }
}
@media (max-width: 767px) {
  .international-cooperation__heading {
    display: block;
    margin-bottom: 42px;
  }
}
.international-cooperation__eyebrow {
  display: flex;
  align-items: center;
  align-self: start;
  gap: 14px;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  color: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .international-cooperation__eyebrow {
    gap: 10px;
    padding-top: 0;
    margin-bottom: 24px;
    font-size: 11px;
  }
}
.international-cooperation__eyebrow-number {
  color: var(--primary-yellow-500);
}
.international-cooperation__eyebrow-line {
  width: 46px;
  height: 1px;
  background: rgba(115, 201, 238, 0.55);
}
@media (max-width: 767px) {
  .international-cooperation__eyebrow-line {
    width: 30px;
  }
}
.international-cooperation__title {
  max-width: 850px;
  margin: 0;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(58px, 5.2vw, 88px);
  line-height: 0.94;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: var(--primary-white);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .international-cooperation__title {
    font-size: clamp(50px, 6vw, 72px);
  }
}
@media (max-width: 767px) {
  .international-cooperation__title {
    font-size: clamp(44px, 13vw, 62px);
    line-height: 0.96;
  }
}
.international-cooperation__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(115, 201, 238, 0.2);
  border-left: 1px solid rgba(115, 201, 238, 0.2);
  background: rgba(0, 27, 61, 0.12);
  backdrop-filter: blur(3px);
}
@media (max-width: 767px) {
  .international-cooperation__list {
    grid-template-columns: 1fr;
  }
}
.international-cooperation__item {
  position: relative;
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: center;
  gap: 16px;
  min-height: 112px;
  padding: 24px 28px;
  overflow: hidden;
  border-right: 1px solid rgba(115, 201, 238, 0.2);
  border-bottom: 1px solid rgba(115, 201, 238, 0.2);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0.008));
  transition: background 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .international-cooperation__item {
    min-height: 102px;
    padding: 22px 24px;
  }
}
@media (max-width: 767px) {
  .international-cooperation__item {
    grid-template-columns: 34px 1fr auto;
    gap: 12px;
    min-height: 92px;
    padding: 20px;
  }
}
.international-cooperation__item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(120deg, rgba(0, 159, 227, 0.16), rgba(255, 191, 0, 0.06));
  opacity: 0;
  transition: opacity 0.4s ease;
}
.international-cooperation__item::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--primary-blue-500), var(--primary-yellow-500));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (hover: hover) {
  .international-cooperation__item:hover {
    z-index: 2;
    background: rgba(0, 59, 115, 0.28);
    transform: translateY(-4px);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.14);
  }
  .international-cooperation__item:hover::before {
    opacity: 1;
  }
  .international-cooperation__item:hover::after {
    transform: scaleX(1);
  }
  .international-cooperation__item:hover .international-cooperation__number {
    color: var(--primary-yellow-500);
  }
  .international-cooperation__item:hover .international-cooperation__item-title {
    transform: translateX(6px);
  }
  .international-cooperation__item:hover .international-cooperation__dot {
    background: var(--primary-yellow-500);
    border-color: var(--primary-yellow-500);
    box-shadow: 0 0 0 6px rgba(255, 191, 0, 0.08), 0 0 20px rgba(255, 191, 0, 0.45);
    transform: scale(1.2);
  }
}
.international-cooperation__number {
  position: relative;
  z-index: 2;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 12px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: rgba(115, 201, 238, 0.68);
  transition: color 0.35s ease;
}
.international-cooperation__item-title {
  position: relative;
  z-index: 2;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(20px, 1.65vw, 26px);
  line-height: 1.2;
  font-weight: 500;
  letter-spacing: -0.025em;
  color: var(--primary-white);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (max-width: 767px) {
  .international-cooperation__item-title {
    font-size: 19px;
  }
}
.international-cooperation__dot {
  position: relative;
  z-index: 2;
  width: 9px;
  height: 9px;
  border: 1px solid var(--primary-blue-300);
  border-radius: 50%;
  transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
}
.international-cooperation__background {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.international-cooperation__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(60px);
}
.international-cooperation__glow--blue {
  top: 10%;
  left: 30%;
  width: 520px;
  height: 520px;
  background: radial-gradient(circle, rgba(0, 159, 227, 0.18), transparent 68%);
  animation: cooperationBlueGlow 12s ease-in-out infinite;
}
@media (max-width: 767px) {
  .international-cooperation__glow--blue {
    left: -30%;
    width: 360px;
    height: 360px;
  }
}
.international-cooperation__glow--yellow {
  right: -4%;
  bottom: -14%;
  width: 460px;
  height: 460px;
  background: radial-gradient(circle, rgba(255, 191, 0, 0.12), transparent 68%);
  animation: cooperationYellowGlow 15s ease-in-out infinite;
}
@media (max-width: 767px) {
  .international-cooperation__glow--yellow {
    right: -50%;
    width: 340px;
    height: 340px;
  }
}
.international-cooperation__orbit {
  position: absolute;
  border: 1px solid rgba(115, 201, 238, 0.09);
  border-radius: 50%;
}
.international-cooperation__orbit--1 {
  top: -280px;
  right: -180px;
  width: 650px;
  height: 650px;
  animation: cooperationOrbitOne 34s linear infinite;
}
.international-cooperation__orbit--2 {
  bottom: -340px;
  left: -220px;
  width: 760px;
  height: 760px;
  border-style: dashed;
  border-color: rgba(255, 191, 0, 0.07);
  animation: cooperationOrbitTwo 42s linear infinite reverse;
}
@media (prefers-reduced-motion: reduce) {
  .international-cooperation::before,
  .international-cooperation .international-cooperation__glow,
  .international-cooperation .international-cooperation__orbit {
    animation: none;
  }
}

@keyframes cooperationGridMove {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 60px 60px;
  }
}
@keyframes cooperationBlueGlow {
  0%, 100% {
    opacity: 0.35;
    transform: translate3d(-40px, 30px, 0) scale(0.9);
  }
  50% {
    opacity: 0.9;
    transform: translate3d(90px, -50px, 0) scale(1.18);
  }
}
@keyframes cooperationYellowGlow {
  0%, 100% {
    opacity: 0.3;
    transform: translate3d(30px, 30px, 0) scale(0.9);
  }
  50% {
    opacity: 0.8;
    transform: translate3d(-80px, -60px, 0) scale(1.2);
  }
}
@keyframes cooperationOrbitOne {
  from {
    transform: rotate(0deg) scale(0.95);
  }
  50% {
    transform: rotate(180deg) scale(1.06);
  }
  to {
    transform: rotate(360deg) scale(0.95);
  }
}
@keyframes cooperationOrbitTwo {
  from {
    transform: rotate(0deg) translate3d(0, 0, 0);
  }
  50% {
    transform: rotate(180deg) translate3d(50px, -30px, 0);
  }
  to {
    transform: rotate(360deg) translate3d(0, 0, 0);
  }
}
.key-areas {
  position: relative;
  overflow: hidden;
  padding: 120px 0 130px;
  color: var(--primary-blue-900);
  background: radial-gradient(circle at 88% 12%, rgba(0, 159, 227, 0.08), transparent 28%), radial-gradient(circle at 10% 88%, rgba(255, 191, 0, 0.08), transparent 24%), var(--primary-white);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .key-areas {
    padding: 90px 0 100px;
  }
}
@media (max-width: 767px) {
  .key-areas {
    padding: 70px 0 76px;
  }
}
.key-areas::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(0, 119, 200, 0.035) 50%, transparent 100%);
  pointer-events: none;
}
.key-areas__inner {
  position: relative;
  z-index: 2;
}
.key-areas__heading {
  display: grid;
  grid-template-columns: minmax(220px, 0.38fr) minmax(0, 1fr);
  gap: clamp(50px, 7vw, 110px);
  margin-bottom: 72px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .key-areas__heading {
    grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
    gap: 46px;
    margin-bottom: 56px;
  }
}
@media (max-width: 767px) {
  .key-areas__heading {
    display: block;
    margin-bottom: 42px;
  }
}
.key-areas__eyebrow {
  display: flex;
  align-items: center;
  align-self: start;
  gap: 14px;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  color: var(--primary-blue-600);
}
@media (max-width: 767px) {
  .key-areas__eyebrow {
    gap: 10px;
    padding-top: 0;
    margin-bottom: 24px;
    font-size: 11px;
  }
}
.key-areas__eyebrow-number {
  color: var(--primary-yellow-600);
}
.key-areas__eyebrow-line {
  width: 46px;
  height: 1px;
  background: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .key-areas__eyebrow-line {
    width: 30px;
  }
}
.key-areas__title {
  max-width: 950px;
  margin: 0;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(58px, 5.3vw, 90px);
  line-height: 0.94;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: var(--primary-blue-900);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .key-areas__title {
    font-size: clamp(52px, 6vw, 74px);
  }
}
@media (max-width: 767px) {
  .key-areas__title {
    font-size: clamp(44px, 13vw, 62px);
    line-height: 0.96;
  }
}
.key-areas__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--primary-blue-100);
  border-left: 1px solid var(--primary-blue-100);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .key-areas__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .key-areas__grid {
    grid-template-columns: 1fr;
  }
}
.key-areas__item {
  position: relative;
  min-height: 520px;
  padding: 30px 28px 34px;
  overflow: hidden;
  border-right: 1px solid var(--primary-blue-100);
  border-bottom: 1px solid var(--primary-blue-100);
  background: linear-gradient(180deg, rgba(238, 248, 252, 0.35), rgba(255, 255, 255, 0.7));
  transition: color 0.4s ease, background 0.45s ease, transform 0.45s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.45s ease;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .key-areas__item {
    min-height: 430px;
    padding: 30px;
  }
}
@media (max-width: 767px) {
  .key-areas__item {
    min-height: auto;
    padding: 28px 24px 32px;
  }
}
.key-areas__item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: radial-gradient(circle at 100% 0, rgba(0, 159, 227, 0.22), transparent 36%), linear-gradient(150deg, var(--primary-blue-900), var(--primary-blue-700));
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 0.45s ease, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.key-areas__item::after {
  content: "";
  position: absolute;
  right: 28px;
  bottom: 0;
  left: 28px;
  z-index: 2;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-yellow-500), var(--primary-blue-500));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (max-width: 767px) {
  .key-areas__item::after {
    right: 24px;
    left: 24px;
  }
}
@media (hover: hover) {
  .key-areas__item:hover {
    z-index: 3;
    color: var(--primary-white);
    transform: translateY(-8px);
    box-shadow: 0 24px 50px rgba(0, 43, 92, 0.15);
  }
  .key-areas__item:hover::before {
    opacity: 1;
    transform: scale(1);
  }
  .key-areas__item:hover::after {
    transform: scaleX(1);
  }
  .key-areas__item:hover .key-areas__number {
    color: var(--primary-yellow-500);
  }
  .key-areas__item:hover .key-areas__marker {
    background: var(--primary-yellow-500);
    border-color: var(--primary-yellow-500);
    box-shadow: 0 0 0 7px rgba(255, 191, 0, 0.1), 0 0 22px rgba(255, 191, 0, 0.42);
    transform: scale(1.2);
  }
  .key-areas__item:hover .key-areas__item-title {
    color: var(--primary-white);
    transform: translateY(-4px);
  }
  .key-areas__item:hover .key-areas__list li {
    color: rgba(255, 255, 255, 0.78);
  }
  .key-areas__item:hover .key-areas__list li::before {
    background: var(--primary-yellow-500);
    transform: scale(1.15);
  }
}
.key-areas__item-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 58px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .key-areas__item-top {
    margin-bottom: 44px;
  }
}
@media (max-width: 767px) {
  .key-areas__item-top {
    margin-bottom: 34px;
  }
}
.key-areas__number {
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--primary-blue-500);
  transition: color 0.35s ease;
}
.key-areas__marker {
  width: 10px;
  height: 10px;
  border: 1px solid var(--primary-blue-300);
  border-radius: 50%;
  transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
}
.key-areas__item-title {
  position: relative;
  z-index: 2;
  min-height: 94px;
  margin: 0 0 34px;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(23px, 1.8vw, 31px);
  line-height: 1.08;
  font-weight: 600;
  letter-spacing: -0.035em;
  color: var(--primary-blue-900);
  transition: color 0.35s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .key-areas__item-title {
    min-height: 70px;
  }
}
@media (max-width: 767px) {
  .key-areas__item-title {
    min-height: auto;
    margin-bottom: 28px;
    font-size: 26px;
  }
}
.key-areas__list {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (max-width: 767px) {
  .key-areas__list {
    gap: 14px;
  }
}
.key-areas__list li {
  position: relative;
  padding-left: 19px;
  font-size: 16px;
  line-height: 1.45;
  color: var(--primary-blue-800);
  transition: color 0.35s ease;
}
@media (max-width: 767px) {
  .key-areas__list li {
    font-size: 15px;
  }
}
.key-areas__list li::before {
  content: "";
  position: absolute;
  top: 0.62em;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--primary-blue-500);
  transform: translateY(-50%);
  transition: background 0.35s ease, transform 0.35s ease;
}
.key-areas__decoration {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.key-areas__circle {
  position: absolute;
  border: 1px solid rgba(0, 119, 200, 0.07);
  border-radius: 50%;
  animation: keyAreasCircle 22s ease-in-out infinite alternate;
}
.key-areas__circle--1 {
  top: -280px;
  right: -180px;
  width: 620px;
  height: 620px;
}
.key-areas__circle--2 {
  right: 16%;
  bottom: -360px;
  width: 700px;
  height: 700px;
  border-color: rgba(255, 191, 0, 0.08);
  animation-duration: 28s;
  animation-direction: alternate-reverse;
}
.key-areas__circle--3 {
  top: 33%;
  left: -170px;
  width: 340px;
  height: 340px;
  border-style: dashed;
  border-color: rgba(0, 159, 227, 0.08);
  animation-duration: 18s;
}
.key-areas__dot {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary-blue-500);
  box-shadow: 0 0 10px rgba(0, 159, 227, 0.6), 0 0 24px rgba(0, 159, 227, 0.25);
  animation: keyAreasDot 6s ease-in-out infinite;
}
.key-areas__dot--1 {
  top: 18%;
  right: 12%;
}
.key-areas__dot--2 {
  bottom: 21%;
  left: 9%;
  width: 10px;
  height: 10px;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 10px rgba(255, 191, 0, 0.7), 0 0 24px rgba(255, 191, 0, 0.28);
  animation-delay: -2s;
}
.key-areas__dot--3 {
  top: 54%;
  left: 47%;
  width: 6px;
  height: 6px;
  animation-delay: -4s;
}
@media (prefers-reduced-motion: reduce) {
  .key-areas .key-areas__circle,
  .key-areas .key-areas__dot {
    animation: none;
  }
}

@keyframes keyAreasCircle {
  0% {
    transform: translate3d(0, 0, 0) scale(0.95);
  }
  100% {
    transform: translate3d(40px, -30px, 0) scale(1.08);
  }
}
@keyframes keyAreasDot {
  0%, 100% {
    opacity: 0.3;
    transform: translate3d(0, 0, 0) scale(0.75);
  }
  50% {
    opacity: 1;
    transform: translate3d(14px, -20px, 0) scale(1.3);
  }
}
.social-connect {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 120px 0 80px;
  color: var(--primary-white);
  background: radial-gradient(ellipse at 85% 8%, rgba(0, 159, 227, 0.34) 0%, rgba(0, 119, 200, 0.14) 26%, transparent 52%), radial-gradient(ellipse at 12% 88%, rgba(255, 191, 0, 0.24) 0%, rgba(255, 191, 0, 0.08) 26%, transparent 50%), linear-gradient(135deg, #00152f 0%, #003a73 42%, #005b9f 63%, #002b59 80%, #00172f 100%);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .social-connect {
    padding: 90px 0 70px;
  }
}
@media (max-width: 767px) {
  .social-connect {
    padding: 70px 0 50px;
  }
}
.social-connect::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.12) 1px, transparent 1px);
  background-size: 38px 38px;
  opacity: 0.22;
  animation: socialStarsMove 22s linear infinite;
  pointer-events: none;
}
@media (max-width: 767px) {
  .social-connect::before {
    background-size: 30px 30px;
    opacity: 0.16;
  }
}
.social-connect::after {
  content: "";
  position: absolute;
  top: -40%;
  left: 20%;
  z-index: -2;
  width: 90%;
  height: 120%;
  border-radius: 50%;
  background: conic-gradient(from 210deg, rgba(0, 159, 227, 0), rgba(0, 159, 227, 0.2), rgba(115, 201, 238, 0.08), rgba(255, 191, 0, 0.13), rgba(255, 191, 0, 0), rgba(0, 159, 227, 0));
  filter: blur(90px);
  opacity: 0.8;
  animation: socialAurora 18s ease-in-out infinite alternate;
  pointer-events: none;
}
@media (max-width: 767px) {
  .social-connect::after {
    top: -10%;
    left: -50%;
    width: 180%;
    height: 90%;
    opacity: 0.55;
  }
}
.social-connect__inner {
  position: relative;
  z-index: 3;
}
.social-connect__top {
  display: grid;
  grid-template-columns: minmax(200px, 0.34fr) minmax(0, 0.85fr) minmax(340px, 0.7fr);
  align-items: start;
  gap: clamp(40px, 5vw, 80px);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .social-connect__top {
    grid-template-columns: minmax(160px, 0.3fr) minmax(0, 1fr);
    gap: 44px;
  }
}
@media (max-width: 767px) {
  .social-connect__top {
    display: block;
  }
}
.social-connect__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  color: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .social-connect__eyebrow {
    gap: 10px;
    padding-top: 0;
    margin-bottom: 24px;
    font-size: 11px;
  }
}
.social-connect__eyebrow-number {
  color: var(--primary-yellow-500);
}
.social-connect__eyebrow-line {
  width: 46px;
  height: 1px;
  background: rgba(115, 201, 238, 0.55);
}
@media (max-width: 767px) {
  .social-connect__eyebrow-line {
    width: 30px;
  }
}
.social-connect__title {
  max-width: 700px;
  margin: 0;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 50px;
  line-height: 0.94;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: var(--primary-white);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .social-connect__title {
    font-size: clamp(50px, 6vw, 72px);
  }
}
@media (max-width: 767px) {
  .social-connect__title {
    margin-bottom: 42px;
    font-size: clamp(44px, 13vw, 62px);
    line-height: 0.96;
  }
}
.social-connect__links {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(115, 201, 238, 0.24);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .social-connect__links {
    grid-column: 2;
    margin-top: 12px;
  }
}
@media (max-width: 767px) {
  .social-connect__links {
    margin-top: 0;
  }
}
.social-connect__link {
  position: relative;
  display: grid;
  grid-template-columns: 26px 1fr 20px;
  align-items: center;
  gap: 16px;
  min-height: 68px;
  padding: 14px 4px;
  overflow: hidden;
  border-bottom: 1px solid rgba(115, 201, 238, 0.24);
  color: var(--primary-white);
  text-decoration: none;
  transition: padding 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s ease, background 0.35s ease;
}
@media (max-width: 767px) {
  .social-connect__link {
    min-height: 62px;
  }
}
.social-connect__link::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 159, 227, 0.18), rgba(255, 191, 0, 0.08));
  opacity: 0;
  transition: opacity 0.35s ease;
}
@media (hover: hover) {
  .social-connect__link:hover {
    padding-right: 14px;
    padding-left: 14px;
    border-color: rgba(255, 191, 0, 0.5);
  }
  .social-connect__link:hover::before {
    opacity: 1;
  }
  .social-connect__link:hover .social-connect__icon {
    color: var(--primary-yellow-500);
    transform: scale(1.15);
  }
  .social-connect__link:hover .social-connect__arrow {
    color: var(--primary-yellow-500);
    transform: translate3d(4px, -4px, 0);
  }
}
.social-connect__link:focus-visible {
  outline: 2px solid var(--primary-yellow-500);
  outline-offset: 4px;
}
.social-connect__icon {
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: relative;
  z-index: 2;
  width: 23px;
  height: 23px;
  color: var(--primary-blue-300);
  transition: color 0.3s ease, transform 0.3s ease;
}
.social-connect__icon--site {
  -webkit-mask-image: url("../svg/site.svg");
  mask-image: url("../svg/site.svg");
}
.social-connect__icon--linkedin {
  -webkit-mask-image: url("../svg/linkedin.svg");
  mask-image: url("../svg/linkedin.svg");
}
.social-connect__icon--facebook {
  -webkit-mask-image: url("../svg/facebook.svg");
  mask-image: url("../svg/facebook.svg");
}
.social-connect__icon--instagram {
  -webkit-mask-image: url("../svg/instagram.svg");
  mask-image: url("../svg/instagram.svg");
}
.social-connect__link-text {
  position: relative;
  z-index: 2;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 500;
  color: var(--primary-white);
}
@media (max-width: 767px) {
  .social-connect__link-text {
    font-size: 17px;
  }
}
.social-connect__arrow {
  width: 24px;
  height: 24px;
  background-color: currentColor;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: relative;
  z-index: 2;
  width: 18px;
  height: 18px;
  color: var(--primary-blue-300);
  -webkit-mask-image: url("../svg/icon-btn-arrow.svg");
  mask-image: url("../svg/icon-btn-arrow.svg");
  transform: rotate(-45deg);
  transition: color 0.3s ease, transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.social-connect__closing {
  margin-top: 120px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .social-connect__closing {
    margin-top: 90px;
  }
}
@media (max-width: 767px) {
  .social-connect__closing {
    margin-top: 70px;
  }
}
.social-connect__closing-line {
  position: relative;
  height: 1px;
  margin-bottom: 70px;
  background: linear-gradient(90deg, var(--primary-yellow-500) 0%, var(--primary-blue-300) 32%, rgba(115, 201, 238, 0.12) 100%);
}
@media (max-width: 767px) {
  .social-connect__closing-line {
    margin-bottom: 46px;
  }
}
.social-connect__closing-line::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 0 7px rgba(255, 191, 0, 0.07), 0 0 20px rgba(255, 191, 0, 0.4);
  transform: translateY(-50%);
}
.social-connect__closing-title {
  max-width: 1200px;
  margin: 0;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 50px;
  line-height: 0.93;
  font-weight: 700;
  letter-spacing: -0.055em;
  color: var(--primary-white);
}
.social-connect__closing-title span {
  display: block;
}
.social-connect__closing-title span:last-child {
  color: var(--primary-yellow-500);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .social-connect__closing-title {
    font-size: clamp(52px, 7vw, 82px);
  }
}
@media (max-width: 767px) {
  .social-connect__closing-title {
    font-size: clamp(42px, 12vw, 62px);
    line-height: 0.98;
  }
}
.social-connect__closing-bottom {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(300px, 0.7fr);
  align-items: end;
  gap: 60px;
  margin-top: 70px;
}
@media (max-width: 767px) {
  .social-connect__closing-bottom {
    grid-template-columns: 1fr;
    gap: 42px;
    margin-top: 46px;
  }
}
.social-connect__closing-text p {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.74);
}
@media (max-width: 767px) {
  .social-connect__closing-text p {
    font-size: 16px;
  }
}
.social-connect__closing-text p + p {
  margin-top: 4px;
}
.social-connect__closing-signature {
  justify-self: end;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.25;
  font-weight: 600;
  letter-spacing: -0.025em;
  color: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .social-connect__closing-signature {
    justify-self: start;
    font-size: 20px;
  }
}
.social-connect__background {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.social-connect__atom {
  position: absolute;
  top: -110px;
  right: -80px;
  width: 460px;
  height: 460px;
  opacity: 0.72;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .social-connect__atom {
    top: -90px;
    right: -130px;
    width: 380px;
    height: 380px;
  }
}
@media (max-width: 767px) {
  .social-connect__atom {
    top: -60px;
    right: -150px;
    width: 300px;
    height: 300px;
    opacity: 0.48;
  }
}
.social-connect__atom-core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 0 10px rgba(255, 191, 0, 0.08), 0 0 28px rgba(255, 191, 0, 0.85), 0 0 60px rgba(255, 191, 0, 0.35);
  transform: translate(-50%, -50%);
  animation: socialAtomCore 3s ease-in-out infinite;
}
.social-connect__atom-orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 82%;
  height: 34%;
  border: 1px solid rgba(115, 201, 238, 0.42);
  border-radius: 50%;
  transform-origin: center;
}
.social-connect__atom-orbit--1 {
  transform: translate(-50%, -50%) rotate(0deg);
  animation: socialAtomOrbitOne 12s linear infinite;
}
.social-connect__atom-orbit--2 {
  transform: translate(-50%, -50%) rotate(60deg);
  animation: socialAtomOrbitTwo 15s linear infinite reverse;
}
.social-connect__atom-orbit--3 {
  transform: translate(-50%, -50%) rotate(120deg);
  border-color: rgba(255, 191, 0, 0.28);
  animation: socialAtomOrbitThree 18s linear infinite;
}
.social-connect__electron {
  position: absolute;
  top: 50%;
  left: -6px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--primary-blue-300);
  box-shadow: 0 0 10px var(--primary-blue-300), 0 0 24px rgba(0, 159, 227, 0.65);
  transform: translateY(-50%);
}
.social-connect__atom-orbit--3 .social-connect__electron {
  background: var(--primary-yellow-500);
  box-shadow: 0 0 10px var(--primary-yellow-500), 0 0 24px rgba(255, 191, 0, 0.55);
}
.social-connect__flow {
  position: absolute;
  bottom: -30px;
  left: -110px;
  width: 720px;
  height: 360px;
  opacity: 0.62;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .social-connect__flow {
    left: -180px;
    width: 620px;
  }
}
@media (max-width: 767px) {
  .social-connect__flow {
    bottom: -50px;
    left: -210px;
    width: 520px;
    height: 260px;
    opacity: 0.42;
  }
}
.social-connect__flow-line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 160px;
  border-top: 2px solid rgba(0, 159, 227, 0.5);
  border-radius: 50%;
}
.social-connect__flow-line--1 {
  top: 20px;
  transform: rotate(-8deg);
  animation: socialFlowOne 9s ease-in-out infinite alternate;
}
.social-connect__flow-line--2 {
  top: 90px;
  border-top-color: rgba(255, 191, 0, 0.42);
  transform: rotate(5deg);
  animation: socialFlowTwo 12s ease-in-out infinite alternate;
}
.social-connect__flow-line--3 {
  top: 150px;
  border-top-style: dashed;
  border-top-color: rgba(115, 201, 238, 0.28);
  transform: rotate(-4deg);
  animation: socialFlowThree 15s ease-in-out infinite alternate;
}
.social-connect__particle {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--primary-blue-300);
  box-shadow: 0 0 10px rgba(115, 201, 238, 0.9), 0 0 24px rgba(0, 159, 227, 0.45);
  animation: socialParticle 5s ease-in-out infinite;
}
.social-connect__particle--1 {
  top: 20%;
  left: 20%;
}
.social-connect__particle--2 {
  top: 48%;
  left: 52%;
  width: 9px;
  height: 9px;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 10px rgba(255, 191, 0, 0.9), 0 0 24px rgba(255, 191, 0, 0.38);
  animation-delay: -1.5s;
}
.social-connect__particle--3 {
  top: 66%;
  left: 34%;
  animation-delay: -3s;
}
.social-connect__particle--4 {
  top: 38%;
  right: 10%;
  width: 5px;
  height: 5px;
  animation-delay: -4s;
}
@media (prefers-reduced-motion: reduce) {
  .social-connect::before, .social-connect::after,
  .social-connect .social-connect__atom-core,
  .social-connect .social-connect__atom-orbit,
  .social-connect .social-connect__flow-line,
  .social-connect .social-connect__particle {
    animation: none;
  }
}

@keyframes socialStarsMove {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 38px 38px;
  }
}
@keyframes socialAurora {
  0% {
    transform: translate3d(-4%, 0, 0) rotate(-8deg) scale(0.96);
  }
  100% {
    transform: translate3d(7%, 6%, 0) rotate(8deg) scale(1.1);
  }
}
@keyframes socialAtomCore {
  0%, 100% {
    transform: translate(-50%, -50%) scale(0.9);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
  }
}
@keyframes socialAtomOrbitOne {
  from {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes socialAtomOrbitTwo {
  from {
    transform: translate(-50%, -50%) rotate(60deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(420deg);
  }
}
@keyframes socialAtomOrbitThree {
  from {
    transform: translate(-50%, -50%) rotate(120deg);
  }
  to {
    transform: translate(-50%, -50%) rotate(480deg);
  }
}
@keyframes socialFlowOne {
  0% {
    transform: translate3d(-5%, 0, 0) rotate(-8deg) scaleX(0.94);
  }
  100% {
    transform: translate3d(6%, -14px, 0) rotate(-2deg) scaleX(1.08);
  }
}
@keyframes socialFlowTwo {
  0% {
    transform: translate3d(4%, 8px, 0) rotate(5deg) scaleX(1.04);
  }
  100% {
    transform: translate3d(-5%, -10px, 0) rotate(0deg) scaleX(0.94);
  }
}
@keyframes socialFlowThree {
  0% {
    transform: translate3d(-3%, 0, 0) rotate(-4deg);
  }
  100% {
    transform: translate3d(7%, -8px, 0) rotate(3deg);
  }
}
@keyframes socialParticle {
  0%, 100% {
    opacity: 0.3;
    transform: translate3d(0, 0, 0) scale(0.75);
  }
  50% {
    opacity: 1;
    transform: translate3d(16px, -20px, 0) scale(1.3);
  }
}
.why-khnue {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: 120px 0 130px;
  color: var(--primary-white);
  background: radial-gradient(ellipse at 92% 8%, rgba(255, 191, 0, 0.24) 0%, rgba(255, 191, 0, 0.11) 18%, transparent 44%), radial-gradient(ellipse at 8% 92%, rgba(255, 204, 41, 0.16) 0%, rgba(255, 191, 0, 0.06) 22%, transparent 46%), radial-gradient(ellipse at 65% 52%, rgba(0, 159, 227, 0.28) 0%, rgba(0, 119, 200, 0.13) 26%, transparent 58%), linear-gradient(125deg, #00152e 0%, #002d5d 28%, #004b82 52%, #00356c 72%, #001a38 100%);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .why-khnue {
    padding: 90px 0 100px;
  }
}
@media (max-width: 767px) {
  .why-khnue {
    padding: 70px 0 76px;
  }
}
.why-khnue::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -3;
  background-image: linear-gradient(rgba(115, 201, 238, 0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(115, 201, 238, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: 0.7;
  pointer-events: none;
  animation: whyGridMove 18s linear infinite;
}
@media (max-width: 767px) {
  .why-khnue::before {
    background-size: 42px 42px;
    opacity: 0.4;
  }
}
.why-khnue::after {
  content: "";
  position: absolute;
  top: -20%;
  right: -10%;
  z-index: -2;
  width: 700px;
  height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 159, 227, 0.14) 0%, rgba(0, 159, 227, 0.05) 35%, transparent 70%);
  filter: blur(20px);
  animation: whyBackgroundPulse 10s ease-in-out infinite;
  pointer-events: none;
}
@media (max-width: 767px) {
  .why-khnue::after {
    top: -8%;
    right: -55%;
    width: 520px;
    height: 520px;
  }
}
.why-khnue__inner {
  position: relative;
  z-index: 3;
}
.why-khnue__heading {
  display: grid;
  grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
  gap: clamp(50px, 7vw, 110px);
  margin-bottom: 72px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .why-khnue__heading {
    gap: 46px;
    margin-bottom: 56px;
  }
}
@media (max-width: 767px) {
  .why-khnue__heading {
    display: block;
    margin-bottom: 42px;
  }
}
.why-khnue__eyebrow {
  display: flex;
  align-items: center;
  align-self: start;
  gap: 14px;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  color: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .why-khnue__eyebrow {
    gap: 10px;
    padding-top: 0;
    margin-bottom: 24px;
    font-size: 11px;
  }
}
.why-khnue__eyebrow-number {
  color: var(--primary-yellow-500);
}
.why-khnue__eyebrow-line {
  width: 46px;
  height: 1px;
  background: rgba(115, 201, 238, 0.55);
}
@media (max-width: 767px) {
  .why-khnue__eyebrow-line {
    width: 30px;
  }
}
.why-khnue__title {
  max-width: 900px;
  margin: 0;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(58px, 5.4vw, 92px);
  line-height: 0.94;
  font-weight: 700;
  letter-spacing: -0.05em;
  color: var(--primary-white);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .why-khnue__title {
    font-size: clamp(52px, 6vw, 74px);
  }
}
@media (max-width: 767px) {
  .why-khnue__title {
    font-size: clamp(44px, 13vw, 62px);
    line-height: 0.96;
  }
}
.why-khnue__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(115, 201, 238, 0.22);
  border-left: 1px solid rgba(115, 201, 238, 0.22);
  background: rgba(0, 27, 61, 0.12);
  backdrop-filter: blur(2px);
}
@media (max-width: 767px) {
  .why-khnue__list {
    grid-template-columns: 1fr;
  }
}
.why-khnue__item {
  position: relative;
  min-height: 330px;
  padding: 34px 36px 38px;
  overflow: hidden;
  border-right: 1px solid rgba(115, 201, 238, 0.22);
  border-bottom: 1px solid rgba(115, 201, 238, 0.22);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.012));
  backdrop-filter: blur(2px);
  transition: background 0.4s ease, transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .why-khnue__item {
    min-height: 290px;
    padding: 30px;
  }
}
@media (max-width: 767px) {
  .why-khnue__item {
    min-height: auto;
    padding: 28px 24px 30px;
  }
}
.why-khnue__item::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--primary-yellow-500), var(--primary-blue-500));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.why-khnue__item::after {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 159, 227, 0.2), transparent 68%);
  opacity: 0;
  transform: scale(0.75);
  transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}
@media (hover: hover) {
  .why-khnue__item:hover {
    z-index: 2;
    background: linear-gradient(135deg, rgba(0, 159, 227, 0.18), rgba(255, 191, 0, 0.07));
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.16);
  }
  .why-khnue__item:hover::before {
    transform: scaleX(1);
  }
  .why-khnue__item:hover::after {
    opacity: 1;
    transform: scale(1);
  }
  .why-khnue__item:hover .why-khnue__number {
    color: var(--primary-yellow-500);
  }
  .why-khnue__item:hover .why-khnue__dot {
    background: var(--primary-yellow-500);
    border-color: var(--primary-yellow-500);
    box-shadow: 0 0 0 7px rgba(255, 191, 0, 0.08), 0 0 22px rgba(255, 191, 0, 0.5);
    transform: scale(1.15);
  }
  .why-khnue__item:hover .why-khnue__item-title {
    transform: translateX(7px);
  }
}
.why-khnue__item-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 64px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .why-khnue__item-top {
    margin-bottom: 48px;
  }
}
@media (max-width: 767px) {
  .why-khnue__item-top {
    margin-bottom: 38px;
  }
}
.why-khnue__number {
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 14px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: rgba(115, 201, 238, 0.7);
  transition: color 0.35s ease;
}
.why-khnue__dot {
  width: 10px;
  height: 10px;
  border: 1px solid var(--primary-blue-300);
  border-radius: 50%;
  transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
}
.why-khnue__item-title {
  position: relative;
  z-index: 2;
  max-width: 420px;
  margin: 0 0 18px;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(28px, 2.4vw, 40px);
  line-height: 1.05;
  font-weight: 600;
  letter-spacing: -0.035em;
  color: var(--primary-white);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (max-width: 767px) {
  .why-khnue__item-title {
    font-size: 28px;
  }
}
.why-khnue__text {
  position: relative;
  z-index: 2;
  max-width: 480px;
  margin: 0;
  font-size: 17px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.72);
}
@media (max-width: 767px) {
  .why-khnue__text {
    font-size: 16px;
  }
}
.why-khnue__decoration {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.why-khnue__decoration::before {
  content: "";
  position: absolute;
  top: -45%;
  left: 28%;
  width: 90%;
  height: 120%;
  border-radius: 50%;
  background: conic-gradient(from 210deg, transparent 0deg, rgba(0, 159, 227, 0.22) 55deg, rgba(115, 201, 238, 0.12) 95deg, transparent 135deg, rgba(255, 191, 0, 0.18) 205deg, rgba(255, 204, 41, 0.08) 245deg, transparent 300deg);
  filter: blur(80px);
  opacity: 0.75;
  animation: whyAuroraRotate 24s ease-in-out infinite;
}
@media (max-width: 767px) {
  .why-khnue__decoration::before {
    top: -10%;
    left: -20%;
    width: 140%;
    height: 80%;
    filter: blur(60px);
    opacity: 0.55;
  }
}
.why-khnue__decoration::after {
  content: "";
  position: absolute;
  right: -15%;
  bottom: -45%;
  width: 80%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(255, 191, 0, 0.2) 0%, rgba(255, 191, 0, 0.08) 28%, transparent 65%);
  filter: blur(60px);
  animation: whyAuroraYellow 13s ease-in-out infinite alternate;
}
@media (max-width: 767px) {
  .why-khnue__decoration::after {
    right: -50%;
    bottom: -20%;
    width: 120%;
    height: 70%;
  }
}
.why-khnue__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(55px);
}
.why-khnue__glow--blue {
  top: 18%;
  left: 34%;
  width: 480px;
  height: 480px;
  background: radial-gradient(circle, rgba(0, 159, 227, 0.24), rgba(0, 119, 200, 0.08) 48%, transparent 72%);
  animation: whyGlowBlue 11s ease-in-out infinite;
}
@media (max-width: 767px) {
  .why-khnue__glow--blue {
    top: 25%;
    left: -30%;
    width: 360px;
    height: 360px;
  }
}
.why-khnue__glow--yellow {
  right: 4%;
  bottom: -10%;
  width: 420px;
  height: 420px;
  background: radial-gradient(circle, rgba(255, 191, 0, 0.2), rgba(255, 191, 0, 0.06) 48%, transparent 72%);
  animation: whyGlowYellow 14s ease-in-out infinite;
}
@media (max-width: 767px) {
  .why-khnue__glow--yellow {
    right: -35%;
    bottom: 5%;
    width: 320px;
    height: 320px;
  }
}
.why-khnue__network {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
@media (max-width: 767px) {
  .why-khnue__network {
    opacity: 0.7;
  }
}
.why-khnue__network-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(115, 201, 238, 0.14);
  box-shadow: inset 0 0 80px rgba(0, 159, 227, 0.015);
}
.why-khnue__network-ring--1 {
  top: -360px;
  left: -240px;
  width: 780px;
  height: 780px;
  animation: whyRingOne 34s linear infinite;
}
@media (max-width: 767px) {
  .why-khnue__network-ring--1 {
    top: -180px;
    left: -240px;
    width: 520px;
    height: 520px;
  }
}
.why-khnue__network-ring--2 {
  top: 40px;
  right: -330px;
  width: 840px;
  height: 840px;
  border-color: rgba(0, 159, 227, 0.12);
  animation: whyRingTwo 44s linear infinite reverse;
}
@media (max-width: 767px) {
  .why-khnue__network-ring--2 {
    top: 80px;
    right: -280px;
    width: 500px;
    height: 500px;
  }
}
.why-khnue__network-ring--3 {
  bottom: -430px;
  left: 20%;
  width: 900px;
  height: 900px;
  border-color: rgba(255, 191, 0, 0.085);
  animation: whyRingThree 52s linear infinite;
}
@media (max-width: 767px) {
  .why-khnue__network-ring--3 {
    bottom: -270px;
    left: -40%;
    width: 600px;
    height: 600px;
  }
}
.why-khnue__network-ring--4 {
  top: 30%;
  left: 40%;
  width: 420px;
  height: 420px;
  border-style: dashed;
  border-color: rgba(115, 201, 238, 0.12);
  animation: whyRingFour 26s linear infinite reverse;
}
@media (max-width: 767px) {
  .why-khnue__network-ring--4 {
    top: 45%;
    left: 15%;
    width: 320px;
    height: 320px;
  }
}
.why-khnue__network-node {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary-blue-300);
  box-shadow: 0 0 10px rgba(115, 201, 238, 0.9), 0 0 28px rgba(0, 159, 227, 0.55);
  animation: whyNetworkNode 6s ease-in-out infinite;
}
.why-khnue__network-node--1 {
  top: 13%;
  left: 8%;
}
.why-khnue__network-node--2 {
  top: 24%;
  right: 14%;
  width: 11px;
  height: 11px;
  animation-delay: -1.4s;
}
.why-khnue__network-node--3 {
  top: 48%;
  left: 42%;
  width: 9px;
  height: 9px;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 12px rgba(255, 191, 0, 0.9), 0 0 30px rgba(255, 191, 0, 0.45);
  animation-delay: -2.5s;
}
.why-khnue__network-node--4 {
  right: 29%;
  bottom: 18%;
  width: 7px;
  height: 7px;
  animation-delay: -3.4s;
}
.why-khnue__network-node--5 {
  bottom: 10%;
  left: 12%;
  width: 10px;
  height: 10px;
  background: var(--primary-yellow-500);
  box-shadow: 0 0 12px rgba(255, 191, 0, 0.9), 0 0 30px rgba(255, 191, 0, 0.4);
  animation-delay: -4.5s;
}
.why-khnue__network-node--6 {
  top: 57%;
  right: 5%;
  animation-delay: -5.2s;
}
@media (prefers-reduced-motion: reduce) {
  .why-khnue::before, .why-khnue::after,
  .why-khnue .why-khnue__decoration::before,
  .why-khnue .why-khnue__decoration::after,
  .why-khnue .why-khnue__glow,
  .why-khnue .why-khnue__network-ring,
  .why-khnue .why-khnue__network-node {
    animation: none;
  }
}

@keyframes whyGridMove {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 56px 56px;
  }
}
@keyframes whyBackgroundPulse {
  0%, 100% {
    opacity: 0.45;
    transform: scale(0.9);
  }
  50% {
    opacity: 1;
    transform: scale(1.12);
  }
}
@keyframes whyAuroraRotate {
  0%, 100% {
    transform: translate3d(-5%, 0, 0) rotate(-8deg) scale(0.95);
  }
  50% {
    transform: translate3d(8%, 8%, 0) rotate(14deg) scale(1.12);
  }
}
@keyframes whyAuroraYellow {
  0% {
    opacity: 0.35;
    transform: translate3d(0, 0, 0) scale(0.85);
  }
  100% {
    opacity: 0.9;
    transform: translate3d(-12%, -10%, 0) scale(1.2);
  }
}
@keyframes whyGlowBlue {
  0%, 100% {
    opacity: 0.4;
    transform: translate3d(-50px, 20px, 0) scale(0.85);
  }
  50% {
    opacity: 1;
    transform: translate3d(90px, -40px, 0) scale(1.2);
  }
}
@keyframes whyGlowYellow {
  0%, 100% {
    opacity: 0.35;
    transform: translate3d(40px, 30px, 0) scale(0.9);
  }
  50% {
    opacity: 0.9;
    transform: translate3d(-100px, -70px, 0) scale(1.22);
  }
}
@keyframes whyRingOne {
  0% {
    transform: rotate(0deg) translate3d(0, 0, 0);
  }
  50% {
    transform: rotate(180deg) translate3d(45px, 25px, 0);
  }
  100% {
    transform: rotate(360deg) translate3d(0, 0, 0);
  }
}
@keyframes whyRingTwo {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.08);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
@keyframes whyRingThree {
  0% {
    transform: rotate(0deg) translate3d(0, 0, 0);
  }
  50% {
    transform: rotate(180deg) translate3d(-40px, -30px, 0);
  }
  100% {
    transform: rotate(360deg) translate3d(0, 0, 0);
  }
}
@keyframes whyRingFour {
  0% {
    transform: rotate(0deg) scale(0.9);
  }
  50% {
    transform: rotate(180deg) scale(1.15);
  }
  100% {
    transform: rotate(360deg) scale(0.9);
  }
}
@keyframes whyNetworkNode {
  0%, 100% {
    opacity: 0.25;
    transform: translate3d(0, 0, 0) scale(0.7);
  }
  50% {
    opacity: 1;
    transform: translate3d(18px, -24px, 0) scale(1.35);
  }
}
.university-profile {
  position: relative;
  overflow: hidden;
  padding: 120px 0 130px;
  color: var(--primary-blue-900);
  background: var(--primary-white);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .university-profile {
    padding: 90px 0 100px;
  }
}
@media (max-width: 767px) {
  .university-profile {
    padding: 70px 0 76px;
  }
}
.university-profile__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, 0.92fr);
  column-gap: clamp(60px, 7vw, 120px);
  row-gap: 82px;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .university-profile__inner {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 0.8fr);
    column-gap: 50px;
    row-gap: 64px;
  }
}
@media (max-width: 767px) {
  .university-profile__inner {
    display: block;
  }
}
.university-profile__intro {
  grid-column: 1;
  grid-row: 1;
}
.university-profile__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.13em;
  color: var(--primary-blue-600);
}
@media (max-width: 767px) {
  .university-profile__eyebrow {
    gap: 10px;
    margin-bottom: 22px;
    font-size: 11px;
  }
}
.university-profile__eyebrow-number {
  color: var(--primary-yellow-600);
}
.university-profile__eyebrow-line {
  width: 46px;
  height: 1px;
  background: var(--primary-blue-300);
}
@media (max-width: 767px) {
  .university-profile__eyebrow-line {
    width: 30px;
  }
}
.university-profile__title {
  max-width: 700px;
  margin: 0 0 36px;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(64px, 6vw, 70px);
  line-height: 0.88;
  font-weight: 700;
  letter-spacing: -0.055em;
  color: var(--primary-blue-900);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .university-profile__title {
    font-size: clamp(58px, 7vw, 82px);
  }
}
@media (max-width: 767px) {
  .university-profile__title {
    margin-bottom: 28px;
    font-size: clamp(48px, 15vw, 68px);
    line-height: 0.92;
  }
}
.university-profile__description {
  max-width: 720px;
  padding-left: 28px;
  border-left: 3px solid var(--primary-yellow-500);
}
@media (max-width: 767px) {
  .university-profile__description {
    padding-left: 20px;
  }
}
.university-profile__description p {
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
  color: var(--primary-blue-800);
}
@media (max-width: 767px) {
  .university-profile__description p {
    font-size: 16px;
    line-height: 1.6;
  }
}
.university-profile__description p + p {
  margin-top: 22px;
}
.university-profile__stats {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-self: stretch;
  padding: 38px 42px;
  color: var(--primary-white);
  background: radial-gradient(circle at 8% 12%, rgba(255, 191, 0, 0.22) 0%, rgba(255, 191, 0, 0.08) 18%, transparent 42%), radial-gradient(circle at 94% 82%, rgba(0, 159, 227, 0.38) 0%, rgba(0, 159, 227, 0.14) 24%, transparent 52%), linear-gradient(135deg, var(--primary-blue-900) 0%, var(--primary-blue-800) 45%, var(--primary-blue-700) 72%, var(--primary-blue-900) 100%);
  box-shadow: 0 30px 70px rgba(0, 43, 92, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
@media screen and (max-width: calc(1024px - 1px)) {
  .university-profile__stats {
    padding: 32px;
  }
}
@media (max-width: 767px) {
  .university-profile__stats {
    margin-top: 46px;
    padding: 26px 24px;
  }
}
.university-profile__stats::before {
  content: "";
  position: absolute;
  top: -8px;
  right: -8px;
  z-index: 3;
  width: 72px;
  height: 72px;
  border-top: 2px solid var(--primary-yellow-500);
  border-right: 2px solid var(--primary-yellow-500);
  pointer-events: none;
}
@media (max-width: 767px) {
  .university-profile__stats::before {
    top: -6px;
    right: -6px;
    width: 50px;
    height: 50px;
  }
}
.university-profile__stats::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -130px;
  z-index: -1;
  width: 340px;
  height: 340px;
  border: 1px solid rgba(115, 201, 238, 0.16);
  border-radius: 50%;
  box-shadow: 0 0 0 45px rgba(115, 201, 238, 0.025), 0 0 0 90px rgba(115, 201, 238, 0.018), 0 0 80px rgba(0, 159, 227, 0.12);
  transform: translateY(-50%);
  animation: universityStatsPulse 7s ease-in-out infinite;
  pointer-events: none;
}
@media (max-width: 767px) {
  .university-profile__stats::after {
    right: -150px;
    width: 280px;
    height: 280px;
  }
}
.university-profile__stats .university-profile__stat {
  position: relative;
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .university-profile__stats::after {
    animation: none;
  }
}
@keyframes universityStatsPulse {
  0%, 100% {
    opacity: 0.55;
    transform: translateY(-50%) scale(0.94);
  }
  50% {
    opacity: 1;
    transform: translateY(-50%) scale(1.08);
  }
}
.university-profile__stat {
  position: relative;
  display: grid;
  grid-template-columns: minmax(145px, auto) 1fr;
  align-items: center;
  gap: 26px;
  flex: 1;
  padding: 26px 0;
}
@media screen and (max-width: calc(1024px - 1px)) {
  .university-profile__stat {
    grid-template-columns: minmax(120px, auto) 1fr;
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .university-profile__stat {
    grid-template-columns: minmax(110px, auto) 1fr;
    gap: 18px;
    padding: 22px 0;
  }
}
.university-profile__stat + .university-profile__stat {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
.university-profile__stat-value {
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(48px, 4vw, 68px);
  line-height: 0.9;
  font-weight: 700;
  letter-spacing: -0.045em;
  color: var(--primary-yellow-500);
}
@media (max-width: 767px) {
  .university-profile__stat-value {
    font-size: 44px;
  }
}
.university-profile__stat-label {
  max-width: 150px;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
}
.university-profile__strengths {
  grid-column: 1/-1;
  grid-row: 2;
  display: grid;
  grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr);
  gap: clamp(50px, 7vw, 110px);
  padding-top: 36px;
  border-top: 1px solid var(--primary-blue-100);
}
@media (max-width: 767px) {
  .university-profile__strengths {
    display: block;
    margin-top: 58px;
    padding-top: 26px;
  }
}
.university-profile__strengths-heading {
  padding-top: 17px;
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 20px;
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--primary-blue-900);
}
@media (max-width: 767px) {
  .university-profile__strengths-heading {
    padding-top: 0;
    margin-bottom: 26px;
    font-size: 18px;
  }
}
.university-profile__strengths-heading span {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.university-profile__strengths-heading span::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--primary-yellow-500);
}
.university-profile__strengths-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 48px;
}
@media (max-width: 767px) {
  .university-profile__strengths-list {
    grid-template-columns: 1fr;
    column-gap: 0;
  }
}
.university-profile__strength {
  position: relative;
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 72px;
  padding: 15px 4px;
  border-bottom: 1px solid var(--primary-blue-100);
  transition: padding 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
@media (hover: hover) {
  .university-profile__strength:hover {
    padding-left: 14px;
    color: var(--primary-blue-600);
    border-color: var(--primary-blue-300);
  }
  .university-profile__strength:hover .university-profile__strength-number {
    color: var(--primary-yellow-600);
  }
  .university-profile__strength:hover .university-profile__strength-dot {
    background: var(--primary-yellow-500);
    box-shadow: 0 0 0 6px rgba(255, 191, 0, 0.1);
    transform: scale(1.2);
  }
}
.university-profile__strength-number {
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  color: var(--primary-blue-300);
  transition: color 0.3s ease;
}
.university-profile__strength-title {
  font-family: "e-UkraineHead", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: clamp(18px, 1.5vw, 22px);
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: -0.025em;
}
@media (max-width: 767px) {
  .university-profile__strength-title {
    font-size: 18px;
  }
}
.university-profile__strength-dot {
  width: 8px;
  height: 8px;
  border: 1px solid var(--primary-blue-300);
  border-radius: 50%;
  transition: background 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.university-profile__decoration {
  position: absolute;
  top: 40px;
  right: -180px;
  width: 520px;
  height: 520px;
  pointer-events: none;
}
@media (max-width: 767px) {
  .university-profile__decoration {
    top: 20px;
    right: -180px;
    width: 360px;
    height: 360px;
    opacity: 0.65;
  }
}
.university-profile__circle {
  position: absolute;
  border: 1px solid rgba(0, 119, 200, 0.07);
  border-radius: 50%;
}
.university-profile__circle--1 {
  inset: 0;
}
.university-profile__circle--2 {
  inset: 80px;
  border-color: rgba(255, 191, 0, 0.09);
}
@media (max-width: 767px) {
  .university-profile__circle--2 {
    inset: 55px;
  }
}

.social-connect__closing-bottom, .social-connect__closing-title, .social-connect__link, .social-connect__title, .social-connect__eyebrow, .contact-person__card, .contact-person__heading, .international-cooperation__item, .international-cooperation__heading, .current-projects__actions, .current-projects__consortium, .current-projects__item, .current-projects__heading, .key-areas__item, .key-areas__heading, .why-khnue__item, .why-khnue__heading, .university-profile__strength, .university-profile__strengths-heading, .university-profile__stats, .university-profile__intro, .block-hero__actions, .block-hero__text, .block-hero__subtitle, .block-hero__title {
  --reveal-x: 0;
  --reveal-y: 24px;
  --reveal-scale: 1;
  --reveal-delay: 0s;
}
.is-reveal-ready.social-connect__closing-bottom, .is-reveal-ready.social-connect__closing-title, .is-reveal-ready.social-connect__link, .is-reveal-ready.social-connect__title, .is-reveal-ready.social-connect__eyebrow, .is-reveal-ready.contact-person__card, .is-reveal-ready.contact-person__heading, .is-reveal-ready.international-cooperation__item, .is-reveal-ready.international-cooperation__heading, .is-reveal-ready.current-projects__actions, .is-reveal-ready.current-projects__consortium, .is-reveal-ready.current-projects__item, .is-reveal-ready.current-projects__heading, .is-reveal-ready.key-areas__item, .is-reveal-ready.key-areas__heading, .is-reveal-ready.why-khnue__item, .is-reveal-ready.why-khnue__heading, .is-reveal-ready.university-profile__strength, .is-reveal-ready.university-profile__strengths-heading, .is-reveal-ready.university-profile__stats, .is-reveal-ready.university-profile__intro, .is-reveal-ready.block-hero__actions, .is-reveal-ready.block-hero__text, .is-reveal-ready.block-hero__subtitle, .is-reveal-ready.block-hero__title {
  opacity: 0;
  transform: translate3d(var(--reveal-x), var(--reveal-y), 0) scale(var(--reveal-scale));
  transition: opacity 1.15s cubic-bezier(0.16, 1, 0.3, 1), transform 1.25s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--reveal-delay);
  will-change: opacity, transform;
}
@media (max-width: 767px) {
  .is-reveal-ready.social-connect__closing-bottom, .is-reveal-ready.social-connect__closing-title, .is-reveal-ready.social-connect__link, .is-reveal-ready.social-connect__title, .is-reveal-ready.social-connect__eyebrow, .is-reveal-ready.contact-person__card, .is-reveal-ready.contact-person__heading, .is-reveal-ready.international-cooperation__item, .is-reveal-ready.international-cooperation__heading, .is-reveal-ready.current-projects__actions, .is-reveal-ready.current-projects__consortium, .is-reveal-ready.current-projects__item, .is-reveal-ready.current-projects__heading, .is-reveal-ready.key-areas__item, .is-reveal-ready.key-areas__heading, .is-reveal-ready.why-khnue__item, .is-reveal-ready.why-khnue__heading, .is-reveal-ready.university-profile__strength, .is-reveal-ready.university-profile__strengths-heading, .is-reveal-ready.university-profile__stats, .is-reveal-ready.university-profile__intro, .is-reveal-ready.block-hero__actions, .is-reveal-ready.block-hero__text, .is-reveal-ready.block-hero__subtitle, .is-reveal-ready.block-hero__title {
    --reveal-x: 0;
    --reveal-y: 20px;
    --reveal-scale: 1;
    transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1), transform 1s cubic-bezier(0.16, 1, 0.3, 1);
    transition-delay: var(--reveal-delay);
  }
}
.is-reveal-ready.is-revealed.social-connect__closing-bottom, .is-reveal-ready.is-revealed.social-connect__closing-title, .is-reveal-ready.is-revealed.social-connect__link, .is-reveal-ready.is-revealed.social-connect__title, .is-reveal-ready.is-revealed.social-connect__eyebrow, .is-reveal-ready.is-revealed.contact-person__card, .is-reveal-ready.is-revealed.contact-person__heading, .is-reveal-ready.is-revealed.international-cooperation__item, .is-reveal-ready.is-revealed.international-cooperation__heading, .is-reveal-ready.is-revealed.current-projects__actions, .is-reveal-ready.is-revealed.current-projects__consortium, .is-reveal-ready.is-revealed.current-projects__item, .is-reveal-ready.is-revealed.current-projects__heading, .is-reveal-ready.is-revealed.key-areas__item, .is-reveal-ready.is-revealed.key-areas__heading, .is-reveal-ready.is-revealed.why-khnue__item, .is-reveal-ready.is-revealed.why-khnue__heading, .is-reveal-ready.is-revealed.university-profile__strength, .is-reveal-ready.is-revealed.university-profile__strengths-heading, .is-reveal-ready.is-revealed.university-profile__stats, .is-reveal-ready.is-revealed.university-profile__intro, .is-reveal-ready.is-revealed.block-hero__actions, .is-reveal-ready.is-revealed.block-hero__text, .is-reveal-ready.is-revealed.block-hero__subtitle, .is-reveal-ready.is-revealed.block-hero__title {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
@media (prefers-reduced-motion: reduce) {
  .is-reveal-ready.social-connect__closing-bottom, .is-reveal-ready.social-connect__closing-title, .is-reveal-ready.social-connect__link, .is-reveal-ready.social-connect__title, .is-reveal-ready.social-connect__eyebrow, .is-reveal-ready.contact-person__card, .is-reveal-ready.contact-person__heading, .is-reveal-ready.international-cooperation__item, .is-reveal-ready.international-cooperation__heading, .is-reveal-ready.current-projects__actions, .is-reveal-ready.current-projects__consortium, .is-reveal-ready.current-projects__item, .is-reveal-ready.current-projects__heading, .is-reveal-ready.key-areas__item, .is-reveal-ready.key-areas__heading, .is-reveal-ready.why-khnue__item, .is-reveal-ready.why-khnue__heading, .is-reveal-ready.university-profile__strength, .is-reveal-ready.university-profile__strengths-heading, .is-reveal-ready.university-profile__stats, .is-reveal-ready.university-profile__intro, .is-reveal-ready.block-hero__actions, .is-reveal-ready.block-hero__text, .is-reveal-ready.block-hero__subtitle, .is-reveal-ready.block-hero__title {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.block-hero__title {
  --reveal-y: 30px;
  --reveal-delay: 0s;
}
.block-hero__subtitle {
  --reveal-y: 26px;
  --reveal-delay: 0.12s;
}
.block-hero__text {
  --reveal-y: 22px;
  --reveal-delay: 0.24s;
}
.block-hero__actions {
  --reveal-y: 18px;
  --reveal-delay: 0.36s;
}

.university-profile__intro {
  --reveal-x: -32px;
  --reveal-y: 0;
}
.university-profile__stats {
  --reveal-x: 32px;
  --reveal-y: 0;
  --reveal-delay: 0.12s;
}
.university-profile__strengths-heading {
  --reveal-x: -24px;
  --reveal-y: 0;
}
.university-profile__strength {
  --reveal-y: 20px;
}
.university-profile__strength:nth-child(1) {
  --reveal-delay: 0.04s;
}
.university-profile__strength:nth-child(2) {
  --reveal-delay: 0.1s;
}
.university-profile__strength:nth-child(3) {
  --reveal-delay: 0.16s;
}
.university-profile__strength:nth-child(4) {
  --reveal-delay: 0.22s;
}
.university-profile__strength:nth-child(5) {
  --reveal-delay: 0.28s;
}
.university-profile__strength:nth-child(6) {
  --reveal-delay: 0.34s;
}

.why-khnue__heading {
  --reveal-x: -30px;
  --reveal-y: 0;
}
.why-khnue__item {
  --reveal-y: 22px;
  --reveal-scale: 0.985;
}
.why-khnue__item:nth-child(1) {
  --reveal-delay: 0.04s;
}
.why-khnue__item:nth-child(2) {
  --reveal-delay: 0.11s;
}
.why-khnue__item:nth-child(3) {
  --reveal-delay: 0.18s;
}
.why-khnue__item:nth-child(4) {
  --reveal-delay: 0.25s;
}

.key-areas__heading {
  --reveal-y: 24px;
}
.key-areas__item {
  --reveal-y: 22px;
  --reveal-scale: 0.985;
}
.key-areas__item:nth-child(1) {
  --reveal-delay: 0.04s;
}
.key-areas__item:nth-child(2) {
  --reveal-delay: 0.11s;
}
.key-areas__item:nth-child(3) {
  --reveal-delay: 0.18s;
}
.key-areas__item:nth-child(4) {
  --reveal-delay: 0.25s;
}

.current-projects__heading {
  --reveal-x: -30px;
  --reveal-y: 0;
}
.current-projects__item {
  --reveal-y: 20px;
  --reveal-scale: 0.99;
}
.current-projects__item:nth-child(1) {
  --reveal-delay: 0.03s;
}
.current-projects__item:nth-child(2) {
  --reveal-delay: 0.09s;
}
.current-projects__item:nth-child(3) {
  --reveal-delay: 0.15s;
}
.current-projects__item:nth-child(4) {
  --reveal-delay: 0.21s;
}
.current-projects__item:nth-child(5) {
  --reveal-delay: 0.27s;
}
.current-projects__item:nth-child(6) {
  --reveal-delay: 0.33s;
}
.current-projects__consortium {
  --reveal-y: 22px;
  --reveal-scale: 0.975;
  --reveal-delay: 0.08s;
}
.current-projects__actions {
  --reveal-y: 18px;
  --reveal-delay: 0.12s;
}

.international-cooperation__heading {
  --reveal-x: -30px;
  --reveal-y: 0;
}
.international-cooperation__item {
  --reveal-x: -22px;
  --reveal-y: 0;
}
.international-cooperation__item:nth-child(1) {
  --reveal-delay: 0.03s;
}
.international-cooperation__item:nth-child(2) {
  --reveal-delay: 0.07s;
}
.international-cooperation__item:nth-child(3) {
  --reveal-delay: 0.11s;
}
.international-cooperation__item:nth-child(4) {
  --reveal-delay: 0.15s;
}
.international-cooperation__item:nth-child(5) {
  --reveal-delay: 0.19s;
}
.international-cooperation__item:nth-child(6) {
  --reveal-delay: 0.23s;
}
.international-cooperation__item:nth-child(7) {
  --reveal-delay: 0.27s;
}
.international-cooperation__item:nth-child(8) {
  --reveal-delay: 0.31s;
}

.contact-person__heading {
  --reveal-x: -32px;
  --reveal-y: 0;
}
.contact-person__card {
  --reveal-x: 32px;
  --reveal-y: 0;
  --reveal-scale: 0.99;
  --reveal-delay: 0.12s;
}

.social-connect__eyebrow {
  --reveal-x: -24px;
  --reveal-y: 0;
}
.social-connect__title {
  --reveal-y: 22px;
  --reveal-delay: 0.07s;
}
.social-connect__link {
  --reveal-x: 22px;
  --reveal-y: 0;
}
.social-connect__link:nth-child(1) {
  --reveal-delay: 0.05s;
}
.social-connect__link:nth-child(2) {
  --reveal-delay: 0.11s;
}
.social-connect__link:nth-child(3) {
  --reveal-delay: 0.17s;
}
.social-connect__link:nth-child(4) {
  --reveal-delay: 0.23s;
}
.social-connect__closing-title {
  --reveal-y: 24px;
  --reveal-scale: 0.985;
}
.social-connect__closing-bottom {
  --reveal-y: 20px;
  --reveal-delay: 0.12s;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnRpYWxzL2RlcGVuZGVuY2llcy9fY29sb3JzLnNjc3MiLCJwYXJ0aWFscy9fcmVzZXQuc2NzcyIsInBhcnRpYWxzL2RlcGVuZGVuY2llcy9faGVscGVycy5zY3NzIiwicGFydGlhbHMvZGVwZW5kZW5jaWVzL19taXhpbnMuc2NzcyIsInBhcnRpYWxzL2RlcGVuZGVuY2llcy9fZ3JpZC5zY3NzIiwicGFydGlhbHMvX2Jhc2Uuc2NzcyIsInBhcnRpYWxzL2RlcGVuZGVuY2llcy9fdHlwZS5zY3NzIiwicGFydGlhbHMvZGVwZW5kZW5jaWVzL19tZWRpYS5zY3NzIiwicGFydGlhbHMvX2J1dHRvbnMuc2NzcyIsInBhcnRpYWxzL19zbGljay5zY3NzIiwicGFydGlhbHMvX2hlYWRlci5zY3NzIiwicGFydGlhbHMvYmxvY2tzL19ibG9jay1jb250YWN0LXBlcnNvbi5zY3NzIiwicGFydGlhbHMvYmxvY2tzL19ibG9jay1jdXJyZW50LXByb2plY3RzLnNjc3MiLCJwYXJ0aWFscy9ibG9ja3MvX2Jsb2NrLWhlcm8uc2NzcyIsInBhcnRpYWxzL2Jsb2Nrcy9fYmxvY2staW50ZXJuYXRpb25hbC1jb29wZXJhdGlvbi5zY3NzIiwicGFydGlhbHMvYmxvY2tzL19ibG9jay1rZXktYXJlYXMuc2NzcyIsInBhcnRpYWxzL2Jsb2Nrcy9fYmxvY2stc29jaWFsLWNvbm5lY3Quc2NzcyIsInBhcnRpYWxzL2Jsb2Nrcy9fYmxvY2std2h5LWtobnVlLnNjc3MiLCJwYXJ0aWFscy9ibG9ja3MvX3VuaXZlcnNpdHktcHJvZmlsZS5zY3NzIiwicGFydGlhbHMvX2FuaW1hdGlvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUMzQkY7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7O0FBTVI7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBS0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBU0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUdGO0FBQUE7RUFFRTtFQUNBOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQ2xLRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7OztBQzBESjtFQUNFO0lBQ0U7OztBQzNGSjtFQUNFO0VBQ0E7RUFDQSxLQVhXOztBQWFYO0VBTEY7SUFNSTtJQUNBLEtBaEJVOzs7O0FBdUJWO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVFGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQVVOO0VBcEJJO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQVFGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOztFQURGO0lBQ0U7O0VBREY7SUFDRTs7RUFERjtJQUNFOzs7QUNuQ047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQzhDQTtFRDVDQTs7QUUyRUE7RUZqRkY7SUNxREk7Ozs7QUQ1Q0o7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFPRjtFRnRCRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBSTZFQTtFRjNERjtJRmZJO0lBQ0E7Ozs7QUVrQko7RUNyQkU7RUFDQTtFQVFBOztBQU5BO0VBQ0U7O0FDd0VGO0VGdkRGO0lDVEk7Ozs7QURjSjtFQzFCRTtFQUNBO0VBZ0JBOztBQWRBO0VBQ0U7O0FDd0VGO0VGbERGO0lDTkk7Ozs7QURXSjtFQy9CRTtFQUNBO0VBd0JBOztBQXRCQTtFQUNFOztBQ3dFRjtFRjdDRjtJQ0hJOzs7O0FEUUo7RUNwQ0U7RUFDQTtFQWdDQTs7QUE5QkE7RUFDRTs7O0FEcUNKO0VDekNFO0VBQ0E7RUFvQ0E7O0FBbENBO0VBQ0U7OztBRDBDSjtFQzlDRTtFQUNBO0VBd0NBOztBQXRDQTtFQUNFOzs7QUQrQ0o7RUNORTtFRFFBOztBRXVCQTtFRnpCRjtJQ0hJOzs7QURPRjtFQUNFOzs7QUFJSjtFQzVERTtFQUNBO0VBb0RBO0VBQ0E7O0FBbkRBO0VBQ0U7OztBRDZESjtFQ2pFRTtFQUNBO0VBNENBOztBQTFDQTtFQUNFOztBQ3dFRjtFRlhGO0lDakJJOzs7O0FEc0JKO0VBQ0U7O0FFS0E7RUZORjtJQUlJOzs7O0FBK0ZKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FFckdBO0VGa0dGO0lBTUk7OztBQUdGO0VBQ0U7RUFDQTs7O0FBSUo7RUFDRTs7O0FBR0Y7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRzNNRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUVBLFlBQ0U7O0FBS0Y7RUxmQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUtVRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUVBO0VBQ0E7RUFDQTs7QUFJQTtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQzVHTjtBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7OztBQUdSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOzs7QUFHUjtFQUNJO0VBQ0E7RUFDQTtFQVdBOztBQVZBO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUtKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHUjtFQUNJOzs7QUNoR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VB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QTs7QUFJSjtFQUNFO0VBQ0E7RUFFQTtFQUVBOztBQUVBO0VBUkY7SUFTSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7O0FBRUE7RUFDRTtFQUNBO0VBRUE7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBRUE7O0FBR0Y7RUFDRTtFQUVBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBOztBQUVBO0VBVEY7SUFVSTtJQUNBO0lBRUE7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBRUE7O0FBR0Y7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTs7QUFJSjtFQUNFO0VBRUE7RUFDQTtFQUVBO0VBRUE7RUFFQSxZQUNFO0VBR0Y7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBLFlBQ0U7RUFHRjs7QUFHRjtFQUNFO0VBQ0E7RUFFQTs7QUFJSjtFQUNFO0FBQUE7QUFBQTtBQUFBO0lBSUU7Ozs7QUFLTjtFQUNFO0lBRUUsV0FDRTs7RUFJSjtJQUNFLFdBQ0U7OztBQUtOO0VBQ0U7SUFFRSxZQUNFOztFQUlKO0lBQ0UsWUFDRTs7O0FBS047RUFDRTtJQUVFLFdBQ0U7O0VBSUo7SUFDRSxXQUNFOzs7QUFLTjtFQUNFO0lBRUUsV0FDRTs7RUFJSjtJQUNFLFdBQ0U7OztBQUtOO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBRUU7SUFFQSxXQUNFOztFQUlKO0lBQ0U7SUFFQSxXQUNFOzs7QUMvcEJOO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUVBLFlBQ0U7O0FMd0VGO0VLbEZGO0lBcUNJOzs7QUFHRjtFQXhDRjtJQXlDSTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBLGtCQUNFO0VBVUY7RUFFQTs7QUFFQTtFQXJCRjtJQXNCSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBLFlB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O0VBRUE7O0FBR0Y7RUFDRTtFQUVBOztBQUdGO0VBQ0U7RUFFQTtFQUVBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBRUE7RUFFQSxZQUNFO0VBR0Y7O0FBSUE7RUFDRTtFQUVBLFlBQ0U7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7O0FUeGhCRjtFU2doQkE7SUFXSTtJQUVBOzs7QUFHRjtFQWhCRjtJQWlCSTtJQUNBO0lBRUE7SUFDQTtJQUVBOzs7QUFJSjtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTs7QUFFQTtFQUNFO0VBRUE7RUFFQTs7QUFHRjtFQUNFO0VBRUE7RUFFQTtFQUVBOztBQUdGO0VBQ0U7RUFFQTtFQUNBO0VBRUE7RUFFQTs7QUFJSjtFQUNFO0VBRUE7RUFDQTtFQUVBO0VBRUE7RUFFQSxZQUNFO0VBR0Y7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBLFlBQ0U7RUFHRjs7QUFHRjtFQUNFO0VBQ0E7RUFFQTs7QUFHRjtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBRUE7O0FBSUo7RUFDRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBTUU7Ozs7QUFLTjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFLFdBQ0U7O0VBS0o7SUFDRSxXQUNFOzs7QUFNTjtFQUNFO0lBRUUsV0FDRTs7RUFJSjtJQUNFLFdBQ0U7OztBQUtOO0VBQ0U7SUFDRSxXQUNFOztFQUlKO0lBQ0UsV0FDRTs7O0FBS047RUFDRTtJQUNFLFdBQ0U7O0VBSUo7SUFDRSxXQUNFOzs7QUFLTjtFQUNFO0lBQ0UsV0FDRTs7RUFJSjtJQUNFLFdBQ0U7OztBQUtOO0VBQ0U7SUFDRSxXQUNFOztFQUtKO0lBQ0UsV0FDRTs7O0FBTU47RUFDRTtJQUNFLFdBQ0U7O0VBS0o7SUFDRSxXQUNFOzs7QUFNTjtFQUNFO0lBQ0UsV0FDRTs7RUFJSjtJQUNFLFdBQ0U7OztBQUtOO0VBQ0U7SUFFRTtJQUVBLFdBQ0U7O0VBSUo7SUFD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Q0U7RUFFQTtFQUVBO0VBRUEsWUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBRUE7O0FBRUE7RUFURjtJQVVJO0lBQ0E7SUFFQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFFQTs7QUFFQTtFQVhGO0lBWUk7SUFDQTtJQUVBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBOztBQUVBO0VBWEY7SUFZSTtJQUNBO0lBRUE7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTs7QUFFQTtFQVpGO0lBYUk7SUFDQTtJQUVBO0lBQ0E7OztBQUtOO0VBQ0U7RUFFQTtFQUNBO0VBRUE7RUFFQTtFQUVBLFlBQ0U7RUFHRjs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBOztBQUdGO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBLFlBQ0U7RUFHRjs7QUFHRjtFQUNFO0VBQ0E7RUFFQTtFQUNBO0VBRUE7O0FBR0Y7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBRUEsWUFDRTtFQUdGOztBQUdGO0VBQ0U7RUFDQTtFQUVBOztBQUlKO0VBQ0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lBT0U7Ozs7QUFLTjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUVFO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOzs7QUFJSjtFQUNFO0lBRUUsV0FDRTs7RUFLSjtJQUNFLFdBQ0U7OztBQU1OO0VBQ0U7SUFDRTtJQUVBLFdBQ0U7O0VBSUo7SUFDRTtJQUVBLFdBQ0U7OztBQUtOO0VBQ0U7SUFFRTtJQUVBLFdBQ0U7O0VBSUo7SUFDRTtJQUVBLFdBQ0U7OztBQUtOO0VBQ0U7SUFFRTtJQUVBLFdBQ0U7O0VBSUo7SUFDRTtJQUVBLFdBQ0U7OztBQUtOO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7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Q0U7O0FBR0Y7RUFDRTtFQUVBOztBQUVBO0VBTEY7SUFNSTs7OztBQ3plUjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFFQSxXQUNFO0VBT0YsWUFDRTtFQUdGO0VBRUE7O0FBRUE7RUFuQkY7SUFvQkk7SUFDQTtJQUNBO0lBRUEsWUFDRTtJQUdGOzs7QUFJSjtFQUNFO0VBRUEsV0FDRTs7QUFJSjtFQUNFO0lBQ0U7SUFFQTtJQUVBOzs7O0FBV0o7RUFHRTtFQUNBOztBQUdGO0VBR0U7RUFDQTs7QUFHRjtFQUdFO0VBQ0E7O0FBR0Y7RUFHRTtFQUNBOzs7QUFVRjtFQUdFO0VBQ0E7O0FBR0Y7RUFHRTtFQUNBO0VBQ0E7O0FBR0Y7RUFHRTtFQUNBOztBQUdGO0VBR0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQVdKO0VBR0U7RUFDQTs7QUFHRjtFQUdFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBV0o7RUFHRTs7QUFHRjtFQUdFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7O0FBV0o7RUFHRTtFQUNBOztBQUdGO0VBR0U7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJSjtFQUdFO0VBQ0E7RUFDQTs7QUFHRjtFQUdFO0VBQ0E7OztBQVVGO0VBR0U7RUFDQTs7QUFHRjtFQUdFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOzs7QUFXSjtFQUdFO0VBQ0E7O0FBR0Y7RUFHRTtFQUNBO0VBQ0E7RUFDQTs7O0FBVUY7RUFHRTtFQUNBOztBQUdGO0VBR0U7RUFDQTs7QUFHRjtFQUdFO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTs7QUFJSjtFQUdFO0VBQ0E7O0FBR0Y7RUFHRTtFQUNBIiwiZmlsZSI6InNjcmVlbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb2xvcnMuXG46cm9vdCB7XG4gIC8vIEJyYW5kIGJsdWUuXG4gIC0tcHJpbWFyeS1ibHVlLTkwMDogIzAwMmI1YztcbiAgLS1wcmltYXJ5LWJsdWUtODAwOiAjMDAzYjczO1xuICAtLXByaW1hcnktYmx1ZS03MDA6ICMwMDVhOWM7XG4gIC0tcHJpbWFyeS1ibHVlLTYwMDogIzAwNzdjODtcbiAgLS1wcmltYXJ5LWJsdWUtNTAwOiAjMDA5ZmUzO1xuICAtLXByaW1hcnktYmx1ZS0zMDA6ICM3M2M5ZWU7XG4gIC0tcHJpbWFyeS1ibHVlLTEwMDogI2Q5ZjBmYTtcbiAgLS1wcmltYXJ5LWJsdWUtNTA6ICNlZWY4ZmM7XG5cbiAgLy8gQnJhbmQgeWVsbG93LlxuICAtLXByaW1hcnkteWVsbG93LTYwMDogI2U2YTkwMDtcbiAgLS1wcmltYXJ5LXllbGxvdy01MDA6ICNmZmJmMDA7XG4gIC0tcHJpbWFyeS15ZWxsb3ctNDAwOiAjZmZjYzI5O1xuICAtLXByaW1hcnkteWVsbG93LTEwMDogI2ZmZjJiZjtcblxuICAvLyBOZXV0cmFsLlxuICAtLXByaW1hcnktd2hpdGU6ICNmZmY7XG4gIC0tcHJpbWFyeS1ibGFjazogIzAwMDtcblxuICAtLWdyZXktOTAwOiAjMWIxYjFiO1xuICAtLWdyZXktNzAwOiAjNGQ0ZDRkO1xuICAtLWdyZXktNTAwOiAjNzc3O1xuICAtLWdyZXktMzAwOiAjYzdjN2M3O1xuICAtLWdyZXktMjAwOiAjZGVkZWRlO1xuICAtLWdyZXktMTAwOiAjZjFmM2Y1O1xuICAtLWdyZXktNTA6ICNmN2Y4ZmE7XG59XG4iLCIvLyBSZXNldFxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmhyIHtcbiAgbWFyZ2luOiAxcmVtIDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbnVsLFxub2wge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lO1xufVxuXG5vbCB7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogY291bnRlcnMoaXRlbSwgXCIuXCIpIFwiLiBcIjtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBjb3VudGVycyhpdGVtLCBcIi5cIikgXCIgXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5pbWcsXG5pZnJhbWUsXG52aWRlbyxcbmF1ZGlvLFxub2JqZWN0IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcsXG5pZnJhbWUge1xuICBib3JkZXI6IDAgbm9uZTtcbn1cblxuaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBGb3JtIEVsZW1lbnRzXG5cbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBub25lO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNTAwMHMgZWFzZS1pbi1vdXQgMHM7XG59XG5cbmlucHV0OjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xufVxuXG5pbnB1dDo6LW1zLXJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmlucHV0W2Rpc2FibGVkXSxcbnRleHRhcmVhW2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuYnV0dG9uIHtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuIiwiLnNraXB0byB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGNsaXA6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpICFpbXBvcnRhbnQ7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4uc3ZnLWljb24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG59XG4iLCJAdXNlIFwibWVkaWFcIiBhcyAqO1xuXG5AbWl4aW4gaG5ldS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNjQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuQG1peGluIGZpeGVkIHtcbiAgaGVhZGVyLmlzLWZpeGVkICYge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpY29uLW1hc2sge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC13ZWJraXQtbWFzay1zaXplOiBjb250YWluO1xuICBtYXNrLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gIG1hc2stcG9zaXRpb246IGNlbnRlcjtcblxuICAvL0BpbmNsdWRlIGljb24tbWFzaztcbiAgLy8td2Via2l0LW1hc2staW1hZ2U6IHVybChcIi4uL3N2Zy9hcnJvdy1kb3duLnN2Z1wiKTtcbiAgLy9tYXNrLWltYWdlOiB1cmwoXCIuLi9zdmcvYXJyb3ctZG93bi5zdmdcIik7XG59XG5cbi8vIGdlbmVyaWMgdHJhbnNmb3JtXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm1zKSB7XG4gIHRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XG59XG5cbi8vIHJvdGF0ZVxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xufVxuXG4vLyBzY2FsZVxuQG1peGluIHNjYWxlKCRzY2FsZSkge1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoJHNjYWxlKSk7XG59XG5cbi8vIHRyYW5zbGF0ZVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZSgkeCwgJHkpKTtcbn1cblxuLy8gc2tld1xuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xufVxuXG4vL3RyYW5zZm9ybSBvcmlnaW5cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbn1cblxuQG1peGluIGNlbnRlcmVyKCRob3Jpem9udGFsOiB0cnVlLCAkdmVydGljYWw6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIEBpZiAoJGhvcml6b250YWwgYW5kICR2ZXJ0aWNhbCkge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIH0gQGVsc2UgaWYgKCRob3Jpem9udGFsKSB7XG4gICAgbGVmdDogNTAlO1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgfSBAZWxzZSBpZiAoJHZlcnRpY2FsKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBhamF4LXByb2dyZXNzIHtcbiAgLmFqYXgtcHJvZ3Jlc3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGVydGlhcnlfZ3JleV90MikgdXJsKFwiLi4vaW1hZ2VzL3Rocm9iYmVyLmdpZlwiKSA1MCUgNTAlIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNDBweDtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgei1pbmRleDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG5cbiAgICAudGhyb2JiZXIsXG4gICAgLm1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBvcGFjaXR5IHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBtaXhpbiBvYmplY3QtZml0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cbkBtaXhpbiBiZy13aGl0ZS1ibG9jayB7XG4gIGJvcmRlci1yYWRpdXM6IDI4cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMTJweCAzMHB4IHJnYmEoMjAsIDQwLCA4MCwgMC4xMik7XG59XG5cbkBtaXhpbiBiZy1ibG9jayB7XG4gIGJvcmRlci1yYWRpdXM6IDMycHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmNWY4ZmMgMCUsICNlZGYzZmEgMTAwJSk7XG4gIGJveC1zaGFkb3c6IDAgMTZweCA0MHB4IHJnYmEoMjAsIDQwLCA4MCwgMC4xMik7XG59XG4iLCIvLyBHcmlkLlxuLy8gQlJFQUtQT0lOVFNcbiRicmVha3BvaW50LW1kOiAxMDI0cHg7XG5cbi8vIEdBUFxuJGdhcC1kZXNrdG9wOiAyMHB4O1xuJGdhcC1tb2JpbGU6IDE2cHg7XG5cbi8vIFRPVEFMIENPTFVNTlMgLyBST1dTXG4kY29sdW1ucy1kZXNrdG9wOiAxMjtcbiRjb2x1bW5zLW1vYmlsZTogNDtcbiRtYXgtcm93czogNjtcblxuLy8gR1JJRCBDT05UQUlORVJcbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbnMtbW9iaWxlLCAxZnIpO1xuICBnYXA6ICRnYXAtbW9iaWxlO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5zLWRlc2t0b3AsIDFmcik7XG4gICAgZ2FwOiAkZ2FwLWRlc2t0b3A7XG4gIH1cbn1cblxuLy8gQ09MIFNQQU4gVVRJTElUWSBNSVhJTlxuQG1peGluIGdlbmVyYXRlLWdyaWQtc3BhbnMoJHByZWZpeCwgJGNvbHMpIHtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29scyB7XG4gICAgLiN7JHByZWZpeH1zcGFuLSN7JGl9IHtcbiAgICAgIGdyaWQtY29sdW1uOiBzcGFuICRpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBST1cgU1BBTiBVVElMSVRZIE1JWElOXG5AbWl4aW4gZ2VuZXJhdGUtcm93LXNwYW5zKCRwcmVmaXgsICRyb3dzKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHJvd3Mge1xuICAgIC4jeyRwcmVmaXh9cm93LXNwYW4tI3skaX0ge1xuICAgICAgZ3JpZC1yb3c6IHNwYW4gJGk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1PQklMRSBTUEFOU1xuQGluY2x1ZGUgZ2VuZXJhdGUtZ3JpZC1zcGFucyhcImNvbC1cIiwgJGNvbHVtbnMtbW9iaWxlKTtcbkBpbmNsdWRlIGdlbmVyYXRlLXJvdy1zcGFucyhcImNvbC1cIiwgJG1heC1yb3dzKTtcblxuLy8gREVTS1RPUCBTUEFOU1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1kKSB7XG4gIEBpbmNsdWRlIGdlbmVyYXRlLWdyaWQtc3BhbnMoXCJjb2wtbWQtXCIsICRjb2x1bW5zLWRlc2t0b3ApO1xuICBAaW5jbHVkZSBnZW5lcmF0ZS1yb3ctc3BhbnMoXCJjb2wtbWQtXCIsICRtYXgtcm93cyk7XG59XG4iLCIvLyBCYXNlIHN0eWxlcy5cbkB1c2UgXCJkZXBlbmRlbmNpZXNcIiBhcyAqO1xuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeV93aGl0ZSk7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktNyk7XG4gIEBpbmNsdWRlIHBhcmFncmFwaDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWFpbiB7XG5cbn1cblxuLmhuZXUtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgaG5ldS1jb250YWluZXI7XG59XG5cbi5oMSB7XG4gIEBpbmNsdWRlIGhlYWRpbmc7XG4gIEBpbmNsdWRlIGgxO1xufVxuXG4uaDIge1xuICBAaW5jbHVkZSBoZWFkaW5nO1xuICBAaW5jbHVkZSBoMjtcbn1cblxuLmgzIHtcbiAgQGluY2x1ZGUgaGVhZGluZztcbiAgQGluY2x1ZGUgaDM7XG59XG5cbi5oNCB7XG4gIEBpbmNsdWRlIGhlYWRpbmc7XG4gIEBpbmNsdWRlIGg0O1xufVxuXG4uaDUge1xuICBAaW5jbHVkZSBoZWFkaW5nO1xuICBAaW5jbHVkZSBoNTtcbn1cblxuLmg2IHtcbiAgQGluY2x1ZGUgaGVhZGluZztcbiAgQGluY2x1ZGUgaDY7XG59XG5cbi5wIHtcbiAgQGluY2x1ZGUgcGFyYWdyYXBoO1xuICBtYXJnaW46IDAgMCA0MHB4O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5zdWJ0aXRsZSB7XG4gIEBpbmNsdWRlIGhlYWRpbmc7XG4gIEBpbmNsdWRlIHN1YnRpdGxlO1xufVxuXG4ucGFyYWdyYXBoLXRleHQge1xuICBAaW5jbHVkZSBoZWFkaW5nO1xuICBAaW5jbHVkZSBwYXJhZ3JhcGg7XG59XG5cbi53aWRnZXQge1xuICBwYWRkaW5nOiA0MHB4IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG59XG5cbi8vLndpZGdldCB7XG4vLyAgcGFkZGluZzogNDBweCAwO1xuLy9cbi8vICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbi8vICAgIHBhZGRpbmc6IDIwcHggMDtcbi8vICB9XG4vL1xuLy8gIHVsLFxuLy8gIG9sIHtcbi8vICAgIHBhZGRpbmc6IDA7XG4vLyAgICBtYXJnaW46IDAgMCAyNHB4O1xuLy8gICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuLy9cbi8vICAgICY6bGFzdC1jaGlsZCB7XG4vLyAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4vLyAgICB9XG4vL1xuLy8gICAgbGkge1xuLy8gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgICAgIHBhZGRpbmc6IDZweCAwIDZweCAyNXB4O1xuLy9cbi8vICAgICAgcCB7XG4vLyAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgICB9XG4vLyAgICB9XG4vL1xuLy8gICAgdWwsXG4vLyAgICBvbCB7XG4vLyAgICAgIHBhZGRpbmc6IDZweCAwIDAgNnB4O1xuLy8gICAgICBtYXJnaW4tYm90dG9tOiAtNnB4O1xuLy8gICAgfVxuLy9cbi8vICAgIGEge1xuLy8gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbi8vXG4vLyAgICAgICY6aG92ZXIge1xuLy8gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LTUpO1xuLy8gICAgICB9XG4vLyAgICB9XG4vL1xuLy8gICAgcCB7XG4vLyAgICAgIG1hcmdpbjogMCAwIDE2cHg7XG4vL1xuLy8gICAgICAmOmxhc3QtY2hpbGQge1xuLy8gICAgICAgIG1hcmdpbjogMDtcbi8vICAgICAgfVxuLy8gICAgfVxuLy8gIH1cbi8vXG4vLyAgdWwge1xuLy8gICAgbGkge1xuLy8gICAgICAmOmJlZm9yZSB7XG4vLyAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgICAgIGxlZnQ6IDRweDtcbi8vICAgICAgICB0b3A6IDE3cHg7XG4vLyAgICAgICAgY29udGVudDogXCJcIjtcbi8vICAgICAgICB3aWR0aDogOHB4O1xuLy8gICAgICAgIGhlaWdodDogOHB4O1xuLy8gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktNyk7XG4vLyAgICAgICAgbWFyZ2luOiAwO1xuLy8gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4vL1xuLy8gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPHRhYmxldFwiKSB7XG4vLyAgICAgICAgICB0b3A6IDE1cHg7XG4vLyAgICAgICAgfVxuLy8gICAgICB9XG4vLyAgICB9XG4vLyAgfVxuLy9cbi8vICBvbCB7XG4vLyAgICBjb3VudGVyLXJlc2V0OiBsaXN0O1xuLy8gICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuLy9cbi8vICAgIGxpIHtcbi8vICAgICAgJjpiZWZvcmUge1xuLy8gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICAgICBsZWZ0OiAycHg7XG4vLyAgICAgICAgdG9wOiA2cHg7XG4vLyAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3Q7XG4vLyAgICAgICAgY29udGVudDogY291bnRlcnMobGlzdCwgXCIuXCIpIFwiLlwiO1xuLy8gICAgICB9XG4vL1xuLy8gICAgICBsaSB7XG4vLyAgICAgICAgJjpiZWZvcmUge1xuLy8gICAgICAgICAgY29udGVudDogY291bnRlcihsaXN0LCBsb3dlci1sYXRpbikgXCIuXCI7XG4vLyAgICAgICAgfVxuLy8gICAgICB9XG4vLyAgICB9XG4vLyAgfVxuLy99XG5cbi5wcmltYXJ5LXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLnR3by1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDQwcHg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuY29sIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4uYmctYmx1ZS1saWdodCB7XG4gIGJhY2tncm91bmQ6ICNlZGYzZmE7XG59XG5cbmEuZGlzYWJsZWQsXG5pbnB1dC5kaXNhYmxlZHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IGdyZXkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBncmV5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IC4zO1xufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCJtZWRpYVwiIGFzICo7XG5cbi8vIFR5cG9ncmFwaHk6XG4kZm9udC1lLXVrcmFpbmU6IFwiZS1Va3JhaW5lXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZS11a3JhaW5lLWhlYWQ6IFwiZS1Va3JhaW5lSGVhZFwiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcblxuQG1peGluIGhlYWRpbmcge1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBjb2xvcjogIzFmMmY0NjtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGgxIHtcbiAgZm9udDogNzAwIDQwcHgvMTIwJSAkZm9udC1lLXVrcmFpbmUtaGVhZDtcblxuICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjx0YWJsZXRcIikge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxufVxuXG5AbWl4aW4gaDIge1xuICBmb250OiA3MDAgMzVweC8xMjAlICRmb250LWUtdWtyYWluZS1oZWFkO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPHRhYmxldFwiKSB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICB9XG59XG5cbkBtaXhpbiBoMyB7XG4gIGZvbnQ6IDcwMCAyNHB4LzEuMyAkZm9udC1lLXVrcmFpbmUtaGVhZDtcblxuICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjx0YWJsZXRcIikge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxufVxuXG5AbWl4aW4gaDQge1xuICBmb250OiA0MDAgMjBweC8xMjAlICRmb250LWUtdWtyYWluZS1oZWFkO1xufVxuXG5AbWl4aW4gaDUge1xuICBmb250OiAzMDAgMThweC8xMjAlICRmb250LWUtdWtyYWluZS1oZWFkO1xufVxuXG5AbWl4aW4gaDYge1xuICBmb250OiAyMDAgMTZweC8xMjAlICRmb250LWUtdWtyYWluZS1oZWFkO1xufVxuXG5AbWl4aW4gcGFyYWdyYXBoIHtcbiAgZm9udDogbm9ybWFsIDE3cHgvMS43ICRmb250LWUtdWtyYWluZTtcblxuICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjx0YWJsZXRcIikge1xuICAgIGZvbnQ6IG5vcm1hbCAxNXB4LzEuNCAkZm9udC1lLXVrcmFpbmU7XG4gIH1cbn1cblxuQG1peGluIHN1YnRpdGxlIHtcbiAgZm9udDogNjAwIDIycHgvMS40ICRmb250LWUtdWtyYWluZTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnlfYmx1ZSk7XG59XG4iLCJAdXNlIFwic2FzczpzdHJpbmdcIjtcbkB1c2UgXCJzYXNzOmxpc3RcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDQzMHB4LFxuICBtb2JpbGU6IDU3NnB4LFxuICB0YWJsZXQtc21hbGw6IDc2OHB4LFxuICB0YWJsZXQ6IDk5MnB4LFxuICBkZXNrdG9wOiAxMDI0cHgsXG4gIHhsOiAxMjAwcHgsXG4gIHh4bDogMTkyMHB4LFxuKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGJwKCR2YWx1ZSkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9XG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHJpbmcuaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG4gIEByZXR1cm4gaWYoXG4gICAgJGluZGV4LFxuICAgIHN0cmluZy5zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICtcbiAgICAgIHN0cmluZy5zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRzZWFyY2gpKSxcbiAgICAkc3RyaW5nXG4gICk7XG59XG5cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICAkcXVlcnk6ICgpO1xuXG4gIEBlYWNoICRjb25kIGluICRjb25kaXRpb25zIHtcbiAgICAkY29uZDogc3RyLXJlcGxhY2UoJGNvbmQsIFwi4omlXCIsIFwiPj1cIik7XG4gICAgJGNvbmQ6IHN0ci1yZXBsYWNlKCRjb25kLCBcIuKJpFwiLCBcIjw9XCIpO1xuXG4gICAgJGRpbWVuc2lvbjogXCJ3aWR0aFwiO1xuICAgIEBpZiBzdHJpbmcuaW5kZXgoJGNvbmQsIFwiaGVpZ2h0XCIpIHtcbiAgICAgICRkaW1lbnNpb246IFwiaGVpZ2h0XCI7XG4gICAgICAkY29uZDogc3RyLXJlcGxhY2UoJGNvbmQsIFwiaGVpZ2h0XCIsIFwiXCIpO1xuICAgIH1cblxuICAgICRvcDogaWYoXG4gICAgICBzdHJpbmcuaW5kZXgoJGNvbmQsIFwiPj1cIikgIT0gbnVsbCxcbiAgICAgIFwiPj1cIixcbiAgICAgIGlmKFxuICAgICAgICBzdHJpbmcuaW5kZXgoJGNvbmQsIFwiPD1cIikgIT0gbnVsbCxcbiAgICAgICAgXCI8PVwiLFxuICAgICAgICBpZihcbiAgICAgICAgICBzdHJpbmcuaW5kZXgoJGNvbmQsIFwiPlwiKSAhPSBudWxsLFxuICAgICAgICAgIFwiPlwiLFxuICAgICAgICAgIGlmKHN0cmluZy5pbmRleCgkY29uZCwgXCI8XCIpICE9IG51bGwsIFwiPFwiLCBudWxsKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcblxuICAgIEBpZiAkb3AgIT0gbnVsbCB7XG4gICAgICAkcHJlZml4OiBpZihsaXN0LmluZGV4KChcIjxcIiwgXCI8PVwiKSwgJG9wKSwgXCJtYXhcIiwgXCJtaW5cIik7XG4gICAgICAkdmFsdWU6IHN0cmluZy5zbGljZShcbiAgICAgICAgJGNvbmQsXG4gICAgICAgIHN0cmluZy5pbmRleCgkY29uZCwgJG9wKSArIHN0cmluZy5sZW5ndGgoJG9wKVxuICAgICAgKTtcbiAgICAgICR2YWx1ZTogYnAoJHZhbHVlKTtcblxuICAgICAgQGlmICRvcCA9PSBcIj5cIiB7XG4gICAgICAgICR2YWx1ZTogY2FsYygjeyR2YWx1ZX0gKyAxcHgpO1xuICAgICAgfSBAZWxzZSBpZiAkb3AgPT0gXCI8XCIge1xuICAgICAgICAkdmFsdWU6IGNhbGMoI3skdmFsdWV9IC0gMXB4KTtcbiAgICAgIH1cblxuICAgICAgJHF1ZXJ5OiBsaXN0LmFwcGVuZCgkcXVlcnksIFwiKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KVwiKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRxdWVyeTogbGlzdC5hcHBlbmQoJHF1ZXJ5LCAkY29uZCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRW5zdXJlIGxpc3QgaXMgam9pbmVkIGNvcnJlY3RseVxuICAkcXVlcnktc3RyOiBcIlwiO1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxpc3QubGVuZ3RoKCRxdWVyeSkge1xuICAgICRxdWVyeS1zdHI6ICRxdWVyeS1zdHIgKyBpZigkaSA+IDEsIFwiIGFuZCBcIiwgXCJcIikgKyBsaXN0Lm50aCgkcXVlcnksICRpKTtcbiAgfVxuXG4gIEBtZWRpYSAjeyRxdWVyeS1zdHJ9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQHVzZSBcImRlcGVuZGVuY2llcy9tZWRpYVwiIGFzICo7XG5AdXNlIFwiZGVwZW5kZW5jaWVzL21peGluc1wiIGFzICo7XG5AdXNlIFwiZGVwZW5kZW5jaWVzL3R5cGVcIiBhcyAqO1xuXG4uYnRuLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4uYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgcGFkZGluZzogMTNweCAyNHB4O1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG5cbiAgZm9udDogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLFxuICAgIGNvbG9yIDAuM3MgZWFzZSxcbiAgICBib3JkZXItY29sb3IgMC4zcyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuXG4gICZfX2ljb24ge1xuICAgIEBpbmNsdWRlIGljb24tbWFzaztcblxuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBmbGV4OiAwIDAgMjBweDtcblxuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL2ljb24tYnRuLWFycm93LnN2Z1wiKTtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9zdmcvaWNvbi1idG4tYXJyb3cuc3ZnXCIpO1xuXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI0cHg7XG4gICAgYm90dG9tOiA4cHg7XG4gICAgbGVmdDogMjRweDtcblxuICAgIGhlaWdodDogMnB4O1xuXG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgfVxuXG4gICAgLmJ1dHRvbl9faWNvbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDNweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKTtcbiAgICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICB9XG5cbiAgJi0tcHJpbWFyeSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS05MDApO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTQwMCk7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgNDMsIDkyLCAwLjE0KTtcbiAgICB9XG4gIH1cblxuICAmLS1zZWNvbmRhcnkge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibHVlLTcwMCk7XG4gICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgNDMsIDkyLCAwLjIpO1xuICAgIH1cbiAgfVxuXG4gICYtLXRlcnRpYXJ5IHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTkwMCk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS01MCk7XG4gICAgfVxuICB9XG59IiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiQHVzZSBcImRlcGVuZGVuY2llc1wiIGFzICo7XG5cbi5zaXRlLWhlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIycHggMDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDMycHg7XG4gICAgbWluLWhlaWdodDogOTZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgZ2FwOiAyMHB4O1xuICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICBnYXA6IDEycHggMThweDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJl9fbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi0tbWFpbiB7XG4gICAgICB3aWR0aDogMjUwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgICB3aWR0aDogMTkwcHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICB3aWR0aDogMTI1cHg7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXVuaXZlcnNpdHkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHdpZHRoOiAxMjBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgICAgICB3aWR0aDogNzhweDtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGZpbGw6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuICAgIHRleHQtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICB0cmFuc3BhcmVudCxcbiAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpIDIwJSxcbiAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTgpIDgwJSxcbiAgICAgICAgICB0cmFuc3BhcmVudFxuICAgICAgKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufSIsIkB1c2UgXCIuLi9kZXBlbmRlbmNpZXNcIiBhcyAqO1xuXG4uY29udGFjdC1wZXJzb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcblxuICBwYWRkaW5nOiAxMjBweCAwIDEzMHB4O1xuXG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcblxuICBiYWNrZ3JvdW5kOlxuICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgZWxsaXBzZSBhdCA0JSA4JSxcbiAgICAgICAgcmdiYSgyNTUsIDIwNCwgNDEsIDAuMykgMCUsXG4gICAgICAgIHJnYmEoMjU1LCAyMjQsIDEyMCwgMC4xNCkgMjQlLFxuICAgICAgICB0cmFuc3BhcmVudCA0OCVcbiAgICApLFxuICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgZWxsaXBzZSBhdCA5MiUgMjAlLFxuICAgICAgICByZ2JhKDExNSwgMjAxLCAyMzgsIDAuMzYpIDAlLFxuICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjE0KSAyOCUsXG4gICAgICAgIHRyYW5zcGFyZW50IDU0JVxuICAgICksXG4gICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxMjVkZWcsXG4gICAgICAgICNmZmY5ZGYgMCUsXG4gICAgICAgIHZhcigtLXByaW1hcnktd2hpdGUpIDQwJSxcbiAgICAgICAgI2YzZmJmZSA2NSUsXG4gICAgICAgICNkZmY0ZmMgMTAwJVxuICAgICk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgcGFkZGluZzogOTBweCAwIDEwMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcGFkZGluZzogNzBweCAwIDc2cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IC0yO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICByZ2JhKDAsIDExOSwgMjAwLCAwLjAyNSkgMXB4LFxuICAgICAgICAgIHRyYW5zcGFyZW50IDFweFxuICAgICAgKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICByZ2JhKDAsIDExOSwgMjAwLCAwLjAyNSkgMXB4LFxuICAgICAgICAgIHRyYW5zcGFyZW50IDFweFxuICAgICAgKTtcblxuICAgIGJhY2tncm91bmQtc2l6ZTogNjBweCA2MHB4O1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDRweCA0NHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMC44NWZyKSBtaW5tYXgoNDYwcHgsIDAuNzVmcik7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNsYW1wKDYwcHgsIDh2dywgMTMwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgzODBweCwgMC44ZnIpO1xuICAgICAgZ2FwOiA1MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBnYXA6IDQycHg7XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fZXllYnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTRweDtcblxuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG5cbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xM2VtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS02MDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuXG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fZXllYnJvdy1udW1iZXIge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy02MDApO1xuICB9XG5cbiAgJl9fZXllYnJvdy1saW5lIHtcbiAgICB3aWR0aDogNDZweDtcbiAgICBoZWlnaHQ6IDFweDtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiBjbGFtcCg3MnB4LCA4dncsIDEyNnB4KTtcbiAgICBsaW5lLWhlaWdodDogMC44NjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNmVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS05MDApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDYycHgsIDh2dywgOTRweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDU0cHgsIDE3dncsIDc4cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgd2lkdGg6IDkycHg7XG4gICAgICBoZWlnaHQ6IDRweDtcblxuICAgICAgbWFyZ2luLXRvcDogMzRweDtcblxuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApLFxuICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTUwMClcbiAgICAgICAgKTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2N0YSB7XG4gICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICBtYXJnaW46IDM2cHggMCAwO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMjJweCwgMnZ3LCAzMHB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtODAwKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFyZ2luLXRvcDogMjhweDtcblxuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHBhZGRpbmc6IDQycHggNDJweCA0MHB4O1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcblxuICAgIGJhY2tncm91bmQ6XG4gICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgY2lyY2xlIGF0IDEwMCUgMCxcbiAgICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjMpLFxuICAgICAgICAgIHRyYW5zcGFyZW50IDM4JVxuICAgICAgKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAxNDVkZWcsXG4gICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTkwMCksXG4gICAgICAgICAgIzAwM2Q3OFxuICAgICAgKTtcblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDMwcHggNzBweCByZ2JhKDAsIDQzLCA5MiwgMC4xOCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIHBhZGRpbmc6IDM0cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBwYWRkaW5nOiAyOHB4IDI0cHggMzBweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTEzMHB4O1xuICAgICAgcmlnaHQ6IC0xMTBweDtcblxuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiAzMDBweDtcblxuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjE4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgYW5pbWF0aW9uOiBjb250YWN0Q2FyZENpcmNsZSAxNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIGhlaWdodDogNXB4O1xuXG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgIHZhcigtLXByaW1hcnkteWVsbG93LTUwMCksXG4gICAgICAgICAgICB2YXIoLS1wcmltYXJ5LWJsdWUtNTAwKSxcbiAgICAgICAgICAgIHZhcigtLXByaW1hcnktYmx1ZS0zMDApXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgJl9fY2FyZC10b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc3RhdHVzIHtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG5cbiAgICBmbGV4OiAwIDAgMTFweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG5cbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgN3B4IHJnYmEoMjU1LCAxOTEsIDAsIDAuMDgpLFxuICAgICAgMCAwIDI0cHggcmdiYSgyNTUsIDE5MSwgMCwgMC40NSk7XG5cbiAgICBhbmltYXRpb246IGNvbnRhY3RTdGF0dXMgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cblxuICAmX19wZXJzb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgcGFkZGluZy1ib3R0b206IDM0cHg7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1lLXVrcmFpbmUtaGVhZDtcbiAgICBmb250LXNpemU6IGNsYW1wKDMwcHgsIDIuN3Z3LCA0MnB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4wNTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMzVlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3Bvc2l0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICB9XG5cbiAgJl9fdW5pdmVyc2l0eSB7XG4gICAgbWF4LXdpZHRoOiA0MjBweDtcblxuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcblxuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gIH1cblxuICAmX19jb250YWN0cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICB9XG5cbiAgJl9fY29udGFjdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI0cHggMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuXG4gICAgbWluLWhlaWdodDogNThweDtcblxuICAgIHBhZGRpbmc6IDEycHggMDtcblxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgcGFkZGluZyAwLjNzIGVhc2UsXG4gICAgICBib3JkZXItY29sb3IgMC4zcyBlYXNlO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBnYXA6IDEzcHg7XG5cbiAgICAgIG1pbi1oZWlnaHQ6IDU0cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMTkxLCAwLCAwLjQ1KTtcblxuICAgICAgICAuY29udGFjdC1wZXJzb25fX2ljb24ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0LXBlcnNvbl9fY29udGFjdC10ZXh0IHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBAaW5jbHVkZSBpY29uLW1hc2s7XG5cbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTMwMCk7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgY29sb3IgMC4zcyBlYXNlLFxuICAgICAgdHJhbnNmb3JtIDAuM3MgZWFzZTtcblxuICAgICYtLW1haWwge1xuICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi9zdmcvbWFpbC5zdmdcIik7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9zdmcvbWFpbC5zdmdcIik7XG4gICAgfVxuXG4gICAgJi0td2hhdHNhcHAge1xuICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi9zdmcvd2hhdHNhcHAuc3ZnXCIpO1xuICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL3doYXRzYXBwLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAmLS1zaXRlIHtcbiAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL3NpdGUuc3ZnXCIpO1xuICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL3NpdGUuc3ZnXCIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhY3QtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc4KTtcblxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NhcmQtZGVjb3JhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMzZweDtcbiAgICBib3R0b206IC0zNnB4O1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAxOTEsIDAsIDAuMTIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgc3BhbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMzBweDtcblxuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjE0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gIH1cblxuICAmX19iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmX19jaXJjbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTE5LCAyMDAsIDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICYtLTEge1xuICAgICAgdG9wOiAtMzAwcHg7XG4gICAgICBsZWZ0OiAtMjIwcHg7XG5cbiAgICAgIHdpZHRoOiA3MjBweDtcbiAgICAgIGhlaWdodDogNzIwcHg7XG5cbiAgICAgIGFuaW1hdGlvbjogY29udGFjdENpcmNsZU9uZSAyOHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICB0b3A6IC0xODBweDtcbiAgICAgICAgbGVmdDogLTI2MHB4O1xuXG4gICAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgIHRvcDogMTglO1xuICAgICAgcmlnaHQ6IC0yNjBweDtcblxuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgaGVpZ2h0OiA2MDBweDtcblxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMTkxLCAwLCAwLjEpO1xuXG4gICAgICBhbmltYXRpb246IGNvbnRhY3RDaXJjbGVUd28gMzRzIGVhc2UtaW4tb3V0IGluZmluaXRlIHJldmVyc2U7XG4gICAgfVxuXG4gICAgJi0tMyB7XG4gICAgICBib3R0b206IC0zNDBweDtcbiAgICAgIGxlZnQ6IDM2JTtcblxuICAgICAgd2lkdGg6IDY4MHB4O1xuICAgICAgaGVpZ2h0OiA2ODBweDtcblxuICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTU5LCAyMjcsIDAuMDcpO1xuXG4gICAgICBhbmltYXRpb246IGNvbnRhY3RDaXJjbGVUaHJlZSAzOHMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX2RvdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS01MDApO1xuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAxMnB4IHJnYmEoMCwgMTU5LCAyMjcsIDAuNiksXG4gICAgICAwIDAgMjhweCByZ2JhKDAsIDE1OSwgMjI3LCAwLjI0KTtcblxuICAgIGFuaW1hdGlvbjogY29udGFjdERvdCA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuICAgICYtLTEge1xuICAgICAgdG9wOiAyMiU7XG4gICAgICBsZWZ0OiA5JTtcbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgIHRvcDogMTglO1xuICAgICAgcmlnaHQ6IDE3JTtcblxuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG5cbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG5cbiAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAxMnB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuNyksXG4gICAgICAgIDAgMCAyOHB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuMjUpO1xuXG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0ycztcbiAgICB9XG5cbiAgICAmLS0zIHtcbiAgICAgIHJpZ2h0OiAzOCU7XG4gICAgICBib3R0b206IDE1JTtcblxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtNHM7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY29udGFjdC1wZXJzb25fX2NhcmQ6OmJlZm9yZSxcbiAgICAuY29udGFjdC1wZXJzb25fX3N0YXR1cyxcbiAgICAuY29udGFjdC1wZXJzb25fX2NpcmNsZSxcbiAgICAuY29udGFjdC1wZXJzb25fX2RvdCB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgY29udGFjdENhcmRDaXJjbGUge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHNjYWxlKDAuOSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKC0yNXB4LCAyMHB4LCAwKVxuICAgICAgc2NhbGUoMS4wOCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjb250YWN0U3RhdHVzIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCA0cHggcmdiYSgyNTUsIDE5MSwgMCwgMC4wNiksXG4gICAgICAwIDAgMTZweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjI1KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwIDEwcHggcmdiYSgyNTUsIDE5MSwgMCwgMC4wOCksXG4gICAgICAwIDAgMjhweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjYpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY29udGFjdENpcmNsZU9uZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgc2NhbGUoMC45NSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDQ1cHgsIDMwcHgsIDApXG4gICAgICBzY2FsZSgxLjA4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNvbnRhY3RDaXJjbGVUd28ge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHNjYWxlKDAuOSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKC01MHB4LCAzMHB4LCAwKVxuICAgICAgc2NhbGUoMS4xKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNvbnRhY3RDaXJjbGVUaHJlZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjb250YWN0RG90IHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuMztcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICBzY2FsZSgwLjgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoMTRweCwgLTE4cHgsIDApXG4gICAgICBzY2FsZSgxLjMpO1xuICB9XG59IiwiQHVzZSBcIi4uL2RlcGVuZGVuY2llc1wiIGFzICo7XG5cbi5jdXJyZW50LXByb2plY3RzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgcGFkZGluZzogMTIwcHggMCAxMzBweDtcblxuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTkwMCk7XG5cbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgIGVsbGlwc2UgYXQgNCUgMTIlLFxuICAgICAgICByZ2JhKDI1NSwgMjA0LCA0MSwgMC4zMikgMCUsXG4gICAgICAgIHJnYmEoMjU1LCAyMjEsIDkyLCAwLjE4KSAyNCUsXG4gICAgICAgIHRyYW5zcGFyZW50IDQ4JVxuICAgICksXG4gICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICBlbGxpcHNlIGF0IDkyJSAxOCUsXG4gICAgICAgIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4zNCkgMCUsXG4gICAgICAgIHJnYmEoMCwgMTU5LCAyMjcsIDAuMTQpIDI2JSxcbiAgICAgICAgdHJhbnNwYXJlbnQgNTIlXG4gICAgKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgIGVsbGlwc2UgYXQgNTAlIDEwMCUsXG4gICAgICAgIHJnYmEoMjE3LCAyNDAsIDI1MCwgMC43MikgMCUsXG4gICAgICAgIHJnYmEoMjM4LCAyNDgsIDI1MiwgMC40MikgMzUlLFxuICAgICAgICB0cmFuc3BhcmVudCA3MCVcbiAgICApLFxuICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTIwZGVnLFxuICAgICAgICAjZmZmOGRjIDAlLFxuICAgICAgICAjZmZmZmZmIDM4JSxcbiAgICAgICAgI2Y3ZmJmZCA1OCUsXG4gICAgICAgICNkZmY0ZmMgMTAwJVxuICAgICk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgcGFkZGluZzogOTBweCAwIDEwMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcGFkZGluZzogNzBweCAwIDc2cHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IC0zO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICByZ2JhKDAsIDExOSwgMjAwLCAwLjAyNSkgMXB4LFxuICAgICAgICAgIHRyYW5zcGFyZW50IDFweFxuICAgICAgKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICByZ2JhKDAsIDExOSwgMjAwLCAwLjAyNSkgMXB4LFxuICAgICAgICAgIHRyYW5zcGFyZW50IDFweFxuICAgICAgKTtcblxuICAgIGJhY2tncm91bmQtc2l6ZTogNjRweCA2NHB4O1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDRweCA0NHB4O1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zNSU7XG4gICAgbGVmdDogLTE1JTtcbiAgICB6LWluZGV4OiAtMjtcblxuICAgIHdpZHRoOiAxMzAlO1xuICAgIGhlaWdodDogMTMwJTtcblxuICAgIGJhY2tncm91bmQ6XG4gICAgICBjb25pYy1ncmFkaWVudChcbiAgICAgICAgICBmcm9tIDE4MGRlZyBhdCA1MCUgNTAlLFxuICAgICAgICAgIHJnYmEoMjU1LCAxOTEsIDAsIDAuMDgpLFxuICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNCksXG4gICAgICAgICAgcmdiYSgwLCAxNTksIDIyNywgMC4xKSxcbiAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpLFxuICAgICAgICAgIHJnYmEoMjU1LCAxOTEsIDAsIDAuMDgpXG4gICAgICApO1xuXG4gICAgZmlsdGVyOiBibHVyKDcwcHgpO1xuXG4gICAgb3BhY2l0eTogMC43NTtcblxuICAgIGFuaW1hdGlvbjogY3VycmVudFByb2plY3RzQmFja2dyb3VuZCAxOHMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHRvcDogLTEwJTtcbiAgICAgIGxlZnQ6IC01MCU7XG5cbiAgICAgIHdpZHRoOiAxODAlO1xuICAgICAgaGVpZ2h0OiAxMjAlO1xuXG4gICAgICBvcGFjaXR5OiAwLjU1O1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjIwcHgsIDAuMzZmcikgbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiBjbGFtcCg1MHB4LCA3dncsIDExMHB4KTtcblxuICAgIG1hcmdpbi1ib3R0b206IDcycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDE4MHB4LCAwLjMyZnIpIG1pbm1heCgwLCAxZnIpO1xuXG4gICAgICBnYXA6IDQ2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIG1hcmdpbi1ib3R0b206IDQycHg7XG4gICAgfVxuICB9XG5cbiAgJl9fZXllYnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIGdhcDogMTRweDtcblxuICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuXG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTNlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtNjAwKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZ2FwOiAxMHB4O1xuXG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cblxuICAmX19leWVicm93LW51bWJlciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnkteWVsbG93LTYwMCk7XG4gIH1cblxuICAmX19leWVicm93LWxpbmUge1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogMXB4O1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibHVlLTMwMCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2hlYWRpbmctbWFpbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoNThweCwgNS4ydncsIDg4cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTkwMCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoNTBweCwgNnZ3LCA3MnB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoNDNweCwgMTJ2dywgNjBweCk7XG4gICAgICBsaW5lLWhlaWdodDogMC45NjtcbiAgICB9XG4gIH1cblxuICAmX19wcm9ncmFtbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuXG4gICAgbWFyZ2luLXRvcDogMjZweDtcblxuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjE0ZW07XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTYwMCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKTtcblxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgNXB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuMSk7XG4gICAgfVxuICB9XG5cbiAgJl9fZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS1ibHVlLTEwMCk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWJsdWUtMTAwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgbWluLWhlaWdodDogMzMwcHg7XG4gICAgcGFkZGluZzogMzBweCAzMHB4IDM0cHg7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS1ibHVlLTEwMCk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktYmx1ZS0xMDApO1xuXG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAxNjBkZWcsXG4gICAgICAgICAgcmdiYSgyMzgsIDI0OCwgMjUyLCAwLjQ4KSxcbiAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpXG4gICAgICApO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSxcbiAgICAgIGJveC1zaGFkb3cgMC40cyBlYXNlLFxuICAgICAgY29sb3IgMC40cyBlYXNlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAyNnB4IDI0cHggMzBweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgei1pbmRleDogMDtcblxuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgICAgY2lyY2xlIGF0IDEwMCUgMCxcbiAgICAgICAgICAgIHJnYmEoMCwgMTU5LCAyMjcsIDAuMjQpLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgMzglXG4gICAgICAgICksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE0NWRlZyxcbiAgICAgICAgICAgIHZhcigtLXByaW1hcnktYmx1ZS05MDApLFxuICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTcwMClcbiAgICAgICAgKTtcblxuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcblxuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSAwLjRzIGVhc2UsXG4gICAgICAgIHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAzMHB4O1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgaGVpZ2h0OiA0cHg7XG5cbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcblxuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgIGxlZnQ6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taG9yaXpvbiB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTUwMCksXG4gICAgICAgICAgICAgIHZhcigtLXByaW1hcnktYmx1ZS0zMDApXG4gICAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLmN1cnJlbnQtcHJvamVjdHNfX3R5cGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTcwMCk7XG5cbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibHVlLTEwMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tZXJhc211cyB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKSxcbiAgICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTUwMClcbiAgICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAuY3VycmVudC1wcm9qZWN0c19fdHlwZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy0xMDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgIDAgMjRweCA0OHB4IHJnYmEoMCwgNDMsIDkyLCAwLjE2KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdXJyZW50LXByb2plY3RzX19udW1iZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmN1cnJlbnQtcHJvamVjdHNfX3R5cGUge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmN1cnJlbnQtcHJvamVjdHNfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcblxuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmN1cnJlbnQtcHJvamVjdHNfX3RleHQsXG4gICAgICAgIC5jdXJyZW50LXByb2plY3RzX19tZXRhIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc2KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiAyMHB4O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogNTZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS01MDApO1xuXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zNXMgZWFzZTtcbiAgfVxuXG4gICZfX3R5cGUge1xuICAgIHBhZGRpbmc6IDhweCAxMXB4O1xuXG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcblxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgY29sb3IgMC4zNXMgZWFzZSxcbiAgICAgIGJhY2tncm91bmQgMC4zNXMgZWFzZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1lLXVrcmFpbmUtaGVhZDtcbiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDIuM3Z3LCAzOHB4KTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS05MDApO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGNvbG9yIDAuMzVzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIG1hcmdpbjogMDtcblxuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtODAwKTtcblxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMzVzIGVhc2U7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gIH1cblxuICAmX19tZXRhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDI4cHg7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTYwMCk7XG5cbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjM1cyBlYXNlO1xuICB9XG5cbiAgJl9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgbWFyZ2luLXRvcDogNDJweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuXG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JhY2tncm91bmQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX2dsb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGZpbHRlcjogYmx1cig2MHB4KTtcblxuICAgICYtLWJsdWUge1xuICAgICAgdG9wOiAxMCU7XG4gICAgICByaWdodDogLTUlO1xuXG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuXG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgICBjaXJjbGUsXG4gICAgICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjEzKSxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDY4JVxuICAgICAgICApO1xuXG4gICAgICBhbmltYXRpb246IGN1cnJlbnRQcm9qZWN0c0JsdWUgMTJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgcmlnaHQ6IC00NSU7XG5cbiAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgICBoZWlnaHQ6IDM2MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXllbGxvdyB7XG4gICAgICBib3R0b206IC0xOCU7XG4gICAgICBsZWZ0OiAtNSU7XG5cbiAgICAgIHdpZHRoOiA0NjBweDtcbiAgICAgIGhlaWdodDogNDYwcHg7XG5cbiAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICAgIGNpcmNsZSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAxOTEsIDAsIDAuMTIpLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgNjglXG4gICAgICAgICk7XG5cbiAgICAgIGFuaW1hdGlvbjogY3VycmVudFByb2plY3RzWWVsbG93IDE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGxlZnQ6IC01NSU7XG5cbiAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgICBoZWlnaHQ6IDM2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmN1cnJlbnQtcHJvamVjdHNfX2dsb3cge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnNvcnRpdW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi10b3A6IDQycHg7XG4gICAgcGFkZGluZzogMzRweCAzOHB4IDM2cHg7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxMTksIDIwMCwgMC4xNik7XG5cbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIDEzNWRlZyxcbiAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpLFxuICAgICAgICAgIHJnYmEoMjE3LCAyNDAsIDI1MCwgMC42MilcbiAgICAgICk7XG5cbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDE4cHggNDVweCByZ2JhKDAsIDQzLCA5MiwgMC4wOCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nOiAyNnB4IDI0cHggMjhweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTgwcHg7XG4gICAgICByaWdodDogLTcwcHg7XG5cbiAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgIGhlaWdodDogMjIwcHg7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgICAgY2lyY2xlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMC4xOCksXG4gICAgICAgICAgICB0cmFuc3BhcmVudCA2OCVcbiAgICAgICAgKTtcblxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0cHg7XG5cbiAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKSxcbiAgICAgICAgICAgIHZhcigtLXByaW1hcnktYmx1ZS01MDApLFxuICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTMwMClcbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAmX19jb25zb3J0aXVtLWhlYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICB9XG5cbiAgJl9fY29uc29ydGl1bS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgMi4ydncsIDM4cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA1O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzNWVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS05MDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29uc29ydGl1bS1kb3Qge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKTtcblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCA3cHggcmdiYSgyNTUsIDE5MSwgMCwgMC4xKSxcbiAgICAgIDAgMCAyMHB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuMzUpO1xuICB9XG5cbiAgJl9fY29uc29ydGl1bS10ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luOiAwIDAgMjRweDtcblxuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS04MDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fY29uc29ydGl1bS1zdWJ0aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS02MDApO1xuICB9XG5cbiAgJl9fY29uc29ydGl1bS10b3BpY3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAxLjV2dywgMjJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS05MDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjdXJyZW50UHJvamVjdHNCbHVlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNDU7XG5cbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgc2NhbGUoMC45KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKC04MHB4LCA1MHB4LCAwKVxuICAgICAgc2NhbGUoMS4xOCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjdXJyZW50UHJvamVjdHNZZWxsb3cge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMC40O1xuXG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHNjYWxlKDAuOSk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuOTtcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDkwcHgsIC01MHB4LCAwKVxuICAgICAgc2NhbGUoMS4xOCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjdXJyZW50UHJvamVjdHNCYWNrZ3JvdW5kIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKC0zJSwgMCwgMClcbiAgICAgIHJvdGF0ZSgtNGRlZylcbiAgICAgIHNjYWxlKDAuOTYpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoNiUsIDUlLCAwKVxuICAgICAgcm90YXRlKDZkZWcpXG4gICAgICBzY2FsZSgxLjA4KTtcbiAgfVxufSIsIkB1c2UgXCIuLi9kZXBlbmRlbmNpZXNcIiBhcyAqO1xuXG4uYmxvY2staGVyby0tZmxvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNzYwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuICBiYWNrZ3JvdW5kOiAjMDAxYjNkO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgIG1pbi1oZWlnaHQ6IDY4MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgbWluLWhlaWdodDogNzIwcHg7XG4gIH1cblxuICAuYmxvY2staGVyb19fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogLTMlO1xuICAgIHotaW5kZXg6IC0zO1xuICAgIGJhY2tncm91bmQ6XG4gICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgcmdiYSgwLCAxOCwgNDMsIDAuOTIpIDAlLFxuICAgICAgICAgIHJnYmEoMCwgMjUsIDU4LCAwLjc2KSAzOCUsXG4gICAgICAgICAgcmdiYSgwLCAyNywgNjEsIDAuMTIpIDY3JSxcbiAgICAgICAgICB0cmFuc3BhcmVudCAxMDAlXG4gICAgICApLFxuICAgICAgdXJsKFwiLi4vaW1hZ2VzL2hlcm8tYmcucG5nXCIpIGNlbnRlciBjZW50ZXIgLyBjb3ZlciBuby1yZXBlYXQ7XG4gICAgYW5pbWF0aW9uOiBoZXJvRWFydGhCcmVhdGhpbmcgMTJzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMTgwZGVnLFxuICAgICAgICAgICAgcmdiYSgwLCAxOSwgNDQsIDAuMjUpIDAlLFxuICAgICAgICAgICAgcmdiYSgwLCAyMCwgNDgsIDAuNzQpIDQ0JSxcbiAgICAgICAgICAgIHJnYmEoMCwgMTgsIDQzLCAwLjk4KSA3MiVcbiAgICAgICAgKSxcbiAgICAgICAgdXJsKFwiLi4vaW1hZ2VzL2hlcm8tYmcucG5nXCIpIDY4JSBjZW50ZXIgLyBjb3ZlciBuby1yZXBlYXQ7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGJhY2tncm91bmQ6XG4gICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgY2lyY2xlIGF0IDMyJSA0NSUsXG4gICAgICAgICAgcmdiYSgwLCAxNTksIDIyNywgMC4xKSxcbiAgICAgICAgICB0cmFuc3BhcmVudCAyOCVcbiAgICAgICk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAuaG5ldS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgLmJsb2NrLWhlcm9fX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNzYwcHg7XG4gICAgcGFkZGluZzogMTYwcHggMCA3OHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBtaW4taGVpZ2h0OiA2ODBweDtcbiAgICAgIHBhZGRpbmc6IDEzNXB4IDAgNjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIG1pbi1oZWlnaHQ6IDcyMHB4O1xuICAgICAgcGFkZGluZzogMjEwcHggMCA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5ibG9jay1oZXJvX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogbWluKDY5MHB4LCA1NiUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICB3aWR0aDogNjIlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLWhlcm9fX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogMCAwIDMycHg7XG4gICAgZm9udC1zaXplOiBjbGFtcCg1OHB4LCA1Ljh2dywgOTJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTI7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCg0NHB4LCAxM3Z3LCA2MnB4KTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogODJweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLWhlcm9fX3N1YnRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDYxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyMXB4LCAxLjh2dywgMjhweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrLWhlcm9fX3RleHQge1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc4KTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIC5ibG9jay1oZXJvX19hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGdhcDogMTJweDtcbiAgICBtYXJnaW4tdG9wOiAzNHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLS1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibHVlLTEwMCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTEwMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAyOHB4IHJnYmEoMCwgMTU5LCAyMjcsIDAuMTgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tLXNlY29uZGFyeSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTkwMCk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjEpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJsdWUtNjAwKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtNjAwKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI4cHggcmdiYSgwLCAxNTksIDIyNywgMC4yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLS10ZXJ0aWFyeSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS13aGl0ZSk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDQzLCA5MiwgMC4yOCk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMTE1LCAyMDEsIDIzOCwgMC43KTtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS05MDApO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJsdWUtMTAwKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtMTAwKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI4cHggcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjE2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmxvY2staGVyb19fZGVjb3JhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0xMzBweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiA2NTBweDtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjkyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBsZWZ0OiAtMjAwcHg7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICB0b3A6IDI1JTtcbiAgICAgIGxlZnQ6IC01MCU7XG4gICAgICB3aWR0aDogMTIwdnc7XG4gICAgICBoZWlnaHQ6IDI4MHB4O1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxuXG4gIC5ibG9jay1oZXJvX19mbG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTE0JTtcbiAgICB3aWR0aDogMTE1JTtcbiAgICBoZWlnaHQ6IDE3MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIH1cblxuICAgICYtLWJsdWUge1xuICAgICAgdG9wOiA4MHB4O1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMCwgMTU5LCAyMjcsIDAuNyk7XG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIC04cHggMzBweCByZ2JhKDAsIDE1OSwgMjI3LCAwLjE4KSxcbiAgICAgICAgaW5zZXQgMCAxNXB4IDIwcHggcmdiYSgwLCAxNTksIDIyNywgMC4wOCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTtcbiAgICAgIGFuaW1hdGlvbjogaGVyb0Zsb3dCbHVlIDhzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCByZ2JhKDExNSwgMjAxLCAyMzgsIDAuNjUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMThweCk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCByZ2JhKDAsIDE1OSwgMjI3LCAwLjM4KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDM2cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXllbGxvdyB7XG4gICAgICB0b3A6IDIyNXB4O1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMjU1LCAxOTEsIDAsIDAuNjUpO1xuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAtOHB4IDMwcHggcmdiYSgyNTUsIDE5MSwgMCwgMC4xMik7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOGRlZyk7XG4gICAgICBhbmltYXRpb246IGhlcm9GbG93WWVsbG93IDExcyBlYXNlLWluLW91dCBpbmZpbml0ZSBhbHRlcm5hdGU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBkb3R0ZWQgcmdiYSgyNTUsIDIwNCwgNDEsIDAuNTUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTdweCk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCByZ2JhKDI1NSwgMTkxLCAwLCAwLjMyKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDM1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ibG9jay1oZXJvX19zcGFyayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA3cHg7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMTJweCBjdXJyZW50Q29sb3IsXG4gICAgICAwIDAgMjhweCBjdXJyZW50Q29sb3I7XG4gICAgYW5pbWF0aW9uOiBoZXJvU3BhcmsgNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cbiAgICAmLS0xIHtcbiAgICAgIHRvcDogMjIlO1xuICAgICAgbGVmdDogMzQlO1xuICAgIH1cblxuICAgICYtLTIge1xuICAgICAgdG9wOiA0OCU7XG4gICAgICBsZWZ0OiA1OCU7XG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMS40cztcbiAgICB9XG5cbiAgICAmLS0zIHtcbiAgICAgIHRvcDogNjclO1xuICAgICAgbGVmdDogMjYlO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMi4zcztcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5ibG9jay1oZXJvX19iZyxcbiAgICAuYmxvY2staGVyb19fZmxvdyxcbiAgICAuYmxvY2staGVyb19fc3Bhcmsge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlcm9FYXJ0aEJyZWF0aGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0NSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoZXJvRmxvd0JsdWUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoLTQlLCAtOHB4LCAwKVxuICAgICAgcm90YXRlKDdkZWcpXG4gICAgICBzY2FsZVgoMC45NCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCg1JSwgMTRweCwgMClcbiAgICAgIHJvdGF0ZSgyZGVnKVxuICAgICAgc2NhbGVYKDEuMDgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVyb0Zsb3dZZWxsb3cge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoMyUsIDEwcHgsIDApXG4gICAgICByb3RhdGUoLThkZWcpXG4gICAgICBzY2FsZVgoMS4wNSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgtNSUsIC0xMHB4LCAwKVxuICAgICAgcm90YXRlKC0zZGVnKVxuICAgICAgc2NhbGVYKDAuOTQpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVyb1NwYXJrIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zNSk7XG4gIH1cbn0iLCJAdXNlIFwiLi4vZGVwZW5kZW5jaWVzXCIgYXMgKjtcblxuLmludGVybmF0aW9uYWwtY29vcGVyYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcblxuICBwYWRkaW5nOiAxMjBweCAwIDEzMHB4O1xuXG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcblxuICBiYWNrZ3JvdW5kOlxuICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgZWxsaXBzZSBhdCA5MCUgMTIlLFxuICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjEyKSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMzAlXG4gICAgKSxcbiAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgIGVsbGlwc2UgYXQgMTglIDgyJSxcbiAgICAgICAgcmdiYSgwLCAxNTksIDIyNywgMC4yKSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMzQlXG4gICAgKSxcbiAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDEzNWRlZyxcbiAgICAgICAgIzAwMTYyZiAwJSxcbiAgICAgICAgIzAwMmI1YyA0NiUsXG4gICAgICAgICMwMDNjNzMgNzIlLFxuICAgICAgICAjMDAxOTJmIDEwMCVcbiAgICApO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgIHBhZGRpbmc6IDkwcHggMCAxMDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIHBhZGRpbmc6IDcwcHggMCA3NnB4O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAtMztcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjAzKSAxcHgsXG4gICAgICAgICAgdHJhbnNwYXJlbnQgMXB4XG4gICAgICApLFxuICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgIDkwZGVnLFxuICAgICAgICAgIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4wMykgMXB4LFxuICAgICAgICAgIHRyYW5zcGFyZW50IDFweFxuICAgICAgKTtcblxuICAgIGJhY2tncm91bmQtc2l6ZTogNjBweCA2MHB4O1xuXG4gICAgb3BhY2l0eTogMC41NTtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgYW5pbWF0aW9uOiBjb29wZXJhdGlvbkdyaWRNb3ZlIDIwcyBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDRweCA0NHB4O1xuICAgICAgb3BhY2l0eTogMC4zNTtcbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAmX19oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDIyMHB4LCAwLjM2ZnIpIG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogY2xhbXAoNTBweCwgN3Z3LCAxMTBweCk7XG5cbiAgICBtYXJnaW4tYm90dG9tOiA3MnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxODBweCwgMC4zMmZyKSBtaW5tYXgoMCwgMWZyKTtcblxuICAgICAgZ2FwOiA0NnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTZweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2V5ZWJyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBnYXA6IDE0cHg7XG5cbiAgICBwYWRkaW5nLXRvcDogMTRweDtcblxuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEzZW07XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTMwMCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdhcDogMTBweDtcblxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fZXllYnJvdy1udW1iZXIge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICB9XG5cbiAgJl9fZXllYnJvdy1saW5lIHtcbiAgICB3aWR0aDogNDZweDtcbiAgICBoZWlnaHQ6IDFweDtcblxuICAgIGJhY2tncm91bmQ6IHJnYmEoMTE1LCAyMDEsIDIzOCwgMC41NSk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIG1hcmdpbjogMDtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1lLXVrcmFpbmUtaGVhZDtcbiAgICBmb250LXNpemU6IGNsYW1wKDU4cHgsIDUuMnZ3LCA4OHB4KTtcbiAgICBsaW5lLWhlaWdodDogMC45NDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDUwcHgsIDZ2dywgNzJweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDQ0cHgsIDEzdncsIDYycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTY7XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjIpO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjIpO1xuXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAyNywgNjEsIDAuMTIpO1xuXG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MnB4IDFmciBhdXRvO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuXG4gICAgbWluLWhlaWdodDogMTEycHg7XG4gICAgcGFkZGluZzogMjRweCAyOHB4O1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4yKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjIpO1xuXG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAxMzVkZWcsXG4gICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzNSksXG4gICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAwOClcbiAgICAgICk7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYmFja2dyb3VuZCAwLjRzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSksXG4gICAgICBib3gtc2hhZG93IDAuNHMgZWFzZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgbWluLWhlaWdodDogMTAycHg7XG4gICAgICBwYWRkaW5nOiAyMnB4IDI0cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM0cHggMWZyIGF1dG87XG4gICAgICBnYXA6IDEycHg7XG5cbiAgICAgIG1pbi1oZWlnaHQ6IDkycHg7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICB6LWluZGV4OiAwO1xuXG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICAxMjBkZWcsXG4gICAgICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjE2KSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAxOTEsIDAsIDAuMDYpXG4gICAgICAgICk7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIGhlaWdodDogM3B4O1xuXG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgIHZhcigtLXByaW1hcnktYmx1ZS01MDApLFxuICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKVxuICAgICAgICApO1xuXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG5cbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCA1OSwgMTE1LCAwLjI4KTtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7XG5cbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDE4cHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMTQpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnRlcm5hdGlvbmFsLWNvb3BlcmF0aW9uX19udW1iZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmludGVybmF0aW9uYWwtY29vcGVyYXRpb25fX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmludGVybmF0aW9uYWwtY29vcGVyYXRpb25fX2RvdCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG5cbiAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgMCAwIDAgNnB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuMDgpLFxuICAgICAgICAgICAgMCAwIDIwcHggcmdiYSgyNTUsIDE5MSwgMCwgMC40NSk7XG5cbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19udW1iZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcblxuICAgIGNvbG9yOiByZ2JhKDExNSwgMjAxLCAyMzgsIDAuNjgpO1xuXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zNXMgZWFzZTtcbiAgfVxuXG4gICZfX2l0ZW0tdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMS42NXZ3LCAyNnB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHRyYW5zZm9ybSAwLjM1cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB9XG4gIH1cblxuICAmX19kb3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgd2lkdGg6IDlweDtcbiAgICBoZWlnaHQ6IDlweDtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIHRyYW5zaXRpb246XG4gICAgICBiYWNrZ3JvdW5kIDAuMzVzIGVhc2UsXG4gICAgICBib3JkZXItY29sb3IgMC4zNXMgZWFzZSxcbiAgICAgIGJveC1zaGFkb3cgMC4zNXMgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAwLjM1cyBlYXNlO1xuICB9XG5cbiAgJl9fYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJl9fZ2xvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgZmlsdGVyOiBibHVyKDYwcHgpO1xuXG4gICAgJi0tYmx1ZSB7XG4gICAgICB0b3A6IDEwJTtcbiAgICAgIGxlZnQ6IDMwJTtcblxuICAgICAgd2lkdGg6IDUyMHB4O1xuICAgICAgaGVpZ2h0OiA1MjBweDtcblxuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgICAgY2lyY2xlLFxuICAgICAgICAgICAgcmdiYSgwLCAxNTksIDIyNywgMC4xOCksXG4gICAgICAgICAgICB0cmFuc3BhcmVudCA2OCVcbiAgICAgICAgKTtcblxuICAgICAgYW5pbWF0aW9uOiBjb29wZXJhdGlvbkJsdWVHbG93IDEycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGxlZnQ6IC0zMCU7XG5cbiAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgICBoZWlnaHQ6IDM2MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXllbGxvdyB7XG4gICAgICByaWdodDogLTQlO1xuICAgICAgYm90dG9tOiAtMTQlO1xuXG4gICAgICB3aWR0aDogNDYwcHg7XG4gICAgICBoZWlnaHQ6IDQ2MHB4O1xuXG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgICBjaXJjbGUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjEyKSxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDY4JVxuICAgICAgICApO1xuXG4gICAgICBhbmltYXRpb246IGNvb3BlcmF0aW9uWWVsbG93R2xvdyAxNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICByaWdodDogLTUwJTtcblxuICAgICAgICB3aWR0aDogMzQwcHg7XG4gICAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fb3JiaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4wOSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJi0tMSB7XG4gICAgICB0b3A6IC0yODBweDtcbiAgICAgIHJpZ2h0OiAtMTgwcHg7XG5cbiAgICAgIHdpZHRoOiA2NTBweDtcbiAgICAgIGhlaWdodDogNjUwcHg7XG5cbiAgICAgIGFuaW1hdGlvbjogY29vcGVyYXRpb25PcmJpdE9uZSAzNHMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cblxuICAgICYtLTIge1xuICAgICAgYm90dG9tOiAtMzQwcHg7XG4gICAgICBsZWZ0OiAtMjIwcHg7XG5cbiAgICAgIHdpZHRoOiA3NjBweDtcbiAgICAgIGhlaWdodDogNzYwcHg7XG5cbiAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMTkxLCAwLCAwLjA3KTtcblxuICAgICAgYW5pbWF0aW9uOiBjb29wZXJhdGlvbk9yYml0VHdvIDQycyBsaW5lYXIgaW5maW5pdGUgcmV2ZXJzZTtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICY6OmJlZm9yZSxcbiAgICAuaW50ZXJuYXRpb25hbC1jb29wZXJhdGlvbl9fZ2xvdyxcbiAgICAuaW50ZXJuYXRpb25hbC1jb29wZXJhdGlvbl9fb3JiaXQge1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNvb3BlcmF0aW9uR3JpZE1vdmUge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cblxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNjBweCA2MHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY29vcGVyYXRpb25CbHVlR2xvdyB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjM1O1xuXG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoLTQwcHgsIDMwcHgsIDApXG4gICAgICBzY2FsZSgwLjkpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjk7XG5cbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCg5MHB4LCAtNTBweCwgMClcbiAgICAgIHNjYWxlKDEuMTgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY29vcGVyYXRpb25ZZWxsb3dHbG93IHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuMztcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDMwcHgsIDMwcHgsIDApXG4gICAgICBzY2FsZSgwLjkpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjg7XG5cbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgtODBweCwgLTYwcHgsIDApXG4gICAgICBzY2FsZSgxLjIpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgY29vcGVyYXRpb25PcmJpdE9uZSB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDAuOTUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHNjYWxlKDEuMDYpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgc2NhbGUoMC45NSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBjb29wZXJhdGlvbk9yYml0VHdvIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlM2QoNTBweCwgLTMwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn0iLCJAdXNlIFwiLi4vZGVwZW5kZW5jaWVzXCIgYXMgKjtcblxuLmtleS1hcmVhcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBwYWRkaW5nOiAxMjBweCAwIDEzMHB4O1xuXG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcblxuICBiYWNrZ3JvdW5kOlxuICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgY2lyY2xlIGF0IDg4JSAxMiUsXG4gICAgICAgIHJnYmEoMCwgMTU5LCAyMjcsIDAuMDgpLFxuICAgICAgICB0cmFuc3BhcmVudCAyOCVcbiAgICApLFxuICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgY2lyY2xlIGF0IDEwJSA4OCUsXG4gICAgICAgIHJnYmEoMjU1LCAxOTEsIDAsIDAuMDgpLFxuICAgICAgICB0cmFuc3BhcmVudCAyNCVcbiAgICApLFxuICAgIHZhcigtLXByaW1hcnktd2hpdGUpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgIHBhZGRpbmc6IDkwcHggMCAxMDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIHBhZGRpbmc6IDcwcHggMCA3NnB4O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAwO1xuXG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICB0cmFuc3BhcmVudCAwJSxcbiAgICAgICAgICByZ2JhKDAsIDExOSwgMjAwLCAwLjAzNSkgNTAlLFxuICAgICAgICAgIHRyYW5zcGFyZW50IDEwMCVcbiAgICAgICk7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMjIwcHgsIDAuMzhmcikgbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiBjbGFtcCg1MHB4LCA3dncsIDExMHB4KTtcblxuICAgIG1hcmdpbi1ib3R0b206IDcycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDE4MHB4LCAwLjM0ZnIpIG1pbm1heCgwLCAxZnIpO1xuXG4gICAgICBnYXA6IDQ2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2V5ZWJyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBnYXA6IDE0cHg7XG5cbiAgICBwYWRkaW5nLXRvcDogMTRweDtcblxuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEzZW07XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTYwMCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdhcDogMTBweDtcblxuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fZXllYnJvdy1udW1iZXIge1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy02MDApO1xuICB9XG5cbiAgJl9fZXllYnJvdy1saW5lIHtcbiAgICB3aWR0aDogNDZweDtcbiAgICBoZWlnaHQ6IDFweDtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWF4LXdpZHRoOiA5NTBweDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiBjbGFtcCg1OHB4LCA1LjN2dywgOTBweCk7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTQ7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCg1MnB4LCA2dncsIDc0cHgpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCg0NHB4LCAxM3Z3LCA2MnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk2O1xuICAgIH1cbiAgfVxuXG4gICZfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpO1xuXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktYmx1ZS0xMDApO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS1ibHVlLTEwMCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1pbi1oZWlnaHQ6IDUyMHB4O1xuICAgIHBhZGRpbmc6IDMwcHggMjhweCAzNHB4O1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktYmx1ZS0xMDApO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWJsdWUtMTAwKTtcblxuICAgIGJhY2tncm91bmQ6XG4gICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgMTgwZGVnLFxuICAgICAgICAgIHJnYmEoMjM4LCAyNDgsIDI1MiwgMC4zNSksXG4gICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpXG4gICAgICApO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGNvbG9yIDAuNHMgZWFzZSxcbiAgICAgIGJhY2tncm91bmQgMC40NXMgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSksXG4gICAgICBib3gtc2hhZG93IDAuNDVzIGVhc2U7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQzMHB4O1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAyOHB4IDI0cHggMzJweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgei1pbmRleDogMDtcblxuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgICAgY2lyY2xlIGF0IDEwMCUgMCxcbiAgICAgICAgICAgIHJnYmEoMCwgMTU5LCAyMjcsIDAuMjIpLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgMzYlXG4gICAgICAgICksXG4gICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE1MGRlZyxcbiAgICAgICAgICAgIHZhcigtLXByaW1hcnktYmx1ZS05MDApLFxuICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTcwMClcbiAgICAgICAgKTtcblxuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcblxuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgb3BhY2l0eSAwLjQ1cyBlYXNlLFxuICAgICAgICB0cmFuc2Zvcm0gMC41NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjhweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICBoZWlnaHQ6IDRweDtcblxuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgICB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApLFxuICAgICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTUwMClcbiAgICAgICAgKTtcblxuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuXG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICB0cmFuc2Zvcm0gMC40NXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgcmlnaHQ6IDI0cHg7XG4gICAgICAgIGxlZnQ6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLThweCk7XG5cbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAwIDI0cHggNTBweCByZ2JhKDAsIDQzLCA5MiwgMC4xNSk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIH1cblxuICAgICAgICAua2V5LWFyZWFzX19udW1iZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmtleS1hcmVhc19fbWFya2VyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKTtcblxuICAgICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICAwIDAgMCA3cHggcmdiYSgyNTUsIDE5MSwgMCwgMC4xKSxcbiAgICAgICAgICAgIDAgMCAyMnB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuNDIpO1xuXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmtleS1hcmVhc19faXRlbS10aXRsZSB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5rZXktYXJlYXNfX2xpc3Qge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0tdG9wIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBtYXJnaW4tYm90dG9tOiA1OHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgICB9XG4gIH1cblxuICAmX19udW1iZXIge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1lLXVrcmFpbmUtaGVhZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xMmVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS01MDApO1xuXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zNXMgZWFzZTtcbiAgfVxuXG4gICZfX21hcmtlciB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJpbWFyeS1ibHVlLTMwMCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGJhY2tncm91bmQgMC4zNXMgZWFzZSxcbiAgICAgIGJvcmRlci1jb2xvciAwLjM1cyBlYXNlLFxuICAgICAgYm94LXNoYWRvdyAwLjM1cyBlYXNlLFxuICAgICAgdHJhbnNmb3JtIDAuMzVzIGVhc2U7XG4gIH1cblxuICAmX19pdGVtLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIG1pbi1oZWlnaHQ6IDk0cHg7XG4gICAgbWFyZ2luOiAwIDAgMzRweDtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1lLXVrcmFpbmUtaGVhZDtcbiAgICBmb250LXNpemU6IGNsYW1wKDIzcHgsIDEuOHZ3LCAzMXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4wODtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMzVlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcblxuICAgIHRyYW5zaXRpb246XG4gICAgICBjb2xvciAwLjM1cyBlYXNlLFxuICAgICAgdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgbWluLWhlaWdodDogNzBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuXG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBnYXA6IDE0cHg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBwYWRkaW5nLWxlZnQ6IDE5cHg7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTgwMCk7XG5cbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMzVzIGVhc2U7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwLjYyZW07XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS01MDApO1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIGJhY2tncm91bmQgMC4zNXMgZWFzZSxcbiAgICAgICAgICB0cmFuc2Zvcm0gMC4zNXMgZWFzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19kZWNvcmF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogMDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX2NpcmNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxMTksIDIwMCwgMC4wNyk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgYW5pbWF0aW9uOiBrZXlBcmVhc0NpcmNsZSAyMnMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlO1xuXG4gICAgJi0tMSB7XG4gICAgICB0b3A6IC0yODBweDtcbiAgICAgIHJpZ2h0OiAtMTgwcHg7XG5cbiAgICAgIHdpZHRoOiA2MjBweDtcbiAgICAgIGhlaWdodDogNjIwcHg7XG4gICAgfVxuXG4gICAgJi0tMiB7XG4gICAgICByaWdodDogMTYlO1xuICAgICAgYm90dG9tOiAtMzYwcHg7XG5cbiAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgIGhlaWdodDogNzAwcHg7XG5cbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDE5MSwgMCwgMC4wOCk7XG5cbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMjhzO1xuICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlLXJldmVyc2U7XG4gICAgfVxuXG4gICAgJi0tMyB7XG4gICAgICB0b3A6IDMzJTtcbiAgICAgIGxlZnQ6IC0xNzBweDtcblxuICAgICAgd2lkdGg6IDM0MHB4O1xuICAgICAgaGVpZ2h0OiAzNDBweDtcblxuICAgICAgYm9yZGVyLXN0eWxlOiBkYXNoZWQ7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTU5LCAyMjcsIDAuMDgpO1xuXG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDE4cztcbiAgICB9XG4gIH1cblxuICAmX19kb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LWJsdWUtNTAwKTtcblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMTBweCByZ2JhKDAsIDE1OSwgMjI3LCAwLjYpLFxuICAgICAgMCAwIDI0cHggcmdiYSgwLCAxNTksIDIyNywgMC4yNSk7XG5cbiAgICBhbmltYXRpb246IGtleUFyZWFzRG90IDZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXG4gICAgJi0tMSB7XG4gICAgICB0b3A6IDE4JTtcbiAgICAgIHJpZ2h0OiAxMiU7XG4gICAgfVxuXG4gICAgJi0tMiB7XG4gICAgICBib3R0b206IDIxJTtcbiAgICAgIGxlZnQ6IDklO1xuXG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcblxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKTtcblxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDEwcHggcmdiYSgyNTUsIDE5MSwgMCwgMC43KSxcbiAgICAgICAgMCAwIDI0cHggcmdiYSgyNTUsIDE5MSwgMCwgMC4yOCk7XG5cbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTJzO1xuICAgIH1cblxuICAgICYtLTMge1xuICAgICAgdG9wOiA1NCU7XG4gICAgICBsZWZ0OiA0NyU7XG5cbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcblxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtNHM7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAua2V5LWFyZWFzX19jaXJjbGUsXG4gICAgLmtleS1hcmVhc19fZG90IHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBrZXlBcmVhc0NpcmNsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgc2NhbGUoMC45NSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCg0MHB4LCAtMzBweCwgMClcbiAgICAgIHNjYWxlKDEuMDgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMga2V5QXJlYXNEb3Qge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuXG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHNjYWxlKDAuNzUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoMTRweCwgLTIwcHgsIDApXG4gICAgICBzY2FsZSgxLjMpO1xuICB9XG59IiwiQHVzZSBcIi4uL2RlcGVuZGVuY2llc1wiIGFzICo7XG5cbi5zb2NpYWwtY29ubmVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuXG4gIHBhZGRpbmc6IDEyMHB4IDAgODBweDtcblxuICBjb2xvcjogdmFyKC0tcHJpbWFyeS13aGl0ZSk7XG5cbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgIGVsbGlwc2UgYXQgODUlIDglLFxuICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjM0KSAwJSxcbiAgICAgICAgcmdiYSgwLCAxMTksIDIwMCwgMC4xNCkgMjYlLFxuICAgICAgICB0cmFuc3BhcmVudCA1MiVcbiAgICApLFxuICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgZWxsaXBzZSBhdCAxMiUgODglLFxuICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjI0KSAwJSxcbiAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMC4wOCkgMjYlLFxuICAgICAgICB0cmFuc3BhcmVudCA1MCVcbiAgICApLFxuICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTM1ZGVnLFxuICAgICAgICAjMDAxNTJmIDAlLFxuICAgICAgICAjMDAzYTczIDQyJSxcbiAgICAgICAgIzAwNWI5ZiA2MyUsXG4gICAgICAgICMwMDJiNTkgODAlLFxuICAgICAgICAjMDAxNzJmIDEwMCVcbiAgICApO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgIHBhZGRpbmc6IDkwcHggMCA3MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcGFkZGluZzogNzBweCAwIDUwcHg7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IC0zO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTpcbiAgICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICBjaXJjbGUsXG4gICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSAxcHgsXG4gICAgICAgICAgdHJhbnNwYXJlbnQgMXB4XG4gICAgICApO1xuXG4gICAgYmFja2dyb3VuZC1zaXplOiAzOHB4IDM4cHg7XG5cbiAgICBvcGFjaXR5OiAwLjIyO1xuXG4gICAgYW5pbWF0aW9uOiBzb2NpYWxTdGFyc01vdmUgMjJzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMzBweDtcbiAgICAgIG9wYWNpdHk6IDAuMTY7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTQwJTtcbiAgICBsZWZ0OiAyMCU7XG4gICAgei1pbmRleDogLTI7XG5cbiAgICB3aWR0aDogOTAlO1xuICAgIGhlaWdodDogMTIwJTtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQ6XG4gICAgICBjb25pYy1ncmFkaWVudChcbiAgICAgICAgICBmcm9tIDIxMGRlZyxcbiAgICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwKSxcbiAgICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjIpLFxuICAgICAgICAgIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4wOCksXG4gICAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMC4xMyksXG4gICAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMCksXG4gICAgICAgICAgcmdiYSgwLCAxNTksIDIyNywgMClcbiAgICAgICk7XG5cbiAgICBmaWx0ZXI6IGJsdXIoOTBweCk7XG5cbiAgICBvcGFjaXR5OiAwLjg7XG5cbiAgICBhbmltYXRpb246IHNvY2lhbEF1cm9yYSAxOHMgZWFzZS1pbi1vdXQgaW5maW5pdGUgYWx0ZXJuYXRlO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHRvcDogLTEwJTtcbiAgICAgIGxlZnQ6IC01MCU7XG5cbiAgICAgIHdpZHRoOiAxODAlO1xuICAgICAgaGVpZ2h0OiA5MCU7XG5cbiAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgfVxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICB9XG5cbiAgJl9fdG9wIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDIwMHB4LCAwLjM0ZnIpIG1pbm1heCgwLCAwLjg1ZnIpIG1pbm1heCgzNDBweCwgMC43ZnIpO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBnYXA6IGNsYW1wKDQwcHgsIDV2dywgODBweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDE2MHB4LCAwLjNmcikgbWlubWF4KDAsIDFmcik7XG4gICAgICBnYXA6IDQ0cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19leWVicm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNHB4O1xuXG4gICAgcGFkZGluZy10b3A6IDE0cHg7XG5cbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4xM2VtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cblxuICAmX19leWVicm93LW51bWJlciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG4gIH1cblxuICAmX19leWVicm93LWxpbmUge1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogMXB4O1xuXG4gICAgYmFja2dyb3VuZDogcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjU1KTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICBsaW5lLWhlaWdodDogMC45NDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDUwcHgsIDZ2dywgNzJweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuXG4gICAgICBmb250LXNpemU6IGNsYW1wKDQ0cHgsIDEzdncsIDYycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTY7XG4gICAgfVxuICB9XG5cbiAgJl9fbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDExNSwgMjAxLCAyMzgsIDAuMjQpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNnB4IDFmciAyMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuXG4gICAgbWluLWhlaWdodDogNjhweDtcbiAgICBwYWRkaW5nOiAxNHB4IDRweDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjI0KTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgcGFkZGluZyAwLjM1cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSksXG4gICAgICBib3JkZXItY29sb3IgMC4zNXMgZWFzZSxcbiAgICAgIGJhY2tncm91bmQgMC4zNXMgZWFzZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgbWluLWhlaWdodDogNjJweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuXG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgIHJnYmEoMCwgMTU5LCAyMjcsIDAuMTgpLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMC4wOClcbiAgICAgICAgKTtcblxuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cyBlYXNlO1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTRweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuXG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDE5MSwgMCwgMC41KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuc29jaWFsLWNvbm5lY3RfX2ljb24ge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuc29jaWFsLWNvbm5lY3RfX2Fycm93IHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRweCwgLTRweCwgMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG4gICAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIEBpbmNsdWRlIGljb24tbWFzaztcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAyM3B4O1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIGNvbG9yIDAuM3MgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG5cbiAgICAmLS1zaXRlIHtcbiAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL3NpdGUuc3ZnXCIpO1xuICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL3NpdGUuc3ZnXCIpO1xuICAgIH1cblxuICAgICYtLWxpbmtlZGluIHtcbiAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL2xpbmtlZGluLnN2Z1wiKTtcbiAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uL3N2Zy9saW5rZWRpbi5zdmdcIik7XG4gICAgfVxuXG4gICAgJi0tZmFjZWJvb2sge1xuICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi9zdmcvZmFjZWJvb2suc3ZnXCIpO1xuICAgICAgbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL2ZhY2Vib29rLnN2Z1wiKTtcbiAgICB9XG5cbiAgICAmLS1pbnN0YWdyYW0ge1xuICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCIuLi9zdmcvaW5zdGFncmFtLnN2Z1wiKTtcbiAgICAgIG1hc2staW1hZ2U6IHVybChcIi4uL3N2Zy9pbnN0YWdyYW0uc3ZnXCIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmstdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gICZfX2Fycm93IHtcbiAgICBAaW5jbHVkZSBpY29uLW1hc2s7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKTtcblxuICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiLi4vc3ZnL2ljb24tYnRuLWFycm93LnN2Z1wiKTtcbiAgICBtYXNrLWltYWdlOiB1cmwoXCIuLi9zdmcvaWNvbi1idG4tYXJyb3cuc3ZnXCIpO1xuXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgIHRyYW5zaXRpb246XG4gICAgICBjb2xvciAwLjNzIGVhc2UsXG4gICAgICB0cmFuc2Zvcm0gMC4zNXMgY3ViaWMtYmV6aWVyKDAuMjIsIDEsIDAuMzYsIDEpO1xuICB9XG5cbiAgJl9fY2xvc2luZyB7XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIG1hcmdpbi10b3A6IDkwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2Nsb3NpbmctbGluZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcblxuICAgIGJhY2tncm91bmQ6XG4gICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgOTBkZWcsXG4gICAgICAgICAgdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKSAwJSxcbiAgICAgICAgICB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKSAzMiUsXG4gICAgICAgICAgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjEyKSAxMDAlXG4gICAgICApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NnB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgaGVpZ2h0OiA5cHg7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS15ZWxsb3ctNTAwKTtcblxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgN3B4IHJnYmEoMjU1LCAxOTEsIDAsIDAuMDcpLFxuICAgICAgICAwIDAgMjBweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjQpO1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJl9fY2xvc2luZy10aXRsZSB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICBsaW5lLWhlaWdodDogMC45MztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNTVlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCg1MnB4LCA3dncsIDgycHgpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCg0MnB4LCAxMnZ3LCA2MnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjk4O1xuICAgIH1cbiAgfVxuXG4gICZfX2Nsb3NpbmctYm90dG9tIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDAuOGZyKSBtaW5tYXgoMzAwcHgsIDAuN2ZyKTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIGdhcDogNjBweDtcblxuICAgIG1hcmdpbi10b3A6IDcwcHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiA0MnB4O1xuXG4gICAgICBtYXJnaW4tdG9wOiA0NnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2Nsb3NpbmctdGV4dCB7XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG5cbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzQpO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY2xvc2luZy1zaWduYXR1cmUge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMjBweCwgMnZ3LCAyOHB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmX19hdG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTEwcHg7XG4gICAgcmlnaHQ6IC04MHB4O1xuXG4gICAgd2lkdGg6IDQ2MHB4O1xuICAgIGhlaWdodDogNDYwcHg7XG5cbiAgICBvcGFjaXR5OiAwLjcyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICB0b3A6IC05MHB4O1xuICAgICAgcmlnaHQ6IC0xMzBweDtcblxuICAgICAgd2lkdGg6IDM4MHB4O1xuICAgICAgaGVpZ2h0OiAzODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHRvcDogLTYwcHg7XG4gICAgICByaWdodDogLTE1MHB4O1xuXG4gICAgICB3aWR0aDogMzAwcHg7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuXG4gICAgICBvcGFjaXR5OiAwLjQ4O1xuICAgIH1cbiAgfVxuXG4gICZfX2F0b20tY29yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcblxuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG5cbiAgICBib3gtc2hhZG93OlxuICAgICAgMCAwIDAgMTBweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjA4KSxcbiAgICAgIDAgMCAyOHB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuODUpLFxuICAgICAgMCAwIDYwcHggcmdiYSgyNTUsIDE5MSwgMCwgMC4zNSk7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgIGFuaW1hdGlvbjogc29jaWFsQXRvbUNvcmUgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIH1cblxuICAmX19hdG9tLW9yYml0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuXG4gICAgd2lkdGg6IDgyJTtcbiAgICBoZWlnaHQ6IDM0JTtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC40Mik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXG4gICAgJi0tMSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMGRlZyk7XG5cbiAgICAgIGFuaW1hdGlvbjogc29jaWFsQXRvbU9yYml0T25lIDEycyBsaW5lYXIgaW5maW5pdGU7XG4gICAgfVxuXG4gICAgJi0tMiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNjBkZWcpO1xuXG4gICAgICBhbmltYXRpb246IHNvY2lhbEF0b21PcmJpdFR3byAxNXMgbGluZWFyIGluZmluaXRlIHJldmVyc2U7XG4gICAgfVxuXG4gICAgJi0tMyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMTIwZGVnKTtcblxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMTkxLCAwLCAwLjI4KTtcblxuICAgICAgYW5pbWF0aW9uOiBzb2NpYWxBdG9tT3JiaXRUaHJlZSAxOHMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cbiAgfVxuXG4gICZfX2VsZWN0cm9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogLTZweDtcblxuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAxMHB4IHZhcigtLXByaW1hcnktYmx1ZS0zMDApLFxuICAgICAgMCAwIDI0cHggcmdiYSgwLCAxNTksIDIyNywgMC42NSk7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmX19hdG9tLW9yYml0LS0zIHtcbiAgICAuc29jaWFsLWNvbm5lY3RfX2VsZWN0cm9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG5cbiAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAxMHB4IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCksXG4gICAgICAgIDAgMCAyNHB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuNTUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2Zsb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0zMHB4O1xuICAgIGxlZnQ6IC0xMTBweDtcblxuICAgIHdpZHRoOiA3MjBweDtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuXG4gICAgb3BhY2l0eTogMC42MjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgbGVmdDogLTE4MHB4O1xuXG4gICAgICB3aWR0aDogNjIwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBib3R0b206IC01MHB4O1xuICAgICAgbGVmdDogLTIxMHB4O1xuXG4gICAgICB3aWR0aDogNTIwcHg7XG4gICAgICBoZWlnaHQ6IDI2MHB4O1xuXG4gICAgICBvcGFjaXR5OiAwLjQyO1xuICAgIH1cbiAgfVxuXG4gICZfX2Zsb3ctbGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE2MHB4O1xuXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMCwgMTU5LCAyMjcsIDAuNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJi0tMSB7XG4gICAgICB0b3A6IDIwcHg7XG5cbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC04ZGVnKTtcblxuICAgICAgYW5pbWF0aW9uOiBzb2NpYWxGbG93T25lIDlzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgIHRvcDogOTBweDtcblxuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDE5MSwgMCwgMC40Mik7XG5cbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuXG4gICAgICBhbmltYXRpb246IHNvY2lhbEZsb3dUd28gMTJzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICB9XG5cbiAgICAmLS0zIHtcbiAgICAgIHRvcDogMTUwcHg7XG5cbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IGRhc2hlZDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4yOCk7XG5cbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00ZGVnKTtcblxuICAgICAgYW5pbWF0aW9uOiBzb2NpYWxGbG93VGhyZWUgMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcbiAgICB9XG4gIH1cblxuICAmX19wYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgd2lkdGg6IDdweDtcbiAgICBoZWlnaHQ6IDdweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAxMHB4IHJnYmEoMTE1LCAyMDEsIDIzOCwgMC45KSxcbiAgICAgIDAgMCAyNHB4IHJnYmEoMCwgMTU5LCAyMjcsIDAuNDUpO1xuXG4gICAgYW5pbWF0aW9uOiBzb2NpYWxQYXJ0aWNsZSA1cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuICAgICYtLTEge1xuICAgICAgdG9wOiAyMCU7XG4gICAgICBsZWZ0OiAyMCU7XG4gICAgfVxuXG4gICAgJi0tMiB7XG4gICAgICB0b3A6IDQ4JTtcbiAgICAgIGxlZnQ6IDUyJTtcblxuICAgICAgd2lkdGg6IDlweDtcbiAgICAgIGhlaWdodDogOXB4O1xuXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuXG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMTBweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjkpLFxuICAgICAgICAwIDAgMjRweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjM4KTtcblxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMS41cztcbiAgICB9XG5cbiAgICAmLS0zIHtcbiAgICAgIHRvcDogNjYlO1xuICAgICAgbGVmdDogMzQlO1xuXG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0zcztcbiAgICB9XG5cbiAgICAmLS00IHtcbiAgICAgIHRvcDogMzglO1xuICAgICAgcmlnaHQ6IDEwJTtcblxuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuXG4gICAgICBhbmltYXRpb24tZGVsYXk6IC00cztcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlcixcbiAgICAuc29jaWFsLWNvbm5lY3RfX2F0b20tY29yZSxcbiAgICAuc29jaWFsLWNvbm5lY3RfX2F0b20tb3JiaXQsXG4gICAgLnNvY2lhbC1jb25uZWN0X19mbG93LWxpbmUsXG4gICAgLnNvY2lhbC1jb25uZWN0X19wYXJ0aWNsZSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgc29jaWFsU3RhcnNNb3ZlIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICB9XG5cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDM4cHggMzhweDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNvY2lhbEF1cm9yYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgtNCUsIDAsIDApXG4gICAgICByb3RhdGUoLThkZWcpXG4gICAgICBzY2FsZSgwLjk2KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDclLCA2JSwgMClcbiAgICAgIHJvdGF0ZSg4ZGVnKVxuICAgICAgc2NhbGUoMS4xKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNvY2lhbEF0b21Db3JlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuICAgICAgc2NhbGUoMC45KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlKC01MCUsIC01MCUpXG4gICAgICBzY2FsZSgxLjIpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc29jaWFsQXRvbU9yYml0T25lIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlKC01MCUsIC01MCUpXG4gICAgICByb3RhdGUoMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlKC01MCUsIC01MCUpXG4gICAgICByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNvY2lhbEF0b21PcmJpdFR3byB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuICAgICAgcm90YXRlKDYwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcbiAgICAgIHJvdGF0ZSg0MjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc29jaWFsQXRvbU9yYml0VGhyZWUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcbiAgICAgIHJvdGF0ZSgxMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZSgtNTAlLCAtNTAlKVxuICAgICAgcm90YXRlKDQ4MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzb2NpYWxGbG93T25lIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKC01JSwgMCwgMClcbiAgICAgIHJvdGF0ZSgtOGRlZylcbiAgICAgIHNjYWxlWCgwLjk0KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDYlLCAtMTRweCwgMClcbiAgICAgIHJvdGF0ZSgtMmRlZylcbiAgICAgIHNjYWxlWCgxLjA4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNvY2lhbEZsb3dUd28ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoNCUsIDhweCwgMClcbiAgICAgIHJvdGF0ZSg1ZGVnKVxuICAgICAgc2NhbGVYKDEuMDQpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoLTUlLCAtMTBweCwgMClcbiAgICAgIHJvdGF0ZSgwZGVnKVxuICAgICAgc2NhbGVYKDAuOTQpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc29jaWFsRmxvd1RocmVlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKC0zJSwgMCwgMClcbiAgICAgIHJvdGF0ZSgtNGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCg3JSwgLThweCwgMClcbiAgICAgIHJvdGF0ZSgzZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNvY2lhbFBhcnRpY2xlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuMztcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICBzY2FsZSgwLjc1KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDE2cHgsIC0yMHB4LCAwKVxuICAgICAgc2NhbGUoMS4zKTtcbiAgfVxufSIsIkB1c2UgXCIuLi9kZXBlbmRlbmNpZXNcIiBhcyAqO1xuXG4ud2h5LWtobnVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpc29sYXRpb246IGlzb2xhdGU7XG5cbiAgcGFkZGluZzogMTIwcHggMCAxMzBweDtcblxuICBjb2xvcjogdmFyKC0tcHJpbWFyeS13aGl0ZSk7XG5cbiAgYmFja2dyb3VuZDpcbiAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgIGVsbGlwc2UgYXQgOTIlIDglLFxuICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjI0KSAwJSxcbiAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMC4xMSkgMTglLFxuICAgICAgICB0cmFuc3BhcmVudCA0NCVcbiAgICApLFxuICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgZWxsaXBzZSBhdCA4JSA5MiUsXG4gICAgICAgIHJnYmEoMjU1LCAyMDQsIDQxLCAwLjE2KSAwJSxcbiAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMC4wNikgMjIlLFxuICAgICAgICB0cmFuc3BhcmVudCA0NiVcbiAgICApLFxuICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgZWxsaXBzZSBhdCA2NSUgNTIlLFxuICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjI4KSAwJSxcbiAgICAgICAgcmdiYSgwLCAxMTksIDIwMCwgMC4xMykgMjYlLFxuICAgICAgICB0cmFuc3BhcmVudCA1OCVcbiAgICApLFxuICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTI1ZGVnLFxuICAgICAgICAjMDAxNTJlIDAlLFxuICAgICAgICAjMDAyZDVkIDI4JSxcbiAgICAgICAgIzAwNGI4MiA1MiUsXG4gICAgICAgICMwMDM1NmMgNzIlLFxuICAgICAgICAjMDAxYTM4IDEwMCVcbiAgICApO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgIHBhZGRpbmc6IDkwcHggMCAxMDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIHBhZGRpbmc6IDcwcHggMCA3NnB4O1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB6LWluZGV4OiAtMztcblxuICAgIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjAzNSkgMXB4LFxuICAgICAgICAgIHRyYW5zcGFyZW50IDFweFxuICAgICAgKSxcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICByZ2JhKDExNSwgMjAxLCAyMzgsIDAuMDM1KSAxcHgsXG4gICAgICAgICAgdHJhbnNwYXJlbnQgMXB4XG4gICAgICApO1xuXG4gICAgYmFja2dyb3VuZC1zaXplOiA1NnB4IDU2cHg7XG5cbiAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIGFuaW1hdGlvbjogd2h5R3JpZE1vdmUgMThzIGxpbmVhciBpbmZpbml0ZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0MnB4IDQycHg7XG4gICAgICBvcGFjaXR5OiAwLjQ7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIwJTtcbiAgICByaWdodDogLTEwJTtcbiAgICB6LWluZGV4OiAtMjtcblxuICAgIHdpZHRoOiA3MDBweDtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgYmFja2dyb3VuZDpcbiAgICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICBjaXJjbGUsXG4gICAgICAgICAgcmdiYSgwLCAxNTksIDIyNywgMC4xNCkgMCUsXG4gICAgICAgICAgcmdiYSgwLCAxNTksIDIyNywgMC4wNSkgMzUlLFxuICAgICAgICAgIHRyYW5zcGFyZW50IDcwJVxuICAgICAgKTtcblxuICAgIGZpbHRlcjogYmx1cigyMHB4KTtcblxuICAgIGFuaW1hdGlvbjogd2h5QmFja2dyb3VuZFB1bHNlIDEwcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICB0b3A6IC04JTtcbiAgICAgIHJpZ2h0OiAtNTUlO1xuXG4gICAgICB3aWR0aDogNTIwcHg7XG4gICAgICBoZWlnaHQ6IDUyMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTgwcHgsIDAuMzRmcikgbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiBjbGFtcCg1MHB4LCA3dncsIDExMHB4KTtcblxuICAgIG1hcmdpbi1ib3R0b206IDcycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGdhcDogNDZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDQycHg7XG4gICAgfVxuICB9XG5cbiAgJl9fZXllYnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIGdhcDogMTRweDtcblxuICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuXG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTNlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZ2FwOiAxMHB4O1xuXG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cblxuICAmX19leWVicm93LW51bWJlciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG4gIH1cblxuICAmX19leWVicm93LWxpbmUge1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogMXB4O1xuXG4gICAgYmFja2dyb3VuZDogcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjU1KTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWUtdWtyYWluZS1oZWFkO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoNThweCwgNS40dncsIDkycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjk0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS13aGl0ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoNTJweCwgNnZ3LCA3NHB4KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoNDRweCwgMTN2dywgNjJweCk7XG4gICAgICBsaW5lLWhlaWdodDogMC45NjtcbiAgICB9XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDExNSwgMjAxLCAyMzgsIDAuMjIpO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjIyKTtcblxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMjcsIDYxLCAwLjEyKTtcblxuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtaW4taGVpZ2h0OiAzMzBweDtcbiAgICBwYWRkaW5nOiAzNHB4IDM2cHggMzhweDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDExNSwgMjAxLCAyMzgsIDAuMjIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDExNSwgMjAxLCAyMzgsIDAuMjIpO1xuXG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAxMzVkZWcsXG4gICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1NSksXG4gICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAxMilcbiAgICAgICk7XG5cbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcblxuICAgIHRyYW5zaXRpb246XG4gICAgICBiYWNrZ3JvdW5kIDAuNHMgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKSxcbiAgICAgIGJveC1zaGFkb3cgMC40cyBlYXNlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBtaW4taGVpZ2h0OiAyOTBweDtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMjhweCAyNHB4IDMwcHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIGhlaWdodDogNHB4O1xuXG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgICA5MGRlZyxcbiAgICAgICAgICAgIHZhcigtLXByaW1hcnkteWVsbG93LTUwMCksXG4gICAgICAgICAgICB2YXIoLS1wcmltYXJ5LWJsdWUtNTAwKVxuICAgICAgICApO1xuXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG5cbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIHRyYW5zZm9ybSAwLjQ1cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTEyMHB4O1xuICAgICAgcmlnaHQ6IC0xMjBweDtcblxuICAgICAgd2lkdGg6IDI2MHB4O1xuICAgICAgaGVpZ2h0OiAyNjBweDtcblxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgICBjaXJjbGUsXG4gICAgICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjIpLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgNjglXG4gICAgICAgICk7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG5cbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIG9wYWNpdHkgMC40cyBlYXNlLFxuICAgICAgICB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG5cbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgIGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgICAgMTM1ZGVnLFxuICAgICAgICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjE4KSxcbiAgICAgICAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMC4wNylcbiAgICAgICAgICApO1xuXG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAyNHB4IDUwcHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53aHkta2hudWVfX251bWJlciB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG4gICAgICAgIH1cblxuICAgICAgICAud2h5LWtobnVlX19kb3Qge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuXG4gICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIDAgMCAwIDdweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjA4KSxcbiAgICAgICAgICAgIDAgMCAyMnB4IHJnYmEoMjU1LCAxOTEsIDAsIDAuNSk7XG5cbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLndoeS1raG51ZV9faXRlbS10aXRsZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDdweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pdGVtLXRvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogNjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuXG4gICAgY29sb3I6IHJnYmEoMTE1LCAyMDEsIDIzOCwgMC43KTtcblxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMzVzIGVhc2U7XG4gIH1cblxuICAmX19kb3Qge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIHRyYW5zaXRpb246XG4gICAgICBiYWNrZ3JvdW5kIDAuMzVzIGVhc2UsXG4gICAgICBib3JkZXItY29sb3IgMC4zNXMgZWFzZSxcbiAgICAgIGJveC1zaGFkb3cgMC4zNXMgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAwLjM1cyBlYXNlO1xuICB9XG5cbiAgJl9faXRlbS10aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgIG1hcmdpbjogMCAwIDE4cHg7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAyLjR2dywgNDBweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDM1ZW07XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS13aGl0ZSk7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgdHJhbnNmb3JtIDAuMzVzIGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzIpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVjb3JhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC00NSU7XG4gICAgICBsZWZ0OiAyOCU7XG5cbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBoZWlnaHQ6IDEyMCU7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgY29uaWMtZ3JhZGllbnQoXG4gICAgICAgICAgICBmcm9tIDIxMGRlZyxcbiAgICAgICAgICAgIHRyYW5zcGFyZW50IDBkZWcsXG4gICAgICAgICAgICByZ2JhKDAsIDE1OSwgMjI3LCAwLjIyKSA1NWRlZyxcbiAgICAgICAgICAgIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4xMikgOTVkZWcsXG4gICAgICAgICAgICB0cmFuc3BhcmVudCAxMzVkZWcsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjE4KSAyMDVkZWcsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjA0LCA0MSwgMC4wOCkgMjQ1ZGVnLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgMzAwZGVnXG4gICAgICAgICk7XG5cbiAgICAgIGZpbHRlcjogYmx1cig4MHB4KTtcblxuICAgICAgb3BhY2l0eTogMC43NTtcblxuICAgICAgYW5pbWF0aW9uOiB3aHlBdXJvcmFSb3RhdGUgMjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgdG9wOiAtMTAlO1xuICAgICAgICBsZWZ0OiAtMjAlO1xuXG4gICAgICAgIHdpZHRoOiAxNDAlO1xuICAgICAgICBoZWlnaHQ6IDgwJTtcblxuICAgICAgICBmaWx0ZXI6IGJsdXIoNjBweCk7XG5cbiAgICAgICAgb3BhY2l0eTogMC41NTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xNSU7XG4gICAgICBib3R0b206IC00NSU7XG5cbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgICAgZWxsaXBzZSBhdCBjZW50ZXIsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjIpIDAlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDE5MSwgMCwgMC4wOCkgMjglLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgNjUlXG4gICAgICAgICk7XG5cbiAgICAgIGZpbHRlcjogYmx1cig2MHB4KTtcblxuICAgICAgYW5pbWF0aW9uOiB3aHlBdXJvcmFZZWxsb3cgMTNzIGVhc2UtaW4tb3V0IGluZmluaXRlIGFsdGVybmF0ZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHJpZ2h0OiAtNTAlO1xuICAgICAgICBib3R0b206IC0yMCU7XG5cbiAgICAgICAgd2lkdGg6IDEyMCU7XG4gICAgICAgIGhlaWdodDogNzAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2dsb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGZpbHRlcjogYmx1cig1NXB4KTtcblxuICAgICYtLWJsdWUge1xuICAgICAgdG9wOiAxOCU7XG4gICAgICBsZWZ0OiAzNCU7XG5cbiAgICAgIHdpZHRoOiA0ODBweDtcbiAgICAgIGhlaWdodDogNDgwcHg7XG5cbiAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICAgIGNpcmNsZSxcbiAgICAgICAgICAgIHJnYmEoMCwgMTU5LCAyMjcsIDAuMjQpLFxuICAgICAgICAgICAgcmdiYSgwLCAxMTksIDIwMCwgMC4wOCkgNDglLFxuICAgICAgICAgICAgdHJhbnNwYXJlbnQgNzIlXG4gICAgICAgICk7XG5cbiAgICAgIGFuaW1hdGlvbjogd2h5R2xvd0JsdWUgMTFzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgdG9wOiAyNSU7XG4gICAgICAgIGxlZnQ6IC0zMCU7XG5cbiAgICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgICBoZWlnaHQ6IDM2MHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXllbGxvdyB7XG4gICAgICByaWdodDogNCU7XG4gICAgICBib3R0b206IC0xMCU7XG5cbiAgICAgIHdpZHRoOiA0MjBweDtcbiAgICAgIGhlaWdodDogNDIwcHg7XG5cbiAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgIHJhZGlhbC1ncmFkaWVudChcbiAgICAgICAgICAgIGNpcmNsZSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAxOTEsIDAsIDAuMiksXG4gICAgICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjA2KSA0OCUsXG4gICAgICAgICAgICB0cmFuc3BhcmVudCA3MiVcbiAgICAgICAgKTtcblxuICAgICAgYW5pbWF0aW9uOiB3aHlHbG93WWVsbG93IDE0cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHJpZ2h0OiAtMzUlO1xuICAgICAgICBib3R0b206IDUlO1xuXG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgaGVpZ2h0OiAzMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19uZXR3b3JrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cblxuICAmX19uZXR3b3JrLXJpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4xNCk7XG5cbiAgICBib3gtc2hhZG93OlxuICAgICAgaW5zZXQgMCAwIDgwcHggcmdiYSgwLCAxNTksIDIyNywgMC4wMTUpO1xuXG4gICAgJi0tMSB7XG4gICAgICB0b3A6IC0zNjBweDtcbiAgICAgIGxlZnQ6IC0yNDBweDtcblxuICAgICAgd2lkdGg6IDc4MHB4O1xuICAgICAgaGVpZ2h0OiA3ODBweDtcblxuICAgICAgYW5pbWF0aW9uOiB3aHlSaW5nT25lIDM0cyBsaW5lYXIgaW5maW5pdGU7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICB0b3A6IC0xODBweDtcbiAgICAgICAgbGVmdDogLTI0MHB4O1xuXG4gICAgICAgIHdpZHRoOiA1MjBweDtcbiAgICAgICAgaGVpZ2h0OiA1MjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIHJpZ2h0OiAtMzMwcHg7XG5cbiAgICAgIHdpZHRoOiA4NDBweDtcbiAgICAgIGhlaWdodDogODQwcHg7XG5cbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAxNTksIDIyNywgMC4xMik7XG5cbiAgICAgIGFuaW1hdGlvbjogd2h5UmluZ1R3byA0NHMgbGluZWFyIGluZmluaXRlIHJldmVyc2U7XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgIHJpZ2h0OiAtMjgwcHg7XG5cbiAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLTMge1xuICAgICAgYm90dG9tOiAtNDMwcHg7XG4gICAgICBsZWZ0OiAyMCU7XG5cbiAgICAgIHdpZHRoOiA5MDBweDtcbiAgICAgIGhlaWdodDogOTAwcHg7XG5cbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDE5MSwgMCwgMC4wODUpO1xuXG4gICAgICBhbmltYXRpb246IHdoeVJpbmdUaHJlZSA1MnMgbGluZWFyIGluZmluaXRlO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgYm90dG9tOiAtMjcwcHg7XG4gICAgICAgIGxlZnQ6IC00MCU7XG5cbiAgICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLTQge1xuICAgICAgdG9wOiAzMCU7XG4gICAgICBsZWZ0OiA0MCU7XG5cbiAgICAgIHdpZHRoOiA0MjBweDtcbiAgICAgIGhlaWdodDogNDIwcHg7XG5cbiAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDExNSwgMjAxLCAyMzgsIDAuMTIpO1xuXG4gICAgICBhbmltYXRpb246IHdoeVJpbmdGb3VyIDI2cyBsaW5lYXIgaW5maW5pdGUgcmV2ZXJzZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHRvcDogNDUlO1xuICAgICAgICBsZWZ0OiAxNSU7XG5cbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX25ldHdvcmstbm9kZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktYmx1ZS0zMDApO1xuXG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAxMHB4IHJnYmEoMTE1LCAyMDEsIDIzOCwgMC45KSxcbiAgICAgIDAgMCAyOHB4IHJnYmEoMCwgMTU5LCAyMjcsIDAuNTUpO1xuXG4gICAgYW5pbWF0aW9uOiB3aHlOZXR3b3JrTm9kZSA2cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuICAgICYtLTEge1xuICAgICAgdG9wOiAxMyU7XG4gICAgICBsZWZ0OiA4JTtcbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgIHRvcDogMjQlO1xuICAgICAgcmlnaHQ6IDE0JTtcblxuICAgICAgd2lkdGg6IDExcHg7XG4gICAgICBoZWlnaHQ6IDExcHg7XG5cbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTEuNHM7XG4gICAgfVxuXG4gICAgJi0tMyB7XG4gICAgICB0b3A6IDQ4JTtcbiAgICAgIGxlZnQ6IDQyJTtcblxuICAgICAgd2lkdGg6IDlweDtcbiAgICAgIGhlaWdodDogOXB4O1xuXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuXG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMTJweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjkpLFxuICAgICAgICAwIDAgMzBweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjQ1KTtcblxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMi41cztcbiAgICB9XG5cbiAgICAmLS00IHtcbiAgICAgIHJpZ2h0OiAyOSU7XG4gICAgICBib3R0b206IDE4JTtcblxuICAgICAgd2lkdGg6IDdweDtcbiAgICAgIGhlaWdodDogN3B4O1xuXG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0zLjRzO1xuICAgIH1cblxuICAgICYtLTUge1xuICAgICAgYm90dG9tOiAxMCU7XG4gICAgICBsZWZ0OiAxMiU7XG5cbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuXG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuXG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMTJweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjkpLFxuICAgICAgICAwIDAgMzBweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjQpO1xuXG4gICAgICBhbmltYXRpb24tZGVsYXk6IC00LjVzO1xuICAgIH1cblxuICAgICYtLTYge1xuICAgICAgdG9wOiA1NyU7XG4gICAgICByaWdodDogNSU7XG5cbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTUuMnM7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIsXG4gICAgLndoeS1raG51ZV9fZGVjb3JhdGlvbjo6YmVmb3JlLFxuICAgIC53aHkta2hudWVfX2RlY29yYXRpb246OmFmdGVyLFxuICAgIC53aHkta2hudWVfX2dsb3csXG4gICAgLndoeS1raG51ZV9fbmV0d29yay1yaW5nLFxuICAgIC53aHkta2hudWVfX25ldHdvcmstbm9kZSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgd2h5R3JpZE1vdmUge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIH1cblxuICB0byB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTZweCA1NnB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd2h5QmFja2dyb3VuZFB1bHNlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNDU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xMik7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3aHlBdXJvcmFSb3RhdGUge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoLTUlLCAwLCAwKVxuICAgICAgcm90YXRlKC04ZGVnKVxuICAgICAgc2NhbGUoMC45NSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDglLCA4JSwgMClcbiAgICAgIHJvdGF0ZSgxNGRlZylcbiAgICAgIHNjYWxlKDEuMTIpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd2h5QXVyb3JhWWVsbG93IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuMzU7XG5cbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgc2NhbGUoMC44NSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjk7XG5cbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgtMTIlLCAtMTAlLCAwKVxuICAgICAgc2NhbGUoMS4yKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdoeUdsb3dCbHVlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuNDtcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKC01MHB4LCAyMHB4LCAwKVxuICAgICAgc2NhbGUoMC44NSk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCg5MHB4LCAtNDBweCwgMClcbiAgICAgIHNjYWxlKDEuMik7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3aHlHbG93WWVsbG93IHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuMzU7XG5cbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCg0MHB4LCAzMHB4LCAwKVxuICAgICAgc2NhbGUoMC45KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC45O1xuXG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoLTEwMHB4LCAtNzBweCwgMClcbiAgICAgIHNjYWxlKDEuMjIpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd2h5UmluZ09uZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUzZCg0NXB4LCAyNXB4LCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3aHlSaW5nVHdvIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpIHNjYWxlKDEuMDgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdoeVJpbmdUaHJlZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUzZCgtNDBweCwgLTMwcHgsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdoeVJpbmdGb3VyIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDAuOSk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgc2NhbGUoMS4xNSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpIHNjYWxlKDAuOSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3aHlOZXR3b3JrTm9kZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuXG4gICAgdHJhbnNmb3JtOlxuICAgICAgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHNjYWxlKDAuNyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06XG4gICAgICB0cmFuc2xhdGUzZCgxOHB4LCAtMjRweCwgMClcbiAgICAgIHNjYWxlKDEuMzUpO1xuICB9XG59IiwiQHVzZSBcIi4uL2RlcGVuZGVuY2llc1wiIGFzICo7XG5cbi51bml2ZXJzaXR5LXByb2ZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgcGFkZGluZzogMTIwcHggMCAxMzBweDtcblxuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTkwMCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktd2hpdGUpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwic2NyZWVuXCIsIFwiPGRlc2t0b3BcIikge1xuICAgIHBhZGRpbmc6IDkwcHggMCAxMDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIHBhZGRpbmc6IDcwcHggMCA3NnB4O1xuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxLjA4ZnIpIG1pbm1heCgzODBweCwgMC45MmZyKTtcbiAgICBjb2x1bW4tZ2FwOiBjbGFtcCg2MHB4LCA3dncsIDEyMHB4KTtcbiAgICByb3ctZ2FwOiA4MnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIG1pbm1heCgzMjBweCwgMC44ZnIpO1xuICAgICAgY29sdW1uLWdhcDogNTBweDtcbiAgICAgIHJvdy1nYXA6IDY0cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19pbnRybyB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gIH1cblxuICAmX19leWVicm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNHB4O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcblxuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjEzZW07XG5cbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1ibHVlLTYwMCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICB9XG4gIH1cblxuICAmX19leWVicm93LW51bWJlciB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnkteWVsbG93LTYwMCk7XG4gIH1cblxuICAmX19leWVicm93LWxpbmUge1xuICAgIHdpZHRoOiA0NnB4O1xuICAgIGhlaWdodDogMXB4O1xuXG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHJpbWFyeS1ibHVlLTMwMCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1hcmdpbjogMCAwIDM2cHg7XG5cbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiBjbGFtcCg2NHB4LCA2dncsIDcwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjg4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1NWVtO1xuXG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktYmx1ZS05MDApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCJzY3JlZW5cIiwgXCI8ZGVza3RvcFwiKSB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDU4cHgsIDd2dywgODJweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuXG4gICAgICBmb250LXNpemU6IGNsYW1wKDQ4cHgsIDE1dncsIDY4cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTI7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG5cbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG5cbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG5cbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtODAwKTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIH1cblxuICAgICAgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zdGF0cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDE7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAgIHBhZGRpbmc6IDM4cHggNDJweDtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXdoaXRlKTtcblxuICAgIGJhY2tncm91bmQ6XG4gICAgICByYWRpYWwtZ3JhZGllbnQoXG4gICAgICAgICAgY2lyY2xlIGF0IDglIDEyJSxcbiAgICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjIyKSAwJSxcbiAgICAgICAgICByZ2JhKDI1NSwgMTkxLCAwLCAwLjA4KSAxOCUsXG4gICAgICAgICAgdHJhbnNwYXJlbnQgNDIlXG4gICAgICApLFxuICAgICAgcmFkaWFsLWdyYWRpZW50KFxuICAgICAgICAgIGNpcmNsZSBhdCA5NCUgODIlLFxuICAgICAgICAgIHJnYmEoMCwgMTU5LCAyMjcsIDAuMzgpIDAlLFxuICAgICAgICAgIHJnYmEoMCwgMTU5LCAyMjcsIDAuMTQpIDI0JSxcbiAgICAgICAgICB0cmFuc3BhcmVudCA1MiVcbiAgICAgICksXG4gICAgICBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgICAgMTM1ZGVnLFxuICAgICAgICAgIHZhcigtLXByaW1hcnktYmx1ZS05MDApIDAlLFxuICAgICAgICAgIHZhcigtLXByaW1hcnktYmx1ZS04MDApIDQ1JSxcbiAgICAgICAgICB2YXIoLS1wcmltYXJ5LWJsdWUtNzAwKSA3MiUsXG4gICAgICAgICAgdmFyKC0tcHJpbWFyeS1ibHVlLTkwMCkgMTAwJVxuICAgICAgKTtcblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDMwcHggNzBweCByZ2JhKDAsIDQzLCA5MiwgMC4xNiksXG4gICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtYXJnaW4tdG9wOiA0NnB4O1xuICAgICAgcGFkZGluZzogMjZweCAyNHB4O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtOHB4O1xuICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICB6LWluZGV4OiAzO1xuXG4gICAgICB3aWR0aDogNzJweDtcbiAgICAgIGhlaWdodDogNzJweDtcblxuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG4gICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgcmlnaHQ6IC02cHg7XG5cbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLTEzMHB4O1xuICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgIHdpZHRoOiAzNDBweDtcbiAgICAgIGhlaWdodDogMzQwcHg7XG5cbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTE1LCAyMDEsIDIzOCwgMC4xNik7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAwIDQ1cHggcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjAyNSksXG4gICAgICAgIDAgMCAwIDkwcHggcmdiYSgxMTUsIDIwMSwgMjM4LCAwLjAxOCksXG4gICAgICAgIDAgMCA4MHB4IHJnYmEoMCwgMTU5LCAyMjcsIDAuMTIpO1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgIGFuaW1hdGlvbjogdW5pdmVyc2l0eVN0YXRzUHVsc2UgN3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgcmlnaHQ6IC0xNTBweDtcblxuICAgICAgICB3aWR0aDogMjgwcHg7XG4gICAgICAgIGhlaWdodDogMjgwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnVuaXZlcnNpdHktcHJvZmlsZV9fc3RhdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIHVuaXZlcnNpdHlTdGF0c1B1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTU7XG5cbiAgICAgIHRyYW5zZm9ybTpcbiAgICAgICAgdHJhbnNsYXRlWSgtNTAlKVxuICAgICAgICBzY2FsZSgwLjk0KTtcbiAgICB9XG5cbiAgICA1MCUge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgdHJhbnNmb3JtOlxuICAgICAgICB0cmFuc2xhdGVZKC01MCUpXG4gICAgICAgIHNjYWxlKDEuMDgpO1xuICAgIH1cbiAgfVxuXG4gICZfX3N0YXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTQ1cHgsIGF1dG8pIDFmcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMjZweDtcblxuICAgIGZsZXg6IDE7XG5cbiAgICBwYWRkaW5nOiAyNnB4IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcInNjcmVlblwiLCBcIjxkZXNrdG9wXCIpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBhdXRvKSAxZnI7XG4gICAgICBnYXA6IDIwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxMTBweCwgYXV0bykgMWZyO1xuICAgICAgZ2FwOiAxOHB4O1xuXG4gICAgICBwYWRkaW5nOiAyMnB4IDA7XG4gICAgfVxuXG4gICAgKyAudW5pdmVyc2l0eS1wcm9maWxlX19zdGF0IHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICAgIH1cbiAgfVxuXG4gICZfX3N0YXQtdmFsdWUge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1lLXVrcmFpbmUtaGVhZDtcbiAgICBmb250LXNpemU6IGNsYW1wKDQ4cHgsIDR2dywgNjhweCk7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNDVlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgfVxuICB9XG5cbiAgJl9fc3RhdC1sYWJlbCB7XG4gICAgbWF4LXdpZHRoOiAxNTBweDtcblxuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgfVxuXG4gICZfX3N0cmVuZ3RocyB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICBncmlkLXJvdzogMjtcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTgwcHgsIDAuMzVmcikgbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiBjbGFtcCg1MHB4LCA3dncsIDExMHB4KTtcblxuICAgIHBhZGRpbmctdG9wOiAzNnB4O1xuXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktYmx1ZS0xMDApO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgbWFyZ2luLXRvcDogNThweDtcbiAgICAgIHBhZGRpbmctdG9wOiAyNnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX3N0cmVuZ3Rocy1oZWFkaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogMTdweDtcblxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1lLXVrcmFpbmUtaGVhZDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtOTAwKTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuXG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDEycHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgaGVpZ2h0OiA5cHg7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnkteWVsbG93LTUwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3RyZW5ndGhzLWxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGNvbHVtbi1nYXA6IDQ4cHg7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgY29sdW1uLWdhcDogMDtcbiAgICB9XG4gIH1cblxuICAmX19zdHJlbmd0aCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDM2cHggMWZyIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG5cbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIHBhZGRpbmc6IDE1cHggNHB4O1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktYmx1ZS0xMDApO1xuXG4gICAgdHJhbnNpdGlvbjpcbiAgICAgIHBhZGRpbmcgMC4zcyBlYXNlLFxuICAgICAgY29sb3IgMC4zcyBlYXNlLFxuICAgICAgYm9yZGVyLWNvbG9yIDAuM3MgZWFzZTtcblxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuXG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtNjAwKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKTtcblxuICAgICAgICAudW5pdmVyc2l0eS1wcm9maWxlX19zdHJlbmd0aC1udW1iZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXllbGxvdy02MDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVuaXZlcnNpdHktcHJvZmlsZV9fc3RyZW5ndGgtZG90IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcmltYXJ5LXllbGxvdy01MDApO1xuXG4gICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIDAgMCAwIDZweCByZ2JhKDI1NSwgMTkxLCAwLCAwLjEpO1xuXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc3RyZW5ndGgtbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKTtcblxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZTtcbiAgfVxuXG4gICZfX3N0cmVuZ3RoLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZS11a3JhaW5lLWhlYWQ7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAxLjV2dywgMjJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gIH1cblxuICAmX19zdHJlbmd0aC1kb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1wcmltYXJ5LWJsdWUtMzAwKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgYmFja2dyb3VuZCAwLjNzIGVhc2UsXG4gICAgICBib3gtc2hhZG93IDAuM3MgZWFzZSxcbiAgICAgIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIH1cblxuICAmX19kZWNvcmF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0MHB4O1xuICAgIHJpZ2h0OiAtMTgwcHg7XG5cbiAgICB3aWR0aDogNTIwcHg7XG4gICAgaGVpZ2h0OiA1MjBweDtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICByaWdodDogLTE4MHB4O1xuXG4gICAgICB3aWR0aDogMzYwcHg7XG4gICAgICBoZWlnaHQ6IDM2MHB4O1xuXG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgIH1cbiAgfVxuXG4gICZfX2NpcmNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxMTksIDIwMCwgMC4wNyk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJi0tMSB7XG4gICAgICBpbnNldDogMDtcbiAgICB9XG5cbiAgICAmLS0yIHtcbiAgICAgIGluc2V0OiA4MHB4O1xuXG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAxOTEsIDAsIDAuMDkpO1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgaW5zZXQ6IDU1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNjcm9sbCByZXZlYWwgYW5pbWF0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBKUyBhZGRzOlxuLy8gICAuaXMtcmV2ZWFsLXJlYWR5XG4vLyAgIC5pcy1yZXZlYWxlZFxuLy9cbi8vIFdpdGhvdXQgSlMgYWxsIGNvbnRlbnQgcmVtYWlucyB2aXNpYmxlLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSByZXZlYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiVzY3JvbGwtcmV2ZWFsIHtcbiAgLS1yZXZlYWwteDogMDtcbiAgLS1yZXZlYWwteTogMjRweDtcbiAgLS1yZXZlYWwtc2NhbGU6IDE7XG4gIC0tcmV2ZWFsLWRlbGF5OiAwcztcblxuICAmLmlzLXJldmVhbC1yZWFkeSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKFxuICAgICAgICAgIHZhcigtLXJldmVhbC14KSxcbiAgICAgICAgICB2YXIoLS1yZXZlYWwteSksXG4gICAgICAgICAgMFxuICAgICAgKVxuICAgICAgc2NhbGUodmFyKC0tcmV2ZWFsLXNjYWxlKSk7XG5cbiAgICB0cmFuc2l0aW9uOlxuICAgICAgb3BhY2l0eSAxLjE1cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKSxcbiAgICAgIHRyYW5zZm9ybSAxLjI1cyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcblxuICAgIHRyYW5zaXRpb24tZGVsYXk6IHZhcigtLXJldmVhbC1kZWxheSk7XG5cbiAgICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAtLXJldmVhbC14OiAwO1xuICAgICAgLS1yZXZlYWwteTogMjBweDtcbiAgICAgIC0tcmV2ZWFsLXNjYWxlOiAxO1xuXG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5IDAuOXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksXG4gICAgICAgIHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoMC4xNiwgMSwgMC4zLCAxKTtcblxuICAgICAgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0tcmV2ZWFsLWRlbGF5KTtcbiAgICB9XG4gIH1cblxuICAmLmlzLXJldmVhbC1yZWFkeS5pcy1yZXZlYWxlZCB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTpcbiAgICAgIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICBzY2FsZSgxKTtcbiAgfVxuXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgJi5pcy1yZXZlYWwtcmVhZHkge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZXJvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYmxvY2staGVybyB7XG4gICZfX3RpdGxlIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteTogMzBweDtcbiAgICAtLXJldmVhbC1kZWxheTogMHM7XG4gIH1cblxuICAmX19zdWJ0aXRsZSB7XG4gICAgQGV4dGVuZCAlc2Nyb2xsLXJldmVhbDtcblxuICAgIC0tcmV2ZWFsLXk6IDI2cHg7XG4gICAgLS1yZXZlYWwtZGVsYXk6IDAuMTJzO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGV4dGVuZCAlc2Nyb2xsLXJldmVhbDtcblxuICAgIC0tcmV2ZWFsLXk6IDIycHg7XG4gICAgLS1yZXZlYWwtZGVsYXk6IDAuMjRzO1xuICB9XG5cbiAgJl9fYWN0aW9ucyB7XG4gICAgQGV4dGVuZCAlc2Nyb2xsLXJldmVhbDtcblxuICAgIC0tcmV2ZWFsLXk6IDE4cHg7XG4gICAgLS1yZXZlYWwtZGVsYXk6IDAuMzZzO1xuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVuaXZlcnNpdHkgcHJvZmlsZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnVuaXZlcnNpdHktcHJvZmlsZSB7XG4gICZfX2ludHJvIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteDogLTMycHg7XG4gICAgLS1yZXZlYWwteTogMDtcbiAgfVxuXG4gICZfX3N0YXRzIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteDogMzJweDtcbiAgICAtLXJldmVhbC15OiAwO1xuICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjEycztcbiAgfVxuXG4gICZfX3N0cmVuZ3Rocy1oZWFkaW5nIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteDogLTI0cHg7XG4gICAgLS1yZXZlYWwteTogMDtcbiAgfVxuXG4gICZfX3N0cmVuZ3RoIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteTogMjBweDtcblxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjA0cztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4xcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4xNnM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMjJzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjI4cztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4zNHM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFdoeSBLaE5VRVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLndoeS1raG51ZSB7XG4gICZfX2hlYWRpbmcge1xuICAgIEBleHRlbmQgJXNjcm9sbC1yZXZlYWw7XG5cbiAgICAtLXJldmVhbC14OiAtMzBweDtcbiAgICAtLXJldmVhbC15OiAwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgQGV4dGVuZCAlc2Nyb2xsLXJldmVhbDtcblxuICAgIC0tcmV2ZWFsLXk6IDIycHg7XG4gICAgLS1yZXZlYWwtc2NhbGU6IDAuOTg1O1xuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMDRzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjExcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4xOHM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMjVzO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBLZXkgYXJlYXMgZm9yIGNvb3BlcmF0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ua2V5LWFyZWFzIHtcbiAgJl9faGVhZGluZyB7XG4gICAgQGV4dGVuZCAlc2Nyb2xsLXJldmVhbDtcblxuICAgIC0tcmV2ZWFsLXk6IDI0cHg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteTogMjJweDtcbiAgICAtLXJldmVhbC1zY2FsZTogMC45ODU7XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4wNHM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMTFzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjE4cztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4yNXM7XG4gICAgfVxuICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEN1cnJlbnQgcHJvamVjdHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jdXJyZW50LXByb2plY3RzIHtcbiAgJl9faGVhZGluZyB7XG4gICAgQGV4dGVuZCAlc2Nyb2xsLXJldmVhbDtcblxuICAgIC0tcmV2ZWFsLXg6IC0zMHB4O1xuICAgIC0tcmV2ZWFsLXk6IDA7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteTogMjBweDtcbiAgICAtLXJldmVhbC1zY2FsZTogMC45OTtcblxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjAzcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4wOXM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMTVzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjIxcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg1KSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4yN3M7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNikge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMzNzO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnNvcnRpdW0ge1xuICAgIEBleHRlbmQgJXNjcm9sbC1yZXZlYWw7XG5cbiAgICAtLXJldmVhbC15OiAyMnB4O1xuICAgIC0tcmV2ZWFsLXNjYWxlOiAwLjk3NTtcbiAgICAtLXJldmVhbC1kZWxheTogMC4wOHM7XG4gIH1cblxuICAmX19hY3Rpb25zIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteTogMThweDtcbiAgICAtLXJldmVhbC1kZWxheTogMC4xMnM7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW50ZXJuYXRpb25hbCBjb29wZXJhdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmludGVybmF0aW9uYWwtY29vcGVyYXRpb24ge1xuICAmX19oZWFkaW5nIHtcbiAgICBAZXh0ZW5kICVzY3JvbGwtcmV2ZWFsO1xuXG4gICAgLS1yZXZlYWwteDogLTMwcHg7XG4gICAgLS1yZXZlYWwteTogMDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIEBleHRlbmQgJXNjcm9sbC1yZXZlYWw7XG5cbiAgICAtLXJldmVhbC14OiAtMjJweDtcbiAgICAtLXJldmVhbC15OiAwO1xuXG4gICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMDNzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjA3cztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4xMXM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMTVzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjE5cztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4yM3M7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNykge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMjdzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDgpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjMxcztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29udGFjdCBwZXJzb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jb250YWN0LXBlcnNvbiB7XG4gICZfX2hlYWRpbmcge1xuICAgIEBleHRlbmQgJXNjcm9sbC1yZXZlYWw7XG5cbiAgICAtLXJldmVhbC14OiAtMzJweDtcbiAgICAtLXJldmVhbC15OiAwO1xuICB9XG5cbiAgJl9fY2FyZCB7XG4gICAgQGV4dGVuZCAlc2Nyb2xsLXJldmVhbDtcblxuICAgIC0tcmV2ZWFsLXg6IDMycHg7XG4gICAgLS1yZXZlYWwteTogMDtcbiAgICAtLXJldmVhbC1zY2FsZTogMC45OTtcbiAgICAtLXJldmVhbC1kZWxheTogMC4xMnM7XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU29jaWFsIGNvbm5lY3Rcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zb2NpYWwtY29ubmVjdCB7XG4gICZfX2V5ZWJyb3cge1xuICAgIEBleHRlbmQgJXNjcm9sbC1yZXZlYWw7XG5cbiAgICAtLXJldmVhbC14OiAtMjRweDtcbiAgICAtLXJldmVhbC15OiAwO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIEBleHRlbmQgJXNjcm9sbC1yZXZlYWw7XG5cbiAgICAtLXJldmVhbC15OiAyMnB4O1xuICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjA3cztcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIEBleHRlbmQgJXNjcm9sbC1yZXZlYWw7XG5cbiAgICAtLXJldmVhbC14OiAyMnB4O1xuICAgIC0tcmV2ZWFsLXk6IDA7XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4wNXM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgLS1yZXZlYWwtZGVsYXk6IDAuMTFzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjE3cztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAtLXJldmVhbC1kZWxheTogMC4yM3M7XG4gICAgfVxuICB9XG5cbiAgJl9fY2xvc2luZy10aXRsZSB7XG4gICAgQGV4dGVuZCAlc2Nyb2xsLXJldmVhbDtcblxuICAgIC0tcmV2ZWFsLXk6IDI0cHg7XG4gICAgLS1yZXZlYWwtc2NhbGU6IDAuOTg1O1xuICB9XG5cbiAgJl9fY2xvc2luZy1ib3R0b20ge1xuICAgIEBleHRlbmQgJXNjcm9sbC1yZXZlYWw7XG5cbiAgICAtLXJldmVhbC15OiAyMHB4O1xuICAgIC0tcmV2ZWFsLWRlbGF5OiAwLjEycztcbiAgfVxufSJdfQ== */
