/* ------------------------------------------------------------ *\
	Reset
\* ------------------------------------------------------------ */
*,
*:before,
*:after {
  padding: 0;
  margin: 0;
  outline: 0;
  box-sizing: border-box; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, main {
  display: block; }

html,
body {
  min-height: 100%; }

html {
  tap-highlight-color: rgba(0, 0, 0, 0); }

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-size-adjust: none; }

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

img, iframe {
  border: 0 none; }

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

b,
strong {
  font-weight: bold; }

address {
  font-style: normal; }

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

a,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="image"],
label[for] {
  cursor: pointer; }

a[href^="tel"],
button[disabled],
input[disabled],
textarea[disabled],
select[disabled] {
  cursor: default; }

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

input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
input[type="color"],
textarea,
a[href^="tel"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  display: none;
  -webkit-appearance: none; }

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

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

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased; }

button,
select {
  text-transform: none; }

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

nav ul,
nav ol {
  list-style: none outside none; }

.icon-footersep, footer ul:before, footer ul:after {
  background-position: 0px 0px;
  background-repeat: no-repeat;
  overflow: hidden;
  display: inline-block;
  width: 133px;
  height: 25px; }

.icon-seperator-reversed, h2:nth-child(even):after, .heading2:nth-child(even):after, h2.even:after, .heading2.even:after {
  background-position: 0px -25px;
  background-repeat: no-repeat;
  overflow: hidden;
  display: inline-block;
  width: 70px;
  height: 31px; }

.icon-seperator, h2:nth-child(odd):after, .heading2:nth-child(odd):after {
  background-position: 0px -56px;
  background-repeat: no-repeat;
  overflow: hidden;
  display: inline-block;
  width: 70px;
  height: 31px; }

.icon-pdf {
  background-position: 0px -87px;
  background-repeat: no-repeat;
  overflow: hidden;
  display: inline-block;
  width: 32px;
  height: 32px; }

.icon-specs {
  background-position: 0px -119px;
  background-repeat: no-repeat;
  overflow: hidden;
  display: inline-block;
  width: 32px;
  height: 32px; }

.icon, h2:after, .heading2:after, footer ul:before, footer ul:after {
  background-image: url("/assets/images/sprite.png"); }

@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .icon, h2:after, .heading2:after, footer ul:before, footer ul:after {
    background-image: url("/assets/images/sprite@2x.png");
    background-size: 133px 151px; } }

@font-face {
  font-family: "ekt_icons";
  src: url("/assets/fonts/ekt_icons.eot");
  src: url("/assets/fonts/ekt_icons.eot?#iefix") format("eot"), url("/assets/fonts/ekt_icons.woff") format("woff"), url("/assets/fonts/ekt_icons.ttf") format("truetype"), url("/assets/fonts/ekt_icons.svg#ekt_icons") format("svg"); }

.ekt_icon:before, .filter-toggle:before, .wf-group .select:before, .primary-navigation-language-toggle:before, .secondary-navigation-toggle:before, .tab-toggle:before {
  font-family: "ekt_icons";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  /* speak: none; only necessary if not using the private unicode range (firstGlyph option) */
  text-decoration: none;
  text-transform: none; }

.ekt_icon-arrow-down:before {
  content: "\E001"; }

.ekt_icon-arrow-left:before {
  content: "\E002"; }

.ekt_icon-arrow-right:before {
  content: "\E003"; }

.ekt_icon-arrow-up:before {
  content: "\E004"; }

.ekt_icon-cable:before {
  content: "\E005"; }

.ekt_icon-checkmark:before {
  content: "\E006"; }

.ekt_icon-chevron-down:before, .filter-toggle:before, .wf-group .select:before, .primary-navigation-language-toggle:before, .secondary-navigation-toggle:before, .tab-toggle:before {
  content: "\E007"; }

.ekt_icon-chevron-left:before {
  content: "\E008"; }

.ekt_icon-chevron-right:before {
  content: "\E009"; }

.ekt_icon-chevron-up:before {
  content: "\E00A"; }

.ekt_icon-close:before {
  content: "\E00B"; }

.ekt_icon-facebook:before {
  content: "\E00C"; }

.ekt_icon-iptv:before {
  content: "\E00D"; }

.ekt_icon-linkedin:before {
  content: "\E00E"; }

.ekt_icon-logo:before {
  content: "\E00F"; }

.ekt_icon-minus-circ:before {
  content: "\E010"; }

.ekt_icon-minus:before {
  content: "\E011"; }

.ekt_icon-modem:before {
  content: "\E012"; }

.ekt_icon-plus:before {
  content: "\E013"; }

.ekt_icon-remove:before {
  content: "\E014"; }

.ekt_icon-satellite:before {
  content: "\E015"; }

.ekt_icon-share:before {
  content: "\E016"; }

.ekt_icon-smart-tv:before {
  content: "\E017"; }

.ekt_icon-terrestrial:before {
  content: "\E018"; }

.ekt_icon-trash:before {
  content: "\E019"; }

.ekt_icon-twitter:before {
  content: "\E01A"; }

* {
  box-sizing: border-box; }

body {
  font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #4a4a55;
  font-size: 16px; }
  body.no-scroll {
    overflow: hidden; }

h1, .heading1 {
  font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 200;
  font-style: normal;
  font-size: 50px;
  line-height: 55px;
  margin-bottom: 45px; }
  @media only screen and (min-width: 667px) {
    h1, .heading1 {
      font-size: 80px;
      line-height: 90px;
      margin-bottom: 10px; } }

h2, .heading2 {
  font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 200;
  font-style: normal;
  font-size: 40px;
  line-height: 40px;
  margin-bottom: 16px;
  text-align: center;
  position: relative;
  padding-bottom: 56px; }
  h2:after, .heading2:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
  h2.no-seperator, .heading2.no-seperator {
    padding: 0; }
    h2.no-seperator:after, .heading2.no-seperator:after {
      display: none; }

h3 {
  font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 200;
  font-style: normal;
  font-size: 24px;
  line-height: 36px;
  margin-bottom: 18px; }

h5 {
  font-size: 16px;
  font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 30px; }

p, blockquote {
  margin-bottom: 30px;
  font-size: 16px;
  line-height: 30px; }

a {
  text-decoration: none;
  color: #dc0000; }
  .no-touchevents a:hover {
    text-decoration: underline;
    cursor: pointer; }

.introduction {
  font-size: 18px;
  margin-bottom: 0; }

.content-introduction {
  font-size: 24px; }

.product-name {
  color: #dc0000;
  font-size: 30px;
  line-height: 38px;
  margin-bottom: 0; }
  @media only screen and (min-width: 1200px) {
    .product-name {
      margin-bottom: 5px; } }

.quote, blockquote {
  font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-style: italic;
  font-size: 18px;
  color: #16161c; }
  .quote:before, .quote:after, blockquote:before, blockquote:after {
    content: "\0022"; }

@media only screen and (min-width: 667px) {
  .mobile-only {
    display: none; } }

.no-mobile {
  display: none; }
  @media only screen and (min-width: 667px) {
    .no-mobile {
      display: block; } }

::selection {
  background: #dc0000;
  color: #fff; }

.btn {
  appearance: none;
  display: inline-block;
  border: none;
  transition: all .3s;
  text-decoration: none; }
  .no-touchevents .btn:hover {
    text-decoration: none; }

.btn-solid {
  font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  border: 1px solid transparent;
  border-radius: 2px;
  line-height: 18px;
  height: 58px;
  padding: 18px 28px; }
  .no-touchevents .btn-solid:hover {
    text-decoration: none; }
  @media only screen and (min-width: 667px) {
    .btn-solid {
      border-width: 2px; } }

.btn-icon {
  width: 50px;
  height: 50px;
  position: relative;
  border: 2px solid transparent; }
  .btn-icon .ekt_icon, .btn-icon .filter-toggle, .btn-icon .wf-group .select, .wf-group .btn-icon .select, .btn-icon .primary-navigation-language-toggle, .btn-icon .secondary-navigation-toggle, .btn-icon .tab-toggle {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }

.btn-primary {
  background-color: #dc0000;
  border-color: #dc0000;
  color: #fff; }
  .no-touchevents .btn-primary:hover {
    background-color: #16161c;
    border-color: #16161c; }

.btn-primary-inverse {
  background-color: transparent;
  border-color: #dc0000;
  color: #4a4a55; }
  .no-touchevents .btn-primary-inverse:hover {
    background-color: #dc0000;
    color: #fff; }

.btn-secondary {
  background-color: #16161c;
  border-color: #16161c;
  color: #fff; }
  .no-touchevents .btn-secondary:hover {
    background-color: #dc0000;
    border-color: #dc0000; }

.btn-secondaryInverse {
  background-color: transparent;
  border-color: #16161c;
  color: #4a4a55; }
  .no-touchevents .btn-secondaryInverse:hover {
    background-color: #16161c;
    border-color: #16161c;
    color: #fff; }

.contact-map {
  position: relative;
  height: 300px;
  overflow: hidden;
  background: #eee; }
  .contact-map figure {
    display: block;
    height: 100%;
    min-height: 500px;
    max-width: initial;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .contact-map figure img {
      display: block;
      height: 100%;
      max-width: initial; }
  .contact-map-point {
    position: absolute;
    display: block;
    width: 40px;
    height: 40px;
    background: #dc0000;
    border-radius: 100%;
    transform: translate3d(-50%, -50%, 0); }
    .contact-map-point::after {
      content: '';
      position: absolute;
      width: 10px;
      height: 10px;
      left: 50%;
      top: 50%;
      transform: translate3d(-50%, -50%, 0);
      transform-style: preserve-3d;
      border: 2px solid #fff;
      border-radius: 100%; }
  .contact-map.js-scroll-reveal .contact-map-point {
    animation-name: pointPlopHide;
    animation-duration: .5s;
    animation-direction: forward;
    animation-fill-mode: both;
    animation-iteration-count: 1;
    transform: translate(-50%, -50%) scale(0); }
  .contact-map.js-scroll-reveal.visible {
    opacity: 1;
    transform: scalex(1); }
    .contact-map.js-scroll-reveal.visible .contact-map-point {
      animation-name: pointPlopReveal;
      animation-duration: 1s;
      animation-direction: forward;
      animation-fill-mode: both;
      animation-iteration-count: 1;
      animation-delay: .5s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(1) {
        animation-delay: 0.2s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(2) {
        animation-delay: 0.4s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(3) {
        animation-delay: 0.6s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(4) {
        animation-delay: 0.8s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(5) {
        animation-delay: 1s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(6) {
        animation-delay: 1.2s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(7) {
        animation-delay: 1.4s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(8) {
        animation-delay: 1.6s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(9) {
        animation-delay: 1.8s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(10) {
        animation-delay: 2s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(11) {
        animation-delay: 2.2s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(12) {
        animation-delay: 2.4s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(13) {
        animation-delay: 2.6s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(14) {
        animation-delay: 2.8s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(15) {
        animation-delay: 3s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(16) {
        animation-delay: 3.2s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(17) {
        animation-delay: 3.4s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(18) {
        animation-delay: 3.6s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(19) {
        animation-delay: 3.8s; }
      .contact-map.js-scroll-reveal.visible .contact-map-point:nth-child(20) {
        animation-delay: 4s; }
  @media only screen and (min-width: 667px) {
    .contact-map {
      height: 500px; }
      .contact-map figure {
        height: 700px; } }
  @media only screen and (min-width: 1024px) {
    .contact-map {
      height: 500px; }
      .contact-map figure {
        height: 700px; } }
  @media only screen and (min-width: 1200px) {
    .contact-map {
      height: 700px; }
      .contact-map figure {
        height: 700px; } }

@keyframes pointPlopReveal {
  0%, 10% {
    transform: translate3d(-50%, -50%, 0) scale(0); }
  33.3% {
    transform: translate3d(-50%, -50%, 0) scale(1.1); }
  50% {
    transform: translate3d(-50%, -50%, 0) scale(0.95); }
  66.6% {
    transform: translate3d(-50%, -50%, 0) scale(1.02); }
  83.3% {
    transform: translate3d(-50%, -50%, 0) scale(0.98); }
  100% {
    transform: translate3d(-50%, -50%, 0) scale(1); } }

@keyframes pointPlopHide {
  0% {
    transform: translate3d(-50%, -50%, 0) scale(1); }
  100% {
    transform: translate3d(-50%, -50%, 0) scale(0); } }

.content-block {
  text-align: center; }
  .content-block .ornament {
    margin-bottom: 8px; }

.content-wrap, .content-wrap-xsmall, .content-wrap-small, .content-wrap-medium, .content-wrap-large, .content-wrap-xlarge, .content-wrap-xxlarge {
  max-width: 1130px;
  position: relative;
  margin: 0 auto;
  padding: 0 20px; }
  @media only screen and (min-width: 375px) {
    .content-wrap, .content-wrap-xsmall, .content-wrap-small, .content-wrap-medium, .content-wrap-large, .content-wrap-xlarge, .content-wrap-xxlarge {
      padding: 0 30px; } }
  @media only screen and (min-width: 1200px) {
    .content-wrap, .content-wrap-xsmall, .content-wrap-small, .content-wrap-medium, .content-wrap-large, .content-wrap-xlarge, .content-wrap-xxlarge {
      padding: 0 40px; } }
  .content-wrap-xsmall {
    max-width: 300px; }
  .content-wrap-small {
    max-width: 460px; }
  .content-wrap-medium {
    max-width: 640px; }
  .content-wrap-large {
    max-width: 730px; }
  .content-wrap-xlarge {
    max-width: 940px; }
  .content-wrap-xxlarge {
    max-width: 1300px; }

.filter {
  position: relative;
  height: 65px;
  background: #fff;
  border-bottom: 1px solid #d2d2d2;
  border-width: 0 1px 1px;
  z-index: 80;
  transition: none .2s; }
  .filter.ready {
    position: absolute;
    width: 100%; }
    .filter.ready .filter-filler {
      position: relative; }
  .filter.sticky {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    transform: translateY(100%);
    transition: transform .2s, opacity 0s; }
    .filter.sticky.hide {
      opacity: 0;
      transform: none;
      transition: transform .2s, opacity 0s .2s; }
    .filter.sticky + .filter-filler {
      display: block; }
  .filter-wrapper {
    position: relative;
    width: 100%; }
  .filter-toggle {
    display: block;
    position: relative;
    width: 100%;
    line-height: 21px;
    padding: 22px 0;
    user-select: none;
    background: transparent;
    border: none;
    border-radius: 1px; }
    .filter-toggle:before {
      position: absolute;
      right: 20px;
      top: 19px;
      color: #4a4a55;
      transition: transform .2s; }
    .filter-toggle::after {
      content: '';
      position: absolute;
      width: calc(100% - 40px);
      height: 2px;
      background: #dc0000;
      left: 50%;
      transform: translateX(-50%);
      bottom: 0; }
  .filter-list {
    display: block;
    list-style: none;
    position: absolute;
    top: 65px;
    left: 20px;
    right: 20px;
    margin: 0;
    padding: 15px;
    background: #fafafa;
    border-style: solid;
    border-color: #d2d2d2;
    border-width: 0 1px 1px;
    border-radius: 1px;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: 50% 0;
    transition: transform .15s, opacity .15s; }
    .filter-list li {
      display: block;
      margin: 0;
      padding: 0; }
      .filter-list li a {
        display: block;
        padding: 7px 10px;
        font-size: 18px;
        color: #4a4a55;
        text-align: center;
        text-decoration: none; }
        .filter-list li a svg {
          display: none; }
      .filter-list li.active a {
        color: #dc0000; }
  .filter.open .filter-toggle:before {
    transform: rotate(180deg); }
  .filter.open .filter-list {
    opacity: 1;
    transform: none;
    transition: transform cubic-bezier(0.54, 1.54, 0.43, 0.94) 0.3s, opacity 0.15s; }
  @media only screen and (min-width: 375px) {
    .filter-toggle:before {
      right: 30px; }
    .filter-toggle::after {
      width: calc(100% - 60px); }
    .filter-list {
      left: 30px;
      right: 30px; } }
  @media only screen and (min-width: 667px) {
    .filter-wrapper {
      max-width: 300px;
      margin: 0 auto; } }
  @media only screen and (min-width: 1024px) {
    .filter {
      padding: 0;
      height: 90px;
      background: #fff;
      border-bottom: none;
      box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2); }
      .filter.sticky {
        top: -24px; }
      .filter-wrapper {
        max-width: 1130px;
        padding: 0 30px;
        height: 100%; }
      .filter-toggle {
        display: none; }
      .filter-list {
        opacity: 1;
        transform: none;
        position: relative;
        top: 0;
        left: 0;
        height: 100%;
        padding: 0;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-around;
        align-items: stretch;
        background: transparent;
        border: none; }
        .filter-list li {
          display: flex;
          flex-flow: row wrap;
          justify-content: center;
          align-items: stretch; }
          .filter-list li a {
            display: flex;
            flex-flow: row wrap;
            justify-content: center;
            align-items: center;
            position: relative;
            margin: 0 15px;
            padding: 0;
            font-size: 16px;
            transition: color .2s; }
            .filter-list li a svg {
              display: inline-block;
              margin-right: 15px; }
              .filter-list li a svg path {
                fill: #4a4a55;
                transition: fill .2s; }
            .filter-list li a::after {
              content: '';
              position: absolute;
              bottom: 0;
              left: 0px;
              width: 100%;
              height: 2px;
              background: #16161c;
              transform: scaleX(0);
              transition: transform .2s; }
            .no-touchevents .filter-list li a:hover {
              color: #212126;
              text-decoration: none; }
              .no-touchevents .filter-list li a:hover svg path {
                fill: #212126; }
              .no-touchevents .filter-list li a:hover::after {
                transform: scaleX(1); }
          .filter-list li.active a {
            color: #dc0000; }
            .filter-list li.active a::after {
              background: #dc0000;
              transform: scaleX(1); } }

.contact-information {
  padding: 60px 0; }
  .contact-information h2.no-seperator {
    font-size: 24px;
    text-align: left; }
  .contact-information form button {
    width: 100%; }
  .contact-information .contact-lists ul {
    list-style-type: none;
    border-bottom: 1px solid #d2d2d2;
    padding: 35px 0; }
    .contact-information .contact-lists ul li {
      line-height: 30px;
      font-size: 16px; }
      .contact-information .contact-lists ul li:first-child {
        font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-weight: 700;
        font-style: normal;
        color: #16161c; }
  @media only screen and (min-width: 667px) {
    .contact-information h2.no-seperator {
      margin-bottom: 88px; }
    .contact-information .contact-lists .contact-row {
      display: flex; }
      .contact-information .contact-lists .contact-row ul {
        width: 50%; }
      .contact-information .contact-lists .contact-row ul:nth-child(1) {
        padding-right: 30px;
        border-right: 1px solid #d2d2d2; }
      .contact-information .contact-lists .contact-row ul:nth-child(2) {
        padding-left: 30px; }
      .contact-information .contact-lists .contact-row:last-child ul {
        border-bottom: 0; } }
  @media only screen and (min-width: 1024px) {
    .contact-information {
      padding: 60px 0 140px; }
      .contact-information h2.no-seperator {
        margin-bottom: 88px; }
      .contact-information form {
        padding-right: 30px; }
        .contact-information form button {
          width: 340px; }
      .contact-information .contact-flex {
        display: flex; }
        .contact-information .contact-flex > * {
          width: 50%; }
      .contact-information .contact-lists {
        padding-left: 30px; }
        .contact-information .contact-lists .contact-row {
          border-bottom: 1px solid #d2d2d2; }
          .contact-information .contact-lists .contact-row ul {
            padding: 35px 0; }
          .contact-information .contact-lists .contact-row:first-child ul {
            padding-top: 0; }
          .contact-information .contact-lists .contact-row:last-child {
            border: 0; }
        .contact-information .contact-lists ul {
          padding: 0;
          border: 0; } }
  @media only screen and (min-width: 1200px) {
    .contact-information form {
      padding-right: 50px; }
    .contact-information .contact-lists {
      padding-left: 50px; }
      .contact-information .contact-lists .contact-row {
        border-bottom: 1px solid #d2d2d2; }
        .contact-information .contact-lists .contact-row ul {
          padding: 50px 0; }
        .contact-information .contact-lists .contact-row:first-child ul {
          padding-top: 0; }
        .contact-information .contact-lists .contact-row:last-child {
          border: 0; }
      .contact-information .contact-lists ul {
        padding: 0;
        border: 0; } }

footer {
  border-top: 1px solid #e7e7e7;
  text-align: center; }
  footer ul {
    padding: 70px 0; }
    footer ul:before, footer ul:after {
      content: ''; }
    footer ul li {
      list-style-type: none;
      margin: 40px 0;
      font-size: 16px; }
      footer ul li a {
        text-decoration: none;
        color: #4a4a55; }
  @media only screen and (min-width: 1024px) {
    footer ul {
      padding: 32px 0 50px; }
      footer ul:before, footer ul:after {
        display: none; }
      footer ul:before {
        top: 0; }
      footer ul li {
        display: inline-block;
        margin: 0 10px; } }
  @media only screen and (min-width: 1200px) {
    footer ul:before, footer ul:after {
      display: inline-block;
      position: static;
      transform: translate(0, 14px);
      margin: 0 20px 0 0; }
    footer ul:after {
      transform: translate(0, 14px) scale(-1, 1) rotate(180deg);
      margin: 0 0 0 20px; } }

.wf-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 23px;
  position: relative; }
  .wf-group input,
  .wf-group textarea {
    width: 100%; }
  .wf-group .form__label {
    margin: 22px 0 15px; }
  .wf-group .select {
    position: relative; }
    .wf-group .select:before {
      position: absolute;
      right: 20px;
      bottom: 11px;
      color: #dc0000; }
    .wf-group .select select {
      width: 100%; }

.select-field:before {
  position: absolute;
  right: 20px;
  bottom: 11px;
  color: #dc0000; }

label {
  font-size: 16px;
  margin-bottom: 16px; }

input {
  border: 1px solid #d2d2d2;
  border-radius: 3px;
  color: #4a4a55;
  line-height: 18px;
  font-size: 16px; }
  input[type="text"] {
    padding: 12px 14px; }
  input:focus {
    border-color: #dc0000;
    color: #dc0000; }

select {
  border: 1px solid #d2d2d2;
  border-radius: 3px;
  background-color: #fff;
  line-height: 18px;
  font-size: 16px;
  height: 44px;
  appearance: none;
  padding: 0 34px 0 14px; }
  select::-ms-expand {
    display: none; }

textarea {
  padding: 12px 14px;
  border: 1px solid #d2d2d2;
  border-radius: 3px;
  height: 265px; }

.btn {
  margin-left: auto; }

.wf-select {
  display: inherit;
  flex-flow: inherit;
  width: 100%; }

@media only screen and (min-width: 1024px) {
  .form__row {
    display: flex;
    margin-bottom: 14px; }
  .wf-group {
    flex-direction: row; }
    .wf-group .wf-field {
      width: 100%;
      margin-left: 34px; }
    .wf-group label {
      width: 160px;
      text-align: right;
      margin: 12px 0 0; }
      .wf-group label label.required:after {
        content: "*"; }
    .wf-group textarea {
      align-items: flex-start; }
      .wf-group textarea label {
        margin-top: 16px; } }

.main-header {
  text-align: center;
  background-color: #fafafa; }
  .main-header .content-wrap, .main-header .content-wrap-xsmall, .main-header .content-wrap-small, .main-header .content-wrap-medium, .main-header .content-wrap-large, .main-header .content-wrap-xlarge, .main-header .content-wrap-xxlarge {
    display: flex;
    padding-top: 100px;
    padding-bottom: 50px;
    flex-direction: column;
    max-width: 300px; }
  .main-header figure {
    margin-bottom: 40px; }
  .main-header p {
    margin-bottom: 40px; }
  @media only screen and (min-width: 667px) {
    .main-header {
      background-image: url(/assets/images/main-header-bg.png);
      background-size: cover;
      padding-bottom: 54px; }
      .main-header p {
        margin-bottom: 30px; }
      .main-header figure {
        width: 30%;
        margin: 0; }
      .main-header .header-content {
        width: 70%;
        padding-left: 50px;
        text-align: left; }
      .main-header .content-wrap, .main-header .content-wrap-xsmall, .main-header .content-wrap-small, .main-header .content-wrap-medium, .main-header .content-wrap-large, .main-header .content-wrap-xlarge, .main-header .content-wrap-xxlarge {
        max-width: 1130px;
        padding-top: 120px;
        padding-bottom: 80px;
        flex-direction: row;
        align-items: center; } }
  @media only screen and (min-width: 1024px) {
    .main-header figure {
      width: 460px; }
    .main-header .header-content {
      width: 100%;
      max-width: 620px;
      padding: 0 0 0 110px; }
    .main-header .content-wrap, .main-header .content-wrap-xsmall, .main-header .content-wrap-small, .main-header .content-wrap-medium, .main-header .content-wrap-large, .main-header .content-wrap-xlarge, .main-header .content-wrap-xxlarge {
      padding-top: 160px; } }
  @media only screen and (min-width: 1200px) {
    .main-header .header-content {
      width: 620px; } }

.main-submenu {
  text-align: center; }
  .main-submenu p {
    padding: 12px 0;
    background-color: #fafafa; }
  .main-submenu ul {
    background-color: #212126;
    padding: 20px; }
    .main-submenu ul .content-wrap-large {
      padding: 0;
      display: flex;
      flex-wrap: wrap; }
    .main-submenu ul li {
      display: inline-block;
      width: calc(50% - 20px);
      margin: 0 10px;
      padding: 16px 0;
      border: 1px solid transparent; }
      .main-submenu ul li:nth-child(-n+2) {
        border-bottom: 1px solid #38383c; }
      .main-submenu ul li a {
        text-decoration: none;
        color: #fff; }
  @media only screen and (min-width: 375px) {
    .main-submenu ul .content-wrap-large {
      padding: 0 30px; } }
  @media only screen and (min-width: 667px) {
    .main-submenu {
      margin-top: -54px; }
      .main-submenu p {
        background-color: transparent; }
      .main-submenu ul {
        padding: 12px; }
        .main-submenu ul .content-wrap-large {
          flex-wrap: nowrap; }
        .main-submenu ul li {
          flex: 0 1 auto; }
          .main-submenu ul li:nth-child(-n+2) {
            border-color: transparent; } }

.no-touchevents .main-submenu ul li:hover {
  border-bottom: 1px solid #dc0000; }

.no-touchevents .main-submenu ul a:hover {
  text-decoration: none; }

.news {
  padding-top: 30px;
  padding-bottom: 30px; }
  .news .news-overview {
    padding: 20px 0; }
  .no-touchevents .news:hover a {
    text-decoration: none; }
  @media only screen and (min-width: 667px) {
    .news .news-overview {
      padding: 100px 0 100px; }
    .news .news-flex {
      display: flex;
      flex-wrap: wrap; } }

.news-detail, .content-page {
  padding: 38px 0; }
  .news-detail h1, .content-page h1 {
    font-family: "Aller W01", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 25px;
    line-height: 33px; }
  .news-detail h2, .content-page h2 {
    font-size: 25px;
    text-align: left;
    padding: 0; }
    .news-detail h2:after, .content-page h2:after {
      display: none; }
  .news-detail .date, .content-page .date {
    color: #dc0000;
    font-size: 18px;
    margin: 0 0 5px; }
  .news-detail .main-image, .content-page .main-image {
    margin-bottom: 36px; }
  @media only screen and (min-width: 1024px) {
    .news-detail, .content-page {
      padding: 80px 0; }
      .news-detail h1, .content-page h1 {
        font-size: 36px;
        margin-bottom: 42px;
        line-height: 46px; }
      .news-detail h2, .content-page h2 {
        font-size: 30px; } }

.news-overview-item {
  border-bottom: 1px solid #e7e7e7;
  cursor: pointer; }
  .news-overview-item .content {
    padding: 25px 0; }
  .news-overview-item figure {
    max-width: 100%;
    max-height: 340px;
    display: flex;
    justify-content: center;
    align-items: center; }
    .news-overview-item figure img {
      height: auto;
      width: auto;
      max-width: 100%;
      max-height: 340px; }
  .news-overview-item p {
    color: #4a4a55;
    margin: 0;
    font-weight: 200;
    font-size: 26px;
    line-height: 38px; }
    .news-overview-item p.date {
      line-height: 18px;
      color: #dc0000;
      font-weight: 400;
      font-size: 18px;
      margin-bottom: 6px; }
    .news-overview-item p .ekt_icon:before, .news-overview-item p .filter-toggle:before, .news-overview-item p .wf-group .select:before, .wf-group .news-overview-item p .select:before, .news-overview-item p .primary-navigation-language-toggle:before, .news-overview-item p .secondary-navigation-toggle:before, .news-overview-item p .tab-toggle:before {
      display: inline-block;
      color: #dc0000;
      transform: translate(20px, 6px); }
  .no-touchevents .news-overview-item:hover p {
    color: #dc0000;
    transition: color .3s; }
    .no-touchevents .news-overview-item:hover p.date {
      color: #4a4a55; }
    .no-touchevents .news-overview-item:hover p i:before {
      color: #4a4a55; }
  @media only screen and (min-width: 667px) {
    .news-overview-item {
      padding-right: 20px;
      width: calc(50% - 50px); }
      .news-overview-item figure {
        max-height: 260px;
        margin: 0; }
        .news-overview-item figure img {
          height: auto;
          width: auto;
          max-width: 100%;
          max-height: 260px; }
      .news-overview-item p {
        font-size: 22px;
        line-height: 30px; }
        .news-overview-item p.date {
          font-size: 18px;
          line-height: 18px;
          margin-bottom: 17px; }
      .news-overview-item:nth-child(even) {
        margin-right: 50px; }
      .news-overview-item:nth-child(odd) {
        margin-left: 50px; }
      .news-overview-item:first-child {
        margin: 0;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 0 22px; }
        .news-overview-item:first-child > * {
          width: 50%; }
        .news-overview-item:first-child figure {
          margin-right: 50px; }
        .news-overview-item:first-child .content {
          margin-left: 50px; } }
  @media only screen and (min-width: 1024px) {
    .news-overview-item {
      padding: 20px 22px 20px 0; }
      .news-overview-item:first-child {
        padding: 0 0 60px; } }

.ornament {
  display: inline-block;
  width: 66px;
  height: 31px; }
  .ornament .circle {
    fill: none;
    stroke: #dc0000;
    stroke-width: 1.6pt;
    transition: transform cubic-bezier(0.39, 1.66, 0.12, 0.9) 0.6s;
    transform: scale(0);
    transform-origin: 50% 50%; }
  .ornament .line {
    fill: none;
    stroke: #dc0000;
    stroke-width: .5pt; }
  .ornament .circle-1 {
    transition-delay: .3s; }
  .ornament .circle-2 {
    transition-delay: .2s; }
  .ornament .circle-3 {
    transition-delay: .1s; }
  .ornament .line-1 {
    stroke-dasharray: 0 20;
    stroke-dashoffset: -20;
    transition: stroke-dashoffset .2s linear, stroke-dasharray .2s linear; }
  .ornament .line-2 {
    stroke-dasharray: 0 50;
    stroke-dashoffset: -50;
    transition: stroke-dashoffset .2s linear, stroke-dasharray .2s linear; }
  .ornament .line-3 {
    stroke-dasharray: 0 20;
    stroke-dashoffset: -20;
    transition: stroke-dashoffset .2s linear, stroke-dasharray .2s linear; }
  .ornament.visible .circle {
    transform: scale(1); }
  .ornament.visible .circle-1 {
    transition-delay: .2s; }
  .ornament.visible .circle-2 {
    transition-delay: .7s; }
  .ornament.visible .circle-3 {
    transition-delay: .75s; }
  .ornament.visible .line-1 {
    stroke-dasharray: 20;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset .2s .2s linear, stroke-dasharray .2s .2s linear; }
  .ornament.visible .line-2 {
    stroke-dasharray: 50;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset .4s .4s ease-out, stroke-dasharray .4s .4s ease-out; }
  .ornament.visible .line-3 {
    stroke-dasharray: 20;
    stroke-dashoffset: 0;
    transition: stroke-dashoffset .2s .5s ease-out, stroke-dasharray .2s .5s ease-out; }
  .ornament-small {
    width: 69px;
    height: 36px; }
    .ornament-small .circle-1 {
      transition-delay: .3s; }
    .ornament-small .circle-2 {
      transition-delay: .2s; }
    .ornament-small .circle-3 {
      transition-delay: .1s; }
    .ornament-small .circle-4 {
      transition-delay: 0s; }
    .ornament-small .line-1 {
      stroke-dasharray: 0 20;
      stroke-dashoffset: -20;
      transition: stroke-dashoffset .2s linear, stroke-dasharray .2s linear; }
    .ornament-small .line-2 {
      stroke-dasharray: 0 50;
      stroke-dashoffset: -50;
      transition: stroke-dashoffset .2s linear, stroke-dasharray .2s linear; }
    .ornament-small .line-3 {
      stroke-dasharray: 0 20;
      stroke-dashoffset: -20;
      transition: stroke-dashoffset .2s linear, stroke-dasharray .2s linear; }
    .ornament-small .line-4 {
      stroke-dasharray: 0 10;
      stroke-dashoffset: -10;
      transition: stroke-dashoffset .2s linear, stroke-dasharray .2s linear; }
    .ornament-small.visible .circle-1 {
      transition-delay: .2s; }
    .ornament-small.visible .circle-2 {
      transition-delay: .5s; }
    .ornament-small.visible .circle-3 {
      transition-delay: .6s; }
    .ornament-small.visible .circle-4 {
      transition-delay: .6s; }
    .ornament-small.visible .line-1 {
      stroke-dasharray: 20;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .2s .2s ease-out, stroke-dasharray .2s .2s ease-out; }
    .ornament-small.visible .line-2 {
      stroke-dasharray: 50;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .3s .4s ease-out, stroke-dasharray .3s .4s ease-out; }
    .ornament-small.visible .line-3 {
      stroke-dasharray: 20;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .2s .4s ease-out, stroke-dasharray .2s .4s ease-out; }
    .ornament-small.visible .line-4 {
      stroke-dasharray: 10;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .2s .5s ease-out, stroke-dasharray .2s .5s ease-out; }
  .ornament-large {
    width: 124px;
    height: 36px; }
    .ornament-large .circle-1 {
      transition-delay: .5s; }
    .ornament-large .circle-2 {
      transition-delay: .4s; }
    .ornament-large .circle-3 {
      transition-delay: .3s; }
    .ornament-large .circle-4 {
      transition-delay: .2s; }
    .ornament-large .circle-5 {
      transition-delay: .1s; }
    .ornament-large .circle-6 {
      transition-delay: 0s; }
    .ornament-large .line-1 {
      stroke-dasharray: 0 10;
      stroke-dashoffset: -10;
      transition: stroke-dashoffset .1s linear, stroke-dasharray .1s linear; }
    .ornament-large .line-2 {
      stroke-dasharray: 0 20;
      stroke-dashoffset: -20;
      transition: stroke-dashoffset .1s linear, stroke-dasharray .1s linear; }
    .ornament-large .line-3 {
      stroke-dasharray: 0 10;
      stroke-dashoffset: -10;
      transition: stroke-dashoffset .1s linear, stroke-dasharray .1s linear; }
    .ornament-large .line-4 {
      stroke-dasharray: 0 50;
      stroke-dashoffset: -50;
      transition: stroke-dashoffset .1s linear, stroke-dasharray .1s linear; }
    .ornament-large .line-5 {
      stroke-dasharray: 0 50;
      stroke-dashoffset: -50;
      transition: stroke-dashoffset .1s linear, stroke-dasharray .1s linear; }
    .ornament-large .line-6 {
      stroke-dasharray: 0 5;
      stroke-dashoffset: -5;
      transition: stroke-dashoffset .1s ease-out, stroke-dasharray .1s ease-out; }
    .ornament-large.visible .circle-1 {
      transition-delay: 2s; }
    .ornament-large.visible .circle-2 {
      transition-delay: .4s; }
    .ornament-large.visible .circle-3 {
      transition-delay: .45s; }
    .ornament-large.visible .circle-4 {
      transition-delay: .55s; }
    .ornament-large.visible .circle-5 {
      transition-delay: .7s; }
    .ornament-large.visible .circle-6 {
      transition-delay: .8s; }
    .ornament-large.visible .line-1 {
      stroke-dasharray: 10;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .1s .2s ease-out, stroke-dasharray .1s .2s ease-out; }
    .ornament-large.visible .line-2 {
      stroke-dasharray: 20;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .1s .35s ease-out, stroke-dasharray .1s .35s ease-out; }
    .ornament-large.visible .line-3 {
      stroke-dasharray: 10;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .1s .4s ease-out, stroke-dasharray .1s .4s ease-out; }
    .ornament-large.visible .line-4 {
      stroke-dasharray: 50;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .3s .25s linear, stroke-dasharray .3s .25s linear; }
    .ornament-large.visible .line-5 {
      stroke-dasharray: 50;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .3s .6s ease-out, stroke-dasharray .3s .6s ease-out; }
    .ornament-large.visible .line-6 {
      stroke-dasharray: 5;
      stroke-dashoffset: 0;
      transition: stroke-dashoffset .1s .7s ease-out, stroke-dasharray .1s .7s ease-out; }

.primary-navigation {
  z-index: 90;
  position: relative;
  height: 65px;
  width: 100%;
  overflow: visible; }
  .primary-navigation.transparent, .primary-navigation.ready, .primary-navigation.open, .primary-navigation.sticky {
    position: fixed;
    left: 0;
    top: 0; }
  .primary-navigation-header {
    background: #fff;
    border-bottom: 1px solid #d2d2d2;
    height: 65px;
    text-align: center;
    position: relative;
    z-index: 3; }
    .no-touchevents .primary-navigation-header a:hover {
      text-decoration: none; }
  .primary-navigation.sticky .primary-navigation-header {
    border-color: #d2d2d2;
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
    transition: none; }
  .primary-navigation-logo {
    display: inline-block;
    width: 90px;
    margin-top: 15px; }
    .primary-navigation-logo svg {
      display: block;
      width: 100%;
      height: 32px; }
      .primary-navigation-logo svg path {
        fill: #dc0000; }
  .primary-navigation-toggle {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    background: none;
    border: none;
    margin: 0;
    padding: 0;
    width: 53px;
    height: 45px; }
    .primary-navigation-toggle div {
      margin: 10px;
      position: relative;
      width: calc(100% - 20px);
      height: calc(100% - 20px); }
    .primary-navigation-toggle span {
      position: absolute;
      left: 0;
      display: block;
      height: 5px;
      background: #212126;
      border-radius: 2.5px;
      transition: all .15s;
      transform-origin: 50% 50%; }
      .primary-navigation-toggle span:nth-child(1) {
        width: 33px;
        top: 0;
        z-index: 2; }
      .primary-navigation-toggle span:nth-child(2) {
        width: 23px;
        top: 10px;
        z-index: 1;
        opacity: 1; }
      .primary-navigation-toggle span:nth-child(3) {
        width: 33px;
        top: 20px;
        z-index: 2; }
  .primary-navigation-ornament-small {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 3;
    opacity: 0; }
    .primary-navigation-ornament-small .ornament {
      display: block; }
    @media (orientation: portrait) and (min-height: 600px) {
      .primary-navigation-ornament-small {
        bottom: 20px; } }
  .primary-navigation-ornament-large {
    position: absolute;
    top: 15px;
    left: 70%;
    right: 0;
    overflow: hidden;
    z-index: 4; }
    .primary-navigation-ornament-large .ornament {
      display: block; }
  .primary-navigation-menu {
    position: relative;
    top: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: calc(100vh - 65px);
    margin: 0;
    padding: 30px 0 70px;
    z-index: -1;
    opacity: 1;
    background: #fff;
    border-bottom: 1px solid #d2d2d2;
    transform: translateY(-120%);
    transform-origin: 50% 0;
    transition: opacity .15s, transform .15s, z-index 0s .15s; }
    .primary-navigation-menu li {
      flex: 0 0 auto;
      display: block;
      margin: 0;
      padding: 0;
      text-align: center;
      opacity: 0;
      transform: translateY(-10px);
      transition: transform .15s, opacity .15s; }
      @media (orientation: portrait) and (max-width: 1023px) and (min-height: 500px) {
        .primary-navigation-menu li {
          margin: 5px; } }
      @media (orientation: portrait) and (max-width: 1023px) and (min-height: 600px) {
        .primary-navigation-menu li {
          margin: 10px; } }
      @media (orientation: portrait) and (max-width: 1023px) and (min-height: 700px) {
        .primary-navigation-menu li {
          margin: 15px; } }
      .primary-navigation-menu li a {
        display: inline-block;
        padding: 5px 0;
        font-size: 20px;
        line-height: 30px;
        color: #4a4a55;
        text-decoration: none;
        position: relative;
        transition: color .15s; }
        .primary-navigation-menu li a::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 2px;
          background: #16161c;
          transform: scaleX(0);
          transition: transform .2s; }
        .no-touchevents .primary-navigation-menu li a:hover {
          text-decoration: none;
          color: #212126; }
          .no-touchevents .primary-navigation-menu li a:hover::after {
            transform: scaleX(1); }
      .primary-navigation-menu li.active a {
        color: #dc0000; }
        .primary-navigation-menu li.active a::after {
          transform: scaleX(1);
          background: #dc0000; }
        .no-touchevents .primary-navigation-menu li.active a:hover {
          color: #dc0000; }
  .primary-navigation-language {
    position: absolute;
    top: -50px;
    left: 50%;
    z-index: 2;
    width: calc(100% - 60px);
    opacity: 0;
    transform: translate(-50%, -20px);
    transition: opacity .15s, transform .15s; }
    .primary-navigation-language-toggle {
      display: block;
      width: 100%;
      padding: 10px 20px;
      line-height: 20px;
      background: #fff;
      border: 1px solid #d2d2d2;
      border-radius: 2px;
      text-align: left;
      font-size: 16px; }
      .primary-navigation-language-toggle:before {
        position: absolute;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        transition: transform .2s;
        font-size: 16px; }
    .primary-navigation-language-list {
      display: block;
      list-style: none;
      position: absolute;
      left: 0;
      top: 40px;
      width: 100%;
      margin: 0;
      padding: 10px;
      background: #fff;
      border: 1px solid #d2d2d2;
      border-radius: 2px;
      opacity: 0;
      transform: scaleY(0);
      transform-origin: 50% 0;
      transition: transform .15s, opacity .15s; }
      .primary-navigation-language-list li {
        display: block;
        margin: 0;
        padding: 0; }
        .primary-navigation-language-list li a {
          display: block;
          padding: 5px 10px;
          font-size: 16px;
          color: #4a4a55;
          text-align: left;
          text-decoration: none; }
        .primary-navigation-language-list li.active a {
          color: #212126; }
    .primary-navigation-language .primary-navigation-label_desktop {
      display: none; }
    .primary-navigation-language.open .primary-navigation-language-toggle:before {
      transform: translateY(-50%) rotate(179.3deg); }
    .primary-navigation-language.open .primary-navigation-language-list {
      opacity: 1;
      transform: none;
      transition: transform cubic-bezier(0.54, 1.54, 0.43, 0.94) 0.3s, opacity 0.15s; }
  .primary-navigation.open {
    height: 100%;
    overflow: auto; }
    .primary-navigation.open .primary-navigation-toggle span {
      background: #dc0000; }
      .primary-navigation.open .primary-navigation-toggle span:nth-child(1) {
        width: 33px;
        top: 0;
        transform: translate(0, 10px) rotate(45deg); }
      .primary-navigation.open .primary-navigation-toggle span:nth-child(2) {
        transform: scaleX(0);
        opacity: 0; }
      .primary-navigation.open .primary-navigation-toggle span:nth-child(3) {
        width: 33px;
        top: 20px;
        transform: translate(0, -10px) rotate(-45deg); }
    .primary-navigation.open .primary-navigation-language {
      top: 85px;
      opacity: 1;
      transform: translate(-50%); }
    .primary-navigation.open .primary-navigation-menu {
      opacity: 1;
      min-height: 400px;
      transform: none;
      z-index: 1;
      transition: opacity 0.2s, transform cubic-bezier(0.165, 0.84, 0.44, 1) 0.35s, z-index 0s; }
      .primary-navigation.open .primary-navigation-menu li {
        opacity: 1;
        transform: none;
        transition: transform 0.2s 0.15s, opacity 0.1s 0.15s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(1) {
          transition-delay: 0.2s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(2) {
          transition-delay: 0.25s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(3) {
          transition-delay: 0.3s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(4) {
          transition-delay: 0.35s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(5) {
          transition-delay: 0.4s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(6) {
          transition-delay: 0.45s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(7) {
          transition-delay: 0.5s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(8) {
          transition-delay: 0.55s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(9) {
          transition-delay: 0.6s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(10) {
          transition-delay: 0.65s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(11) {
          transition-delay: 0.7s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(12) {
          transition-delay: 0.75s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(13) {
          transition-delay: 0.8s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(14) {
          transition-delay: 0.85s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(15) {
          transition-delay: 0.9s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(16) {
          transition-delay: 0.95s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(17) {
          transition-delay: 1s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(18) {
          transition-delay: 1.05s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(19) {
          transition-delay: 1.1s; }
        .primary-navigation.open .primary-navigation-menu li:nth-child(20) {
          transition-delay: 1.15s; }
    .primary-navigation.open .primary-navigation-ornament-small {
      opacity: 1;
      transition: opacity 0s; }
    .primary-navigation.open .primary-navigation-header {
      box-shadow: none; }
  @media (max-width: 667px) and (orientation: landscape) {
    .primary-navigation-ornament-small {
      display: none; } }
  @media only screen and (min-width: 375px) {
    .primary-navigation-menu li a {
      font-size: 23px; } }
  @media only screen and (min-width: 667px) {
    .primary-navigation-language {
      max-width: 300px; }
    .primary-navigation-ornament-large {
      left: initial;
      width: 100px;
      right: 0; } }
  @media only screen and (min-width: 1024px) {
    .primary-navigation {
      text-align: left;
      display: flex;
      flex-flow: row nowrap;
      justify-content: space-around;
      align-items: center;
      height: 96px;
      transition: height .2s, background .1s, border .2s, box-shadow .2s;
      background: #fff;
      border-bottom: 1px solid #d2d2d2;
      box-shadow: none; }
      .primary-navigation.transparent {
        background: transparent;
        border-bottom: none; }
      .primary-navigation.sticky {
        height: 67px;
        background: #fff;
        box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.1); }
        .primary-navigation.sticky .primary-navigation-header {
          background: transparent;
          box-shadow: none; }
      .primary-navigation-toggle, .primary-navigation-language-mobile,
      .primary-navigation .primary-navigation-label_mobile {
        display: none; }
      .primary-navigation .primary-navigation-label_desktop {
        display: inline-block; }
      .primary-navigation-ornament-small, .primary-navigation-ornament-large, .primary-navigation-language, .primary-navigation-menu {
        position: relative;
        left: 0;
        top: 0;
        right: 0;
        transform: none; }
      .primary-navigation-ornament-small {
        flex: 0 0 auto;
        order: 1;
        margin: 0 10px 0 20px;
        opacity: 1; }
      .primary-navigation-header {
        flex: 0 0 auto;
        order: 2;
        border: none;
        margin: 0 10px;
        background: transparent;
        border-bottom: none;
        box-shadow: none; }
      .primary-navigation-menu {
        flex: 10 1 auto;
        order: 3;
        width: auto;
        height: auto;
        min-height: 0;
        margin: 0 10px;
        padding: 0;
        background: transparent;
        flex-direction: row;
        justify-content: flex-start;
        align-items: stretch;
        opacity: 1;
        align-self: stretch;
        border-bottom: none; }
        .primary-navigation-menu li {
          margin: 0 15px;
          opacity: 1;
          transform: none;
          height: auto;
          display: flex;
          flex-flow: row nowrap;
          justify-content: center;
          align-items: stretch; }
          .primary-navigation-menu li a {
            font-size: 16px;
            display: flex;
            flex-flow: column nowrap;
            justify-content: center;
            align-items: center; }
            .primary-navigation-menu li a::after {
              bottom: initial;
              top: 0; }
      .primary-navigation-logo {
        display: inline-block;
        width: 99px;
        height: 35px;
        margin-top: 14px; }
        .primary-navigation-logo svg {
          height: 35px; }
      .primary-navigation-language {
        flex: 0 0 auto;
        order: 4;
        display: block;
        margin: 0 10px;
        width: auto;
        z-index: 3;
        opacity: 1; }
        .primary-navigation-language-toggle {
          padding: 9px 35px 9px 15px;
          border-radius: 1px;
          letter-spacing: .05em; }
          .primary-navigation-language-toggle:before {
            right: 15px; }
          .no-touchevents .primary-navigation-language-toggle:hover {
            border-color: #dc0000;
            color: #dc0000;
            transition: border .2s, color .2s; }
            .no-touchevents .primary-navigation-language-toggle:hover:before {
              color: #dc0000; }
        .primary-navigation-language-list {
          padding: 0;
          top: 39px; }
          .primary-navigation-language-list li a {
            position: relative;
            margin-top: -1px;
            padding: 5px 15px;
            letter-spacing: .05em;
            background: transparent;
            border-style: solid;
            border-color: transparent;
            border-width: 1px 0;
            z-index: 1; }
            .no-touchevents .primary-navigation-language-list li a:hover {
              z-index: 2;
              background: #fafafa;
              border-color: #d2d2d2; }
          .primary-navigation-language-list li:first-child a {
            padding-top: 7px; }
          .primary-navigation-language-list li:last-child a {
            margin-bottom: -1px;
            padding-bottom: 7px; }
        .primary-navigation-language.open .primary-navigation-language-toggle {
          border-color: #d2d2d2;
          color: #4a4a55; }
          .primary-navigation-language.open .primary-navigation-language-toggle:before {
            color: #4a4a55; }
      .primary-navigation-ornament-large {
        flex: 0 0 auto;
        order: 5;
        margin: 0 20px 0 10px;
        width: auto; } }
  @media only screen and (min-width: 1200px) {
    .primary-navigation-header {
      margin: 0 20px; }
    .primary-navigation-menu li {
      margin: 0 20px; }
    .primary-navigation-ornament-large {
      margin: 0 20px; } }

.product-blocks .content-block {
  margin-bottom: 65px; }

.product-blocks figure {
  display: inline-block;
  max-width: 220px;
  margin: 0 0 60px 0; }

.product-blocks .product-content {
  text-align: left; }

.product-blocks .product-block {
  text-align: center;
  display: flex;
  margin-bottom: 100px; }
  .product-blocks .product-block.reversed figure {
    order: 2; }
  .product-blocks .product-block:last-child {
    margin-bottom: 0; }

@media only screen and (min-width: 667px) {
  .product-blocks .product-block > div {
    display: flex;
    align-items: center;
    justify-content: center; }
  .product-blocks .product-block.reversed .product-content {
    max-width: 620px;
    padding: 0 20px 0 0; }
  .product-blocks figure {
    max-width: 350px;
    max-height: 400px;
    margin: 0; }
    .product-blocks figure img {
      height: auto;
      width: auto;
      max-width: 350px;
      max-height: 400px; }
  .product-blocks .product-content {
    max-width: 620px;
    padding: 0 0 0 20px; } }

@media only screen and (min-width: 1024px) {
  .product-blocks .product-block.reversed .product-content {
    max-width: 620px;
    padding: 0 110px 0 0;
    order: 1; }
  .product-blocks figure {
    max-width: 460px; }
    .product-blocks figure img {
      max-width: 460px; }
  .product-blocks .product-content {
    padding: 0 0 0 110px; } }

@media only screen and (min-width: 1200px) {
  .product-blocks .product-block .content-wrap, .product-blocks .product-block .content-wrap-xsmall, .product-blocks .product-block .content-wrap-small, .product-blocks .product-block .content-wrap-medium, .product-blocks .product-block .content-wrap-large, .product-blocks .product-block .content-wrap-xlarge, .product-blocks .product-block .content-wrap-xxlarge {
    max-width: 1300px;
    width: 100%; }
  .product-blocks figure {
    max-width: 680px;
    max-height: 600px;
    width: auto; }
    .product-blocks figure img {
      height: auto;
      width: auto;
      max-width: 680px;
      max-height: 600px; }
  .product-blocks .product-content {
    max-width: 580px; } }

.product-highlights {
  display: flex;
  flex-wrap: wrap; }

.product-highlights-tile {
  width: 100%;
  height: 100vw;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: right; }
  .product-highlights-tile.black-red {
    color: #212126; }
  .product-highlights-tile.white-red {
    color: #fff; }
    .product-highlights-tile.white-red a {
      color: #fff; }
  .product-highlights-tile.white-white {
    color: white; }
    .product-highlights-tile.white-white a {
      color: #fff;
      border-color: #fff; }
  .product-highlights-tile .inner-tile {
    position: absolute;
    bottom: 30px; }
  .product-highlights-tile h3 {
    font-size: 30px; }

@media only screen and (min-width: 667px) {
  .product-highlights-tile {
    width: 50%;
    max-height: 500px; }
    .product-highlights-tile .inner-tile {
      bottom: 50px;
      left: 10px; }
    .product-highlights-tile h3 {
      font-size: 36px; } }

.product-slider {
  background: #fff;
  border-top: 1px solid #e7e7e7;
  border-bottom: 1px solid #e7e7e7;
  padding-right: 0;
  position: relative;
  padding-bottom: 95px;
  white-space: nowrap;
  overflow: hidden; }
  .product-slider a {
    text-decoration: none; }
    .no-touchevents .product-slider a:hover {
      text-decoration: none; }
  .product-slider .image-container {
    position: relative;
    height: 100%; }
    .product-slider .image-container.animate {
      transition: all .2s; }
    .product-slider .image-container.idx0 .slider-image {
      transform: translateX(0); }
  .product-slider .slider-image {
    display: inline-block;
    width: calc(100%);
    position: relative;
    overflow: hidden;
    padding: 40px 30px 0; }
    .product-slider .slider-image figure {
      max-width: 290px;
      min-width: 100%;
      height: 205px;
      margin: 0 auto 22px;
      text-align: center;
      position: relative;
      overflow: hidden; }
      .product-slider .slider-image figure img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: auto;
        height: auto; }
    .product-slider .slider-image h2, .product-slider .slider-image h3, .product-slider .slider-image h4 {
      color: #4a4a55; }
    .product-slider .slider-image p, .product-slider .slider-image h2, .product-slider .slider-image h3, .product-slider .slider-image h4 {
      white-space: normal; }
    .no-touchevents .product-slider .slider-image:hover {
      background-color: #fafafa;
      box-shadow: 0px 0px 35px -9px #999; }
  .product-slider .thumbs {
    bottom: 40px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
    .product-slider .thumbs li {
      display: inline-block;
      background-color: #d2d2d2;
      height: 10px;
      width: 10px;
      border-radius: 100%;
      margin: 0 3px;
      transition: all .2s; }
      .product-slider .thumbs li.active {
        background-color: #dc0000; }
  @media only screen and (min-width: 667px) {
    .product-slider {
      overflow: visible;
      white-space: normal;
      padding: 0; }
      .product-slider .thumbs {
        display: none; }
      .product-slider .image-container {
        display: flex;
        flex-wrap: wrap; }
      .product-slider .slider-image {
        padding: 40px 30px;
        border-right: 1px solid #e7e7e7;
        width: calc(100%/3); } }
  @media only screen and (min-width: 1200px) {
    .product-slider .slider-image {
      padding: 90px 50px 40px; }
      .product-slider .slider-image figure {
        height: 260px;
        margin: 0 auto 40px;
        min-width: calc(100% - 20px); } }

.secondary-navigation {
  position: relative;
  height: 90px;
  background: #fff;
  padding: 20px 30px;
  z-index: 80;
  transition: none .2s; }
  .secondary-navigation-filler {
    display: none; }
  .secondary-navigation.hidden {
    display: none !important; }
    .secondary-navigation.hidden + .secondary-navigation-filler {
      display: none !important; }
  .secondary-navigation.ready {
    position: fixed;
    left: 0;
    top: -25px;
    transform: translateY(100%);
    transition: transform .2s;
    width: 100%; }
    .secondary-navigation.ready + .secondary-navigation-filler {
      display: block; }
  .secondary-navigation.sticky {
    position: fixed;
    left: 0;
    top: -25px;
    width: 100%;
    opacity: 1;
    transform: translateY(100%);
    transition: transform .2s, opacity 0s; }
    .secondary-navigation.sticky.hide {
      opacity: 0;
      transform: none;
      transition: transform .2s, opacity 0s .2s; }
  .secondary-navigation-wrapper {
    position: relative;
    width: 100%; }
  .secondary-navigation-toggle, .secondary-navigation-menu {
    background: #fafafa;
    border: 1px solid #d2d2d2;
    border-radius: 1px; }
  .secondary-navigation-toggle {
    display: block;
    position: relative;
    width: 100%;
    line-height: 20px;
    padding: 14px 20px;
    user-select: none; }
    .secondary-navigation-toggle:before {
      position: absolute;
      right: 20px;
      top: 15px;
      color: #4a4a55;
      transition: transform .2s; }
    .secondary-navigation-toggle::after {
      content: '';
      position: absolute;
      width: 60px;
      height: 1px;
      background: #dc0000;
      left: 50%;
      transform: translateX(-50%);
      bottom: -1px; }
  .secondary-navigation-menu {
    display: block;
    list-style: none;
    position: absolute;
    left: 0;
    top: 49px;
    width: 100%;
    margin: 0;
    padding: 10px;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: 50% 0;
    transition: transform .15s, opacity .15s; }
    .secondary-navigation-menu li {
      display: block;
      margin: 0;
      padding: 0; }
      .secondary-navigation-menu li a {
        display: block;
        padding: 5px 10px;
        font-size: 18px;
        color: #4a4a55;
        text-align: center;
        text-decoration: none; }
  .secondary-navigation.open .secondary-navigation-toggle:before {
    transform: rotate(180deg); }
  .secondary-navigation.open .secondary-navigation-menu {
    opacity: 1;
    transform: none;
    transition: transform cubic-bezier(0.54, 1.54, 0.43, 0.94) 0.3s, opacity 0.15s; }
  .secondary-navigation.dark {
    background: #16161c; }
    .secondary-navigation.dark .secondary-navigation-toggle,
    .secondary-navigation.dark .secondary-navigation-menu {
      background: #16161c;
      border: 1px solid rgba(210, 210, 210, 0.2);
      border-left: 0;
      border-right: 0;
      border-radius: 1px; }
    .secondary-navigation.dark .secondary-navigation-toggle {
      color: #fff; }
      .secondary-navigation.dark .secondary-navigation-toggle:before {
        color: #fff; }
    .secondary-navigation.dark .secondary-navigation-menu li a {
      color: #fff; }
    @media only screen and (min-width: 1024px) {
      .secondary-navigation.dark {
        background: #16161c;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1); } }
  @media only screen and (min-width: 667px) {
    .secondary-navigation-wrapper {
      max-width: 300px;
      margin: 0 auto; } }
  @media only screen and (min-width: 1024px) {
    .secondary-navigation {
      padding: 0;
      background: #fafafa;
      border-bottom: 1px solid #e7e7e7; }
      .secondary-navigation.ready {
        transition: transform .2s, top .2s;
        top: 6px; }
      .secondary-navigation.sticky {
        top: -24px;
        transition: transform .2s, top .2s;
        transform: translateY(100%); }
      .secondary-navigation-wrapper {
        max-width: 100%;
        height: 100%; }
      .secondary-navigation-toggle {
        display: none; }
      .secondary-navigation-menu {
        opacity: 1;
        transform: none;
        position: relative;
        top: 0;
        height: 100%;
        padding: 0;
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        align-items: stretch;
        background: transparent;
        border: none; }
        .secondary-navigation-menu li {
          display: flex;
          flex-flow: row wrap;
          justify-content: center;
          align-items: stretch; }
          .secondary-navigation-menu li a {
            display: flex;
            flex-flow: row wrap;
            justify-content: center;
            align-items: center;
            position: relative;
            margin: 0 15px;
            padding: 0;
            font-size: 16px; }
            .secondary-navigation-menu li a::after {
              content: '';
              position: absolute;
              bottom: -1px;
              left: 0px;
              width: 100%;
              height: 2px;
              background: #16161c;
              transform: scaleX(0);
              transition: transform .2s; }
            .no-touchevents .secondary-navigation-menu li a:hover {
              color: #212126;
              text-decoration: none; }
              .no-touchevents .secondary-navigation-menu li a:hover::after {
                transform: scaleX(1); }
          .secondary-navigation-menu li.active a {
            color: #dc0000; }
            .secondary-navigation-menu li.active a::after {
              transform: scaleX(1);
              background: #dc0000; }
            .no-touchevents .secondary-navigation-menu li.active a:hover {
              color: #dc0000; }
      .no-touchevents .secondary-navigation.dark li a:hover {
        color: #dc0000; }
      .secondary-navigation.dark li a::after {
        background: #dc0000; } }

.section {
  padding: 90px 0; }
  @media only screen and (min-width: 1200px) {
    .section {
      padding: 140px 0; } }

.js-video {
  overflow: hidden; }

.solid-video {
  position: relative; }
  .solid-video h2 {
    margin-bottom: 60px; }
  .solid-video .elements-container {
    position: relative;
    margin-bottom: 135px; }
  .solid-video .video-positioner {
    position: absolute;
    height: 100%;
    width: 100%;
    max-width: 390px;
    padding: 0 30px;
    top: 40px;
    z-index: 2;
    left: 50%;
    transform: translateX(-50%); }
  .solid-video .video-wrapper {
    border: 1px solid #e7e7e7;
    position: relative;
    padding-bottom: 50.25%;
    /* 16:9 */
    padding-top: 25px;
    height: 0; }
    .solid-video .video-wrapper iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .solid-video .video-bg {
    background-image: url(/assets/images/video-bg-mobile.png);
    background-size: cover;
    border: 1px solid #dc0000;
    width: 270px;
    height: 330px;
    transform: translateX(-50%); }
  .solid-video figure {
    position: absolute;
    max-width: 400px;
    max-height: 180px;
    width: auto;
    bottom: -50%;
    left: -20px;
    transform: translateY(-50%); }
    .solid-video figure img {
      height: auto;
      width: auto;
      max-width: 400px;
      max-height: 180px; }
  .solid-video.reversed .video-bg {
    left: 100%;
    position: relative;
    transform: translateX(-50%); }
  .solid-video.reversed figure {
    left: auto;
    right: -20px; }
  @media only screen and (min-width: 667px) {
    .solid-video h2 {
      margin-bottom: 80px; }
    .solid-video .video-positioner {
      max-width: 660px;
      top: 60px; }
    .solid-video .video-bg {
      width: 540px;
      height: 660px;
      transform: translateX(-100%);
      position: relative;
      left: calc(50% - 90px); }
    .solid-video .video-content {
      position: absolute;
      left: 50%;
      bottom: 0;
      width: 50%;
      max-width: 540px;
      max-height: 240px; }
      .solid-video .video-content p {
        margin: 0; }
    .solid-video figure {
      max-width: 820px;
      max-height: 340px;
      left: auto;
      right: 40px;
      transform: translateY(-50%); }
      .solid-video figure img {
        max-width: 820px;
        max-height: 340px; }
    .solid-video.reversed .video-bg {
      transform: translateX(0);
      left: calc(50% + 90px); }
    .solid-video.reversed .video-content {
      right: 50%;
      left: auto; }
    .solid-video.reversed figure {
      left: 40px; } }

.stb-devices {
  padding-top: 50px;
  padding-bottom: 50px; }

.stb-device {
  margin-bottom: 70px; }
  .stb-device .stb-flex {
    display: flex;
    flex-direction: column; }
  .stb-device figure {
    background-color: #fafafa;
    width: 100%;
    height: 315px;
    margin: 0 0 50px;
    padding: 25px;
    position: relative; }
    .stb-device figure img {
      height: auto;
      width: auto;
      max-width: 100%;
      max-height: 100%;
      position: relative;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
  @media only screen and (min-width: 667px) {
    .stb-device {
      margin: 0; }
      .stb-device .stb-flex {
        flex-direction: row;
        align-items: stretch; }
        .stb-device .stb-flex > * {
          flex: 0 1 auto;
          width: 50%; }
      .stb-device figure {
        margin: 0;
        height: auto;
        padding: 0; }
        .stb-device figure img {
          max-width: 100%;
          max-height: 100%;
          padding: 50px;
          position: absolute; }
      .stb-device .product-content {
        padding: 20px;
        display: flex;
        align-items: center; }
        .stb-device .product-content > * {
          flex: 0 1 auto; }
      .stb-device.reversed figure, .stb-device:nth-child(even) figure {
        order: 2; } }
  @media only screen and (min-width: 1024px) {
    .stb-device .stb-flex {
      align-content: center; }
      .stb-device .stb-flex > * {
        min-height: calc(50vw - 60px); }
    .stb-device .product-content {
      padding: 50px; } }
  @media only screen and (min-width: 1300px) {
    .stb-device .stb-flex > * {
      min-height: 560px; } }

.styleguide header {
  text-align: center;
  margin-bottom: 50px; }
  .styleguide header .content-wrap-medium {
    margin-bottom: 30px;
    border-bottom: 1px solid #dc0000; }

.styleguide section .content-wrap-medium {
  margin-bottom: 30px;
  border-bottom: 1px solid #dc0000;
  padding-bottom: 30px; }

.styleguide .typo {
  text-align: center; }
  .styleguide .typo h1, .styleguide .typo h3, .styleguide .typo h4, .styleguide .typo h5, .styleguide .typo p, .styleguide .typo span {
    text-align: center; }

.styleguide .flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }

.styleguide .colors {
  text-align: center; }
  .styleguide .colors span {
    font-size: 16px;
    display: flex;
    border: 1px solid #e7e7e7;
    color: #fff;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    background-color: red;
    border-radius: 100%;
    margin: 5px; }
    .styleguide .colors span.text-default {
      background-color: #4a4a55; }
    .styleguide .colors span.background-default {
      background-color: #fff;
      color: #4a4a55; }
    .styleguide .colors span.background-light {
      background-color: #fafafa;
      color: #4a4a55; }
    .styleguide .colors span.background-theme {
      background-color: #dc0000; }
    .styleguide .colors span.background-dark {
      background-color: #16161c; }
    .styleguide .colors span.border-default {
      background-color: #e7e7e7;
      color: #4a4a55; }
    .styleguide .colors span.border-medium {
      background-color: #d2d2d2;
      color: #4a4a55; }
    .styleguide .colors span.border-theme {
      background-color: #dc0000; }

.large-header {
  position: relative;
  min-height: 190px;
  text-align: center;
  padding: 120px 0; }
  .large-header .header-title {
    font-size: 40px;
    line-height: 45px;
    margin-bottom: 20px;
    color: #212126; }
  .large-header .header-text {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 20px;
    color: #4a4a55; }
  .large-header .header-scroll {
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    background: transparent;
    border: none;
    outline: none;
    color: #4a4a55; }
    .large-header .header-scroll i {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      font-size: 20px; }
  .large-header .header-back {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #16161c;
    border-color: #16161c;
    color: #fff; }
    .no-touchevents .large-header .header-back:hover {
      background-color: #dc0000;
      border-color: #dc0000; }
  .large-header.device {
    background: #16161c;
    background: url(/assets/images/device-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .large-header.device .header-title,
    .large-header.device .header-text,
    .large-header.device .btn,
    .large-header.device .header-scroll {
      color: #fff; }
    .large-header.device .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .large-header.device .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .large-header.triangle_globe {
    background: #16161c;
    background: url(/assets/images/triangle_globe-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .large-header.triangle_globe .header-title,
    .large-header.triangle_globe .header-text,
    .large-header.triangle_globe .btn,
    .large-header.triangle_globe .header-scroll {
      color: #fff; }
    .large-header.triangle_globe .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .large-header.triangle_globe .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .large-header.triangles {
    background: url(/assets/images/triangles-s.jpg) 50% 50% no-repeat #fff;
    background-size: cover; }
  .large-header.space {
    background: #16161c;
    background: url(/assets/images/space-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .large-header.space .header-title,
    .large-header.space .header-text,
    .large-header.space .btn,
    .large-header.space .header-scroll {
      color: #fff; }
    .large-header.space .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .large-header.space .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .large-header.satellite {
    background: url(/assets/images/satellite-s.jpg) 20% 50% no-repeat #fff;
    background-size: cover; }
  .large-header.chips {
    background: url(/assets/images/chips-s.jpg) 50% 100% no-repeat #fff;
    background-size: 100% auto; }
  .large-header.globe {
    background: #16161c;
    background: url(/assets/images/globe-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .large-header.globe .header-title,
    .large-header.globe .header-text,
    .large-header.globe .btn,
    .large-header.globe .header-scroll {
      color: #fff; }
    .large-header.globe .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .large-header.globe .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  @media only screen and (min-width: 375px) {
    .large-header.chips {
      background-position: 50% 50%; } }
  @media only screen and (min-width: 667px) {
    .large-header.device {
      background: #16161c;
      background: url(/assets/images/device-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .large-header.device .header-title,
      .large-header.device .header-text,
      .large-header.device .btn,
      .large-header.device .header-scroll {
        color: #fff; }
      .large-header.device .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .large-header.device .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .large-header.triangle_globe {
      background: #16161c;
      background: url(/assets/images/triangle_globe-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .large-header.triangle_globe .header-title,
      .large-header.triangle_globe .header-text,
      .large-header.triangle_globe .btn,
      .large-header.triangle_globe .header-scroll {
        color: #fff; }
      .large-header.triangle_globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .large-header.triangle_globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .large-header.triangles {
      background: url(/assets/images/triangles-m.jpg) 50% 50% no-repeat #fff;
      background-size: cover; }
    .large-header.space {
      background: #16161c;
      background: url(/assets/images/space-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .large-header.space .header-title,
      .large-header.space .header-text,
      .large-header.space .btn,
      .large-header.space .header-scroll {
        color: #fff; }
      .large-header.space .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .large-header.space .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .large-header.satellite {
      background: url(/assets/images/satellite-m.jpg) 20% 50% no-repeat #fff;
      background-size: cover; }
    .large-header.chips {
      background: url(/assets/images/chips-m.jpg) 50% 100% no-repeat #fff;
      background-size: 100% auto; }
    .large-header.globe {
      background: #16161c;
      background: url(/assets/images/globe-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .large-header.globe .header-title,
      .large-header.globe .header-text,
      .large-header.globe .btn,
      .large-header.globe .header-scroll {
        color: #fff; }
      .large-header.globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .large-header.globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; } }
  @media only screen and (min-width: 1024px) {
    .large-header {
      min-height: 250px; } }
  @media only screen and (min-width: 1200px) {
    .large-header .header-title {
      font-size: 80px;
      line-height: 80px; }
    .large-header.device {
      background: #16161c;
      background: url(/assets/images/device-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .large-header.device .header-title,
      .large-header.device .header-text,
      .large-header.device .btn,
      .large-header.device .header-scroll {
        color: #fff; }
      .large-header.device .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .large-header.device .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .large-header.triangle_globe {
      background: #16161c;
      background: url(/assets/images/triangle_globe-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .large-header.triangle_globe .header-title,
      .large-header.triangle_globe .header-text,
      .large-header.triangle_globe .btn,
      .large-header.triangle_globe .header-scroll {
        color: #fff; }
      .large-header.triangle_globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .large-header.triangle_globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .large-header.triangles {
      background: url(/assets/images/triangles-l.jpg) 50% 50% no-repeat #fff;
      background-size: cover; }
    .large-header.space {
      background: #16161c;
      background: url(/assets/images/space-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .large-header.space .header-title,
      .large-header.space .header-text,
      .large-header.space .btn,
      .large-header.space .header-scroll {
        color: #fff; }
      .large-header.space .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .large-header.space .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .large-header.satellite {
      background: url(/assets/images/satellite-l.jpg) 20% 50% no-repeat #fff;
      background-size: cover; }
    .large-header.chips {
      background: url(/assets/images/chips-l.jpg) 50% 100% no-repeat #fff;
      background-size: cover; }
    .large-header.globe {
      background: #16161c;
      background: url(/assets/images/globe-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .large-header.globe .header-title,
      .large-header.globe .header-text,
      .large-header.globe .btn,
      .large-header.globe .header-scroll {
        color: #fff; }
      .large-header.globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .large-header.globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; } }
  .large-header .btn {
    margin: 0 auto 20px; }

.content-header {
  position: relative;
  min-height: 190px;
  text-align: center;
  padding: 80px 0; }
  .content-header .header-title {
    font-size: 40px;
    line-height: 45px;
    margin-bottom: 20px;
    color: #212126; }
  .content-header .header-text {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 20px;
    color: #4a4a55; }
  .content-header .header-scroll {
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    background: transparent;
    border: none;
    outline: none;
    color: #4a4a55; }
    .content-header .header-scroll i {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      font-size: 20px; }
  .content-header .header-back {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #16161c;
    border-color: #16161c;
    color: #fff; }
    .no-touchevents .content-header .header-back:hover {
      background-color: #dc0000;
      border-color: #dc0000; }
  .content-header.device {
    background: #16161c;
    background: url(/assets/images/device-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .content-header.device .header-title,
    .content-header.device .header-text,
    .content-header.device .btn,
    .content-header.device .header-scroll {
      color: #fff; }
    .content-header.device .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .content-header.device .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .content-header.triangle_globe {
    background: #16161c;
    background: url(/assets/images/triangle_globe-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .content-header.triangle_globe .header-title,
    .content-header.triangle_globe .header-text,
    .content-header.triangle_globe .btn,
    .content-header.triangle_globe .header-scroll {
      color: #fff; }
    .content-header.triangle_globe .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .content-header.triangle_globe .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .content-header.triangles {
    background: url(/assets/images/triangles-s.jpg) 50% 50% no-repeat #fff;
    background-size: cover; }
  .content-header.space {
    background: #16161c;
    background: url(/assets/images/space-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .content-header.space .header-title,
    .content-header.space .header-text,
    .content-header.space .btn,
    .content-header.space .header-scroll {
      color: #fff; }
    .content-header.space .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .content-header.space .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .content-header.satellite {
    background: url(/assets/images/satellite-s.jpg) 20% 50% no-repeat #fff;
    background-size: cover; }
  .content-header.chips {
    background: url(/assets/images/chips-s.jpg) 50% 100% no-repeat #fff;
    background-size: 100% auto; }
  .content-header.globe {
    background: #16161c;
    background: url(/assets/images/globe-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .content-header.globe .header-title,
    .content-header.globe .header-text,
    .content-header.globe .btn,
    .content-header.globe .header-scroll {
      color: #fff; }
    .content-header.globe .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .content-header.globe .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  @media only screen and (min-width: 375px) {
    .content-header.chips {
      background-position: 50% 50%; } }
  @media only screen and (min-width: 667px) {
    .content-header.device {
      background: #16161c;
      background: url(/assets/images/device-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .content-header.device .header-title,
      .content-header.device .header-text,
      .content-header.device .btn,
      .content-header.device .header-scroll {
        color: #fff; }
      .content-header.device .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .content-header.device .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .content-header.triangle_globe {
      background: #16161c;
      background: url(/assets/images/triangle_globe-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .content-header.triangle_globe .header-title,
      .content-header.triangle_globe .header-text,
      .content-header.triangle_globe .btn,
      .content-header.triangle_globe .header-scroll {
        color: #fff; }
      .content-header.triangle_globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .content-header.triangle_globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .content-header.triangles {
      background: url(/assets/images/triangles-m.jpg) 50% 50% no-repeat #fff;
      background-size: cover; }
    .content-header.space {
      background: #16161c;
      background: url(/assets/images/space-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .content-header.space .header-title,
      .content-header.space .header-text,
      .content-header.space .btn,
      .content-header.space .header-scroll {
        color: #fff; }
      .content-header.space .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .content-header.space .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .content-header.satellite {
      background: url(/assets/images/satellite-m.jpg) 20% 50% no-repeat #fff;
      background-size: cover; }
    .content-header.chips {
      background: url(/assets/images/chips-m.jpg) 50% 100% no-repeat #fff;
      background-size: 100% auto; }
    .content-header.globe {
      background: #16161c;
      background: url(/assets/images/globe-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .content-header.globe .header-title,
      .content-header.globe .header-text,
      .content-header.globe .btn,
      .content-header.globe .header-scroll {
        color: #fff; }
      .content-header.globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .content-header.globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; } }
  @media only screen and (min-width: 1024px) {
    .content-header {
      min-height: 250px; } }
  @media only screen and (min-width: 1200px) {
    .content-header .header-title {
      font-size: 80px;
      line-height: 80px; }
    .content-header.device {
      background: #16161c;
      background: url(/assets/images/device-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .content-header.device .header-title,
      .content-header.device .header-text,
      .content-header.device .btn,
      .content-header.device .header-scroll {
        color: #fff; }
      .content-header.device .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .content-header.device .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .content-header.triangle_globe {
      background: #16161c;
      background: url(/assets/images/triangle_globe-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .content-header.triangle_globe .header-title,
      .content-header.triangle_globe .header-text,
      .content-header.triangle_globe .btn,
      .content-header.triangle_globe .header-scroll {
        color: #fff; }
      .content-header.triangle_globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .content-header.triangle_globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .content-header.triangles {
      background: url(/assets/images/triangles-l.jpg) 50% 50% no-repeat #fff;
      background-size: cover; }
    .content-header.space {
      background: #16161c;
      background: url(/assets/images/space-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .content-header.space .header-title,
      .content-header.space .header-text,
      .content-header.space .btn,
      .content-header.space .header-scroll {
        color: #fff; }
      .content-header.space .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .content-header.space .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .content-header.satellite {
      background: url(/assets/images/satellite-l.jpg) 20% 50% no-repeat #fff;
      background-size: cover; }
    .content-header.chips {
      background: url(/assets/images/chips-l.jpg) 50% 100% no-repeat #fff;
      background-size: cover; }
    .content-header.globe {
      background: #16161c;
      background: url(/assets/images/globe-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .content-header.globe .header-title,
      .content-header.globe .header-text,
      .content-header.globe .btn,
      .content-header.globe .header-scroll {
        color: #fff; }
      .content-header.globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .content-header.globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; } }
  @media only screen and (min-width: 667px) {
    .content-header.space {
      background-position: 50% 35%; }
    .content-header.chips {
      background-position: 50% 70%; } }

.default-header {
  position: relative;
  min-height: 190px;
  text-align: center;
  padding: 150px 0; }
  .default-header .header-title {
    font-size: 40px;
    line-height: 45px;
    margin-bottom: 20px;
    color: #212126; }
  .default-header .header-text {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 20px;
    color: #4a4a55; }
  .default-header .header-scroll {
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
    background: transparent;
    border: none;
    outline: none;
    color: #4a4a55; }
    .default-header .header-scroll i {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      font-size: 20px; }
  .default-header .header-back {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #16161c;
    border-color: #16161c;
    color: #fff; }
    .no-touchevents .default-header .header-back:hover {
      background-color: #dc0000;
      border-color: #dc0000; }
  .default-header.device {
    background: #16161c;
    background: url(/assets/images/device-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .default-header.device .header-title,
    .default-header.device .header-text,
    .default-header.device .btn,
    .default-header.device .header-scroll {
      color: #fff; }
    .default-header.device .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .default-header.device .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .default-header.triangle_globe {
    background: #16161c;
    background: url(/assets/images/triangle_globe-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .default-header.triangle_globe .header-title,
    .default-header.triangle_globe .header-text,
    .default-header.triangle_globe .btn,
    .default-header.triangle_globe .header-scroll {
      color: #fff; }
    .default-header.triangle_globe .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .default-header.triangle_globe .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .default-header.triangles {
    background: url(/assets/images/triangles-s.jpg) 50% 50% no-repeat #fff;
    background-size: cover; }
  .default-header.space {
    background: #16161c;
    background: url(/assets/images/space-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .default-header.space .header-title,
    .default-header.space .header-text,
    .default-header.space .btn,
    .default-header.space .header-scroll {
      color: #fff; }
    .default-header.space .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .default-header.space .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  .default-header.satellite {
    background: url(/assets/images/satellite-s.jpg) 20% 50% no-repeat #fff;
    background-size: cover; }
  .default-header.chips {
    background: url(/assets/images/chips-s.jpg) 50% 100% no-repeat #fff;
    background-size: 100% auto; }
  .default-header.globe {
    background: #16161c;
    background: url(/assets/images/globe-s.jpg) 50% 50% no-repeat #16161c;
    background-size: cover; }
    .default-header.globe .header-title,
    .default-header.globe .header-text,
    .default-header.globe .btn,
    .default-header.globe .header-scroll {
      color: #fff; }
    .default-header.globe .header-back {
      background-color: #dc0000;
      border-color: #dc0000;
      color: #fff; }
      .no-touchevents .default-header.globe .header-back:hover {
        background-color: #16161c;
        border-color: #16161c; }
  @media only screen and (min-width: 375px) {
    .default-header.chips {
      background-position: 50% 50%; } }
  @media only screen and (min-width: 667px) {
    .default-header.device {
      background: #16161c;
      background: url(/assets/images/device-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .default-header.device .header-title,
      .default-header.device .header-text,
      .default-header.device .btn,
      .default-header.device .header-scroll {
        color: #fff; }
      .default-header.device .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .default-header.device .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .default-header.triangle_globe {
      background: #16161c;
      background: url(/assets/images/triangle_globe-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .default-header.triangle_globe .header-title,
      .default-header.triangle_globe .header-text,
      .default-header.triangle_globe .btn,
      .default-header.triangle_globe .header-scroll {
        color: #fff; }
      .default-header.triangle_globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .default-header.triangle_globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .default-header.triangles {
      background: url(/assets/images/triangles-m.jpg) 50% 50% no-repeat #fff;
      background-size: cover; }
    .default-header.space {
      background: #16161c;
      background: url(/assets/images/space-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .default-header.space .header-title,
      .default-header.space .header-text,
      .default-header.space .btn,
      .default-header.space .header-scroll {
        color: #fff; }
      .default-header.space .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .default-header.space .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .default-header.satellite {
      background: url(/assets/images/satellite-m.jpg) 20% 50% no-repeat #fff;
      background-size: cover; }
    .default-header.chips {
      background: url(/assets/images/chips-m.jpg) 50% 100% no-repeat #fff;
      background-size: 100% auto; }
    .default-header.globe {
      background: #16161c;
      background: url(/assets/images/globe-m.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .default-header.globe .header-title,
      .default-header.globe .header-text,
      .default-header.globe .btn,
      .default-header.globe .header-scroll {
        color: #fff; }
      .default-header.globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .default-header.globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; } }
  @media only screen and (min-width: 1024px) {
    .default-header {
      min-height: 250px; } }
  @media only screen and (min-width: 1200px) {
    .default-header .header-title {
      font-size: 80px;
      line-height: 80px; }
    .default-header.device {
      background: #16161c;
      background: url(/assets/images/device-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .default-header.device .header-title,
      .default-header.device .header-text,
      .default-header.device .btn,
      .default-header.device .header-scroll {
        color: #fff; }
      .default-header.device .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .default-header.device .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .default-header.triangle_globe {
      background: #16161c;
      background: url(/assets/images/triangle_globe-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .default-header.triangle_globe .header-title,
      .default-header.triangle_globe .header-text,
      .default-header.triangle_globe .btn,
      .default-header.triangle_globe .header-scroll {
        color: #fff; }
      .default-header.triangle_globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .default-header.triangle_globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .default-header.triangles {
      background: url(/assets/images/triangles-l.jpg) 50% 50% no-repeat #fff;
      background-size: cover; }
    .default-header.space {
      background: #16161c;
      background: url(/assets/images/space-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .default-header.space .header-title,
      .default-header.space .header-text,
      .default-header.space .btn,
      .default-header.space .header-scroll {
        color: #fff; }
      .default-header.space .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .default-header.space .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; }
    .default-header.satellite {
      background: url(/assets/images/satellite-l.jpg) 20% 50% no-repeat #fff;
      background-size: cover; }
    .default-header.chips {
      background: url(/assets/images/chips-l.jpg) 50% 100% no-repeat #fff;
      background-size: cover; }
    .default-header.globe {
      background: #16161c;
      background: url(/assets/images/globe-l.jpg) 50% 50% no-repeat #16161c;
      background-size: cover; }
      .default-header.globe .header-title,
      .default-header.globe .header-text,
      .default-header.globe .btn,
      .default-header.globe .header-scroll {
        color: #fff; }
      .default-header.globe .header-back {
        background-color: #dc0000;
        border-color: #dc0000;
        color: #fff; }
        .no-touchevents .default-header.globe .header-back:hover {
          background-color: #16161c;
          border-color: #16161c; } }
  .default-header .header-title {
    margin-bottom: 0; }
  .default-header.small {
    padding: 80px 10px; }
  @media only screen and (min-width: 667px) {
    .default-header.small {
      padding: 150px 10px; } }

.product-header figure {
  display: block;
  padding: 60px 20px; }
  .product-header figure img {
    display: block;
    position: relative;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 320px;
    margin: 0 auto; }

.product-header-content {
  font-size: 16px; }

.product-header-title {
  font-size: 36px;
  line-height: 38px;
  font-weight: 400;
  color: #dc0000;
  margin: 0; }

.product-header-subtitle {
  font-size: 30px;
  line-height: 38px;
  font-weight: 300;
  color: #212126;
  margin: 0 0 20px; }

.product-header-text {
  line-height: 30px; }

.product-header-files {
  list-style: none;
  margin: 20px 0;
  padding: 0;
  border-top: 1px solid #e7e7e7; }
  .product-header-files li {
    display: block;
    border-bottom: 1px solid #e7e7e7;
    margin: 0;
    padding: 0; }
    .product-header-files li a,
    .product-header-files li button {
      position: relative;
      display: block;
      width: 100%;
      padding: 20px 0 20px 45px;
      color: #4a4a55;
      line-height: 20px;
      background: transparent;
      border: none;
      outline: none;
      transition: color .2s;
      text-align: left; }
      .product-header-files li a span,
      .product-header-files li button span {
        display: inline-block;
        transform: none;
        transition: transform .2s; }
      .no-touchevents .product-header-files li a:hover, .no-touchevents
      .product-header-files li button:hover {
        text-decoration: none;
        color: #212126; }
        .no-touchevents .product-header-files li a:hover span, .no-touchevents
        .product-header-files li button:hover span {
          transform: translateX(10px); }
      .product-header-files li a i,
      .product-header-files li button i {
        position: absolute;
        top: 13px;
        left: 0; }

@media only screen and (min-width: 667px) {
  .product-header .flex-wrap {
    display: flex;
    flex-flow: row norwap;
    justify-content: center;
    align-items: stretch; }
  .product-header figure, .product-header-content {
    flex: 1 1 50%;
    padding: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: stretch; }
  .product-header figure {
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
    margin: 80px 20px 50px 0; }
    .product-header figure img {
      flex: 0 0 auto;
      max-height: 500px; }
  .product-header-content {
    margin: 80px 0 20px 50px; } }

.tabs {
  position: relative; }

.tab-toggle {
  display: block;
  position: relative;
  width: calc(100% - 40px);
  line-height: 20px;
  margin: 0 auto -1px;
  padding: 14px 20px;
  background: #fafafa;
  border-style: solid;
  border-color: #d2d2d2 #d2d2d2 #fafafa;
  border-width: 1px;
  border-radius: 1px;
  user-select: none; }
  .tab-toggle:before {
    position: absolute;
    right: 20px;
    top: 15px;
    color: #4a4a55;
    transition: transform .2s; }

.tab-list {
  display: block;
  list-style: none;
  position: absolute;
  left: 20px;
  top: 49px;
  right: 20px;
  margin: 0;
  padding: 10px;
  background: #fafafa;
  border: 1px solid #d2d2d2;
  border-radius: 1px;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: 50% 0;
  transition: transform .15s, opacity .15s; }
  .tab-list li {
    display: block;
    margin: 0;
    padding: 0; }
    .tab-list li a {
      display: block;
      padding: 5px 10px;
      font-size: 18px;
      color: #4a4a55;
      text-align: center;
      text-decoration: none; }
      .tab-list li a:hover {
        text-decoration: none; }
    .tab-list li.active a {
      color: #dc0000; }

.tab-menu {
  position: relative; }
  .tab-menu.open .tab-toggle:before {
    transform: rotate(180deg); }
  .tab-menu.open .tab-list {
    opacity: 1;
    transform: none;
    transition: transform cubic-bezier(0.54, 1.54, 0.43, 0.94) 0.3s, opacity 0.15s;
    z-index: 99; }

.tab-pane {
  padding: 50px 0;
  min-height: 400px;
  background: #fafafa;
  border-top: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2; }
  .tab-pane.hide {
    display: none; }
  .tab-pane.active {
    display: block; }

@media only screen and (min-width: 375px) {
  .tab-toggle {
    width: calc(100% - 60px); }
  .tab-list {
    left: 30px;
    right: 30px; } }

@media only screen and (min-width: 667px) {
  .tab-toggle {
    display: none; }
  .tab-menu {
    padding: 10px 30px 0; }
  .tab-pane {
    padding: 76px 0 116px; }
  .tab-list {
    position: relative;
    opacity: 1;
    transform: none;
    top: initial;
    left: initial;
    right: initial;
    padding: 0;
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-end;
    align-content: stretch;
    background: transparent;
    border: none;
    overflow: visible; }
    .tab-list li {
      flex: 0 0 auto;
      background: transparent;
      border: 1px solid transparent;
      border-radius: 2px 2px 0 0;
      margin-bottom: -1px;
      transition: border .15s, background .15s; }
      .tab-list li a {
        font-size: 16px;
        padding: 12px 30px;
        line-height: 20px; }
      .no-touchevents .tab-list li:hover a {
        color: #212126; }
      .tab-list li.active {
        background: #fafafa;
        border-color: #d2d2d2 #d2d2d2 #fafafa; }
        .tab-list li.active a {
          color: #4a4a55; } }

.manufactoring-block .manufactoring-heading {
  width: 100%;
  margin-bottom: 80px;
  margin-top: 40px; }
  .manufactoring-block .manufactoring-heading h2 {
    text-align: center; }

.manufactoring-block .manufactoring-container {
  width: 100%;
  vertical-align: center;
  margin-bottom: 50px; }
  .manufactoring-block .manufactoring-container figure {
    width: 100%;
    position: relative; }
    .manufactoring-block .manufactoring-container figure .box {
      width: 80%;
      height: 65vw;
      border: 1px solid #dc0000;
      margin: auto 10%;
      position: absolute;
      z-index: -1; }
    .manufactoring-block .manufactoring-container figure img {
      max-width: 100%;
      height: 65vw;
      object-fit: contain;
      margin-left: 0px;
      overflow: visible;
      z-index: 2; }

.manufactoring-block .manufactoring-content {
  width: 100%;
  text-align: left; }
  .manufactoring-block .manufactoring-content p {
    margin-top: 50px;
    font-size: 16px; }
  .manufactoring-block .manufactoring-content a {
    margin-bottom: 30px; }
  .manufactoring-block .manufactoring-content .manufactoring-wrap {
    max-width: 480px;
    margin-left: 40px;
    margin-right: 40px; }

@media only screen and (min-width: 667px) {
  .manufactoring-block .manufactoring-content {
    width: 50%; }
    .manufactoring-block .manufactoring-content p {
      margin-top: 40px; }
  .manufactoring-block .manufactoring-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin-bottom: 180px;
    width: 100%; }
    .manufactoring-block .manufactoring-container figure {
      width: 50%;
      max-width: 800px;
      vertical-align: center; }
      .manufactoring-block .manufactoring-container figure .box {
        height: 33vw;
        max-height: 500px; }
      .manufactoring-block .manufactoring-container figure img {
        height: 33vw;
        max-height: 500px; }
    .manufactoring-block .manufactoring-container.reversed .manufactoring-content {
      padding-left: 50px; }
      .manufactoring-block .manufactoring-container.reversed .manufactoring-content .manufactoring-wrap {
        margin-right: 75px;
        margin-left: auto; }
    .manufactoring-block .manufactoring-container.reversed figure {
      order: 1; }
      .manufactoring-block .manufactoring-container.reversed figure img {
        padding-left: 15px; } }

.specifications {
  padding: 0 20px; }
  .specifications__title {
    margin: 15px 0;
    color: #dc0000; }
  .specifications__list {
    overflow: hidden; }
    .specifications__list dt {
      display: block;
      padding: 15px 10px 15px 0; }
    .specifications__list dd {
      display: block;
      border-bottom: 1px solid #e7e7e7;
      min-height: 50px; }
      .specifications__list dd:first-of-type {
        border-top: 1px solid #e7e7e7; }
  @media only screen and (min-width: 667px) {
    .specifications__wrapper {
      display: flex;
      flex-flow: row wrap;
      justify-content: flex-start;
      align-items: flex-start;
      margin: 0 -30px; }
    .specifications__box {
      flex: 0 0 calc(50% - 60px);
      margin: 30px; }
    .specifications__list dt {
      clear: both;
      float: left;
      width: 180px; }
    .specifications__list dd {
      padding: 15px 0 15px 180px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNyYWZ0L3dlYi9hc3NldHMvc3R5bGVzL2FwcC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiY3JhZnQvd2ViL2Fzc2V0cy9zdHlsZXMvYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcblx0UmVzZXRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5LCBtYWluIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuaHRtbCxcbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbmh0bWwge1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOyB9XG5cbmJvZHkge1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XG5cbmltZywgaWZyYW1lLCB2aWRlbywgYXVkaW8sIG9iamVjdCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5pbWcsIGlmcmFtZSB7XG4gIGJvcmRlcjogMCBub25lOyB9XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5hLFxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJpbWFnZVwiXSxcbmxhYmVsW2Zvcl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuYVtocmVmXj1cInRlbFwiXSxcbmJ1dHRvbltkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF0sXG50ZXh0YXJlYVtkaXNhYmxlZF0sXG5zZWxlY3RbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcbnRleHRhcmVhLFxuYVtocmVmXj1cInRlbFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHJlc2l6ZTogbm9uZTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbm5hdiB1bCxcbm5hdiBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lOyB9XG5cbi5pY29uLWZvb3RlcnNlcCwgZm9vdGVyIHVsOmJlZm9yZSwgZm9vdGVyIHVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTMzcHg7XG4gIGhlaWdodDogMjVweDsgfVxuXG4uaWNvbi1zZXBlcmF0b3ItcmV2ZXJzZWQsIGgyOm50aC1jaGlsZChldmVuKTphZnRlciwgLmhlYWRpbmcyOm50aC1jaGlsZChldmVuKTphZnRlciwgaDIuZXZlbjphZnRlciwgLmhlYWRpbmcyLmV2ZW46YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTI1cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogMzFweDsgfVxuXG4uaWNvbi1zZXBlcmF0b3IsIGgyOm50aC1jaGlsZChvZGQpOmFmdGVyLCAuaGVhZGluZzI6bnRoLWNoaWxkKG9kZCk6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU2cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogMzFweDsgfVxuXG4uaWNvbi1wZGYge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTg3cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDsgfVxuXG4uaWNvbi1zcGVjcyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTE5cHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDsgfVxuXG4uaWNvbiwgaDI6YWZ0ZXIsIC5oZWFkaW5nMjphZnRlciwgZm9vdGVyIHVsOmJlZm9yZSwgZm9vdGVyIHVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvc3ByaXRlLnBuZ1wiKTsgfVxuXG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gIC5pY29uLCBoMjphZnRlciwgLmhlYWRpbmcyOmFmdGVyLCBmb290ZXIgdWw6YmVmb3JlLCBmb290ZXIgdWw6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvaW1hZ2VzL3Nwcml0ZUAyeC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMzNweCAxNTFweDsgfSB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJla3RfaWNvbnNcIjtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2ZvbnRzL2VrdF9pY29ucy5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9la3RfaWNvbnMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlb3RcIiksIHVybChcIi9hc3NldHMvZm9udHMvZWt0X2ljb25zLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9la3RfaWNvbnMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL2VrdF9pY29ucy5zdmcjZWt0X2ljb25zXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4uZWt0X2ljb246YmVmb3JlLCAuZmlsdGVyLXRvZ2dsZTpiZWZvcmUsIC53Zi1ncm91cCAuc2VsZWN0OmJlZm9yZSwgLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZS10b2dnbGU6YmVmb3JlLCAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tdG9nZ2xlOmJlZm9yZSwgLnRhYi10b2dnbGU6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiZWt0X2ljb25zXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICAvKiBzcGVhazogbm9uZTsgb25seSBuZWNlc3NhcnkgaWYgbm90IHVzaW5nIHRoZSBwcml2YXRlIHVuaWNvZGUgcmFuZ2UgKGZpcnN0R2x5cGggb3B0aW9uKSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5la3RfaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDAxXCI7IH1cblxuLmVrdF9pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDJcIjsgfVxuXG4uZWt0X2ljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDNcIjsgfVxuXG4uZWt0X2ljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDRcIjsgfVxuXG4uZWt0X2ljb24tY2FibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDVcIjsgfVxuXG4uZWt0X2ljb24tY2hlY2ttYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDA2XCI7IH1cblxuLmVrdF9pY29uLWNoZXZyb24tZG93bjpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSwgLndmLWdyb3VwIC5zZWxlY3Q6YmVmb3JlLCAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLXRvZ2dsZTpiZWZvcmUsIC5zZWNvbmRhcnktbmF2aWdhdGlvbi10b2dnbGU6YmVmb3JlLCAudGFiLXRvZ2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwN1wiOyB9XG5cbi5la3RfaWNvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMDhcIjsgfVxuXG4uZWt0X2ljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwOVwiOyB9XG5cbi5la3RfaWNvbi1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBBXCI7IH1cblxuLmVrdF9pY29uLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBCXCI7IH1cblxuLmVrdF9pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDBDXCI7IH1cblxuLmVrdF9pY29uLWlwdHY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMERcIjsgfVxuXG4uZWt0X2ljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMEVcIjsgfVxuXG4uZWt0X2ljb24tbG9nbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAwRlwiOyB9XG5cbi5la3RfaWNvbi1taW51cy1jaXJjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDEwXCI7IH1cblxuLmVrdF9pY29uLW1pbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDExXCI7IH1cblxuLmVrdF9pY29uLW1vZGVtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDEyXCI7IH1cblxuLmVrdF9pY29uLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXEUwMTNcIjsgfVxuXG4uZWt0X2ljb24tcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDE0XCI7IH1cblxuLmVrdF9pY29uLXNhdGVsbGl0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNVwiOyB9XG5cbi5la3RfaWNvbi1zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxNlwiOyB9XG5cbi5la3RfaWNvbi1zbWFydC10djpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxN1wiOyB9XG5cbi5la3RfaWNvbi10ZXJyZXN0cmlhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxOFwiOyB9XG5cbi5la3RfaWNvbi10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcRTAxOVwiOyB9XG5cbi5la3RfaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxFMDFBXCI7IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkFsbGVyIFcwMVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICM0YTRhNTU7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuICBib2R5Lm5vLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5oMSwgLmhlYWRpbmcxIHtcbiAgZm9udC1mYW1pbHk6IFwiQWxsZXIgVzAxXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjY3cHgpIHtcbiAgICBoMSwgLmhlYWRpbmcxIHtcbiAgICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA5MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbmgyLCAuaGVhZGluZzIge1xuICBmb250LWZhbWlseTogXCJBbGxlciBXMDFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTZweDsgfVxuICBoMjphZnRlciwgLmhlYWRpbmcyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgaDIubm8tc2VwZXJhdG9yLCAuaGVhZGluZzIubm8tc2VwZXJhdG9yIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgaDIubm8tc2VwZXJhdG9yOmFmdGVyLCAuaGVhZGluZzIubm8tc2VwZXJhdG9yOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuaDMge1xuICBmb250LWZhbWlseTogXCJBbGxlciBXMDFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogMjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7IH1cblxuaDUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkFsbGVyIFcwMVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxucCwgYmxvY2txdW90ZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICNkYzAwMDA7IH1cbiAgLm5vLXRvdWNoZXZlbnRzIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uaW50cm9kdWN0aW9uIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb250ZW50LWludHJvZHVjdGlvbiB7XG4gIGZvbnQtc2l6ZTogMjRweDsgfVxuXG4ucHJvZHVjdC1uYW1lIHtcbiAgY29sb3I6ICNkYzAwMDA7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG5cbi5xdW90ZSwgYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkFsbGVyIFcwMVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzE2MTYxYzsgfVxuICAucXVvdGU6YmVmb3JlLCAucXVvdGU6YWZ0ZXIsIGJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDAyMlwiOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjY3cHgpIHtcbiAgLm1vYmlsZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm5vLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5uby1tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNkYzAwMDA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5idG4ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5uby10b3VjaGV2ZW50cyAuYnRuOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJ0bi1zb2xpZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkFsbGVyIFcwMVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGhlaWdodDogNThweDtcbiAgcGFkZGluZzogMThweCAyOHB4OyB9XG4gIC5uby10b3VjaGV2ZW50cyAuYnRuLXNvbGlkOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5idG4tc29saWQge1xuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7IH0gfVxuXG4uYnRuLWljb24ge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gIC5idG4taWNvbiAuZWt0X2ljb24sIC5idG4taWNvbiAuZmlsdGVyLXRvZ2dsZSwgLmJ0bi1pY29uIC53Zi1ncm91cCAuc2VsZWN0LCAud2YtZ3JvdXAgLmJ0bi1pY29uIC5zZWxlY3QsIC5idG4taWNvbiAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLXRvZ2dsZSwgLmJ0bi1pY29uIC5zZWNvbmRhcnktbmF2aWdhdGlvbi10b2dnbGUsIC5idG4taWNvbiAudGFiLXRvZ2dsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5uby10b3VjaGV2ZW50cyAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MWM7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjOyB9XG5cbi5idG4tcHJpbWFyeS1pbnZlcnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgY29sb3I6ICM0YTRhNTU7IH1cbiAgLm5vLXRvdWNoZXZlbnRzIC5idG4tcHJpbWFyeS1pbnZlcnNlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5idG4tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjO1xuICBjb2xvcjogI2ZmZjsgfVxuICAubm8tdG91Y2hldmVudHMgLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwOyB9XG5cbi5idG4tc2Vjb25kYXJ5SW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMxNjE2MWM7XG4gIGNvbG9yOiAjNGE0YTU1OyB9XG4gIC5uby10b3VjaGV2ZW50cyAuYnRuLXNlY29uZGFyeUludmVyc2U6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MWM7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5jb250YWN0LW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxuICAuY29udGFjdC1tYXAgZmlndXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAuY29udGFjdC1tYXAgZmlndXJlIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDsgfVxuICAuY29udGFjdC1tYXAtcG9pbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYmFja2dyb3VuZDogI2RjMDAwMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7IH1cbiAgICAuY29udGFjdC1tYXAtcG9pbnQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7XG4gICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwgLmNvbnRhY3QtbWFwLXBvaW50IHtcbiAgICBhbmltYXRpb24tbmFtZTogcG9pbnRQbG9wSGlkZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBmb3J3YXJkO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTsgfVxuICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGV4KDEpOyB9XG4gICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IHBvaW50UGxvcFJldmVhbDtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBmb3J3YXJkO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC41czsgfVxuICAgICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQ6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjJzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoMikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNHM7IH1cbiAgICAgIC5jb250YWN0LW1hcC5qcy1zY3JvbGwtcmV2ZWFsLnZpc2libGUgLmNvbnRhY3QtbWFwLXBvaW50Om50aC1jaGlsZCgzKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC42czsgfVxuICAgICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQ6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjhzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoNSkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDFzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoNikge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuMnM7IH1cbiAgICAgIC5jb250YWN0LW1hcC5qcy1zY3JvbGwtcmV2ZWFsLnZpc2libGUgLmNvbnRhY3QtbWFwLXBvaW50Om50aC1jaGlsZCg3KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS40czsgfVxuICAgICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQ6bnRoLWNoaWxkKDgpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjZzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoOSkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDEuOHM7IH1cbiAgICAgIC5jb250YWN0LW1hcC5qcy1zY3JvbGwtcmV2ZWFsLnZpc2libGUgLmNvbnRhY3QtbWFwLXBvaW50Om50aC1jaGlsZCgxMCkge1xuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDJzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoMTEpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjJzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoMTIpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjRzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoMTMpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjZzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoMTQpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjhzOyB9XG4gICAgICAuY29udGFjdC1tYXAuanMtc2Nyb2xsLXJldmVhbC52aXNpYmxlIC5jb250YWN0LW1hcC1wb2ludDpudGgtY2hpbGQoMTUpIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzczsgfVxuICAgICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQ6bnRoLWNoaWxkKDE2KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMy4yczsgfVxuICAgICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQ6bnRoLWNoaWxkKDE3KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMy40czsgfVxuICAgICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQ6bnRoLWNoaWxkKDE4KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMy42czsgfVxuICAgICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQ6bnRoLWNoaWxkKDE5KSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMy44czsgfVxuICAgICAgLmNvbnRhY3QtbWFwLmpzLXNjcm9sbC1yZXZlYWwudmlzaWJsZSAuY29udGFjdC1tYXAtcG9pbnQ6bnRoLWNoaWxkKDIwKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogNHM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5jb250YWN0LW1hcCB7XG4gICAgICBoZWlnaHQ6IDUwMHB4OyB9XG4gICAgICAuY29udGFjdC1tYXAgZmlndXJlIHtcbiAgICAgICAgaGVpZ2h0OiA3MDBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNvbnRhY3QtbWFwIHtcbiAgICAgIGhlaWdodDogNTAwcHg7IH1cbiAgICAgIC5jb250YWN0LW1hcCBmaWd1cmUge1xuICAgICAgICBoZWlnaHQ6IDcwMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGFjdC1tYXAge1xuICAgICAgaGVpZ2h0OiA3MDBweDsgfVxuICAgICAgLmNvbnRhY3QtbWFwIGZpZ3VyZSB7XG4gICAgICAgIGhlaWdodDogNzAwcHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIHBvaW50UGxvcFJldmVhbCB7XG4gIDAlLCAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgc2NhbGUoMCk7IH1cbiAgMzMuMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgc2NhbGUoMS4xKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgc2NhbGUoMC45NSk7IH1cbiAgNjYuNiUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgc2NhbGUoMS4wMik7IH1cbiAgODMuMyUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgc2NhbGUoMC45OCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcG9pbnRQbG9wSGlkZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgc2NhbGUoMCk7IH0gfVxuXG4uY29udGVudC1ibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY29udGVudC1ibG9jayAub3JuYW1lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDsgfVxuXG4uY29udGVudC13cmFwLCAuY29udGVudC13cmFwLXhzbWFsbCwgLmNvbnRlbnQtd3JhcC1zbWFsbCwgLmNvbnRlbnQtd3JhcC1tZWRpdW0sIC5jb250ZW50LXdyYXAtbGFyZ2UsIC5jb250ZW50LXdyYXAteGxhcmdlLCAuY29udGVudC13cmFwLXh4bGFyZ2Uge1xuICBtYXgtd2lkdGg6IDExMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAyMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgICAuY29udGVudC13cmFwLCAuY29udGVudC13cmFwLXhzbWFsbCwgLmNvbnRlbnQtd3JhcC1zbWFsbCwgLmNvbnRlbnQtd3JhcC1tZWRpdW0sIC5jb250ZW50LXdyYXAtbGFyZ2UsIC5jb250ZW50LXdyYXAteGxhcmdlLCAuY29udGVudC13cmFwLXh4bGFyZ2Uge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGVudC13cmFwLCAuY29udGVudC13cmFwLXhzbWFsbCwgLmNvbnRlbnQtd3JhcC1zbWFsbCwgLmNvbnRlbnQtd3JhcC1tZWRpdW0sIC5jb250ZW50LXdyYXAtbGFyZ2UsIC5jb250ZW50LXdyYXAteGxhcmdlLCAuY29udGVudC13cmFwLXh4bGFyZ2Uge1xuICAgICAgcGFkZGluZzogMCA0MHB4OyB9IH1cbiAgLmNvbnRlbnQtd3JhcC14c21hbGwge1xuICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgLmNvbnRlbnQtd3JhcC1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiA0NjBweDsgfVxuICAuY29udGVudC13cmFwLW1lZGl1bSB7XG4gICAgbWF4LXdpZHRoOiA2NDBweDsgfVxuICAuY29udGVudC13cmFwLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IDczMHB4OyB9XG4gIC5jb250ZW50LXdyYXAteGxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IDk0MHB4OyB9XG4gIC5jb250ZW50LXdyYXAteHhsYXJnZSB7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7IH1cblxuLmZpbHRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA2NXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDJkMjtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHg7XG4gIHotaW5kZXg6IDgwO1xuICB0cmFuc2l0aW9uOiBub25lIC4yczsgfVxuICAuZmlsdGVyLnJlYWR5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmlsdGVyLnJlYWR5IC5maWx0ZXItZmlsbGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmlsdGVyLnN0aWNreSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzLCBvcGFjaXR5IDBzOyB9XG4gICAgLmZpbHRlci5zdGlja3kuaGlkZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycywgb3BhY2l0eSAwcyAuMnM7IH1cbiAgICAuZmlsdGVyLnN0aWNreSArIC5maWx0ZXItZmlsbGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5maWx0ZXItd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5maWx0ZXItdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgcGFkZGluZzogMjJweCAwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7IH1cbiAgICAuZmlsdGVyLXRvZ2dsZTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0b3A6IDE5cHg7XG4gICAgICBjb2xvcjogIzRhNGE1NTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7IH1cbiAgICAuZmlsdGVyLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGJhY2tncm91bmQ6ICNkYzAwMDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBib3R0b206IDA7IH1cbiAgLmZpbHRlci1saXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDY1cHg7XG4gICAgbGVmdDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDJkMmQyO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzLCBvcGFjaXR5IC4xNXM7IH1cbiAgICAuZmlsdGVyLWxpc3QgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuZmlsdGVyLWxpc3QgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA3cHggMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogIzRhNGE1NTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLmZpbHRlci1saXN0IGxpIGEgc3ZnIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmlsdGVyLWxpc3QgbGkuYWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogI2RjMDAwMDsgfVxuICAuZmlsdGVyLm9wZW4gLmZpbHRlci10b2dnbGU6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5maWx0ZXIub3BlbiAuZmlsdGVyLWxpc3Qge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBjdWJpYy1iZXppZXIoMC41NCwgMS41NCwgMC40MywgMC45NCkgMC4zcywgb3BhY2l0eSAwLjE1czsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3NXB4KSB7XG4gICAgLmZpbHRlci10b2dnbGU6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAzMHB4OyB9XG4gICAgLmZpbHRlci10b2dnbGU6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTsgfVxuICAgIC5maWx0ZXItbGlzdCB7XG4gICAgICBsZWZ0OiAzMHB4O1xuICAgICAgcmlnaHQ6IDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY2N3B4KSB7XG4gICAgLmZpbHRlci13cmFwcGVyIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmZpbHRlciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgICAuZmlsdGVyLnN0aWNreSB7XG4gICAgICAgIHRvcDogLTI0cHg7IH1cbiAgICAgIC5maWx0ZXItd3JhcHBlciB7XG4gICAgICAgIG1heC13aWR0aDogMTEzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLmZpbHRlci10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmlsdGVyLWxpc3Qge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAuZmlsdGVyLWxpc3QgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgICAgICAgIC5maWx0ZXItbGlzdCBsaSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgLjJzOyB9XG4gICAgICAgICAgICAuZmlsdGVyLWxpc3QgbGkgYSBzdmcge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgICAgICAgICAgICAuZmlsdGVyLWxpc3QgbGkgYSBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogIzRhNGE1NTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBmaWxsIC4yczsgfVxuICAgICAgICAgICAgLmZpbHRlci1saXN0IGxpIGE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7IH1cbiAgICAgICAgICAgIC5uby10b3VjaGV2ZW50cyAuZmlsdGVyLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMjEyMTI2O1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5maWx0ZXItbGlzdCBsaSBhOmhvdmVyIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAjMjEyMTI2OyB9XG4gICAgICAgICAgICAgIC5uby10b3VjaGV2ZW50cyAuZmlsdGVyLWxpc3QgbGkgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOyB9XG4gICAgICAgICAgLmZpbHRlci1saXN0IGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZGMwMDAwOyB9XG4gICAgICAgICAgICAuZmlsdGVyLWxpc3QgbGkuYWN0aXZlIGE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2RjMDAwMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH0gfVxuXG4uY29udGFjdC1pbmZvcm1hdGlvbiB7XG4gIHBhZGRpbmc6IDYwcHggMDsgfVxuICAuY29udGFjdC1pbmZvcm1hdGlvbiBoMi5uby1zZXBlcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jb250YWN0LWluZm9ybWF0aW9uIGZvcm0gYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29udGFjdC1pbmZvcm1hdGlvbiAuY29udGFjdC1saXN0cyB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDJkMmQyO1xuICAgIHBhZGRpbmc6IDM1cHggMDsgfVxuICAgIC5jb250YWN0LWluZm9ybWF0aW9uIC5jb250YWN0LWxpc3RzIHVsIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICAuY29udGFjdC1pbmZvcm1hdGlvbiAuY29udGFjdC1saXN0cyB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkFsbGVyIFcwMVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6ICMxNjE2MWM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5jb250YWN0LWluZm9ybWF0aW9uIGgyLm5vLXNlcGVyYXRvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4OHB4OyB9XG4gICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gLmNvbnRhY3QtbGlzdHMgLmNvbnRhY3Qtcm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5jb250YWN0LWluZm9ybWF0aW9uIC5jb250YWN0LWxpc3RzIC5jb250YWN0LXJvdyB1bCB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5jb250YWN0LWluZm9ybWF0aW9uIC5jb250YWN0LWxpc3RzIC5jb250YWN0LXJvdyB1bDpudGgtY2hpbGQoMSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDJkMmQyOyB9XG4gICAgICAuY29udGFjdC1pbmZvcm1hdGlvbiAuY29udGFjdC1saXN0cyAuY29udGFjdC1yb3cgdWw6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgICAuY29udGFjdC1pbmZvcm1hdGlvbiAuY29udGFjdC1saXN0cyAuY29udGFjdC1yb3c6bGFzdC1jaGlsZCB1bCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jb250YWN0LWluZm9ybWF0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMCAxNDBweDsgfVxuICAgICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gaDIubm8tc2VwZXJhdG9yIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogODhweDsgfVxuICAgICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gZm9ybSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7IH1cbiAgICAgICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gZm9ybSBidXR0b24ge1xuICAgICAgICAgIHdpZHRoOiAzNDBweDsgfVxuICAgICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gLmNvbnRhY3QtZmxleCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gLmNvbnRhY3QtZmxleCA+ICoge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5jb250YWN0LWluZm9ybWF0aW9uIC5jb250YWN0LWxpc3RzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgICAgIC5jb250YWN0LWluZm9ybWF0aW9uIC5jb250YWN0LWxpc3RzIC5jb250YWN0LXJvdyB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkMmQyZDI7IH1cbiAgICAgICAgICAuY29udGFjdC1pbmZvcm1hdGlvbiAuY29udGFjdC1saXN0cyAuY29udGFjdC1yb3cgdWwge1xuICAgICAgICAgICAgcGFkZGluZzogMzVweCAwOyB9XG4gICAgICAgICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gLmNvbnRhY3QtbGlzdHMgLmNvbnRhY3Qtcm93OmZpcnN0LWNoaWxkIHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAgICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gLmNvbnRhY3QtbGlzdHMgLmNvbnRhY3Qtcm93Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgIC5jb250YWN0LWluZm9ybWF0aW9uIC5jb250YWN0LWxpc3RzIHVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGJvcmRlcjogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gZm9ybSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gICAgLmNvbnRhY3QtaW5mb3JtYXRpb24gLmNvbnRhY3QtbGlzdHMge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OyB9XG4gICAgICAuY29udGFjdC1pbmZvcm1hdGlvbiAuY29udGFjdC1saXN0cyAuY29udGFjdC1yb3cge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDJkMjsgfVxuICAgICAgICAuY29udGFjdC1pbmZvcm1hdGlvbiAuY29udGFjdC1saXN0cyAuY29udGFjdC1yb3cgdWwge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggMDsgfVxuICAgICAgICAuY29udGFjdC1pbmZvcm1hdGlvbiAuY29udGFjdC1saXN0cyAuY29udGFjdC1yb3c6Zmlyc3QtY2hpbGQgdWwge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAgIC5jb250YWN0LWluZm9ybWF0aW9uIC5jb250YWN0LWxpc3RzIC5jb250YWN0LXJvdzpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5jb250YWN0LWluZm9ybWF0aW9uIC5jb250YWN0LWxpc3RzIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cblxuZm9vdGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBmb290ZXIgdWwge1xuICAgIHBhZGRpbmc6IDcwcHggMDsgfVxuICAgIGZvb3RlciB1bDpiZWZvcmUsIGZvb3RlciB1bDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgIGZvb3RlciB1bCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgZm9vdGVyIHVsIGxpIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjNGE0YTU1OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgZm9vdGVyIHVsIHtcbiAgICAgIHBhZGRpbmc6IDMycHggMCA1MHB4OyB9XG4gICAgICBmb290ZXIgdWw6YmVmb3JlLCBmb290ZXIgdWw6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBmb290ZXIgdWw6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgICBmb290ZXIgdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBmb290ZXIgdWw6YmVmb3JlLCBmb290ZXIgdWw6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE0cHgpO1xuICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9XG4gICAgZm9vdGVyIHVsOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDE0cHgpIHNjYWxlKC0xLCAxKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfSB9XG5cbi53Zi1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAud2YtZ3JvdXAgaW5wdXQsXG4gIC53Zi1ncm91cCB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLndmLWdyb3VwIC5mb3JtX19sYWJlbCB7XG4gICAgbWFyZ2luOiAyMnB4IDAgMTVweDsgfVxuICAud2YtZ3JvdXAgLnNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLndmLWdyb3VwIC5zZWxlY3Q6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgYm90dG9tOiAxMXB4O1xuICAgICAgY29sb3I6ICNkYzAwMDA7IH1cbiAgICAud2YtZ3JvdXAgLnNlbGVjdCBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLnNlbGVjdC1maWVsZDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IDExcHg7XG4gIGNvbG9yOiAjZGMwMDAwOyB9XG5cbmxhYmVsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbmlucHV0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QyZDJkMjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzRhNGE1NTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgcGFkZGluZzogMTJweCAxNHB4OyB9XG4gIGlucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgY29sb3I6ICNkYzAwMDA7IH1cblxuc2VsZWN0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QyZDJkMjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMzRweCAwIDE0cHg7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbnRleHRhcmVhIHtcbiAgcGFkZGluZzogMTJweCAxNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDJkMmQyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGhlaWdodDogMjY1cHg7IH1cblxuLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi53Zi1zZWxlY3Qge1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBmbGV4LWZsb3c6IGluaGVyaXQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mb3JtX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICAud2YtZ3JvdXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAud2YtZ3JvdXAgLndmLWZpZWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM0cHg7IH1cbiAgICAud2YtZ3JvdXAgbGFiZWwge1xuICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW46IDEycHggMCAwOyB9XG4gICAgICAud2YtZ3JvdXAgbGFiZWwgbGFiZWwucmVxdWlyZWQ6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIipcIjsgfVxuICAgIC53Zi1ncm91cCB0ZXh0YXJlYSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgLndmLWdyb3VwIHRleHRhcmVhIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG5cbi5tYWluLWhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuICAubWFpbi1oZWFkZXIgLmNvbnRlbnQtd3JhcCwgLm1haW4taGVhZGVyIC5jb250ZW50LXdyYXAteHNtYWxsLCAubWFpbi1oZWFkZXIgLmNvbnRlbnQtd3JhcC1zbWFsbCwgLm1haW4taGVhZGVyIC5jb250ZW50LXdyYXAtbWVkaXVtLCAubWFpbi1oZWFkZXIgLmNvbnRlbnQtd3JhcC1sYXJnZSwgLm1haW4taGVhZGVyIC5jb250ZW50LXdyYXAteGxhcmdlLCAubWFpbi1oZWFkZXIgLmNvbnRlbnQtd3JhcC14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgLm1haW4taGVhZGVyIGZpZ3VyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAubWFpbi1oZWFkZXIgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY2N3B4KSB7XG4gICAgLm1haW4taGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9tYWluLWhlYWRlci1iZy5wbmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1NHB4OyB9XG4gICAgICAubWFpbi1oZWFkZXIgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgIC5tYWluLWhlYWRlciBmaWd1cmUge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5tYWluLWhlYWRlciAuaGVhZGVyLWNvbnRlbnQge1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5tYWluLWhlYWRlciAuY29udGVudC13cmFwLCAubWFpbi1oZWFkZXIgLmNvbnRlbnQtd3JhcC14c21hbGwsIC5tYWluLWhlYWRlciAuY29udGVudC13cmFwLXNtYWxsLCAubWFpbi1oZWFkZXIgLmNvbnRlbnQtd3JhcC1tZWRpdW0sIC5tYWluLWhlYWRlciAuY29udGVudC13cmFwLWxhcmdlLCAubWFpbi1oZWFkZXIgLmNvbnRlbnQtd3JhcC14bGFyZ2UsIC5tYWluLWhlYWRlciAuY29udGVudC13cmFwLXh4bGFyZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDExMzBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1haW4taGVhZGVyIGZpZ3VyZSB7XG4gICAgICB3aWR0aDogNDYwcHg7IH1cbiAgICAubWFpbi1oZWFkZXIgLmhlYWRlci1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDExMHB4OyB9XG4gICAgLm1haW4taGVhZGVyIC5jb250ZW50LXdyYXAsIC5tYWluLWhlYWRlciAuY29udGVudC13cmFwLXhzbWFsbCwgLm1haW4taGVhZGVyIC5jb250ZW50LXdyYXAtc21hbGwsIC5tYWluLWhlYWRlciAuY29udGVudC13cmFwLW1lZGl1bSwgLm1haW4taGVhZGVyIC5jb250ZW50LXdyYXAtbGFyZ2UsIC5tYWluLWhlYWRlciAuY29udGVudC13cmFwLXhsYXJnZSwgLm1haW4taGVhZGVyIC5jb250ZW50LXdyYXAteHhsYXJnZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTYwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5tYWluLWhlYWRlciAuaGVhZGVyLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDYyMHB4OyB9IH1cblxuLm1haW4tc3VibWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWFpbi1zdWJtZW51IHAge1xuICAgIHBhZGRpbmc6IDEycHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG4gIC5tYWluLXN1Ym1lbnUgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTIxMjY7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIC5tYWluLXN1Ym1lbnUgdWwgLmNvbnRlbnQtd3JhcC1sYXJnZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tYWluLXN1Ym1lbnUgdWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAubWFpbi1zdWJtZW51IHVsIGxpOm50aC1jaGlsZCgtbisyKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzgzODNjOyB9XG4gICAgICAubWFpbi1zdWJtZW51IHVsIGxpIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgICAubWFpbi1zdWJtZW51IHVsIC5jb250ZW50LXdyYXAtbGFyZ2Uge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5tYWluLXN1Ym1lbnUge1xuICAgICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgICAgIC5tYWluLXN1Ym1lbnUgcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubWFpbi1zdWJtZW51IHVsIHtcbiAgICAgICAgcGFkZGluZzogMTJweDsgfVxuICAgICAgICAubWFpbi1zdWJtZW51IHVsIC5jb250ZW50LXdyYXAtbGFyZ2Uge1xuICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAgIC5tYWluLXN1Ym1lbnUgdWwgbGkge1xuICAgICAgICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gICAgICAgICAgLm1haW4tc3VibWVudSB1bCBsaTpudGgtY2hpbGQoLW4rMikge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbi5uby10b3VjaGV2ZW50cyAubWFpbi1zdWJtZW51IHVsIGxpOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYzAwMDA7IH1cblxuLm5vLXRvdWNoZXZlbnRzIC5tYWluLXN1Ym1lbnUgdWwgYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubmV3cyB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAubmV3cyAubmV3cy1vdmVydmlldyB7XG4gICAgcGFkZGluZzogMjBweCAwOyB9XG4gIC5uby10b3VjaGV2ZW50cyAubmV3czpob3ZlciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5uZXdzIC5uZXdzLW92ZXJ2aWV3IHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDAgMTAwcHg7IH1cbiAgICAubmV3cyAubmV3cy1mbGV4IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4ubmV3cy1kZXRhaWwsIC5jb250ZW50LXBhZ2Uge1xuICBwYWRkaW5nOiAzOHB4IDA7IH1cbiAgLm5ld3MtZGV0YWlsIGgxLCAuY29udGVudC1wYWdlIGgxIHtcbiAgICBmb250LWZhbWlseTogXCJBbGxlciBXMDFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMzNweDsgfVxuICAubmV3cy1kZXRhaWwgaDIsIC5jb250ZW50LXBhZ2UgaDIge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubmV3cy1kZXRhaWwgaDI6YWZ0ZXIsIC5jb250ZW50LXBhZ2UgaDI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubmV3cy1kZXRhaWwgLmRhdGUsIC5jb250ZW50LXBhZ2UgLmRhdGUge1xuICAgIGNvbG9yOiAjZGMwMDAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgLm5ld3MtZGV0YWlsIC5tYWluLWltYWdlLCAuY29udGVudC1wYWdlIC5tYWluLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5ld3MtZGV0YWlsLCAuY29udGVudC1wYWdlIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMDsgfVxuICAgICAgLm5ld3MtZGV0YWlsIGgxLCAuY29udGVudC1wYWdlIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweDsgfVxuICAgICAgLm5ld3MtZGV0YWlsIGgyLCAuY29udGVudC1wYWdlIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH1cblxuLm5ld3Mtb3ZlcnZpZXctaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm5ld3Mtb3ZlcnZpZXctaXRlbSAuY29udGVudCB7XG4gICAgcGFkZGluZzogMjVweCAwOyB9XG4gIC5uZXdzLW92ZXJ2aWV3LWl0ZW0gZmlndXJlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMzQwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm5ld3Mtb3ZlcnZpZXctaXRlbSBmaWd1cmUgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMzQwcHg7IH1cbiAgLm5ld3Mtb3ZlcnZpZXctaXRlbSBwIHtcbiAgICBjb2xvcjogIzRhNGE1NTtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7IH1cbiAgICAubmV3cy1vdmVydmlldy1pdGVtIHAuZGF0ZSB7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIGNvbG9yOiAjZGMwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDsgfVxuICAgIC5uZXdzLW92ZXJ2aWV3LWl0ZW0gcCAuZWt0X2ljb246YmVmb3JlLCAubmV3cy1vdmVydmlldy1pdGVtIHAgLmZpbHRlci10b2dnbGU6YmVmb3JlLCAubmV3cy1vdmVydmlldy1pdGVtIHAgLndmLWdyb3VwIC5zZWxlY3Q6YmVmb3JlLCAud2YtZ3JvdXAgLm5ld3Mtb3ZlcnZpZXctaXRlbSBwIC5zZWxlY3Q6YmVmb3JlLCAubmV3cy1vdmVydmlldy1pdGVtIHAgLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZS10b2dnbGU6YmVmb3JlLCAubmV3cy1vdmVydmlldy1pdGVtIHAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLXRvZ2dsZTpiZWZvcmUsIC5uZXdzLW92ZXJ2aWV3LWl0ZW0gcCAudGFiLXRvZ2dsZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICNkYzAwMDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgyMHB4LCA2cHgpOyB9XG4gIC5uby10b3VjaGV2ZW50cyAubmV3cy1vdmVydmlldy1pdGVtOmhvdmVyIHAge1xuICAgIGNvbG9yOiAjZGMwMDAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIC4zczsgfVxuICAgIC5uby10b3VjaGV2ZW50cyAubmV3cy1vdmVydmlldy1pdGVtOmhvdmVyIHAuZGF0ZSB7XG4gICAgICBjb2xvcjogIzRhNGE1NTsgfVxuICAgIC5uby10b3VjaGV2ZW50cyAubmV3cy1vdmVydmlldy1pdGVtOmhvdmVyIHAgaTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM0YTRhNTU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5uZXdzLW92ZXJ2aWV3LWl0ZW0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDUwcHgpOyB9XG4gICAgICAubmV3cy1vdmVydmlldy1pdGVtIGZpZ3VyZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI2MHB4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLm5ld3Mtb3ZlcnZpZXctaXRlbSBmaWd1cmUgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI2MHB4OyB9XG4gICAgICAubmV3cy1vdmVydmlldy1pdGVtIHAge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgIC5uZXdzLW92ZXJ2aWV3LWl0ZW0gcC5kYXRlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDsgfVxuICAgICAgLm5ld3Mtb3ZlcnZpZXctaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7IH1cbiAgICAgIC5uZXdzLW92ZXJ2aWV3LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDsgfVxuICAgICAgLm5ld3Mtb3ZlcnZpZXctaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAwIDIycHg7IH1cbiAgICAgICAgLm5ld3Mtb3ZlcnZpZXctaXRlbTpmaXJzdC1jaGlsZCA+ICoge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgLm5ld3Mtb3ZlcnZpZXctaXRlbTpmaXJzdC1jaGlsZCBmaWd1cmUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNTBweDsgfVxuICAgICAgICAubmV3cy1vdmVydmlldy1pdGVtOmZpcnN0LWNoaWxkIC5jb250ZW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5ld3Mtb3ZlcnZpZXctaXRlbSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIycHggMjBweCAwOyB9XG4gICAgICAubmV3cy1vdmVydmlldy1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDYwcHg7IH0gfVxuXG4ub3JuYW1lbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2NnB4O1xuICBoZWlnaHQ6IDMxcHg7IH1cbiAgLm9ybmFtZW50IC5jaXJjbGUge1xuICAgIGZpbGw6IG5vbmU7XG4gICAgc3Ryb2tlOiAjZGMwMDAwO1xuICAgIHN0cm9rZS13aWR0aDogMS42cHQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjM5LCAxLjY2LCAwLjEyLCAwLjkpIDAuNnM7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOyB9XG4gIC5vcm5hbWVudCAubGluZSB7XG4gICAgZmlsbDogbm9uZTtcbiAgICBzdHJva2U6ICNkYzAwMDA7XG4gICAgc3Ryb2tlLXdpZHRoOiAuNXB0OyB9XG4gIC5vcm5hbWVudCAuY2lyY2xlLTEge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IC4zczsgfVxuICAub3JuYW1lbnQgLmNpcmNsZS0yIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMnM7IH1cbiAgLm9ybmFtZW50IC5jaXJjbGUtMyB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogLjFzOyB9XG4gIC5vcm5hbWVudCAubGluZS0xIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwIDIwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMjA7XG4gICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjJzIGxpbmVhciwgc3Ryb2tlLWRhc2hhcnJheSAuMnMgbGluZWFyOyB9XG4gIC5vcm5hbWVudCAubGluZS0yIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwIDUwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtNTA7XG4gICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjJzIGxpbmVhciwgc3Ryb2tlLWRhc2hhcnJheSAuMnMgbGluZWFyOyB9XG4gIC5vcm5hbWVudCAubGluZS0zIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAwIDIwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMjA7XG4gICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjJzIGxpbmVhciwgc3Ryb2tlLWRhc2hhcnJheSAuMnMgbGluZWFyOyB9XG4gIC5vcm5hbWVudC52aXNpYmxlIC5jaXJjbGUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLm9ybmFtZW50LnZpc2libGUgLmNpcmNsZS0xIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMnM7IH1cbiAgLm9ybmFtZW50LnZpc2libGUgLmNpcmNsZS0yIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuN3M7IH1cbiAgLm9ybmFtZW50LnZpc2libGUgLmNpcmNsZS0zIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNzVzOyB9XG4gIC5vcm5hbWVudC52aXNpYmxlIC5saW5lLTEge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDIwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4ycyAuMnMgbGluZWFyLCBzdHJva2UtZGFzaGFycmF5IC4ycyAuMnMgbGluZWFyOyB9XG4gIC5vcm5hbWVudC52aXNpYmxlIC5saW5lLTIge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IDUwO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC40cyAuNHMgZWFzZS1vdXQsIHN0cm9rZS1kYXNoYXJyYXkgLjRzIC40cyBlYXNlLW91dDsgfVxuICAub3JuYW1lbnQudmlzaWJsZSAubGluZS0zIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAyMDtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMnMgLjVzIGVhc2Utb3V0LCBzdHJva2UtZGFzaGFycmF5IC4ycyAuNXMgZWFzZS1vdXQ7IH1cbiAgLm9ybmFtZW50LXNtYWxsIHtcbiAgICB3aWR0aDogNjlweDtcbiAgICBoZWlnaHQ6IDM2cHg7IH1cbiAgICAub3JuYW1lbnQtc21hbGwgLmNpcmNsZS0xIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4zczsgfVxuICAgIC5vcm5hbWVudC1zbWFsbCAuY2lyY2xlLTIge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjJzOyB9XG4gICAgLm9ybmFtZW50LXNtYWxsIC5jaXJjbGUtMyB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMXM7IH1cbiAgICAub3JuYW1lbnQtc21hbGwgLmNpcmNsZS00IHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9XG4gICAgLm9ybmFtZW50LXNtYWxsIC5saW5lLTEge1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMCAyMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMjA7XG4gICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMnMgbGluZWFyLCBzdHJva2UtZGFzaGFycmF5IC4ycyBsaW5lYXI7IH1cbiAgICAub3JuYW1lbnQtc21hbGwgLmxpbmUtMiB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAwIDUwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC01MDtcbiAgICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4ycyBsaW5lYXIsIHN0cm9rZS1kYXNoYXJyYXkgLjJzIGxpbmVhcjsgfVxuICAgIC5vcm5hbWVudC1zbWFsbCAubGluZS0zIHtcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAgMjA7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogLTIwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjJzIGxpbmVhciwgc3Ryb2tlLWRhc2hhcnJheSAuMnMgbGluZWFyOyB9XG4gICAgLm9ybmFtZW50LXNtYWxsIC5saW5lLTQge1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMCAxMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTA7XG4gICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMnMgbGluZWFyLCBzdHJva2UtZGFzaGFycmF5IC4ycyBsaW5lYXI7IH1cbiAgICAub3JuYW1lbnQtc21hbGwudmlzaWJsZSAuY2lyY2xlLTEge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjJzOyB9XG4gICAgLm9ybmFtZW50LXNtYWxsLnZpc2libGUgLmNpcmNsZS0yIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC41czsgfVxuICAgIC5vcm5hbWVudC1zbWFsbC52aXNpYmxlIC5jaXJjbGUtMyB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNnM7IH1cbiAgICAub3JuYW1lbnQtc21hbGwudmlzaWJsZSAuY2lyY2xlLTQge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjZzOyB9XG4gICAgLm9ybmFtZW50LXNtYWxsLnZpc2libGUgLmxpbmUtMSB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAyMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjJzIC4ycyBlYXNlLW91dCwgc3Ryb2tlLWRhc2hhcnJheSAuMnMgLjJzIGVhc2Utb3V0OyB9XG4gICAgLm9ybmFtZW50LXNtYWxsLnZpc2libGUgLmxpbmUtMiB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiA1MDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjNzIC40cyBlYXNlLW91dCwgc3Ryb2tlLWRhc2hhcnJheSAuM3MgLjRzIGVhc2Utb3V0OyB9XG4gICAgLm9ybmFtZW50LXNtYWxsLnZpc2libGUgLmxpbmUtMyB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAyMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjJzIC40cyBlYXNlLW91dCwgc3Ryb2tlLWRhc2hhcnJheSAuMnMgLjRzIGVhc2Utb3V0OyB9XG4gICAgLm9ybmFtZW50LXNtYWxsLnZpc2libGUgLmxpbmUtNCB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAxMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjJzIC41cyBlYXNlLW91dCwgc3Ryb2tlLWRhc2hhcnJheSAuMnMgLjVzIGVhc2Utb3V0OyB9XG4gIC5vcm5hbWVudC1sYXJnZSB7XG4gICAgd2lkdGg6IDEyNHB4O1xuICAgIGhlaWdodDogMzZweDsgfVxuICAgIC5vcm5hbWVudC1sYXJnZSAuY2lyY2xlLTEge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjVzOyB9XG4gICAgLm9ybmFtZW50LWxhcmdlIC5jaXJjbGUtMiB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuNHM7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UgLmNpcmNsZS0zIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4zczsgfVxuICAgIC5vcm5hbWVudC1sYXJnZSAuY2lyY2xlLTQge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjJzOyB9XG4gICAgLm9ybmFtZW50LWxhcmdlIC5jaXJjbGUtNSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMXM7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UgLmNpcmNsZS02IHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9XG4gICAgLm9ybmFtZW50LWxhcmdlIC5saW5lLTEge1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMCAxMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtMTA7XG4gICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMXMgbGluZWFyLCBzdHJva2UtZGFzaGFycmF5IC4xcyBsaW5lYXI7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UgLmxpbmUtMiB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAwIDIwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0yMDtcbiAgICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4xcyBsaW5lYXIsIHN0cm9rZS1kYXNoYXJyYXkgLjFzIGxpbmVhcjsgfVxuICAgIC5vcm5hbWVudC1sYXJnZSAubGluZS0zIHtcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAgMTA7XG4gICAgICBzdHJva2UtZGFzaG9mZnNldDogLTEwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjFzIGxpbmVhciwgc3Ryb2tlLWRhc2hhcnJheSAuMXMgbGluZWFyOyB9XG4gICAgLm9ybmFtZW50LWxhcmdlIC5saW5lLTQge1xuICAgICAgc3Ryb2tlLWRhc2hhcnJheTogMCA1MDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtNTA7XG4gICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMXMgbGluZWFyLCBzdHJva2UtZGFzaGFycmF5IC4xcyBsaW5lYXI7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UgLmxpbmUtNSB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAwIDUwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC01MDtcbiAgICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4xcyBsaW5lYXIsIHN0cm9rZS1kYXNoYXJyYXkgLjFzIGxpbmVhcjsgfVxuICAgIC5vcm5hbWVudC1sYXJnZSAubGluZS02IHtcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDAgNTtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAtNTtcbiAgICAgIHRyYW5zaXRpb246IHN0cm9rZS1kYXNob2Zmc2V0IC4xcyBlYXNlLW91dCwgc3Ryb2tlLWRhc2hhcnJheSAuMXMgZWFzZS1vdXQ7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UudmlzaWJsZSAuY2lyY2xlLTEge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMnM7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UudmlzaWJsZSAuY2lyY2xlLTIge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjRzOyB9XG4gICAgLm9ybmFtZW50LWxhcmdlLnZpc2libGUgLmNpcmNsZS0zIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC40NXM7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UudmlzaWJsZSAuY2lyY2xlLTQge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjU1czsgfVxuICAgIC5vcm5hbWVudC1sYXJnZS52aXNpYmxlIC5jaXJjbGUtNSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuN3M7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UudmlzaWJsZSAuY2lyY2xlLTYge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjhzOyB9XG4gICAgLm9ybmFtZW50LWxhcmdlLnZpc2libGUgLmxpbmUtMSB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAxMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjFzIC4ycyBlYXNlLW91dCwgc3Ryb2tlLWRhc2hhcnJheSAuMXMgLjJzIGVhc2Utb3V0OyB9XG4gICAgLm9ybmFtZW50LWxhcmdlLnZpc2libGUgLmxpbmUtMiB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiAyMDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjFzIC4zNXMgZWFzZS1vdXQsIHN0cm9rZS1kYXNoYXJyYXkgLjFzIC4zNXMgZWFzZS1vdXQ7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UudmlzaWJsZSAubGluZS0zIHtcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDEwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMXMgLjRzIGVhc2Utb3V0LCBzdHJva2UtZGFzaGFycmF5IC4xcyAuNHMgZWFzZS1vdXQ7IH1cbiAgICAub3JuYW1lbnQtbGFyZ2UudmlzaWJsZSAubGluZS00IHtcbiAgICAgIHN0cm9rZS1kYXNoYXJyYXk6IDUwO1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuM3MgLjI1cyBsaW5lYXIsIHN0cm9rZS1kYXNoYXJyYXkgLjNzIC4yNXMgbGluZWFyOyB9XG4gICAgLm9ybmFtZW50LWxhcmdlLnZpc2libGUgLmxpbmUtNSB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiA1MDtcbiAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgLjNzIC42cyBlYXNlLW91dCwgc3Ryb2tlLWRhc2hhcnJheSAuM3MgLjZzIGVhc2Utb3V0OyB9XG4gICAgLm9ybmFtZW50LWxhcmdlLnZpc2libGUgLmxpbmUtNiB7XG4gICAgICBzdHJva2UtZGFzaGFycmF5OiA1O1xuICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAuMXMgLjdzIGVhc2Utb3V0LCBzdHJva2UtZGFzaGFycmF5IC4xcyAuN3MgZWFzZS1vdXQ7IH1cblxuLnByaW1hcnktbmF2aWdhdGlvbiB7XG4gIHotaW5kZXg6IDkwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNjVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5wcmltYXJ5LW5hdmlnYXRpb24udHJhbnNwYXJlbnQsIC5wcmltYXJ5LW5hdmlnYXRpb24ucmVhZHksIC5wcmltYXJ5LW5hdmlnYXRpb24ub3BlbiwgLnByaW1hcnktbmF2aWdhdGlvbi5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDsgfVxuICAucHJpbWFyeS1uYXZpZ2F0aW9uLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDJkMjtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLm5vLXRvdWNoZXZlbnRzIC5wcmltYXJ5LW5hdmlnYXRpb24taGVhZGVyIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wcmltYXJ5LW5hdmlnYXRpb24uc3RpY2t5IC5wcmltYXJ5LW5hdmlnYXRpb24taGVhZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICNkMmQyZDI7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5wcmltYXJ5LW5hdmlnYXRpb24tbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLWxvZ28gc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMycHg7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbG9nbyBzdmcgcGF0aCB7XG4gICAgICAgIGZpbGw6ICNkYzAwMDA7IH1cbiAgLnByaW1hcnktbmF2aWdhdGlvbi10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogNTNweDtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLXRvZ2dsZSBkaXYge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMHB4KTsgfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tdG9nZ2xlIHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjEyMTI2O1xuICAgICAgYm9yZGVyLXJhZGl1czogMi41cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjE1cztcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi10b2dnbGUgc3BhbjpudGgtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLXRvZ2dsZSBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7IH1cbiAgLnByaW1hcnktbmF2aWdhdGlvbi1vcm5hbWVudC1zbWFsbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3BhY2l0eTogMDsgfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tb3JuYW1lbnQtc21hbGwgLm9ybmFtZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIGFuZCAobWluLWhlaWdodDogNjAwcHgpIHtcbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tb3JuYW1lbnQtc21hbGwge1xuICAgICAgICBib3R0b206IDIwcHg7IH0gfVxuICAucHJpbWFyeS1uYXZpZ2F0aW9uLW9ybmFtZW50LWxhcmdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNXB4O1xuICAgIGxlZnQ6IDcwJTtcbiAgICByaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDQ7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLW9ybmFtZW50LWxhcmdlIC5vcm5hbWVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA2NXB4KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMzBweCAwIDcwcHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDJkMmQyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMTVzLCB0cmFuc2Zvcm0gLjE1cywgei1pbmRleCAwcyAuMTVzOyB9XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cywgb3BhY2l0eSAuMTVzOyB9XG4gICAgICBAbWVkaWEgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgYW5kIChtaW4taGVpZ2h0OiA1MDBweCkge1xuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGkge1xuICAgICAgICAgIG1hcmdpbjogNXB4OyB9IH1cbiAgICAgIEBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1pbi1oZWlnaHQ6IDYwMHB4KSB7XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIEBtZWRpYSAob3JpZW50YXRpb246IHBvcnRyYWl0KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSBhbmQgKG1pbi1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAxNXB4OyB9IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgY29sb3I6ICM0YTRhNTU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaSBhOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yczsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogIzIxMjEyNjsgfVxuICAgICAgICAgIC5uby10b3VjaGV2ZW50cyAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGkgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaS5hY3RpdmUgYSB7XG4gICAgICAgIGNvbG9yOiAjZGMwMDAwOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaS5hY3RpdmUgYTo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNkYzAwMDA7IH1cbiAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaS5hY3RpdmUgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNkYzAwMDA7IH1cbiAgLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTUwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTIwcHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjE1cywgdHJhbnNmb3JtIC4xNXM7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QyZDJkMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2UtdG9nZ2xlOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2UtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMmQyZDI7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMTVzLCBvcGFjaXR5IC4xNXM7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2UtbGlzdCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZS1saXN0IGxpIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBjb2xvcjogIzRhNGE1NTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLWxpc3QgbGkuYWN0aXZlIGEge1xuICAgICAgICAgIGNvbG9yOiAjMjEyMTI2OyB9XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZSAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhYmVsX2Rlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2Uub3BlbiAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLXRvZ2dsZTpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxNzkuM2RlZyk7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZS1saXN0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuNTQsIDEuNTQsIDAuNDMsIDAuOTQpIDAuM3MsIG9wYWNpdHkgMC4xNXM7IH1cbiAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi10b2dnbGUgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZGMwMDAwOyB9XG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi10b2dnbGUgc3BhbjpudGgtY2hpbGQoMSkge1xuICAgICAgICB3aWR0aDogMzNweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSByb3RhdGUoNDVkZWcpOyB9XG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi10b2dnbGUgc3BhbjpudGgtY2hpbGQoMikge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tdG9nZ2xlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwcHgpIHJvdGF0ZSgtNDVkZWcpOyB9XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2Uge1xuICAgICAgdG9wOiA4NXB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpOyB9XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKSAwLjM1cywgei1pbmRleCAwczsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgMC4xNXMsIG9wYWNpdHkgMC4xcyAwLjE1czsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yczsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yNXM7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaTpudGgtY2hpbGQoMykge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaTpudGgtY2hpbGQoNCkge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24ub3BlbiAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGk6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24ub3BlbiAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGk6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjQ1czsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpOm50aC1jaGlsZCg3KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41czsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpOm50aC1jaGlsZCg4KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC41NXM7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaTpudGgtY2hpbGQoOSkge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNnM7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaTpudGgtY2hpbGQoMTApIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjY1czsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpOm50aC1jaGlsZCgxMSkge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuN3M7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaTpudGgtY2hpbGQoMTIpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjc1czsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpOm50aC1jaGlsZCgxMykge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOHM7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaTpudGgtY2hpbGQoMTQpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjg1czsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpOm50aC1jaGlsZCgxNSkge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOXM7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaTpudGgtY2hpbGQoMTYpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjk1czsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpOm50aC1jaGlsZCgxNykge1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24ub3BlbiAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGk6bnRoLWNoaWxkKDE4KSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMS4wNXM7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaTpudGgtY2hpbGQoMTkpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxLjFzOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24ub3BlbiAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGk6bnRoLWNoaWxkKDIwKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMS4xNXM7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLm9wZW4gLnByaW1hcnktbmF2aWdhdGlvbi1vcm5hbWVudC1zbWFsbCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwczsgfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24ub3BlbiAucHJpbWFyeS1uYXZpZ2F0aW9uLWhlYWRlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbi1vcm5hbWVudC1zbWFsbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzVweCkge1xuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbWVudSBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMjNweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjY3cHgpIHtcbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLW9ybmFtZW50LWxhcmdlIHtcbiAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICByaWdodDogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbiB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogOTZweDtcbiAgICAgIHRyYW5zaXRpb246IGhlaWdodCAuMnMsIGJhY2tncm91bmQgLjFzLCBib3JkZXIgLjJzLCBib3gtc2hhZG93IC4ycztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QyZDJkMjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24udHJhbnNwYXJlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5zdGlja3kge1xuICAgICAgICBoZWlnaHQ6IDY3cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi5zdGlja3kgLnByaW1hcnktbmF2aWdhdGlvbi1oZWFkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tdG9nZ2xlLCAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLW1vYmlsZSxcbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLnByaW1hcnktbmF2aWdhdGlvbi1sYWJlbF9tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFiZWxfZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi1vcm5hbWVudC1zbWFsbCwgLnByaW1hcnktbmF2aWdhdGlvbi1vcm5hbWVudC1sYXJnZSwgLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZSwgLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tb3JuYW1lbnQtc21hbGwge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMjBweDtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi1oZWFkZXIge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUge1xuICAgICAgICBmbGV4OiAxMCAxIGF1dG87XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi1tZW51IGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGkgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGkgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgICAgICAgIHRvcDogMDsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogOTlweDtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNHB4OyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbG9nbyBzdmcge1xuICAgICAgICAgIGhlaWdodDogMzVweDsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBvcmRlcjogNDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLXRvZ2dsZSB7XG4gICAgICAgICAgcGFkZGluZzogOXB4IDM1cHggOXB4IDE1cHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMDVlbTsgfVxuICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2UtdG9nZ2xlOmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogMTVweDsgfVxuICAgICAgICAgIC5uby10b3VjaGV2ZW50cyAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLXRvZ2dsZTpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICAgICAgICBjb2xvcjogI2RjMDAwMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuMnMsIGNvbG9yIC4yczsgfVxuICAgICAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2UtdG9nZ2xlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZGMwMDAwOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2UtbGlzdCB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB0b3A6IDM5cHg7IH1cbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLWxpc3QgbGkgYSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA1ZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgICAgICAgIC5uby10b3VjaGV2ZW50cyAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2QyZDJkMjsgfVxuICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2UtbGlzdCBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3cHg7IH1cbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLWxpc3QgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogN3B4OyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2Uub3BlbiAucHJpbWFyeS1uYXZpZ2F0aW9uLWxhbmd1YWdlLXRvZ2dsZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDJkMmQyO1xuICAgICAgICAgIGNvbG9yOiAjNGE0YTU1OyB9XG4gICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi1sYW5ndWFnZS5vcGVuIC5wcmltYXJ5LW5hdmlnYXRpb24tbGFuZ3VhZ2UtdG9nZ2xlOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogIzRhNGE1NTsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbi1vcm5hbWVudC1sYXJnZSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAxMHB4O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbi1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLW1lbnUgbGkge1xuICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uLW9ybmFtZW50LWxhcmdlIHtcbiAgICAgIG1hcmdpbjogMCAyMHB4OyB9IH1cblxuLnByb2R1Y3QtYmxvY2tzIC5jb250ZW50LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogNjVweDsgfVxuXG4ucHJvZHVjdC1ibG9ja3MgZmlndXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDIyMHB4O1xuICBtYXJnaW46IDAgMCA2MHB4IDA7IH1cblxuLnByb2R1Y3QtYmxvY2tzIC5wcm9kdWN0LWNvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5wcm9kdWN0LWJsb2NrcyAucHJvZHVjdC1ibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cbiAgLnByb2R1Y3QtYmxvY2tzIC5wcm9kdWN0LWJsb2NrLnJldmVyc2VkIGZpZ3VyZSB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnByb2R1Y3QtYmxvY2tzIC5wcm9kdWN0LWJsb2NrOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAucHJvZHVjdC1ibG9ja3MgLnByb2R1Y3QtYmxvY2sgPiBkaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAucHJvZHVjdC1ibG9ja3MgLnByb2R1Y3QtYmxvY2sucmV2ZXJzZWQgLnByb2R1Y3QtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHggMCAwOyB9XG4gIC5wcm9kdWN0LWJsb2NrcyBmaWd1cmUge1xuICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnByb2R1Y3QtYmxvY2tzIGZpZ3VyZSBpbWcge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgbWF4LWhlaWdodDogNDAwcHg7IH1cbiAgLnByb2R1Y3QtYmxvY2tzIC5wcm9kdWN0LWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgcGFkZGluZzogMCAwIDAgMjBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wcm9kdWN0LWJsb2NrcyAucHJvZHVjdC1ibG9jay5yZXZlcnNlZCAucHJvZHVjdC1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDYyMHB4O1xuICAgIHBhZGRpbmc6IDAgMTEwcHggMCAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5wcm9kdWN0LWJsb2NrcyBmaWd1cmUge1xuICAgIG1heC13aWR0aDogNDYwcHg7IH1cbiAgICAucHJvZHVjdC1ibG9ja3MgZmlndXJlIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9XG4gIC5wcm9kdWN0LWJsb2NrcyAucHJvZHVjdC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDAgMCAxMTBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wcm9kdWN0LWJsb2NrcyAucHJvZHVjdC1ibG9jayAuY29udGVudC13cmFwLCAucHJvZHVjdC1ibG9ja3MgLnByb2R1Y3QtYmxvY2sgLmNvbnRlbnQtd3JhcC14c21hbGwsIC5wcm9kdWN0LWJsb2NrcyAucHJvZHVjdC1ibG9jayAuY29udGVudC13cmFwLXNtYWxsLCAucHJvZHVjdC1ibG9ja3MgLnByb2R1Y3QtYmxvY2sgLmNvbnRlbnQtd3JhcC1tZWRpdW0sIC5wcm9kdWN0LWJsb2NrcyAucHJvZHVjdC1ibG9jayAuY29udGVudC13cmFwLWxhcmdlLCAucHJvZHVjdC1ibG9ja3MgLnByb2R1Y3QtYmxvY2sgLmNvbnRlbnQtd3JhcC14bGFyZ2UsIC5wcm9kdWN0LWJsb2NrcyAucHJvZHVjdC1ibG9jayAuY29udGVudC13cmFwLXh4bGFyZ2Uge1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wcm9kdWN0LWJsb2NrcyBmaWd1cmUge1xuICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAucHJvZHVjdC1ibG9ja3MgZmlndXJlIGltZyB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA2MDBweDsgfVxuICAucHJvZHVjdC1ibG9ja3MgLnByb2R1Y3QtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1ODBweDsgfSB9XG5cbi5wcm9kdWN0LWhpZ2hsaWdodHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnByb2R1Y3QtaGlnaGxpZ2h0cy10aWxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7IH1cbiAgLnByb2R1Y3QtaGlnaGxpZ2h0cy10aWxlLmJsYWNrLXJlZCB7XG4gICAgY29sb3I6ICMyMTIxMjY7IH1cbiAgLnByb2R1Y3QtaGlnaGxpZ2h0cy10aWxlLndoaXRlLXJlZCB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAucHJvZHVjdC1oaWdobGlnaHRzLXRpbGUud2hpdGUtcmVkIGEge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLnByb2R1Y3QtaGlnaGxpZ2h0cy10aWxlLndoaXRlLXdoaXRlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAucHJvZHVjdC1oaWdobGlnaHRzLXRpbGUud2hpdGUtd2hpdGUgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAucHJvZHVjdC1oaWdobGlnaHRzLXRpbGUgLmlubmVyLXRpbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDMwcHg7IH1cbiAgLnByb2R1Y3QtaGlnaGxpZ2h0cy10aWxlIGgzIHtcbiAgICBmb250LXNpemU6IDMwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAucHJvZHVjdC1oaWdobGlnaHRzLXRpbGUge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7IH1cbiAgICAucHJvZHVjdC1oaWdobGlnaHRzLXRpbGUgLmlubmVyLXRpbGUge1xuICAgICAgYm90dG9tOiA1MHB4O1xuICAgICAgbGVmdDogMTBweDsgfVxuICAgIC5wcm9kdWN0LWhpZ2hsaWdodHMtdGlsZSBoMyB7XG4gICAgICBmb250LXNpemU6IDM2cHg7IH0gfVxuXG4ucHJvZHVjdC1zbGlkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U3ZTdlNztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDk1cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnByb2R1Y3Qtc2xpZGVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5uby10b3VjaGV2ZW50cyAucHJvZHVjdC1zbGlkZXIgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLnByb2R1Y3Qtc2xpZGVyIC5pbWFnZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAucHJvZHVjdC1zbGlkZXIgLmltYWdlLWNvbnRhaW5lci5hbmltYXRlIHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgICAucHJvZHVjdC1zbGlkZXIgLmltYWdlLWNvbnRhaW5lci5pZHgwIC5zbGlkZXItaW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIC5wcm9kdWN0LXNsaWRlciAuc2xpZGVyLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogNDBweCAzMHB4IDA7IH1cbiAgICAucHJvZHVjdC1zbGlkZXIgLnNsaWRlci1pbWFnZSBmaWd1cmUge1xuICAgICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjA1cHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMnB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLnByb2R1Y3Qtc2xpZGVyIC5zbGlkZXItaW1hZ2UgZmlndXJlIGltZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAucHJvZHVjdC1zbGlkZXIgLnNsaWRlci1pbWFnZSBoMiwgLnByb2R1Y3Qtc2xpZGVyIC5zbGlkZXItaW1hZ2UgaDMsIC5wcm9kdWN0LXNsaWRlciAuc2xpZGVyLWltYWdlIGg0IHtcbiAgICAgIGNvbG9yOiAjNGE0YTU1OyB9XG4gICAgLnByb2R1Y3Qtc2xpZGVyIC5zbGlkZXItaW1hZ2UgcCwgLnByb2R1Y3Qtc2xpZGVyIC5zbGlkZXItaW1hZ2UgaDIsIC5wcm9kdWN0LXNsaWRlciAuc2xpZGVyLWltYWdlIGgzLCAucHJvZHVjdC1zbGlkZXIgLnNsaWRlci1pbWFnZSBoNCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG4gICAgLm5vLXRvdWNoZXZlbnRzIC5wcm9kdWN0LXNsaWRlciAuc2xpZGVyLWltYWdlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDM1cHggLTlweCAjOTk5OyB9XG4gIC5wcm9kdWN0LXNsaWRlciAudGh1bWJzIHtcbiAgICBib3R0b206IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAucHJvZHVjdC1zbGlkZXIgLnRodW1icyBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDJkMmQyO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDNweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnM7IH1cbiAgICAgIC5wcm9kdWN0LXNsaWRlciAudGh1bWJzIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5wcm9kdWN0LXNsaWRlciB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAucHJvZHVjdC1zbGlkZXIgLnRodW1icyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5wcm9kdWN0LXNsaWRlciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAucHJvZHVjdC1zbGlkZXIgLnNsaWRlci1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMzBweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJS8zKTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnByb2R1Y3Qtc2xpZGVyIC5zbGlkZXItaW1hZ2Uge1xuICAgICAgcGFkZGluZzogOTBweCA1MHB4IDQwcHg7IH1cbiAgICAgIC5wcm9kdWN0LXNsaWRlciAuc2xpZGVyLWltYWdlIGZpZ3VyZSB7XG4gICAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICAgIG1pbi13aWR0aDogY2FsYygxMDAlIC0gMjBweCk7IH0gfVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogOTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICB6LWluZGV4OiA4MDtcbiAgdHJhbnNpdGlvbjogbm9uZSAuMnM7IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLWZpbGxlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uaGlkZGVuICsgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLWZpbGxlciB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLnJlYWR5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IC0yNXB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLnJlYWR5ICsgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLWZpbGxlciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IC0yNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMsIG9wYWNpdHkgMHM7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uc3RpY2t5LmhpZGUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMsIG9wYWNpdHkgMHMgLjJzOyB9XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLXRvZ2dsZSwgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLW1lbnUge1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QyZDJkMjtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7IH1cbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi10b2dnbGU6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgY29sb3I6ICM0YTRhNTU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLXRvZ2dsZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogI2RjMDAwMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJvdHRvbTogLTFweDsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDQ5cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cywgb3BhY2l0eSAuMTVzOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLW1lbnUgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tbWVudSBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGNvbG9yOiAjNGE0YTU1O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24ub3BlbiAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tdG9nZ2xlOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24ub3BlbiAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGN1YmljLWJlemllcigwLjU0LCAxLjU0LCAwLjQzLCAwLjk0KSAwLjNzLCBvcGFjaXR5IDAuMTVzOyB9XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmRhcmsgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLXRvZ2dsZSxcbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uZGFyayAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tbWVudSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMTAsIDIxMCwgMjEwLCAwLjIpO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcHg7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uZGFyayAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tdG9nZ2xlIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uZGFyayAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tdG9nZ2xlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmRhcmsgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLW1lbnUgbGkgYSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY2N3B4KSB7XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLXdyYXBwZXIge1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNzsgfVxuICAgICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLnJlYWR5IHtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycywgdG9wIC4ycztcbiAgICAgICAgdG9wOiA2cHg7IH1cbiAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5zdGlja3kge1xuICAgICAgICB0b3A6IC0yNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzLCB0b3AgLjJzO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tbWVudSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi1tZW51IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAgICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tbWVudSBsaSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG4gICAgICAgICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tbWVudSBsaSBhOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzOyB9XG4gICAgICAgICAgICAubm8tdG91Y2hldmVudHMgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLW1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMjEyMTI2O1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5zZWNvbmRhcnktbmF2aWdhdGlvbi1tZW51IGxpIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsgfVxuICAgICAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi1tZW51IGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZGMwMDAwOyB9XG4gICAgICAgICAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24tbWVudSBsaS5hY3RpdmUgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2RjMDAwMDsgfVxuICAgICAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5zZWNvbmRhcnktbmF2aWdhdGlvbi1tZW51IGxpLmFjdGl2ZSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNkYzAwMDA7IH1cbiAgICAgIC5uby10b3VjaGV2ZW50cyAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uZGFyayBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNkYzAwMDA7IH1cbiAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5kYXJrIGxpIGE6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2RjMDAwMDsgfSB9XG5cbi5zZWN0aW9uIHtcbiAgcGFkZGluZzogOTBweCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMTQwcHggMDsgfSB9XG5cbi5qcy12aWRlbyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNvbGlkLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zb2xpZC12aWRlbyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICAuc29saWQtdmlkZW8gLmVsZW1lbnRzLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEzNXB4OyB9XG4gIC5zb2xpZC12aWRlbyAudmlkZW8tcG9zaXRpb25lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDM5MHB4O1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB0b3A6IDQwcHg7XG4gICAgei1pbmRleDogMjtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5zb2xpZC12aWRlbyAudmlkZW8td3JhcHBlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDUwLjI1JTtcbiAgICAvKiAxNjo5ICovXG4gICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgaGVpZ2h0OiAwOyB9XG4gICAgLnNvbGlkLXZpZGVvIC52aWRlby13cmFwcGVyIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNvbGlkLXZpZGVvIC52aWRlby1iZyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL3ZpZGVvLWJnLW1vYmlsZS5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjMDAwMDtcbiAgICB3aWR0aDogMjcwcHg7XG4gICAgaGVpZ2h0OiAzMzBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnNvbGlkLXZpZGVvIGZpZ3VyZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgbWF4LWhlaWdodDogMTgwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm90dG9tOiAtNTAlO1xuICAgIGxlZnQ6IC0yMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5zb2xpZC12aWRlbyBmaWd1cmUgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDE4MHB4OyB9XG4gIC5zb2xpZC12aWRlby5yZXZlcnNlZCAudmlkZW8tYmcge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAuc29saWQtdmlkZW8ucmV2ZXJzZWQgZmlndXJlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY2N3B4KSB7XG4gICAgLnNvbGlkLXZpZGVvIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgICAuc29saWQtdmlkZW8gLnZpZGVvLXBvc2l0aW9uZXIge1xuICAgICAgbWF4LXdpZHRoOiA2NjBweDtcbiAgICAgIHRvcDogNjBweDsgfVxuICAgIC5zb2xpZC12aWRlbyAudmlkZW8tYmcge1xuICAgICAgd2lkdGg6IDU0MHB4O1xuICAgICAgaGVpZ2h0OiA2NjBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDkwcHgpOyB9XG4gICAgLnNvbGlkLXZpZGVvIC52aWRlby1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgICAgbWF4LWhlaWdodDogMjQwcHg7IH1cbiAgICAgIC5zb2xpZC12aWRlbyAudmlkZW8tY29udGVudCBwIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnNvbGlkLXZpZGVvIGZpZ3VyZSB7XG4gICAgICBtYXgtd2lkdGg6IDgyMHB4O1xuICAgICAgbWF4LWhlaWdodDogMzQwcHg7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5zb2xpZC12aWRlbyBmaWd1cmUgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MjBweDtcbiAgICAgICAgbWF4LWhlaWdodDogMzQwcHg7IH1cbiAgICAuc29saWQtdmlkZW8ucmV2ZXJzZWQgLnZpZGVvLWJnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlICsgOTBweCk7IH1cbiAgICAuc29saWQtdmlkZW8ucmV2ZXJzZWQgLnZpZGVvLWNvbnRlbnQge1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIGxlZnQ6IGF1dG87IH1cbiAgICAuc29saWQtdmlkZW8ucmV2ZXJzZWQgZmlndXJlIHtcbiAgICAgIGxlZnQ6IDQwcHg7IH0gfVxuXG4uc3RiLWRldmljZXMge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7IH1cblxuLnN0Yi1kZXZpY2Uge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG4gIC5zdGItZGV2aWNlIC5zdGItZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5zdGItZGV2aWNlIGZpZ3VyZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMxNXB4O1xuICAgIG1hcmdpbjogMCAwIDUwcHg7XG4gICAgcGFkZGluZzogMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc3RiLWRldmljZSBmaWd1cmUgaW1nIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5zdGItZGV2aWNlIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnN0Yi1kZXZpY2UgLnN0Yi1mbGV4IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAgICAgLnN0Yi1kZXZpY2UgLnN0Yi1mbGV4ID4gKiB7XG4gICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLnN0Yi1kZXZpY2UgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLnN0Yi1kZXZpY2UgZmlndXJlIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogNTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5zdGItZGV2aWNlIC5wcm9kdWN0LWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5zdGItZGV2aWNlIC5wcm9kdWN0LWNvbnRlbnQgPiAqIHtcbiAgICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfVxuICAgICAgLnN0Yi1kZXZpY2UucmV2ZXJzZWQgZmlndXJlLCAuc3RiLWRldmljZTpudGgtY2hpbGQoZXZlbikgZmlndXJlIHtcbiAgICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5zdGItZGV2aWNlIC5zdGItZmxleCB7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5zdGItZGV2aWNlIC5zdGItZmxleCA+ICoge1xuICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKDUwdncgLSA2MHB4KTsgfVxuICAgIC5zdGItZGV2aWNlIC5wcm9kdWN0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gICAgLnN0Yi1kZXZpY2UgLnN0Yi1mbGV4ID4gKiB7XG4gICAgICBtaW4taGVpZ2h0OiA1NjBweDsgfSB9XG5cbi5zdHlsZWd1aWRlIGhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAuc3R5bGVndWlkZSBoZWFkZXIgLmNvbnRlbnQtd3JhcC1tZWRpdW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYzAwMDA7IH1cblxuLnN0eWxlZ3VpZGUgc2VjdGlvbiAuY29udGVudC13cmFwLW1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGMwMDAwO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuXG4uc3R5bGVndWlkZSAudHlwbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc3R5bGVndWlkZSAudHlwbyBoMSwgLnN0eWxlZ3VpZGUgLnR5cG8gaDMsIC5zdHlsZWd1aWRlIC50eXBvIGg0LCAuc3R5bGVndWlkZSAudHlwbyBoNSwgLnN0eWxlZ3VpZGUgLnR5cG8gcCwgLnN0eWxlZ3VpZGUgLnR5cG8gc3BhbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zdHlsZWd1aWRlIC5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3R5bGVndWlkZSAuY29sb3JzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zdHlsZWd1aWRlIC5jb2xvcnMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG1hcmdpbjogNXB4OyB9XG4gICAgLnN0eWxlZ3VpZGUgLmNvbG9ycyBzcGFuLnRleHQtZGVmYXVsdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE0YTU1OyB9XG4gICAgLnN0eWxlZ3VpZGUgLmNvbG9ycyBzcGFuLmJhY2tncm91bmQtZGVmYXVsdCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgY29sb3I6ICM0YTRhNTU7IH1cbiAgICAuc3R5bGVndWlkZSAuY29sb3JzIHNwYW4uYmFja2dyb3VuZC1saWdodCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgICAgY29sb3I6ICM0YTRhNTU7IH1cbiAgICAuc3R5bGVndWlkZSAuY29sb3JzIHNwYW4uYmFja2dyb3VuZC10aGVtZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwOyB9XG4gICAgLnN0eWxlZ3VpZGUgLmNvbG9ycyBzcGFuLmJhY2tncm91bmQtZGFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjOyB9XG4gICAgLnN0eWxlZ3VpZGUgLmNvbG9ycyBzcGFuLmJvcmRlci1kZWZhdWx0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgICBjb2xvcjogIzRhNGE1NTsgfVxuICAgIC5zdHlsZWd1aWRlIC5jb2xvcnMgc3Bhbi5ib3JkZXItbWVkaXVtIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkMmQyZDI7XG4gICAgICBjb2xvcjogIzRhNGE1NTsgfVxuICAgIC5zdHlsZWd1aWRlIC5jb2xvcnMgc3Bhbi5ib3JkZXItdGhlbWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDsgfVxuXG4ubGFyZ2UtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxOTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxMjBweCAwOyB9XG4gIC5sYXJnZS1oZWFkZXIgLmhlYWRlci10aXRsZSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICMyMTIxMjY7IH1cbiAgLmxhcmdlLWhlYWRlciAuaGVhZGVyLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGNvbG9yOiAjNGE0YTU1OyB9XG4gIC5sYXJnZS1oZWFkZXIgLmhlYWRlci1zY3JvbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMzBweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY29sb3I6ICM0YTRhNTU7IH1cbiAgICAubGFyZ2UtaGVhZGVyIC5oZWFkZXItc2Nyb2xsIGkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAubGFyZ2UtaGVhZGVyIC5oZWFkZXItYmFjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MWM7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm5vLXRvdWNoZXZlbnRzIC5sYXJnZS1oZWFkZXIgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7IH1cbiAgLmxhcmdlLWhlYWRlci5kZXZpY2Uge1xuICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2RldmljZS1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmxhcmdlLWhlYWRlci5kZXZpY2UgLmhlYWRlci10aXRsZSxcbiAgICAubGFyZ2UtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRleHQsXG4gICAgLmxhcmdlLWhlYWRlci5kZXZpY2UgLmJ0bixcbiAgICAubGFyZ2UtaGVhZGVyLmRldmljZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5sYXJnZS1oZWFkZXIuZGV2aWNlIC5oZWFkZXItYmFjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5uby10b3VjaGV2ZW50cyAubGFyZ2UtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgLmxhcmdlLWhlYWRlci50cmlhbmdsZV9nbG9iZSB7XG4gICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvdHJpYW5nbGVfZ2xvYmUtcy5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAubGFyZ2UtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGV4dCxcbiAgICAubGFyZ2UtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5idG4sXG4gICAgLmxhcmdlLWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm5vLXRvdWNoZXZlbnRzIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjOyB9XG4gIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVzIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvdHJpYW5nbGVzLXMuanBnKSA1MCUgNTAlIG5vLXJlcGVhdCAjZmZmO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmxhcmdlLWhlYWRlci5zcGFjZSB7XG4gICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvc3BhY2Utcy5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5sYXJnZS1oZWFkZXIuc3BhY2UgLmhlYWRlci10aXRsZSxcbiAgICAubGFyZ2UtaGVhZGVyLnNwYWNlIC5oZWFkZXItdGV4dCxcbiAgICAubGFyZ2UtaGVhZGVyLnNwYWNlIC5idG4sXG4gICAgLmxhcmdlLWhlYWRlci5zcGFjZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5sYXJnZS1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm5vLXRvdWNoZXZlbnRzIC5sYXJnZS1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjOyB9XG4gIC5sYXJnZS1oZWFkZXIuc2F0ZWxsaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvc2F0ZWxsaXRlLXMuanBnKSAyMCUgNTAlIG5vLXJlcGVhdCAjZmZmO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmxhcmdlLWhlYWRlci5jaGlwcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2NoaXBzLXMuanBnKSA1MCUgMTAwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgfVxuICAubGFyZ2UtaGVhZGVyLmdsb2JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjO1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9nbG9iZS1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmxhcmdlLWhlYWRlci5nbG9iZSAuaGVhZGVyLXRpdGxlLFxuICAgIC5sYXJnZS1oZWFkZXIuZ2xvYmUgLmhlYWRlci10ZXh0LFxuICAgIC5sYXJnZS1oZWFkZXIuZ2xvYmUgLmJ0bixcbiAgICAubGFyZ2UtaGVhZGVyLmdsb2JlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmxhcmdlLWhlYWRlci5nbG9iZSAuaGVhZGVyLWJhY2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubm8tdG91Y2hldmVudHMgLmxhcmdlLWhlYWRlci5nbG9iZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzVweCkge1xuICAgIC5sYXJnZS1oZWFkZXIuY2hpcHMge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjY3cHgpIHtcbiAgICAubGFyZ2UtaGVhZGVyLmRldmljZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2RldmljZS1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5sYXJnZS1oZWFkZXIuZGV2aWNlIC5oZWFkZXItdGl0bGUsXG4gICAgICAubGFyZ2UtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRleHQsXG4gICAgICAubGFyZ2UtaGVhZGVyLmRldmljZSAuYnRuLFxuICAgICAgLmxhcmdlLWhlYWRlci5kZXZpY2UgLmhlYWRlci1zY3JvbGwge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmxhcmdlLWhlYWRlci5kZXZpY2UgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmxhcmdlLWhlYWRlci5kZXZpY2UgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfVxuICAgIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy90cmlhbmdsZV9nbG9iZS1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci10ZXh0LFxuICAgICAgLmxhcmdlLWhlYWRlci50cmlhbmdsZV9nbG9iZSAuYnRuLFxuICAgICAgLmxhcmdlLWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubGFyZ2UtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItYmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfVxuICAgIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy90cmlhbmdsZXMtbS5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmxhcmdlLWhlYWRlci5zcGFjZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3NwYWNlLW0uanBnKSA1MCUgNTAlIG5vLXJlcGVhdCAjMTYxNjFjO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgLmxhcmdlLWhlYWRlci5zcGFjZSAuaGVhZGVyLXRpdGxlLFxuICAgICAgLmxhcmdlLWhlYWRlci5zcGFjZSAuaGVhZGVyLXRleHQsXG4gICAgICAubGFyZ2UtaGVhZGVyLnNwYWNlIC5idG4sXG4gICAgICAubGFyZ2UtaGVhZGVyLnNwYWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5sYXJnZS1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmxhcmdlLWhlYWRlci5zcGFjZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MWM7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjOyB9XG4gICAgLmxhcmdlLWhlYWRlci5zYXRlbGxpdGUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3NhdGVsbGl0ZS1tLmpwZykgMjAlIDUwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAubGFyZ2UtaGVhZGVyLmNoaXBzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGlwcy1tLmpwZykgNTAlIDEwMCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgfVxuICAgIC5sYXJnZS1oZWFkZXIuZ2xvYmUge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9nbG9iZS1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5sYXJnZS1oZWFkZXIuZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5sYXJnZS1oZWFkZXIuZ2xvYmUgLmhlYWRlci10ZXh0LFxuICAgICAgLmxhcmdlLWhlYWRlci5nbG9iZSAuYnRuLFxuICAgICAgLmxhcmdlLWhlYWRlci5nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubGFyZ2UtaGVhZGVyLmdsb2JlIC5oZWFkZXItYmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5sYXJnZS1oZWFkZXIuZ2xvYmUgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmxhcmdlLWhlYWRlciB7XG4gICAgICBtaW4taGVpZ2h0OiAyNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmxhcmdlLWhlYWRlciAuaGVhZGVyLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4OyB9XG4gICAgLmxhcmdlLWhlYWRlci5kZXZpY2Uge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9kZXZpY2UtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAubGFyZ2UtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRpdGxlLFxuICAgICAgLmxhcmdlLWhlYWRlci5kZXZpY2UgLmhlYWRlci10ZXh0LFxuICAgICAgLmxhcmdlLWhlYWRlci5kZXZpY2UgLmJ0bixcbiAgICAgIC5sYXJnZS1oZWFkZXIuZGV2aWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5sYXJnZS1oZWFkZXIuZGV2aWNlIC5oZWFkZXItYmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5sYXJnZS1oZWFkZXIuZGV2aWNlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgICAubGFyZ2UtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvdHJpYW5nbGVfZ2xvYmUtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAubGFyZ2UtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGl0bGUsXG4gICAgICAubGFyZ2UtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGV4dCxcbiAgICAgIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmJ0bixcbiAgICAgIC5sYXJnZS1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1zY3JvbGwge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmxhcmdlLWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLWJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uby10b3VjaGV2ZW50cyAubGFyZ2UtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgICAubGFyZ2UtaGVhZGVyLnRyaWFuZ2xlcyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvdHJpYW5nbGVzLWwuanBnKSA1MCUgNTAlIG5vLXJlcGVhdCAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5sYXJnZS1oZWFkZXIuc3BhY2Uge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zcGFjZS1sLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5sYXJnZS1oZWFkZXIuc3BhY2UgLmhlYWRlci10aXRsZSxcbiAgICAgIC5sYXJnZS1oZWFkZXIuc3BhY2UgLmhlYWRlci10ZXh0LFxuICAgICAgLmxhcmdlLWhlYWRlci5zcGFjZSAuYnRuLFxuICAgICAgLmxhcmdlLWhlYWRlci5zcGFjZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubGFyZ2UtaGVhZGVyLnNwYWNlIC5oZWFkZXItYmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5sYXJnZS1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfVxuICAgIC5sYXJnZS1oZWFkZXIuc2F0ZWxsaXRlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zYXRlbGxpdGUtbC5qcGcpIDIwJSA1MCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmxhcmdlLWhlYWRlci5jaGlwcyB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvY2hpcHMtbC5qcGcpIDUwJSAxMDAlIG5vLXJlcGVhdCAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5sYXJnZS1oZWFkZXIuZ2xvYmUge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9nbG9iZS1sLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5sYXJnZS1oZWFkZXIuZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5sYXJnZS1oZWFkZXIuZ2xvYmUgLmhlYWRlci10ZXh0LFxuICAgICAgLmxhcmdlLWhlYWRlci5nbG9iZSAuYnRuLFxuICAgICAgLmxhcmdlLWhlYWRlci5nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubGFyZ2UtaGVhZGVyLmdsb2JlIC5oZWFkZXItYmFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLm5vLXRvdWNoZXZlbnRzIC5sYXJnZS1oZWFkZXIuZ2xvYmUgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfSB9XG4gIC5sYXJnZS1oZWFkZXIgLmJ0biB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDsgfVxuXG4uY29udGVudC1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDE5MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDgwcHggMDsgfVxuICAuY29udGVudC1oZWFkZXIgLmhlYWRlci10aXRsZSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICMyMTIxMjY7IH1cbiAgLmNvbnRlbnQtaGVhZGVyIC5oZWFkZXItdGV4dCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICM0YTRhNTU7IH1cbiAgLmNvbnRlbnQtaGVhZGVyIC5oZWFkZXItc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiAjNGE0YTU1OyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyIC5oZWFkZXItc2Nyb2xsIGkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAuY29udGVudC1oZWFkZXIgLmhlYWRlci1iYWNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAubm8tdG91Y2hldmVudHMgLmNvbnRlbnQtaGVhZGVyIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwOyB9XG4gIC5jb250ZW50LWhlYWRlci5kZXZpY2Uge1xuICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2RldmljZS1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRpdGxlLFxuICAgIC5jb250ZW50LWhlYWRlci5kZXZpY2UgLmhlYWRlci10ZXh0LFxuICAgIC5jb250ZW50LWhlYWRlci5kZXZpY2UgLmJ0bixcbiAgICAuY29udGVudC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubm8tdG91Y2hldmVudHMgLmNvbnRlbnQtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgLmNvbnRlbnQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjO1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy90cmlhbmdsZV9nbG9iZS1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGl0bGUsXG4gICAgLmNvbnRlbnQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGV4dCxcbiAgICAuY29udGVudC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmJ0bixcbiAgICAuY29udGVudC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1zY3JvbGwge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY29udGVudC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm5vLXRvdWNoZXZlbnRzIC5jb250ZW50LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgLmNvbnRlbnQtaGVhZGVyLnRyaWFuZ2xlcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3RyaWFuZ2xlcy1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5jb250ZW50LWhlYWRlci5zcGFjZSB7XG4gICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvc3BhY2Utcy5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5jb250ZW50LWhlYWRlci5zcGFjZSAuaGVhZGVyLXRpdGxlLFxuICAgIC5jb250ZW50LWhlYWRlci5zcGFjZSAuaGVhZGVyLXRleHQsXG4gICAgLmNvbnRlbnQtaGVhZGVyLnNwYWNlIC5idG4sXG4gICAgLmNvbnRlbnQtaGVhZGVyLnNwYWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLnNwYWNlIC5oZWFkZXItYmFjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5uby10b3VjaGV2ZW50cyAuY29udGVudC1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjOyB9XG4gIC5jb250ZW50LWhlYWRlci5zYXRlbGxpdGUge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zYXRlbGxpdGUtcy5qcGcpIDIwJSA1MCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAuY29udGVudC1oZWFkZXIuY2hpcHMge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGlwcy1zLmpwZykgNTAlIDEwMCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87IH1cbiAgLmNvbnRlbnQtaGVhZGVyLmdsb2JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjO1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9nbG9iZS1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLmdsb2JlIC5oZWFkZXItdGl0bGUsXG4gICAgLmNvbnRlbnQtaGVhZGVyLmdsb2JlIC5oZWFkZXItdGV4dCxcbiAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmJ0bixcbiAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmhlYWRlci1zY3JvbGwge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm5vLXRvdWNoZXZlbnRzIC5jb250ZW50LWhlYWRlci5nbG9iZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzVweCkge1xuICAgIC5jb250ZW50LWhlYWRlci5jaGlwcyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5jb250ZW50LWhlYWRlci5kZXZpY2Uge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9kZXZpY2UtbS5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItdGl0bGUsXG4gICAgICAuY29udGVudC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItdGV4dCxcbiAgICAgIC5jb250ZW50LWhlYWRlci5kZXZpY2UgLmJ0bixcbiAgICAgIC5jb250ZW50LWhlYWRlci5kZXZpY2UgLmhlYWRlci1zY3JvbGwge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmNvbnRlbnQtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uby10b3VjaGV2ZW50cyAuY29udGVudC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgICAuY29udGVudC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy90cmlhbmdsZV9nbG9iZS1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5jb250ZW50LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLXRpdGxlLFxuICAgICAgLmNvbnRlbnQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGV4dCxcbiAgICAgIC5jb250ZW50LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuYnRuLFxuICAgICAgLmNvbnRlbnQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jb250ZW50LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLWJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uby10b3VjaGV2ZW50cyAuY29udGVudC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfVxuICAgIC5jb250ZW50LWhlYWRlci50cmlhbmdsZXMge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3RyaWFuZ2xlcy1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuY29udGVudC1oZWFkZXIuc3BhY2Uge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zcGFjZS1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5jb250ZW50LWhlYWRlci5zcGFjZSAuaGVhZGVyLXRpdGxlLFxuICAgICAgLmNvbnRlbnQtaGVhZGVyLnNwYWNlIC5oZWFkZXItdGV4dCxcbiAgICAgIC5jb250ZW50LWhlYWRlci5zcGFjZSAuYnRuLFxuICAgICAgLmNvbnRlbnQtaGVhZGVyLnNwYWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jb250ZW50LWhlYWRlci5zcGFjZSAuaGVhZGVyLWJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uby10b3VjaGV2ZW50cyAuY29udGVudC1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfVxuICAgIC5jb250ZW50LWhlYWRlci5zYXRlbGxpdGUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3NhdGVsbGl0ZS1tLmpwZykgMjAlIDUwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuY29udGVudC1oZWFkZXIuY2hpcHMge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2NoaXBzLW0uanBnKSA1MCUgMTAwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLmdsb2JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZ2xvYmUtbS5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5jb250ZW50LWhlYWRlci5nbG9iZSAuaGVhZGVyLXRleHQsXG4gICAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmJ0bixcbiAgICAgIC5jb250ZW50LWhlYWRlci5nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmNvbnRlbnQtaGVhZGVyLmdsb2JlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5jb250ZW50LWhlYWRlciB7XG4gICAgICBtaW4taGVpZ2h0OiAyNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNvbnRlbnQtaGVhZGVyIC5oZWFkZXItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7IH1cbiAgICAuY29udGVudC1oZWFkZXIuZGV2aWNlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZGV2aWNlLWwuanBnKSA1MCUgNTAlIG5vLXJlcGVhdCAjMTYxNjFjO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgLmNvbnRlbnQtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRpdGxlLFxuICAgICAgLmNvbnRlbnQtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRleHQsXG4gICAgICAuY29udGVudC1oZWFkZXIuZGV2aWNlIC5idG4sXG4gICAgICAuY29udGVudC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5jb250ZW50LWhlYWRlci5kZXZpY2UgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmNvbnRlbnQtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MWM7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvdHJpYW5nbGVfZ2xvYmUtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5jb250ZW50LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLXRleHQsXG4gICAgICAuY29udGVudC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmJ0bixcbiAgICAgIC5jb250ZW50LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmNvbnRlbnQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgICAuY29udGVudC1oZWFkZXIudHJpYW5nbGVzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy90cmlhbmdsZXMtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLnNwYWNlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvc3BhY2UtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIuc3BhY2UgLmhlYWRlci10aXRsZSxcbiAgICAgIC5jb250ZW50LWhlYWRlci5zcGFjZSAuaGVhZGVyLXRleHQsXG4gICAgICAuY29udGVudC1oZWFkZXIuc3BhY2UgLmJ0bixcbiAgICAgIC5jb250ZW50LWhlYWRlci5zcGFjZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmNvbnRlbnQtaGVhZGVyLnNwYWNlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgICAuY29udGVudC1oZWFkZXIuc2F0ZWxsaXRlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zYXRlbGxpdGUtbC5qcGcpIDIwJSA1MCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLmNoaXBzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGlwcy1sLmpwZykgNTAlIDEwMCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmNvbnRlbnQtaGVhZGVyLmdsb2JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZ2xvYmUtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5jb250ZW50LWhlYWRlci5nbG9iZSAuaGVhZGVyLXRleHQsXG4gICAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmJ0bixcbiAgICAgIC5jb250ZW50LWhlYWRlci5nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuY29udGVudC1oZWFkZXIuZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmNvbnRlbnQtaGVhZGVyLmdsb2JlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY2N3B4KSB7XG4gICAgLmNvbnRlbnQtaGVhZGVyLnNwYWNlIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAzNSU7IH1cbiAgICAuY29udGVudC1oZWFkZXIuY2hpcHMge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDcwJTsgfSB9XG5cbi5kZWZhdWx0LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTkwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMTUwcHggMDsgfVxuICAuZGVmYXVsdC1oZWFkZXIgLmhlYWRlci10aXRsZSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICMyMTIxMjY7IH1cbiAgLmRlZmF1bHQtaGVhZGVyIC5oZWFkZXItdGV4dCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgY29sb3I6ICM0YTRhNTU7IH1cbiAgLmRlZmF1bHQtaGVhZGVyIC5oZWFkZXItc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiAjNGE0YTU1OyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyIC5oZWFkZXItc2Nyb2xsIGkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAuZGVmYXVsdC1oZWFkZXIgLmhlYWRlci1iYWNrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAubm8tdG91Y2hldmVudHMgLmRlZmF1bHQtaGVhZGVyIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwOyB9XG4gIC5kZWZhdWx0LWhlYWRlci5kZXZpY2Uge1xuICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2RldmljZS1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRpdGxlLFxuICAgIC5kZWZhdWx0LWhlYWRlci5kZXZpY2UgLmhlYWRlci10ZXh0LFxuICAgIC5kZWZhdWx0LWhlYWRlci5kZXZpY2UgLmJ0bixcbiAgICAuZGVmYXVsdC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RjMDAwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAubm8tdG91Y2hldmVudHMgLmRlZmF1bHQtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgLmRlZmF1bHQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjO1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy90cmlhbmdsZV9nbG9iZS1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGl0bGUsXG4gICAgLmRlZmF1bHQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGV4dCxcbiAgICAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmJ0bixcbiAgICAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1zY3JvbGwge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm5vLXRvdWNoZXZlbnRzIC5kZWZhdWx0LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgLmRlZmF1bHQtaGVhZGVyLnRyaWFuZ2xlcyB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3RyaWFuZ2xlcy1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5kZWZhdWx0LWhlYWRlci5zcGFjZSB7XG4gICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvc3BhY2Utcy5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgIC5kZWZhdWx0LWhlYWRlci5zcGFjZSAuaGVhZGVyLXRpdGxlLFxuICAgIC5kZWZhdWx0LWhlYWRlci5zcGFjZSAuaGVhZGVyLXRleHQsXG4gICAgLmRlZmF1bHQtaGVhZGVyLnNwYWNlIC5idG4sXG4gICAgLmRlZmF1bHQtaGVhZGVyLnNwYWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLnNwYWNlIC5oZWFkZXItYmFjayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5uby10b3VjaGV2ZW50cyAuZGVmYXVsdC1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjOyB9XG4gIC5kZWZhdWx0LWhlYWRlci5zYXRlbGxpdGUge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zYXRlbGxpdGUtcy5qcGcpIDIwJSA1MCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAuZGVmYXVsdC1oZWFkZXIuY2hpcHMge1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGlwcy1zLmpwZykgNTAlIDEwMCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87IH1cbiAgLmRlZmF1bHQtaGVhZGVyLmdsb2JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTYxNjFjO1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9nbG9iZS1zLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLmdsb2JlIC5oZWFkZXItdGl0bGUsXG4gICAgLmRlZmF1bHQtaGVhZGVyLmdsb2JlIC5oZWFkZXItdGV4dCxcbiAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmJ0bixcbiAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmhlYWRlci1zY3JvbGwge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzAwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm5vLXRvdWNoZXZlbnRzIC5kZWZhdWx0LWhlYWRlci5nbG9iZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNzVweCkge1xuICAgIC5kZWZhdWx0LWhlYWRlci5jaGlwcyB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAgIC5kZWZhdWx0LWhlYWRlci5kZXZpY2Uge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9kZXZpY2UtbS5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItdGl0bGUsXG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItdGV4dCxcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5kZXZpY2UgLmJ0bixcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5kZXZpY2UgLmhlYWRlci1zY3JvbGwge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmRlZmF1bHQtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uby10b3VjaGV2ZW50cyAuZGVmYXVsdC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgICAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy90cmlhbmdsZV9nbG9iZS1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5kZWZhdWx0LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLXRpdGxlLFxuICAgICAgLmRlZmF1bHQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItdGV4dCxcbiAgICAgIC5kZWZhdWx0LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuYnRuLFxuICAgICAgLmRlZmF1bHQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5kZWZhdWx0LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLWJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uby10b3VjaGV2ZW50cyAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfVxuICAgIC5kZWZhdWx0LWhlYWRlci50cmlhbmdsZXMge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3RyaWFuZ2xlcy1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuZGVmYXVsdC1oZWFkZXIuc3BhY2Uge1xuICAgICAgYmFja2dyb3VuZDogIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zcGFjZS1tLmpwZykgNTAlIDUwJSBuby1yZXBlYXQgIzE2MTYxYztcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAgIC5kZWZhdWx0LWhlYWRlci5zcGFjZSAuaGVhZGVyLXRpdGxlLFxuICAgICAgLmRlZmF1bHQtaGVhZGVyLnNwYWNlIC5oZWFkZXItdGV4dCxcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5zcGFjZSAuYnRuLFxuICAgICAgLmRlZmF1bHQtaGVhZGVyLnNwYWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5kZWZhdWx0LWhlYWRlci5zcGFjZSAuaGVhZGVyLWJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYzAwMDA7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAgIC5uby10b3VjaGV2ZW50cyAuZGVmYXVsdC1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjFjO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzE2MTYxYzsgfVxuICAgIC5kZWZhdWx0LWhlYWRlci5zYXRlbGxpdGUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL3NhdGVsbGl0ZS1tLmpwZykgMjAlIDUwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgICAuZGVmYXVsdC1oZWFkZXIuY2hpcHMge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2NoaXBzLW0uanBnKSA1MCUgMTAwJSBuby1yZXBlYXQgI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLmdsb2JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZ2xvYmUtbS5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5nbG9iZSAuaGVhZGVyLXRleHQsXG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmJ0bixcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmRlZmF1bHQtaGVhZGVyLmdsb2JlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5kZWZhdWx0LWhlYWRlciB7XG4gICAgICBtaW4taGVpZ2h0OiAyNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmRlZmF1bHQtaGVhZGVyIC5oZWFkZXItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA4MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7IH1cbiAgICAuZGVmYXVsdC1oZWFkZXIuZGV2aWNlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZGV2aWNlLWwuanBnKSA1MCUgNTAlIG5vLXJlcGVhdCAjMTYxNjFjO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICAgLmRlZmF1bHQtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRpdGxlLFxuICAgICAgLmRlZmF1bHQtaGVhZGVyLmRldmljZSAuaGVhZGVyLXRleHQsXG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZGV2aWNlIC5idG4sXG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZGV2aWNlIC5oZWFkZXItc2Nyb2xsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5kZWZhdWx0LWhlYWRlci5kZXZpY2UgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmRlZmF1bHQtaGVhZGVyLmRldmljZSAuaGVhZGVyLWJhY2s6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNjE2MWM7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTYxNjFjOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvdHJpYW5nbGVfZ2xvYmUtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5kZWZhdWx0LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLXRleHQsXG4gICAgICAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmJ0bixcbiAgICAgIC5kZWZhdWx0LWhlYWRlci50cmlhbmdsZV9nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVfZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmRlZmF1bHQtaGVhZGVyLnRyaWFuZ2xlX2dsb2JlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgICAuZGVmYXVsdC1oZWFkZXIudHJpYW5nbGVzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy90cmlhbmdsZXMtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLnNwYWNlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvc3BhY2UtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIuc3BhY2UgLmhlYWRlci10aXRsZSxcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5zcGFjZSAuaGVhZGVyLXRleHQsXG4gICAgICAuZGVmYXVsdC1oZWFkZXIuc3BhY2UgLmJ0bixcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5zcGFjZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIuc3BhY2UgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmRlZmF1bHQtaGVhZGVyLnNwYWNlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH1cbiAgICAuZGVmYXVsdC1oZWFkZXIuc2F0ZWxsaXRlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9zYXRlbGxpdGUtbC5qcGcpIDIwJSA1MCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLmNoaXBzIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9jaGlwcy1sLmpwZykgNTAlIDEwMCUgbm8tcmVwZWF0ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgLmRlZmF1bHQtaGVhZGVyLmdsb2JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvZ2xvYmUtbC5qcGcpIDUwJSA1MCUgbm8tcmVwZWF0ICMxNjE2MWM7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmhlYWRlci10aXRsZSxcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5nbG9iZSAuaGVhZGVyLXRleHQsXG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmJ0bixcbiAgICAgIC5kZWZhdWx0LWhlYWRlci5nbG9iZSAuaGVhZGVyLXNjcm9sbCB7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuZGVmYXVsdC1oZWFkZXIuZ2xvYmUgLmhlYWRlci1iYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjMDAwMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGMwMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLmRlZmF1bHQtaGVhZGVyLmdsb2JlIC5oZWFkZXItYmFjazpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxYztcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMxNjE2MWM7IH0gfVxuICAuZGVmYXVsdC1oZWFkZXIgLmhlYWRlci10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZGVmYXVsdC1oZWFkZXIuc21hbGwge1xuICAgIHBhZGRpbmc6IDgwcHggMTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY2N3B4KSB7XG4gICAgLmRlZmF1bHQtaGVhZGVyLnNtYWxsIHtcbiAgICAgIHBhZGRpbmc6IDE1MHB4IDEwcHg7IH0gfVxuXG4ucHJvZHVjdC1oZWFkZXIgZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDYwcHggMjBweDsgfVxuICAucHJvZHVjdC1oZWFkZXIgZmlndXJlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMzIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnByb2R1Y3QtaGVhZGVyLWNvbnRlbnQge1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnByb2R1Y3QtaGVhZGVyLXRpdGxlIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMzhweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNkYzAwMDA7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1oZWFkZXItc3VidGl0bGUge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBjb2xvcjogIzIxMjEyNjtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ucHJvZHVjdC1oZWFkZXItdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi5wcm9kdWN0LWhlYWRlci1maWxlcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMjBweCAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U3ZTdlNzsgfVxuICAucHJvZHVjdC1oZWFkZXItZmlsZXMgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnByb2R1Y3QtaGVhZGVyLWZpbGVzIGxpIGEsXG4gICAgLnByb2R1Y3QtaGVhZGVyLWZpbGVzIGxpIGJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMjBweCAwIDIwcHggNDVweDtcbiAgICAgIGNvbG9yOiAjNGE0YTU1O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAuMnM7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucHJvZHVjdC1oZWFkZXItZmlsZXMgbGkgYSBzcGFuLFxuICAgICAgLnByb2R1Y3QtaGVhZGVyLWZpbGVzIGxpIGJ1dHRvbiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnM7IH1cbiAgICAgIC5uby10b3VjaGV2ZW50cyAucHJvZHVjdC1oZWFkZXItZmlsZXMgbGkgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzXG4gICAgICAucHJvZHVjdC1oZWFkZXItZmlsZXMgbGkgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogIzIxMjEyNjsgfVxuICAgICAgICAubm8tdG91Y2hldmVudHMgLnByb2R1Y3QtaGVhZGVyLWZpbGVzIGxpIGE6aG92ZXIgc3BhbiwgLm5vLXRvdWNoZXZlbnRzXG4gICAgICAgIC5wcm9kdWN0LWhlYWRlci1maWxlcyBsaSBidXR0b246aG92ZXIgc3BhbiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gICAgICAucHJvZHVjdC1oZWFkZXItZmlsZXMgbGkgYSBpLFxuICAgICAgLnByb2R1Y3QtaGVhZGVyLWZpbGVzIGxpIGJ1dHRvbiBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgIGxlZnQ6IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAucHJvZHVjdC1oZWFkZXIgLmZsZXgtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3J3YXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLnByb2R1Y3QtaGVhZGVyIGZpZ3VyZSwgLnByb2R1Y3QtaGVhZGVyLWNvbnRlbnQge1xuICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAucHJvZHVjdC1oZWFkZXIgZmlndXJlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogODBweCAyMHB4IDUwcHggMDsgfVxuICAgIC5wcm9kdWN0LWhlYWRlciBmaWd1cmUgaW1nIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogNTAwcHg7IH1cbiAgLnByb2R1Y3QtaGVhZGVyLWNvbnRlbnQge1xuICAgIG1hcmdpbjogODBweCAwIDIwcHggNTBweDsgfSB9XG5cbi50YWJzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi50YWItdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAwIGF1dG8gLTFweDtcbiAgcGFkZGluZzogMTRweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmFmYWZhO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNkMmQyZDIgI2QyZDJkMiAjZmFmYWZhO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAudGFiLXRvZ2dsZTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDE1cHg7XG4gICAgY29sb3I6ICM0YTRhNTU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yczsgfVxuXG4udGFiLWxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMHB4O1xuICB0b3A6IDQ5cHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMmQyZDI7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cywgb3BhY2l0eSAuMTVzOyB9XG4gIC50YWItbGlzdCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudGFiLWxpc3QgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgY29sb3I6ICM0YTRhNTU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgIC50YWItbGlzdCBsaSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnRhYi1saXN0IGxpLmFjdGl2ZSBhIHtcbiAgICAgIGNvbG9yOiAjZGMwMDAwOyB9XG5cbi50YWItbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudGFiLW1lbnUub3BlbiAudGFiLXRvZ2dsZTpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLnRhYi1tZW51Lm9wZW4gLnRhYi1saXN0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gY3ViaWMtYmV6aWVyKDAuNTQsIDEuNTQsIDAuNDMsIDAuOTQpIDAuM3MsIG9wYWNpdHkgMC4xNXM7XG4gICAgei1pbmRleDogOTk7IH1cblxuLnRhYi1wYW5lIHtcbiAgcGFkZGluZzogNTBweCAwO1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkMmQyZDI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDJkMmQyOyB9XG4gIC50YWItcGFuZS5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50YWItcGFuZS5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgLnRhYi10b2dnbGUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTsgfVxuICAudGFiLWxpc3Qge1xuICAgIGxlZnQ6IDMwcHg7XG4gICAgcmlnaHQ6IDMwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY2N3B4KSB7XG4gIC50YWItdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50YWItbWVudSB7XG4gICAgcGFkZGluZzogMTBweCAzMHB4IDA7IH1cbiAgLnRhYi1wYW5lIHtcbiAgICBwYWRkaW5nOiA3NnB4IDAgMTE2cHg7IH1cbiAgLnRhYi1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgLnRhYi1saXN0IGxpIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweCAycHggMCAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuMTVzLCBiYWNrZ3JvdW5kIC4xNXM7IH1cbiAgICAgIC50YWItbGlzdCBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgICAubm8tdG91Y2hldmVudHMgLnRhYi1saXN0IGxpOmhvdmVyIGEge1xuICAgICAgICBjb2xvcjogIzIxMjEyNjsgfVxuICAgICAgLnRhYi1saXN0IGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2QyZDJkMiAjZDJkMmQyICNmYWZhZmE7IH1cbiAgICAgICAgLnRhYi1saXN0IGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICBjb2xvcjogIzRhNGE1NTsgfSB9XG5cbi5tYW51ZmFjdG9yaW5nLWJsb2NrIC5tYW51ZmFjdG9yaW5nLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAubWFudWZhY3RvcmluZy1ibG9jayAubWFudWZhY3RvcmluZy1oZWFkaW5nIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGFpbmVyIGZpZ3VyZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGFpbmVyIGZpZ3VyZSAuYm94IHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBoZWlnaHQ6IDY1dnc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGMwMDAwO1xuICAgICAgbWFyZ2luOiBhdXRvIDEwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGFpbmVyIGZpZ3VyZSBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA2NXZ3O1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cblxuLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tYW51ZmFjdG9yaW5nLWJsb2NrIC5tYW51ZmFjdG9yaW5nLWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGVudCBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIC5tYW51ZmFjdG9yaW5nLWJsb2NrIC5tYW51ZmFjdG9yaW5nLWNvbnRlbnQgLm1hbnVmYWN0b3Jpbmctd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA0ODBweDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NjdweCkge1xuICAubWFudWZhY3RvcmluZy1ibG9jayAubWFudWZhY3RvcmluZy1jb250ZW50IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGVudCBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDE4MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGFpbmVyIGZpZ3VyZSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5tYW51ZmFjdG9yaW5nLWJsb2NrIC5tYW51ZmFjdG9yaW5nLWNvbnRhaW5lciBmaWd1cmUgLmJveCB7XG4gICAgICAgIGhlaWdodDogMzN2dztcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7IH1cbiAgICAgIC5tYW51ZmFjdG9yaW5nLWJsb2NrIC5tYW51ZmFjdG9yaW5nLWNvbnRhaW5lciBmaWd1cmUgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAzM3Z3O1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfVxuICAgIC5tYW51ZmFjdG9yaW5nLWJsb2NrIC5tYW51ZmFjdG9yaW5nLWNvbnRhaW5lci5yZXZlcnNlZCAubWFudWZhY3RvcmluZy1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfVxuICAgICAgLm1hbnVmYWN0b3JpbmctYmxvY2sgLm1hbnVmYWN0b3JpbmctY29udGFpbmVyLnJldmVyc2VkIC5tYW51ZmFjdG9yaW5nLWNvbnRlbnQgLm1hbnVmYWN0b3Jpbmctd3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNzVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubWFudWZhY3RvcmluZy1ibG9jayAubWFudWZhY3RvcmluZy1jb250YWluZXIucmV2ZXJzZWQgZmlndXJlIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAubWFudWZhY3RvcmluZy1ibG9jayAubWFudWZhY3RvcmluZy1jb250YWluZXIucmV2ZXJzZWQgZmlndXJlIGltZyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG5cbi5zcGVjaWZpY2F0aW9ucyB7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICAuc3BlY2lmaWNhdGlvbnNfX3RpdGxlIHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBjb2xvcjogI2RjMDAwMDsgfVxuICAuc3BlY2lmaWNhdGlvbnNfX2xpc3Qge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuc3BlY2lmaWNhdGlvbnNfX2xpc3QgZHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTVweCAwOyB9XG4gICAgLnNwZWNpZmljYXRpb25zX19saXN0IGRkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XG4gICAgICAuc3BlY2lmaWNhdGlvbnNfX2xpc3QgZGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTdlN2U3OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjY3cHgpIHtcbiAgICAuc3BlY2lmaWNhdGlvbnNfX3dyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbjogMCAtMzBweDsgfVxuICAgIC5zcGVjaWZpY2F0aW9uc19fYm94IHtcbiAgICAgIGZsZXg6IDAgMCBjYWxjKDUwJSAtIDYwcHgpO1xuICAgICAgbWFyZ2luOiAzMHB4OyB9XG4gICAgLnNwZWNpZmljYXRpb25zX19saXN0IGR0IHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTgwcHg7IH1cbiAgICAuc3BlY2lmaWNhdGlvbnNfX2xpc3QgZGQge1xuICAgICAgcGFkZGluZzogMTVweCAwIDE1cHggMTgwcHg7IH0gfVxuIl19 */