@font-face {
  font-family: 'Avenir';
  font-style: normal;
  font-weight: normal;
  src: url("/fonts/AvenirNextLTPro-Regular.otf") format("woff2"), url("/fonts/AvenirNextLTPro-Regular.otf") format("opentype");
}

@font-face {
  font-family: 'Avenir';
  font-style: normal;
  font-weight: bold;
  src: url("/fonts/AvenirNextLTPro-Bold.otf") format("woff2"), url("/fonts/AvenirNextLTPro-Bold.otf") format("opentype");
}

html,
body {
  margin: 0px;
  padding: 0px;
  color: #4A4A4A;
  font-family: 'Avenir', sans-serif;
}

p,
h1,
h2,
h3,
h4,
h5,
h6,
div,
a,
li,
input,
textarea,
button {
  color: #4A4A4A;
  font-family: 'Avenir', sans-serif;
}

section {
  display: block;
  position: relative;
  overflow: hidden;
}

h1 {
  color: #1D1D1D;
  font-size: 60px;
  font-weight: bold;
}

h2 {
  font-size: 36px;
  font-weight: bold;
}

h3 {
  font-size: 24px;
  font-weight: bold;
}

p,
li {
  font-size: 18px;
  line-height: 24px;
}

@media all and (max-width: 767px) {
  h1 {
    font-size: 30px;
  }

  h2 {
    font-size: 24px;
  }

  p,
  li {
    font-size: 14px;
  }
}

@media all and (max-width: 767px) {
  .mobile-invisible {
    display: none;
  }
}

@media all and (min-width: 768px) {
  .desktop-invisible {
    display: none;
  }
}

div,
a {
  display: block;
}

.site-content {
  width: 1180px;
  max-width: 90vw;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.middle-wrapper {
  display: table;
}

.middle-wrapper .middle-content {
  display: table-cell;
  vertical-align: middle;
}

.grid .item {
  float: left;
}

ul li:before {
  content: "";
  width: 6px;
  height: 6px;
  margin-top: 10px;
  display: block;
  float: left;
  background-color: #E4032E;
  border-radius: 50%;
}

ul li p {
  margin-left: 25px;
}

.mt-half {
  margin-top: 130px !important;
}

p,
a,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
li,
form {
  margin: 0px;
  padding: 0px;
}

a {
  text-decoration: none;
  cursor: pointer;
}

ul {
  list-style: none;
}

img {
  border: 0px;
  /* IE */
}

input {
  border-radius: 0;
  outline: none;
  background-color: transparent;
}

button {
  margin: 0;
  padding: 0;
  border: none;
}

section {
  clear: both;
  float: none;
  overflow: hidden;
  display: block;
  position: relative;
}

.cleaner {
  clear: both;
  float: none;
}

.visible {
  display: block !important;
}

.invisible {
  display: none !important;
}

.float-left {
  display: block;
  float: left;
}

.float-right {
  display: block;
  float: right;
}

.vertical-wrapper {
  height: 100%;
  display: table;
}

.vertical-middle {
  display: table-cell;
  vertical-align: middle;
}

.text-center {
  text-align: center;
}

/* disable text selection highlighting */

.dtsh {
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Chrome/Safari/Opera */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* IE/Edge */
  user-select: none;
  cursor: context-menu;
}

#header {
  width: 100%;
  height: 100vh;
  display: block;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

#header.index-slider {
  background-image: url(/images/slider.png);
}

@media all and (max-width: 767px) {
  #header.index-slider {
    background-image: url(/images/slider-mobile.png);
  }
}

#header.references-slider {
  background-image: url(/images/slider-references.png);
  background-position: top left;
}

#header.references-slider img {
  top: calc((100% - 432px) / 2);
  margin-left: 540px;
  position: absolute;
}

#header.protherm-references-slider {
  background-image: url(/images/slider_references_protherm_01_18.jpg);
  background-position: top left;
}

#header.protherm-references-slider img {
  top: calc((100% - 432px) / 2);
  margin-left: 540px;
  position: absolute;
}

#header.manifesto-slider {
  background-image: url(/images/teesys_banner_mockup-01.jpg);
  background-position: top left;
}

#header.manifesto-slider img {
  top: calc((100% - 432px) / 2);
  margin-left: 540px;
  position: absolute;
}

#header .dropdown {
  display: none;
}

@media all and (max-width: 767px) {
  #header .dropdown {
    padding: 10px 20px;
    top: 30px;
    right: 30px;
    display: block;
    position: absolute;
    z-index: 20;
    cursor: pointer;
    border: 1px solid #FEDD00;
  }

  #header .dropdown p {
    color: #FEDD00;
    font-weight: bold;
    font-size: 24px;
  }

  #header .dropdown .nav-icon {
    width: 35px;
    height: 20px;
    margin-left: 80px;
    margin-top: -25px;
    position: relative;
    transform: rotate(0deg);
    transition: .5s ease-in-out;
    cursor: pointer;
  }

  #header .dropdown .nav-icon span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background-color: #FEDD00;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
  }

  #header .dropdown .nav-icon span:nth-child(1) {
    top: 0px;
  }

  #header .dropdown .nav-icon span:nth-child(2),
  #header .dropdown .nav-icon span:nth-child(3) {
    top: 9px;
  }

  #header .dropdown .nav-icon span:nth-child(4) {
    top: 18px;
  }

  #header .dropdown .nav-icon.open span:nth-child(1) {
    top: 9px;
    width: 0%;
    left: 50%;
  }

  #header .dropdown .nav-icon.open span:nth-child(2) {
    transform: rotate(45deg);
  }

  #header .dropdown .nav-icon.open span:nth-child(3) {
    transform: rotate(-45deg);
  }

  #header .dropdown .nav-icon.open span:nth-child(4) {
    top: 9px;
    width: 0%;
    left: 50%;
  }

  #header .menu-main {
    width: 100vw;
    padding-top: 100px;
    top: 0;
    left: 0;
    position: absolute;
    display: none;
    float: none;
    clear: both;
    background-color: #E4032E;
    z-index: 15;
  }

  #header .menu-main .item {
    margin-left: 40px !important;
    padding: 0 !important;
    float: none !important;
    clear: both;
  }

  #header .menu-main .item span {
    color: #1D1D1D !important;
  }
}

#header .header-menu {
  height: 37px;
  margin: 40px;
  overflow: hidden;
}

#header .header-menu .header-logo {
  width: 117px;
  height: 37px;
  float: left;
  display: block;
  position: relative;
  z-index: 20;
  background-image: url(/images/logo-white.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

#header .header-menu .header-menu-content {
  line-height: 37px;
  float: right;
}

#header .header-menu .header-menu-content .header-menu-menu {
  float: left;
}

#header .header-menu .header-menu-content .header-menu-menu a {
  margin: 0 15px;
  float: left;
  color: #FEDD00;
  font-weight: bold;
}

#header .header-menu .header-menu-content .header-languages {
  margin-left: 15px;
  float: right;
}

#header .header-menu .header-menu-content .header-languages a {
  float: left;
  font-weight: bold;
  color: #FFFFFF;
}

#header .header-menu .header-menu-content .header-languages span {
  margin: 0 4px;
  float: left;
  color: #E4032E;
  font-weight: bold;
}

@media all and (max-width: 425px) {
  #header .header-menu {
    margin-left: 5vw;
    margin-right: 5vw;
  }

  #header .header-menu .dropdown {
    right: 5vw;
  }
}

#header .header-content .middle-wrapper {
  height: calc(100vh - 200px);
  position: relative;
  z-index: 10;
}

#header .header-content .middle-wrapper .middle-content h1 {
  color: #FEDD00;
  font-size: 80px;
  max-width: 812px;
}

@media all and (max-width: 767px) {
  #header .header-content .middle-wrapper .middle-content h1 {
    font-size: 60px;
  }
}

@media all and (max-width: 460px) {
  #header .header-content .middle-wrapper .middle-content h1 {
    font-size: 48px;
  }
}

@media all and (max-width: 375px) {
  #header .header-content .middle-wrapper .middle-content h1 {
    font-size: 36px;
  }
}

#header .header-content .middle-wrapper .middle-content p {
  margin-top: 10px;
  color: #FFFFFF;
  max-width: 457px;
}

#advantages {
  margin-top: 150px;
}

#advantages .advantages-head h1 {
  padding-bottom: 15px;
}

#advantages .advantages-head h1,
#advantages .advantages-head p {
  text-align: center;
}

@media all and (max-width: 767px) {
  #advantages .advantages-head h1 {
    width: 150px;
    text-align: center;
    display: table;
    margin: 0 auto;
  }
}

#advantages .grid {
  margin-top: 110px;
  overflow: hidden;
}

#advantages .grid .item {
  width: 23%;
  margin: 0 5.16%;
  background-size: 80%;
  background-repeat: no-repeat;
  background-position: top center;
}

#advantages .grid .item h3 {
  margin-top: 75px;
}

#advantages .grid .item p {
  margin-top: 25px;
}

#advantages .grid .item:nth-child(1) {
  background-image: url(/images/icon-home-1.png);
}

#advantages .grid .item:nth-child(2) {
  background-image: url(/images/icon-home-2.png);
}

#advantages .grid .item:nth-child(3) {
  background-image: url(/images/icon-home-3.png);
}

@media all and (max-width: 767px) {
  #advantages .grid .item {
    width: 100%;
    margin-right: 0;
    margin-bottom: 50px;
    background-size: auto;
  }
}

@media all and (max-width: 767px) {
  #advantages {
    margin-top: 80px;
  }

  #advantages .grid {
    margin-top: 50px;
  }

  #advantages .grid .item {
    background-position: top right;
  }

  #advantages .grid .item:first-child {
    background-size: contain;
  }
}

#brain {
  margin-top: 160px;
  background-color: #E4032E;
}

#brain .brain-text h1 {
  padding-top: 75px;
  text-align: center;
  color: #FEDD00;
}

#brain .brain-text p {
  max-width: 550px;
  margin: 0 auto;
  padding-top: 65px;
  text-align: center;
  color: #FFFFFF;
}

@media all and (max-width: 767px) {
  #brain .brain-text p {
    max-width: 90%;
    text-align: left;
  }
}

#brain .brain-content {
  width: 90%;
  margin: 55px auto;
  line-height: 203px;
  overflow: hidden;
}

#brain .brain-content .middle-wrapper {
  width: 35%;
  height: 203px;
  float: left;
}

#brain .brain-content .middle-wrapper h2 {
  line-height: 3vw;
  padding-bottom: 8px;
  margin-right: 20px;
  display: table;
  border-bottom: 3px solid #FFFFFF;
  color: #FFFFFF;
  font-size: 3vw;
  float: right;
}

#brain .brain-content .middle-wrapper:last-child h2 {
  float: left;
  margin-left: 20px;
  padding-right: 0;
}

@media all and (min-width: 1150px) {
  #brain .brain-content .middle-wrapper h2 {
    font-size: 31px;
  }
}

#brain .brain-content .brain-images {
  width: 30%;
  float: left;
}

#brain .brain-content .brain-images span {
  width: 15%;
  height: 154px;
  margin-top: 25px;
  display: block;
  float: left;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

#brain .brain-content .brain-images span:first-child {
  background-image: url(/images/arrow-left-brain.png);
}

#brain .brain-content .brain-images span:last-child {
  background-image: url(/images/arrow-right-brain.png);
}

#brain .brain-content .brain-images .brain-img-other {
  width: 70%;
  height: 203px;
  display: block;
  float: left;
  background-image: url(/images/location-icon.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

#brain .brain-content .brain-images .brain-img {
  width: 70%;
  height: 203px;
  display: block;
  float: left;
  background-image: url(/images/brain.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media all and (max-width: 767px) {
  #brain .brain-content .middle-wrapper {
    width: auto;
    height: auto;
    margin: 0 auto;
    padding: 20px 0;
    text-align: center;
    float: none;
  }

  #brain .brain-content .middle-wrapper h2 {
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: 24px;
    line-height: 24px;
  }

  #brain .brain-content .middle-wrapper:last-child h2 {
    float: none;
  }

  #brain .brain-content .brain-images {
    width: 100%;
    float: none;
  }

  #brain .brain-content .brain-images span {
    width: 154px;
    height: 44px;
    margin: 0 auto;
    float: none;
  }

  #brain .brain-content .brain-images span:first-child {
    margin-bottom: 20px;
    background-image: url(/images/arrow-top-brain.png);
  }

  #brain .brain-content .brain-images span:last-child {
    margin-top: 20px;
    background-image: url(/images/arrow-bottom-brain.png);
  }

  #brain .brain-content .brain-images .brain-img {
    width: 100%;
    float: none;
    background-image: url(/images/brain-mobile.png);
  }

  #brain .brain-content .brain-images .brain-img-other {
    margin: 0 auto;
    float: none;
  }
}

@media all and (max-width: 425px) {
  #brain {
    max-width: 100vw;
  }
}

@media all and (max-width: 767px) {
  #brain {
    margin-top: 80px;
  }

  #brain .brain-text h1 {
    padding-top: 40px;
  }

  #brain .brain-text p {
    padding-top: 40px;
  }

  #brain .brain-content {
    margin-top: 30px;
  }
}

#work {
  margin-top: 200px;
}

#work .work-text h1 {
  text-align: center;
}

#work .work-text h3 {
  margin-top: 30px;
  text-align: center;
}

#work .grid {
  width: 920px;
  max-width: 90vw;
  margin: 50px auto 0;
  overflow: hidden;
}

#work .grid .item {
  width: 15%;
  margin: 30px 2.5%;
}

#work .grid .item img {
  max-width: 100%;
  margin: 0 auto;
  display: block;
}

@media all and (max-width: 767px) {
  #work .grid .item {
    width: 40%;
    height: 40px;
    margin: 30px 5%;
  }
}

@media all and (max-width: 767px) {
  #work {
    margin-top: 80px;
  }
}

#references {
  margin-top: 70px;
}

#references .references-head {
  margin: 0 auto;
  background-color: #FEDD00;
  display: table;
  position: relative;
  z-index: 10;
}

#references .references-head p {
  padding: 20px 40px;
  color: #1D1D1D;
  font-weight: bold;
  text-transform: uppercase;
}

@media all and (max-width: 767px) {
  #references .references-head {
    width: 100%;
    max-width: 90vw;
    text-align: center;
  }
}

#references .references-wrapper {
  margin-top: -40px;
  padding-bottom: 120px;
  background-color: #F4F4F4;
  overflow: hidden;
}

#references .references-wrapper .references-triangle-top {
  width: 0;
  height: 0;
  position: absolute;
  border-style: solid;
  border-width: 300px 400px 0 0;
  border-color: #FFFFFF transparent transparent transparent;
}

#references .references-wrapper .references-triangle-bottom {
  width: 0;
  height: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  border-style: solid;
  border-width: 0 0 300px 400px;
  border-color: transparent transparent #FFFFFF transparent;
}

#references .references-wrapper .references-content {
  padding-top: 30px;
  position: relative;
  z-index: 10;
}

#references .references-wrapper .references-content .references-item {
  margin-bottom: 120px;
  display: -ms-flexbox;
  display: flex;
}

#references .references-wrapper .references-content .references-item:first-child {
  margin-top: 120px;
}

#references .references-wrapper .references-content .references-item:last-child {
  margin-bottom: 0;
}

#references .references-wrapper .references-content .references-item .references-item-left {
  width: calc(60% - 100px);
  min-height: 386px;
  padding: 50px;
}

#references .references-wrapper .references-content .references-item .references-item-left img {
  max-width: 100%;
}

#references .references-wrapper .references-content .references-item .references-item-left.green {
  background: #132115;
  background: linear-gradient(to right, #132115 0%, #2a4318 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#132115', endColorstr='#2a4318', GradientType=1);
}

#references .references-wrapper .references-content .references-item .references-item-left.red {
  background: #340c02;
  background: linear-gradient(to right, #340c02 0%, #6b221b 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#340c02', endColorstr='#6b221b', GradientType=1);
}

#references .references-wrapper .references-content .references-item .references-item-left.blue {
  background: #0b1627;
  background: linear-gradient(to right, #0b1627 0%, #132339 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0b1627', endColorstr='#132339', GradientType=1);
}

#references .references-wrapper .references-content .references-item .references-item-left .references-item-left-head {
  overflow: hidden;
}

#references .references-wrapper .references-content .references-item .references-item-left .references-item-left-head a {
  float: right;
}

#references .references-wrapper .references-content .references-item .references-item-left .references-item-left-head a img {
  width: 130px;
}

#references .references-wrapper .references-content .references-item .references-item-left .references-item-left-head h2 {
  width: calc(100% - 150px);
  float: left;
  color: #FEDD00;
}

@media all and (max-width: 767px) {
  #references .references-wrapper .references-content .references-item .references-item-left .references-item-left-head a {
    width: 100%;
    margin-bottom: 30px;
    float: none;
    overflow: hidden;
  }

  #references .references-wrapper .references-content .references-item .references-item-left .references-item-left-head a img {
    float: right;
  }

  #references .references-wrapper .references-content .references-item .references-item-left .references-item-left-head h2 {
    width: 100%;
  }
}

#references .references-wrapper .references-content .references-item .references-item-left .references-text-main {
  margin-top: 30px;
  color: #FFFFFF;
}

#references .references-wrapper .references-content .references-item .references-item-left button {
  margin-top: 50px;
  padding: 15px 45px;
  background-color: #FFFFFF;
  cursor: pointer;
}

#references .references-wrapper .references-content .references-item .references-item-left button span {
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
}

#references .references-wrapper .references-content .references-item .references-item-left button span i {
  width: 24px;
  height: 21px;
  margin-right: 15px;
  display: block;
  float: left;
  background-image: url(/images/icon-book.png);
  background-repeat: no-repeat;
  background-size: contain;
}

@media all and (max-width: 767px) {
  #references .references-wrapper .references-content .references-item .references-item-left button {
    width: 100%;
    padding: 15px 0;
    display: table;
    margin: 30px auto 0;
  }
}

#references .references-wrapper .references-content .references-item .references-item-right {
  width: 40%;
  margin: 0 auto;
}

#references .references-wrapper .references-content .references-item .references-item-right .references-item-image {
  background-size: cover;
  width: 100%;
  height: calc(100% + 34px);
  position: relative;
  top: -34px;
}

@media all and (max-width: 1023px) {
  #references .references-wrapper .references-content .references-item .references-item-left {
    width: calc(100% - 100px);
    min-height: auto;
  }

  #references .references-wrapper .references-content .references-item .references-item-left.not-showed {
    display: none;
  }

  #references .references-wrapper .references-content .references-item .references-item-right {
    display: none;
  }

  #references .references-wrapper .references-content .references-item .references-item-right.showed {
    display: block;
    float: none;
    width: auto;
  }
}

@media all and (max-width: 767px) {
  #references .references-wrapper .references-content .references-item {
    margin-top: 20px;
  }

  #references .references-wrapper .references-content .references-item .references-item-left {
    width: calc(100% - 60px);
    padding: 30px;
  }
}

@media all and (max-width: 425px) {
  #references .references-wrapper .references-content .references-item .references-item-left {
    width: calc(100% - 40px);
    padding: 20px;
  }
}

@media all and (max-width: 767px) {
  #references .references-wrapper {
    padding-bottom: 0px;
    background-color: transparent;
  }

  #references .references-wrapper .references-triangle-top {
    border-width: 150px 200px 0 0;
  }

  #references .references-wrapper .references-triangle-bottom {
    border-width: 0 0 150px 200px;
  }
}

/* References custom */

#title {
  background-color: #E4032E;
}

#title h2 {
  padding: 80px 0;
  color: #FFFFFF;
}

#before {
  width: 900px;
  margin-top: 120px;
}

#before.no-margin {
  margin-top: 50px;
}

#before h2 {
  text-align: center;
}

#before h2:not(:first-child) {
  margin-top: 2rem;
}

#before .before-left {
  width: 60%;
  margin-top: 30px;
}

#before .before-left.full {
  width: 100%;
}

#before .before-left p {
  margin-top: 15px;
}

#before .before-right {
  width: 40%;
  height: 40vw;
  max-height: 360px;
  display: block;
  position: absolute;
  top: 20px;
  right: 0;
  background-image: url(/images/references-book.png);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 10;
}

#before img {
  max-width: 100%;
  margin: 50px auto 0;
  display: block;
}

@media all and (max-width: 767px) {
  #before .before-left {
    width: 100%;
  }

  #before .before-right {
    display: none;
  }
}

@media all and (max-width: 767px) {
  #before {
    margin-top: 80px;
  }
}

#fax {
  width: 900px;
  margin-top: 90px;
}

#fax h2 {
  text-align: center;
  max-width: 650px;
  margin: 0 auto;
}

#fax .fax-screen {
  width: 100%;
  height: 51.45vw;
  max-height: 515px;
  margin-top: 80px;
  background-image: url(/images/references-screen.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}

#fax .fax-content {
  margin-top: 80px;
}

#fax .fax-content.two-column ul {
  float: left;
  width: 60%;
}

#fax .fax-content.two-column img {
  float: left;
  max-width: 100%;
  margin: 0 auto 0 29px;
}

#fax .fax-content ul li {
  padding-top: 45px;
}

@media all and (max-width: 1023px) {
  #fax .fax-content.two-column ul {
    width: 100%;
  }

  #fax .fax-content.two-column img {
    display: none;
  }
}

@media all and (max-width: 767px) {
  #fax .fax-screen,
  #fax .fax-content {
    margin-top: 30px;
  }

  #fax .fax-screen ul li,
  #fax .fax-content ul li {
    padding-top: 20px;
  }
}

#fax img {
  max-width: 100%;
  margin: 50px auto 0;
  display: block;
}

#cite-google {
  margin-top: 120px;
  padding: 80px 0;
  background-color: #E4032E;
}

#cite-google h2,
#cite-google p {
  width: 900px;
  max-width: 90%;
  margin: 0 auto;
  font-weight: normal;
  color: #FFFFFF;
}

#cite-google p {
  padding-top: 50px;
}

#cite-google p span {
  color: #FEDD00;
}

@media all and (max-width: 767px) {
  #cite-google {
    margin-top: 40px;
    padding: 30px 0;
  }

  #cite-google p {
    padding-top: 20px;
  }
}

#after {
  width: 900px;
  margin-top: 110px;
  margin-bottom: -50px;
}

#after h2 {
  text-align: center;
}

#after .after-content ul li {
  padding-top: 45px;
}

#after .after-graph {
  margin-top: 40px;
}

@media all and (max-width: 767px) {
  #after {
    margin-top: 80px;
  }

  #after .after-content ul li {
    padding-top: 20px;
  }
}

#numbers {
  margin-top: 120px;
}

#numbers .item {
  width: 100%;
  padding: 80px 0;
  background-color: #E4032E;
  overflow: hidden;
}

#numbers .item p {
  color: #FFFFFF;
  text-align: center;
}

#numbers .item h1 {
  padding: 0 20px;
  color: #FEDD00;
  text-align: center;
}

#numbers .item h2 {
  padding: 0 10px;
  color: #FFFFFF;
  text-align: center;
}

@media all and (max-width: 767px) {
  #numbers .item {
    padding: 40px 0;
  }
}

#numbers .grid .item {
  width: calc(50% - 10px);
  margin-bottom: 20px;
}

#numbers .grid .item:first-child {
  margin-right: 20px;
}

#numbers .grid .item h1 {
  font-size: 100px;
}

@media all and (max-width: 991px) {
  #numbers .grid .item h1 {
    font-size: 80px;
  }
}

@media all and (max-width: 767px) {
  #numbers .grid .item {
    padding: 40px 0;
  }

  #numbers .grid .item h1 {
    font-size: 60px;
  }
}

@media all and (max-width: 550px) {
  #numbers .grid .item {
    width: 100%;
  }
}

@media all and (max-width: 767px) {
  #numbers {
    margin-top: -50px;
  }
}

#next-references {
  margin-top: 120px;
}

#next-references h2 {
  text-align: center;
}

#next-references .grid {
  margin-top: 70px;
}

#next-references .grid .item {
  width: 30%;
  height: 570px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

#next-references .grid .item.green {
  background-image: url(/images/references-green.png);
}

#next-references .grid .item.red {
  background-image: url(/images/references-red.png);
}

#next-references .grid .item.blue {
  background-image: url(/images/references-blue.png);
}

#next-references .grid .item:nth-child(2) {
  margin: 0 5%;
}

#next-references .grid .item .item-content {
  width: calc(100% - 60px);
  height: calc(100% - 60px);
  margin: 35px 30px;
  position: relative;
}

#next-references .grid .item .item-content .logo {
  height: 60px;
}

#next-references .grid .item .item-content h2 {
  height: 138px;
  color: #FEDD00;
  overflow: hidden;
}

#next-references .grid .item .item-content .references-text-main {
  height: 220px;
  color: #FFFFFF;
  overflow: hidden;
}

#next-references .grid .item .item-content button {
  width: 100%;
  height: 50px;
  margin-top: 30px;
  cursor: pointer;
  background-color: #FFFFFF;
}

#next-references .grid .item .item-content button span {
  margin: 0 auto;
  display: table;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
}

#next-references .grid .item .item-content button span i {
  width: 24px;
  height: 21px;
  margin-right: 15px;
  display: block;
  float: left;
  background-image: url(/images/icon-book.png);
  background-repeat: no-repeat;
  background-size: contain;
}

@media all and (max-width: 1023px) {
  #next-references {
    margin-top: 80px;
    margin-bottom: 60px;
  }

  #next-references .grid .item {
    width: 100%;
    height: auto;
    margin-bottom: 20px !important;
  }

  #next-references .grid .item:nth-child(2) {
    margin: 0;
  }

  #next-references .grid .item .item-content h2 {
    height: auto;
    padding-bottom: 30px;
    color: #FEDD00;
  }

  #next-references .grid .item .item-content .references-text-main {
    height: auto;
    color: #FFFFFF;
  }
}

#person {
  margin-top: 120px;
}

#person .person-text {
  width: 55%;
  float: left;
}

#person .person-text .person-cite {
  padding-top: 130px;
}

#person .person-text .person-cite span {
  width: 71px;
  height: 56px;
  display: block;
  background-image: url(/images/cite.png);
  background-repeat: no-repeat;
  background-size: contain;
}

#person .person-text .person-cite p {
  margin-left: 100px;
  margin-top: -20px;
  font-size: 24px;
  line-height: 36px;
}

@media all and (max-width: 1023px) {
  #person .person-text .person-cite {
    padding: 80px 10px 0;
  }
}

@media all and (max-width: 860px) {
  #person .person-text .person-cite {
    padding-top: 20px;
  }
}

@media all and (max-width: 817px) {
  #person .person-text .person-cite {
    padding-top: 0px;
  }
}

#person .person-text .person-name {
  margin-left: 100px;
  margin-top: 40px;
}

#person .person-text .person-name h2 {
  color: #E4032E;
}

#person .person-image {
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  background-repeat: no-repeat;
  background-size: contain;
}

#person .person-image.norbert-image {
  width: 35%;
  max-width: 358px;
  height: 512px;
  background-image: url(/images/norbert.png);
}

#person .person-image.peter-image {
  width: 35%;
  max-width: 358px;
  height: 560px;
  background-image: url(/images/peter.png);
}

#person .person-image.peter-image.small {
  height: 450px;
}

#person .person-image.peter-image .person-triangle {
  border-color: transparent transparent #FFFFFF transparent !important;
}

#person .person-image.andrej-image {
  width: 35%;
  max-width: 358px;
  height: 560px;
  background-image: url(/images/andrej_tomis.jpg);
}

#person .person-image.andrej-image .person-triangle {
  border-color: transparent transparent #FFFFFF transparent !important;
}

#person .person-image .person-triangle {
  width: 0;
  height: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  border-style: solid;
  border-width: 0 0 20vw 30vw;
  border-color: transparent transparent #FFFFFF transparent;
}

@media all and (min-width: 1024px) {
  #person .person-image .person-triangle {
    border-width: 0 0 200px 300px;
  }
}

@media all and (max-width: 767px) {
  #person .person-text {
    width: 100%;
    margin-bottom: 280px;
  }

  #person .person-text .person-cite p {
    margin-left: 0;
    margin-top: 20px;
  }

  #person .person-text .person-name {
    margin-left: 0;
    width: 50vw;
  }

  #person .person-text.peter-text {
    margin-bottom: 470px;
  }

  #person .person-image .person-triangle {
    border-color: transparent transparent #FEDD00 transparent;
    border-width: 0 0 150px 250px;
  }

  #person .person-image.norbert-image {
    width: 269px;
    height: 384px;
  }

  #person .person-image.peter-image {
    width: 242px;
    height: 530px;
  }

  #person .person-image.peter-image .person-triangle {
    border-width: 0 0 200px 300px;
  }
}

@media all and (max-width: 425px) {
  #person .norbert-content {
    max-width: 100vw;
  }

  #person .norbert-content .person-text {
    margin-left: 5vw;
  }

  #person .norbert-content .norbert-image {
    background-position: 25px;
  }
}

#toolkit {
  margin-top: 80px;
}

#toolkit .toolkit-image {
  width: 40%;
  height: 600px;
  display: block;
  position: absolute;
  right: 0;
  background-image: url(/images/toolkit-2020.png);
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 15;
}

#toolkit .toolkit-wrapper {
  margin-top: 70px;
  padding-top: 60px;
  padding-bottom: 60px;
  background-color: #FEDD00;
  overflow: hidden;
}

#toolkit .toolkit-wrapper .toolkit-left {
  width: calc(60% - 60px);
  padding-left: 60px;
  float: left;
  position: relative;
  z-index: 10;
}

#toolkit .toolkit-wrapper .toolkit-left .grid {
  margin-top: 40px;
  overflow: hidden;
}

#toolkit .toolkit-wrapper .toolkit-left .grid .item {
  width: calc(30% - 12px);
  height: 140px;
  margin-right: 3.33%;
  margin-top: 30px;
  border: 6px solid #f1d114;
  background-color: #ffe444;
}

#toolkit .toolkit-wrapper .toolkit-left .grid .item .middle-wrapper {
  height: 100%;
}

#toolkit .toolkit-wrapper .toolkit-left .grid .item p {
  padding: 0 10px;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
}

#toolkit .toolkit-wrapper .toolkit-left .grid .item p span {
  color: #E4032E;
}

@media all and (max-width: 1023px) {
  #toolkit .toolkit-wrapper .toolkit-left .grid .item {
    width: calc(45% - 12px);
    margin-right: 5%;
  }
}

#toolkit .toolkit-wrapper .toolkit-right {
  width: 38%;
  float: left;
}

#toolkit .toolkit-wrapper .toolkit-right .toolkit-download {
  width: 40%;
  height: 120px;
  position: absolute;
  bottom: 110px;
  right: 18px;
  z-index: 10;
  background-image: url(/images/arrow-download.png);
  background-repeat: no-repeat;
  background-position: center right;
}

#toolkit .toolkit-wrapper .toolkit-right .toolkit-download span {
  margin-top: 80px;
  margin-right: 76px;
  line-height: 48px;
  display: block;
  font-size: 36px;
  color: #FFFFFF;
  text-decoration: underline;
  font-weight: bold;
  text-align: right;
}

#toolkit .toolkit-wrapper .toolkit-right .toolkit-triangle {
  width: 0;
  height: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  border-style: solid;
  border-width: 0 0 400px 600px;
  border-color: transparent transparent #1D1D1D transparent;
}

@media all and (max-width: 767px) {
  #toolkit .toolkit-image {
    width: 30vw;
    min-width: 200px;
    height: 36.62vw;
    min-height: 244px;
    bottom: 180px;
    right: 20px;
  }

  #toolkit .toolkit-wrapper {
    padding-bottom: 0;
  }

  #toolkit .toolkit-wrapper .toolkit-left {
    width: calc(100% - 60px);
    padding-left: 30px;
  }

  #toolkit .toolkit-wrapper .toolkit-left .grid {
    margin-bottom: 50px;
  }

  #toolkit .toolkit-wrapper .toolkit-left .grid .item {
    width: calc(100% - 12px);
  }

  #toolkit .toolkit-wrapper .toolkit-left .grid .item:last-child {
    width: calc(50% - 12px);
    border: none;
    background-color: transparent;
  }

  #toolkit .toolkit-wrapper .toolkit-left .grid .item p {
    padding: 0 20px;
  }

  #toolkit .toolkit-wrapper .toolkit-left .grid .item .middle-wrapper {
    margin: 0 auto;
  }

  #toolkit .toolkit-wrapper .toolkit-right {
    width: calc(100% - 60px);
    padding: 50px 30px 150px;
    background-color: #1D1D1D;
  }

  #toolkit .toolkit-wrapper .toolkit-right .toolkit-download {
    width: 100%;
    bottom: auto;
    right: auto;
    background-position: 80% center;
  }

  #toolkit .toolkit-wrapper .toolkit-right .toolkit-download span {
    margin-left: 0;
    margin-top: 0;
  }

  #toolkit .toolkit-triangle {
    display: none;
  }
}

@media all and (max-width: 767px) {
  #toolkit {
    margin-top: -75px;
  }
}

@media all and (max-width: 425px) {
  #toolkit {
    max-width: 100vw;
  }

  #toolkit .toolkit-wrapper {
    max-width: 100vw;
  }
}

#blog {
  margin-top: 80px;
  background-color: #F4F4F4;
  background-image: url(/images/bg-book.png);
  background-repeat: no-repeat;
  background-position: center center;
}

#blog .blog-content {
  height: 200px;
}

#blog .blog-content h1 {
  width: 140px;
  padding: 70px 50px;
  display: table;
  float: left;
}

#blog .blog-content .middle-wrapper {
  width: calc(60% - 290px);
  height: 200px;
  padding-right: 50px;
  float: left;
}

#blog .blog-content form {
  width: calc(40% - 50px);
  margin: 80px 50px 50px 0;
  float: left;
}

#blog .blog-content form input[type="email"],
#blog .blog-content form input[type="text"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: calc(60% - 20px);
  height: 42px;
  line-height: 42px;
  padding-left: 15px;
  background-color: #FFFFFF;
  border: 4px solid #A5A5A5;
  border-right: none;
  color: #A5A5A5;
}

#blog .blog-content form input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 40%;
  height: 52px;
  margin-left: -4px;
  background-color: #1D1D1D;
  color: #FFFFFF;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
}

#blog .blog-content form p {
  margin-top: 10px;
  font-weight: bold;
}

@media all and (max-width: 1023px) {
  #blog .blog-content h1 {
    width: 100%;
    padding: 50px 0 20px;
    float: none;
    text-align: center;
  }

  #blog .blog-content .middle-wrapper {
    width: calc(60% - 60px);
    margin: 0 30px;
    padding-right: 0;
  }

  #blog .blog-content form {
    width: calc(40% - 30px);
    margin-right: 30px;
  }
}

@media all and (max-width: 767px) {
  #blog .blog-content .middle-wrapper {
    width: calc(100% - 60px);
    height: auto;
    margin: 0 30px;
    padding-right: 0;
    text-align: center;
  }

  #blog .blog-content form {
    width: calc(100% - 60px);
    margin-left: 30px;
    margin-top: 20px;
  }
}

@media all and (max-width: 425px) {
  #blog .blog-content form input[type="email"],
  #blog .blog-content form input[type="text"] {
    width: calc(100% - 8px);
    padding-left: 0;
    border-right: 4px solid #A5A5A5;
    text-align: center;
  }

  #blog .blog-content form input[type="submit"] {
    width: 200px;
    margin: 20px auto 0;
    display: block;
  }
}

@media all and (max-width: 767px) {
  #blog {
    background-image: none;
  }
}

#contact h2 {
  padding-top: 180px;
  padding-bottom: 60px;
  text-align: center;
  margin: 0 auto;
  max-width: 560px;
}

#contact h1 {
  color: #E4032E;
  text-align: center;
}

#contact a {
  margin: 0 auto;
  display: table;
  font-size: 60px;
  font-weight: bold;
  color: #E4032E;
  text-align: center;
}

#contact p {
  padding-top: 120px;
  text-align: center;
}

#contact form {
  margin: 80px auto 0;
}

#contact form input[type="email"],
#contact form input[type="text"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 400px;
  height: 60px;
  line-height: 60px;
  margin: 50px auto 0;
  text-align: center;
  display: table;
  background-color: #FFFFFF;
  border: 4px solid #A5A5A5;
  color: #A5A5A5;
}

#contact form input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 200px;
  height: 52px;
  margin: 40px auto 0;
  display: table;
  background-color: #1D1D1D;
  color: #FFFFFF;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
}

#contact form p {
  padding: 0;
  font-weight: bold;
}

#contact .success-message {
  display: none;
}

@media all and (max-width: 767px) {
  #contact h2 {
    padding-top: 80px;
    padding-bottom: 40px;
  }

  #contact h1,
  #contact a {
    font-size: 24px;
  }

  #contact p {
    padding-top: 80px;
  }

  #contact form {
    margin-top: 20px;
  }

  #contact form input[type="email"],
  #contact form input[type="text"] {
    margin-top: 0;
  }
}

@media all and (max-width: 767px) and (max-width: 450px) {
  #contact form input[type="text"],
  #contact form input[type="email"] {
    width: 300px;
  }
}

@media all and (max-width: 767px) {
  #contact form input[type="submit"] {
    margin-top: 20px;
  }
}

#footer {
  width: calc(100vw - 100px);
  margin: 130px auto 50px;
  border-top: 2px solid #A5A5A5;
}

#footer a {
  display: inline-block;
}

#footer .footer-left {
  margin-top: 30px;
}

#footer .footer-left a {
  width: 63px;
  height: 47px;
  float: left;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

#footer .footer-left a.facebook {
  background-image: url(/images/icon-facebook.png);
}

#footer .footer-left a.youtube {
  background-image: url(/images/icon-youtube.png);
}

#footer .footer-left a.linkedin {
  background-image: url(/images/icon-linkedin.png);
}

#footer .footer-left a.instagram {
  background-image: url(/images/icon-instagram.png);
}

#footer .footer-left a.pinterest {
  background-image: url(/images/icon-pinterest.png);
}

#footer .footer-left a.twitter {
  background-image: url(/images/icon-twitter.png);
}

@media all and (max-width: 425px) {
  #footer .footer-left a {
    width: 25vw;
    height: 18.65vw;
  }
}

#footer p {
  line-height: 47px;
  font-size: 14px;
  text-align: right;
}

@media all and (max-width: 767px) {
  #footer {
    width: 100vw;
    margin-top: 80px;
    border-top: none;
  }

  #footer .footer-left {
    display: table;
    margin: 0 auto;
  }

  #footer p {
    width: 100%;
    margin-top: 30px;
    line-height: 24px;
    float: none;
    text-align: center;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJlc291cmNlcy9hc3NldHMvc2Fzcy9hcHAuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9fdmFyaWFibGVzLnNjc3MiLCJyZXNvdXJjZXMvYXNzZXRzL3Nhc3MvZm9udHMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9jb21tb24uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9jb21wb25lbnRzL2hlYWRlci5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvYWR2YW50YWdlcy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvYnJhaW4uc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9jb21wb25lbnRzL3dvcmsuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9jb21wb25lbnRzL3JlZmVyZW5jZXMuc2NzcyIsInJlc291cmNlcy9hc3NldHMvc2Fzcy9jb21wb25lbnRzL3BlcnNvbi5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvdG9vbGtpdC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvYmxvZy5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvY29udGFjdC5zY3NzIiwicmVzb3VyY2VzL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvZm9vdGVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImZvbnRzXCI7XG5AaW1wb3J0IFwiY29tbW9uXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWR2YW50YWdlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnJhaW5cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3dvcmtcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3JlZmVyZW5jZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BlcnNvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdG9vbGtpdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvZ1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29udGFjdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9vdGVyXCI7XG4iLCIkd2hpdGU6ICNGRkZGRkY7XG4kcGFsZTogI0Y0RjRGNDtcbiR5ZWxsb3c6ICNGRUREMDA7XG4kcmVkOiAjRTQwMzJFO1xuJGdyZXktYnJpZ2h0OiAjQTVBNUE1O1xuJGdyZXk6ICM0QTRBNEE7XG4kYmxhY2s6ICMxRDFEMUQ7XG5cbiRmb250MTQ6IDE0cHg7XG4kZm9udDE1OiAxNXB4O1xuJGZvbnQxODogMThweDtcbiRmb250MjQ6IDI0cHg7XG4kZm9udDMwOiAzMHB4O1xuJGZvbnQzNjogMzZweDtcbiRmb250NjA6IDYwcHg7XG4kZm9udDgwOiA4MHB4O1xuXG4kcmVmLXdpZHRoOiA5MDBweDsiLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0F2ZW5pcic7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgc3JjOiB1cmwoXCIvZm9udHMvQXZlbmlyTmV4dExUUHJvLVJlZ3VsYXIub3RmXCIpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoXCIvZm9udHMvQXZlbmlyTmV4dExUUHJvLVJlZ3VsYXIub3RmXCIpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdBdmVuaXInO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBzcmM6IHVybChcIi9mb250cy9BdmVuaXJOZXh0TFRQcm8tQm9sZC5vdGZcIikgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybChcIi9mb250cy9BdmVuaXJOZXh0TFRQcm8tQm9sZC5vdGZcIikgZm9ybWF0KCdvcGVudHlwZScpO1xufSIsImh0bWwsIGJvZHkge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBjb2xvcjogJGdyZXk7XG4gICAgZm9udC1mYW1pbHk6ICdBdmVuaXInLCBzYW5zLXNlcmlmO1xufVxuXG5wLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBkaXYsIGEsIGxpLCBpbnB1dCwgdGV4dGFyZWEsIGJ1dHRvbiB7XG4gICAgY29sb3I6ICRncmV5O1xuICAgIGZvbnQtZmFtaWx5OiAnQXZlbmlyJywgc2Fucy1zZXJpZjtcbn1cblxuc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmgxIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQ2MDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQzNjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuaDMge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQyNDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxucCwgbGkge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQxODtcbiAgICBsaW5lLWhlaWdodDogJGZvbnQyNDtcbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udDMwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udDI0O1xuICAgIH1cblxuICAgIHAsIGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udDE0O1xuICAgIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubW9iaWxlLWludmlzaWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5kZXNrdG9wLWludmlzaWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5kaXYsIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2l0ZS1jb250ZW50IHtcbiAgICB3aWR0aDogMTE4MHB4O1xuICAgIG1heC13aWR0aDogOTB2dztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1pZGRsZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIC5taWRkbGUtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufVxuXG4uZ3JpZCAuaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbnVsIGxpIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICB9XG59XG5cbi5tdC1oYWxmIHtcbiAgICBtYXJnaW4tdG9wOiAxMzBweCAhaW1wb3J0YW50O1xufVxuXG5wLCBhLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCB1bCwgbGksIGZvcm0ge1xuICAgIG1hcmdpbjogMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbn1cblxuYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmltZyB7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgLyogSUUgKi9cbn1cblxuaW5wdXQge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbnNlY3Rpb24ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2xlYW5lciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZmxvYXQ6IG5vbmU7XG59XG5cbi52aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaW52aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mbG9hdC1sZWZ0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi52ZXJ0aWNhbC13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi52ZXJ0aWNhbC1taWRkbGUge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIGRpc2FibGUgdGV4dCBzZWxlY3Rpb24gaGlnaGxpZ2h0aW5nICovXG4uZHRzaCB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC8qIGlPUyBTYWZhcmkgKi9cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIENocm9tZS9TYWZhcmkvT3BlcmEgKi9cbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIEZpcmVmb3ggKi9cbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLyogSUUvRWRnZSAqL1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogY29udGV4dC1tZW51O1xufSIsIiNoZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAmLmluZGV4LXNsaWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL3NsaWRlci5wbmcpO1xuICAgIH1cblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAgICAgJi5pbmRleC1zbGlkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvc2xpZGVyLW1vYmlsZS5wbmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yZWZlcmVuY2VzLXNsaWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL3NsaWRlci1yZWZlcmVuY2VzLnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB0b3A6IGNhbGMoKDEwMCUgLSA0MzJweCkgLyAyKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1NDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucHJvdGhlcm0tcmVmZXJlbmNlcy1zbGlkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9zbGlkZXJfcmVmZXJlbmNlc19wcm90aGVybV8wMV8xOC5qcGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdG9wOiBjYWxjKCgxMDAlIC0gNDMycHgpIC8gMik7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTQwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hbmlmZXN0by1zbGlkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy90ZWVzeXNfYmFubmVyX21vY2t1cC0wMS5qcGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdG9wOiBjYWxjKCgxMDAlIC0gNDMycHgpIC8gMik7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNTQwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR5ZWxsb3c7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQyNDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi1pY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTI1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAtby10cmFuc2l0aW9uOiAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAuMjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIC1vLXRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IC4yNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgyKSwgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm9wZW4ge1xuXG4gICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtbWFpbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgei1pbmRleDogMTU7XG5cbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLW1lbnUge1xuICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgIG1hcmdpbjogNDBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAuaGVhZGVyLWxvZ28ge1xuICAgICAgICAgICAgd2lkdGg6IDExN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvbG9nby13aGl0ZS5wbmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1tZW51LWNvbnRlbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgIC5oZWFkZXItbWVudS1tZW51IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXItbGFuZ3VhZ2VzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNHB4O1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQyNXB4KSB7XG5cbiAgICAgICAgLmhlYWRlci1tZW51IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1dnc7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDV2dztcblxuICAgICAgICAgICAgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgICByaWdodDogNXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1jb250ZW50IHtcblxuICAgICAgICAubWlkZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgIC5taWRkbGUtY29udGVudCB7XG5cbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250ODA7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODEycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250NjA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0NjBweCkge1xuXG4gICAgICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDM3NXB4KSB7XG5cbiAgICAgICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udDM2O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDU3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI2FkdmFudGFnZXMge1xuICAgIG1hcmdpbi10b3A6IDE1MHB4O1xuXG4gICAgLmFkdmFudGFnZXMtaGVhZCB7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMSwgcCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ncmlkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTEwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IDIzJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1LjE2JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogODAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA3NXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbi1ob21lLTEucG5nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb24taG9tZS0yLnBuZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uLWhvbWUtMy5wbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICNhZHZhbnRhZ2VzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiI2JyYWluIHtcbiAgICBtYXJnaW4tdG9wOiAxNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuXG4gICAgLmJyYWluLXRleHQge1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhaW4tY29udGVudCB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogNTVweCBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogMjAzcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLm1pZGRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwM3B4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3Z3O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDN2dztcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIGgyIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTE1MHB4KSB7XG5cbiAgICAgICAgICAgIC5taWRkbGUtd3JhcHBlciB7XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJhaW4taW1hZ2VzIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1JTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1NHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9hcnJvdy1sZWZ0LWJyYWluLnBuZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3ctcmlnaHQtYnJhaW4ucG5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5icmFpbi1pbWctb3RoZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDNweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9sb2NhdGlvbi1pY29uLnBuZyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJyYWluLWltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwM3B4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2JyYWluLnBuZyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAgICAgICAgIC5taWRkbGUtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250MjQ7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udDI0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCBoMiB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJyYWluLWltYWdlcyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1NHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9hcnJvdy10b3AtYnJhaW4ucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3ctYm90dG9tLWJyYWluLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYnJhaW4taW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9icmFpbi1tb2JpbGUucG5nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmJyYWluLWltZy1vdGhlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDI1cHgpIHtcblxuICAgICNicmFpbiB7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgI2JyYWluIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgICAgICAuYnJhaW4tdGV4dCB7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJhaW4tY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIiN3b3JrIHtcbiAgICBtYXJnaW4tdG9wOiAyMDBweDtcblxuICAgIC53b3JrLXRleHQge1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JpZCB7XG4gICAgICAgIHdpZHRoOiA5MjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHZ3O1xuICAgICAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMi41JTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgI3dvcmsge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIH1cbn0iLCIjcmVmZXJlbmNlcyB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcblxuICAgIC5yZWZlcmVuY2VzLWhlYWQge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICAgICAucmVmZXJlbmNlcy1oZWFkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MHZ3O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlZmVyZW5jZXMtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWxlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5yZWZlcmVuY2VzLXRyaWFuZ2xlLXRvcCB7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDMwMHB4IDQwMHB4IDAgMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlZmVyZW5jZXMtdHJpYW5nbGUtYm90dG9tIHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMzAwcHggNDAwcHg7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR3aGl0ZSB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWZlcmVuY2VzLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgLnJlZmVyZW5jZXMtaXRlbSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzLWl0ZW0tbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDYwJSAtIDEwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzg2cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuZ3JlZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiKDE5LCAzMywgMjEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgxOSwgMzMsIDIxLCAxKSAwJSwgcmdiYSg0MiwgNjcsIDI0LCAxKSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTksIDMzLCAyMSwgMSkgMCUsIHJnYmEoNDIsIDY3LCAyNCwgMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMTksIDMzLCAyMSwgMSkgMCUsIHJnYmEoNDIsIDY3LCAyNCwgMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMTMyMTE1JywgZW5kQ29sb3JzdHI9JyMyYTQzMTgnLCBHcmFkaWVudFR5cGU9MSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLnJlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoNTIsIDEyLCAyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNTIsIDEyLCAyLCAxKSAwJSwgcmdiYSgxMDcsIDM0LCAyNywgMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDUyLCAxMiwgMiwgMSkgMCUsIHJnYmEoMTA3LCAzNCwgMjcsIDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDUyLCAxMiwgMiwgMSkgMCUsIHJnYmEoMTA3LCAzNCwgMjcsIDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzM0MGMwMicsIGVuZENvbG9yc3RyPScjNmIyMjFiJywgR3JhZGllbnRUeXBlPTEpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5ibHVlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigxMSwgMjIsIDM5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMTEsIDIyLCAzOSwgMSkgMCUsIHJnYmEoMTksIDM1LCA1NywgMSkgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDExLCAyMiwgMzksIDEpIDAlLCByZ2JhKDE5LCAzNSwgNTcsIDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDExLCAyMiwgMzksIDEpIDAlLCByZ2JhKDE5LCAzNSwgNTcsIDEpIDEwMCUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzBiMTYyNycsIGVuZENvbG9yc3RyPScjMTMyMzM5JywgR3JhZGllbnRUeXBlPTEpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnJlZmVyZW5jZXMtaXRlbS1sZWZ0LWhlYWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVmZXJlbmNlcy1pdGVtLWxlZnQtaGVhZCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzLXRleHQtbWFpbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250MTQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbi1ib29rLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0byAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJlZmVyZW5jZXMtaXRlbS1yaWdodCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzLWl0ZW0taW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAzNHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTM0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblxuICAgICAgICAgICAgICAgICAgICAucmVmZXJlbmNlcy1pdGVtLWxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYubm90LXNob3dlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzLWl0ZW0tcmlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5zaG93ZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAgICAgICAgICAgICAucmVmZXJlbmNlcy1pdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICAucmVmZXJlbmNlcy1pdGVtLWxlZnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDI1cHgpIHtcblxuICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzLWl0ZW0ge1xuXG4gICAgICAgICAgICAgICAgICAgIC5yZWZlcmVuY2VzLWl0ZW0tbGVmdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICAgICAucmVmZXJlbmNlcy13cmFwcGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgLnJlZmVyZW5jZXMtdHJpYW5nbGUtdG9wIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDE1MHB4IDIwMHB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlZmVyZW5jZXMtdHJpYW5nbGUtYm90dG9tIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAxNTBweCAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogUmVmZXJlbmNlcyBjdXN0b20gKi9cblxuI3RpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuXG4gICAgaDIge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDA7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4jYmVmb3JlIHtcbiAgICB3aWR0aDogJHJlZi13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcblxuICAgICYubm8tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmVmb3JlLWxlZnQge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgICYuZnVsbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iZWZvcmUtcmlnaHQge1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICBoZWlnaHQ6IDQwdnc7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM2MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9yZWZlcmVuY2VzLWJvb2sucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgICAgIC5iZWZvcmUtbGVmdCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iZWZvcmUtcmlnaHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICNiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIH1cbn1cblxuI2ZheCB7XG4gICAgd2lkdGg6ICRyZWYtd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogOTBweDtcblxuICAgIGgyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuZmF4LXNjcmVlbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDUxLjQ1dnc7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9yZWZlcmVuY2VzLXNjcmVlbi5wbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgLmZheC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgICAgICAmLnR3by1jb2x1bW4ge1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDAgMjlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgIC5mYXgtY29udGVudCB7XG5cbiAgICAgICAgICAgICYudHdvLWNvbHVtbiB7XG5cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG4gICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICAgICAuZmF4LXNjcmVlbiwgLmZheC1jb250ZW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4jY2l0ZS1nb29nbGUge1xuICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuXG4gICAgaDIsIHAge1xuICAgICAgICB3aWR0aDogJHJlZi13aWR0aDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgI2NpdGUtZ29vZ2xlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNhZnRlciB7XG4gICAgd2lkdGg6ICRyZWYtd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogMTEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTUwcHg7XG5cbiAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuYWZ0ZXItY29udGVudCB7XG5cbiAgICAgICAgdWwge1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWZ0ZXItZ3JhcGgge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICNhZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgICAgICAgLmFmdGVyLWNvbnRlbnQge1xuXG4gICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI251bWJlcnMge1xuICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuXG4gICAgLml0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogODBweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQge1xuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcblxuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udDgwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAgICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XG5cbiAgICAgICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQ2MDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1NTBweCkge1xuXG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAjbnVtYmVycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIH1cbn1cblxuI25leHQtcmVmZXJlbmNlcyB7XG4gICAgbWFyZ2luLXRvcDogMTIwcHg7XG5cbiAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuZ3JpZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XG5cbiAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIGhlaWdodDogNTcwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgICYuZ3JlZW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL3JlZmVyZW5jZXMtZ3JlZW4ucG5nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5yZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL3JlZmVyZW5jZXMtcmVkLnBuZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmx1ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvcmVmZXJlbmNlcy1ibHVlLnBuZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzVweCAzMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMzhweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJlZmVyZW5jZXMtdGV4dC1tYWluIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250MTQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbi1ib29rLnBuZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuXG4gICAgI25leHQtcmVmZXJlbmNlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICAgICAgLmdyaWQge1xuXG4gICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5pdGVtLWNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucmVmZXJlbmNlcy10ZXh0LW1haW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIjcGVyc29uIHtcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcblxuICAgIC5wZXJzb24tdGV4dCB7XG4gICAgICAgIHdpZHRoOiA1NSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIC5wZXJzb24tY2l0ZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTMwcHg7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9jaXRlLnBuZyk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250MjQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb250MzY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblxuICAgICAgICAgICAgLnBlcnNvbi1jaXRlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4MHB4IDEwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDg2MHB4KSB7XG5cbiAgICAgICAgICAgIC5wZXJzb24tY2l0ZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MTdweCkge1xuXG4gICAgICAgICAgICAucGVyc29uLWNpdGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGVyc29uLW5hbWUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBlcnNvbi1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblxuICAgICAgICAmLm5vcmJlcnQtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzU4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUxMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvbm9yYmVydC5wbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5wZXRlci1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMzUlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNThweDtcbiAgICAgICAgICAgIGhlaWdodDogNTYwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9wZXRlci5wbmcpO1xuXG4gICAgICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGVyc29uLXRyaWFuZ2xlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR3aGl0ZSB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hbmRyZWotaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzU4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDU2MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYW5kcmVqX3RvbWlzLmpwZyk7XG5cbiAgICAgICAgICAgIC5wZXJzb24tdHJpYW5nbGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHdoaXRlIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGVyc29uLXRyaWFuZ2xlIHtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMjB2dyAzMHZ3O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkd2hpdGUgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcblxuICAgICAgICAucGVyc29uLWltYWdlIHtcblxuICAgICAgICAgICAgLnBlcnNvbi10cmlhbmdsZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMjAwcHggMzAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgICAgIC5wZXJzb24tdGV4dCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4MHB4O1xuXG4gICAgICAgICAgICAucGVyc29uLWNpdGUge1xuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBlcnNvbi1uYW1lIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTB2dztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wZXRlci10ZXh0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wZXJzb24taW1hZ2Uge1xuXG4gICAgICAgICAgICAucGVyc29uLXRyaWFuZ2xlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR5ZWxsb3cgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMTUwcHggMjUwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubm9yYmVydC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI2OXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzg0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGV0ZXItaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNDJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUzMHB4O1xuXG4gICAgICAgICAgICAgICAgLnBlcnNvbi10cmlhbmdsZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDIwMHB4IDMwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQyNXB4KSB7XG5cbiAgICAgICAgLm5vcmJlcnQtY29udGVudCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuXG4gICAgICAgICAgICAucGVyc29uLXRleHQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1dnc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ub3JiZXJ0LWltYWdlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiI3Rvb2xraXQge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgICAudG9vbGtpdC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy90b29sa2l0LTIwMjAucG5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB6LWluZGV4OiAxNTtcbiAgICB9XG5cbiAgICAudG9vbGtpdC13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC50b29sa2l0LWxlZnQge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gNjBweCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAgICAgLml0ZW0ge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzMCUgLSAxMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjMzJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiA2cHggc29saWQgI2YxZDExNDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTQ0NDtcblxuICAgICAgICAgICAgICAgICAgICAubWlkZGxlLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250MTU7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblxuICAgICAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg0NSUgLSAxMnB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNSU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudG9vbGtpdC1yaWdodCB7XG4gICAgICAgICAgICB3aWR0aDogMzglO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIC50b29sa2l0LWRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMTEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvYXJyb3ctZG93bmxvYWQucG5nKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodDtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDc2cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udDM2O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRvb2xraXQtdHJpYW5nbGUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgNDAwcHggNjAwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkYmxhY2sgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgICAgIC50b29sa2l0LWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMHZ3O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzYuNjJ2dztcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0NHB4O1xuICAgICAgICAgICAgYm90dG9tOiAxODBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvb2xraXQtd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgLnRvb2xraXQtbGVmdCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgICAgICAgICAgIC5ncmlkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgICAgICAgICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTJweCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMTJweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5taWRkbGUtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b29sa2l0LXJpZ2h0IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweCAzMHB4IDE1MHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcblxuICAgICAgICAgICAgICAgIC50b29sa2l0LWRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDgwJSBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudG9vbGtpdC10cmlhbmdsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgI3Rvb2xraXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNzVweDtcbiAgICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQyNXB4KSB7XG5cbiAgICAjdG9vbGtpdCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwdnc7XG5cbiAgICAgICAgLnRvb2xraXQtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgICB9XG4gICAgfVxufSIsIiNibG9nIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWxlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2JnLWJvb2sucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAuYmxvZy1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA3MHB4IDUwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pZGRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDYwJSAtIDI5MHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDQwJSAtIDUwcHgpO1xuICAgICAgICAgICAgbWFyZ2luOiA4MHB4IDUwcHggNTBweCAwO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJGdyZXktYnJpZ2h0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktYnJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMjBweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5taWRkbGUtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNjAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNDAlIC0gMzBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICAgICAgICAgLm1pZGRsZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDQyNXB4KSB7XG5cbiAgICAgICAgICAgIGZvcm0ge1xuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGdyZXktYnJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuXG4gICAgI2Jsb2cge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIH1cbn0iLCIjY29udGFjdCB7XG5cbiAgICBoMiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxODBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogNTYwcHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQ2MDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGZvcm0ge1xuICAgICAgICBtYXJnaW46IDgwcHggYXV0byAwO1xuXG4gICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJGdyZXktYnJpZ2h0O1xuICAgICAgICAgICAgY29sb3I6ICRncmV5LWJyaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNTJweDtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCBhdXRvIDA7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VjY2Vzcy1tZXNzYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG5cbiAgICAjY29udGFjdCB7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxLCBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQyNDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIjZm9vdGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDEwMHB4KTtcbiAgICBtYXJnaW46IDEzMHB4IGF1dG8gNTBweDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGdyZXktYnJpZ2h0O1xuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuZm9vdGVyLWxlZnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IDYzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ3cHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAgICAgJi5mYWNlYm9vayB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbi1mYWNlYm9vay5wbmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnlvdXR1YmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb24teW91dHViZS5wbmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmxpbmtlZGluIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uLWxpbmtlZGluLnBuZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaW5zdGFncmFtIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uLWluc3RhZ3JhbS5wbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5waW50ZXJlc3Qge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb24tcGludGVyZXN0LnBuZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLnR3aXR0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb24tdHdpdHRlci5wbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNDI1cHgpIHtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1dnc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOC42NXZ3O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICAgICAgICBmb250LXNpemU6ICRmb250MTQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcblxuICAgICNmb290ZXIge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG5cbiAgICAgICAgLmZvb3Rlci1sZWZ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9udDI0O1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBRUFBLFVBQVU7RUFDTixXQUFXLEVBQUUsUUFBUTtFQUNyQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFB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 */