/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@font-face {
  font-family: 'HelEx';
  src: url("../fonts/HelveticaNeueOS-Extended.woff2") format("woff2"), url("../fonts/HelveticaNeueOS-Extended.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  font-size: 20px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

body {
  color: black;
  background-color: white;
  font-family: 'HelEx', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

i, em {
  font-style: italic;
}

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

img, svg {
  display: block;
  width: auto;
  height: auto;
}

div.poster-top {
  position: relative;
}

div.poster-top svg .poster-grid {
  fill: #c8c8d2;
}

div.poster-top .poster-image {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  width: 214px;
  height: 214px;
  border-radius: 100%;
  background-color: #ff4623;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

body #content-container #content #list, body #content-container #content #residents, body #content-container #content #program, body #content-container #content #press, body #content-container #content #locations {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 300ms;
  -o-transition: opacity 300ms;
  transition: opacity 300ms;
}

body #content-container #content #list .header, body #content-container #content #residents .header, body #content-container #content #program .header, body #content-container #content #press .header, body #content-container #content #locations .header {
  -webkit-transform: translateY(-0.2rem);
      -ms-transform: translateY(-0.2rem);
          transform: translateY(-0.2rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body #content-container #content #list .content, body #content-container #content #residents .content, body #content-container #content #program .content, body #content-container #content #press .content, body #content-container #content #locations .content {
  -webkit-transform: translateY(0.5rem);
      -ms-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body #content-container #content #home {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity 600ms 500ms;
  -o-transition: opacity 600ms 500ms;
  transition: opacity 600ms 500ms;
}

body #content-container #content #home .header {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 600ms 500ms;
  transition: -webkit-transform 600ms 500ms;
  -o-transition: transform 600ms 500ms;
  transition: transform 600ms 500ms;
  transition: transform 600ms 500ms, -webkit-transform 600ms 500ms;
}

body #content-container #content #home .content {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 600ms 500ms;
  transition: -webkit-transform 600ms 500ms;
  -o-transition: transform 600ms 500ms;
  transition: transform 600ms 500ms;
  transition: transform 600ms 500ms, -webkit-transform 600ms 500ms;
}

body.locationopen #content-container #content #home, body.locationopen #content-container #content #list, body.locationopen #content-container #content #residents, body.locationopen #content-container #content #program, body.locationopen #content-container #content #press {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 300ms;
  -o-transition: opacity 300ms;
  transition: opacity 300ms;
}

body.locationopen #content-container #content #home .header, body.locationopen #content-container #content #list .header, body.locationopen #content-container #content #residents .header, body.locationopen #content-container #content #program .header, body.locationopen #content-container #content #press .header {
  -webkit-transform: translateY(-0.2rem);
      -ms-transform: translateY(-0.2rem);
          transform: translateY(-0.2rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.locationopen #content-container #content #home .content, body.locationopen #content-container #content #list .content, body.locationopen #content-container #content #residents .content, body.locationopen #content-container #content #program .content, body.locationopen #content-container #content #press .content {
  -webkit-transform: translateY(0.5rem);
      -ms-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.locationopen #content-container #content #locations {
  opacity: 1;
  -webkit-transition: opacity 600ms 500ms;
  -o-transition: opacity 600ms 500ms;
  transition: opacity 600ms 500ms;
}

body.locationopen #content-container #content #locations .header {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 400ms 500ms;
  transition: -webkit-transform 400ms 500ms;
  -o-transition: transform 400ms 500ms;
  transition: transform 400ms 500ms;
  transition: transform 400ms 500ms, -webkit-transform 400ms 500ms;
}

body.locationopen #content-container #content #locations .content {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 800ms 500ms;
  transition: -webkit-transform 800ms 500ms;
  -o-transition: transform 800ms 500ms;
  transition: transform 800ms 500ms;
  transition: transform 800ms 500ms, -webkit-transform 800ms 500ms;
}

body.locationopen #content-container #content #locations .location.open {
  pointer-events: auto;
}

body.listopen #content-container #content #home, body.listopen #content-container #content #residents, body.listopen #content-container #content #program, body.listopen #content-container #content #press, body.listopen #content-container #content #locations {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 300ms;
  -o-transition: opacity 300ms;
  transition: opacity 300ms;
}

body.listopen #content-container #content #home .header, body.listopen #content-container #content #residents .header, body.listopen #content-container #content #program .header, body.listopen #content-container #content #press .header, body.listopen #content-container #content #locations .header {
  -webkit-transform: translateY(-0.2rem);
      -ms-transform: translateY(-0.2rem);
          transform: translateY(-0.2rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.listopen #content-container #content #home .content, body.listopen #content-container #content #residents .content, body.listopen #content-container #content #program .content, body.listopen #content-container #content #press .content, body.listopen #content-container #content #locations .content {
  -webkit-transform: translateY(0.5rem);
      -ms-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.listopen #content-container #content #list {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity 600ms 500ms;
  -o-transition: opacity 600ms 500ms;
  transition: opacity 600ms 500ms;
}

body.listopen #content-container #content #list .header {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 400ms 500ms;
  transition: -webkit-transform 400ms 500ms;
  -o-transition: transform 400ms 500ms;
  transition: transform 400ms 500ms;
  transition: transform 400ms 500ms, -webkit-transform 400ms 500ms;
}

body.listopen #content-container #content #list .content {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 800ms 500ms;
  transition: -webkit-transform 800ms 500ms;
  -o-transition: transform 800ms 500ms;
  transition: transform 800ms 500ms;
  transition: transform 800ms 500ms, -webkit-transform 800ms 500ms;
}

body.listopen #content-container #content #list ul li a span {
  pointer-events: auto;
}

body.residentsopen #content-container #content #home, body.residentsopen #content-container #content #list, body.residentsopen #content-container #content #program, body.residentsopen #content-container #content #press, body.residentsopen #content-container #content #locations {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 300ms;
  -o-transition: opacity 300ms;
  transition: opacity 300ms;
}

body.residentsopen #content-container #content #home .header, body.residentsopen #content-container #content #list .header, body.residentsopen #content-container #content #program .header, body.residentsopen #content-container #content #press .header, body.residentsopen #content-container #content #locations .header {
  -webkit-transform: translateY(-0.2rem);
      -ms-transform: translateY(-0.2rem);
          transform: translateY(-0.2rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.residentsopen #content-container #content #home .content, body.residentsopen #content-container #content #list .content, body.residentsopen #content-container #content #program .content, body.residentsopen #content-container #content #press .content, body.residentsopen #content-container #content #locations .content {
  -webkit-transform: translateY(0.5rem);
      -ms-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.residentsopen #content-container #content #residents {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity 600ms 500ms;
  -o-transition: opacity 600ms 500ms;
  transition: opacity 600ms 500ms;
}

body.residentsopen #content-container #content #residents .header {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 400ms 500ms;
  transition: -webkit-transform 400ms 500ms;
  -o-transition: transform 400ms 500ms;
  transition: transform 400ms 500ms;
  transition: transform 400ms 500ms, -webkit-transform 400ms 500ms;
}

body.residentsopen #content-container #content #residents .content {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 800ms 500ms;
  transition: -webkit-transform 800ms 500ms;
  -o-transition: transform 800ms 500ms;
  transition: transform 800ms 500ms;
  transition: transform 800ms 500ms, -webkit-transform 800ms 500ms;
}

body.programopen #content-container #content #home, body.programopen #content-container #content #list, body.programopen #content-container #content #residents, body.programopen #content-container #content #press, body.programopen #content-container #content #locations {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 300ms;
  -o-transition: opacity 300ms;
  transition: opacity 300ms;
}

body.programopen #content-container #content #home .header, body.programopen #content-container #content #list .header, body.programopen #content-container #content #residents .header, body.programopen #content-container #content #press .header, body.programopen #content-container #content #locations .header {
  -webkit-transform: translateY(-0.2rem);
      -ms-transform: translateY(-0.2rem);
          transform: translateY(-0.2rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.programopen #content-container #content #home .content, body.programopen #content-container #content #list .content, body.programopen #content-container #content #residents .content, body.programopen #content-container #content #press .content, body.programopen #content-container #content #locations .content {
  -webkit-transform: translateY(0.5rem);
      -ms-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.programopen #content-container #content #program {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity 600ms 500ms;
  -o-transition: opacity 600ms 500ms;
  transition: opacity 600ms 500ms;
}

body.programopen #content-container #content #program .header {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 400ms 500ms;
  transition: -webkit-transform 400ms 500ms;
  -o-transition: transform 400ms 500ms;
  transition: transform 400ms 500ms;
  transition: transform 400ms 500ms, -webkit-transform 400ms 500ms;
}

body.programopen #content-container #content #program .content {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 800ms 500ms;
  transition: -webkit-transform 800ms 500ms;
  -o-transition: transform 800ms 500ms;
  transition: transform 800ms 500ms;
  transition: transform 800ms 500ms, -webkit-transform 800ms 500ms;
}

body.pressopen #content-container #content #home, body.pressopen #content-container #content #list, body.pressopen #content-container #content #residents, body.pressopen #content-container #content #program, body.pressopen #content-container #content #locations {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 300ms;
  -o-transition: opacity 300ms;
  transition: opacity 300ms;
}

body.pressopen #content-container #content #home .header, body.pressopen #content-container #content #list .header, body.pressopen #content-container #content #residents .header, body.pressopen #content-container #content #program .header, body.pressopen #content-container #content #locations .header {
  -webkit-transform: translateY(-0.2rem);
      -ms-transform: translateY(-0.2rem);
          transform: translateY(-0.2rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.pressopen #content-container #content #home .content, body.pressopen #content-container #content #list .content, body.pressopen #content-container #content #residents .content, body.pressopen #content-container #content #program .content, body.pressopen #content-container #content #locations .content {
  -webkit-transform: translateY(0.5rem);
      -ms-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
  -webkit-transition: -webkit-transform 1200ms;
  transition: -webkit-transform 1200ms;
  -o-transition: transform 1200ms;
  transition: transform 1200ms;
  transition: transform 1200ms, -webkit-transform 1200ms;
}

body.pressopen #content-container #content #press {
  opacity: 1;
  pointer-events: auto;
  -webkit-transition: opacity 600ms 500ms;
  -o-transition: opacity 600ms 500ms;
  transition: opacity 600ms 500ms;
}

body.pressopen #content-container #content #press .header {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 400ms 500ms;
  transition: -webkit-transform 400ms 500ms;
  -o-transition: transform 400ms 500ms;
  transition: transform 400ms 500ms;
  transition: transform 400ms 500ms, -webkit-transform 400ms 500ms;
}

body.pressopen #content-container #content #press .content {
  -webkit-transform: translateY(0rem);
      -ms-transform: translateY(0rem);
          transform: translateY(0rem);
  -webkit-transition: -webkit-transform 800ms 500ms;
  transition: -webkit-transform 800ms 500ms;
  -o-transition: transform 800ms 500ms;
  transition: transform 800ms 500ms;
  transition: transform 800ms 500ms, -webkit-transform 800ms 500ms;
}

#content-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 16px;
  z-index: 999;
  pointer-events: none;
}

@media screen and (min-width: 1000px) {
  #content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-flow: row-reverse;
            flex-flow: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

#content-container nav {
  display: block;
  position: absolute;
  top: 72px;
  left: 16px;
  width: calc(100% - 32px);
  max-width: 320px;
  height: auto;
  padding: 9px 10px 11px 10px;
  font-size: 1rem;
  line-height: 1;
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 8px #787882;
          box-shadow: 2px 2px 8px #787882;
  opacity: 0;
  -webkit-transition: opacity 200ms;
  -o-transition: opacity 200ms;
  transition: opacity 200ms;
}

#content-container nav.open {
  opacity: 1;
  pointer-events: auto;
}

#content-container nav ul li + li {
  margin-top: 8px;
}

#content-container nav ul li a {
  -webkit-transition: color 600ms;
  -o-transition: color 600ms;
  transition: color 600ms;
}

#content-container nav ul li a:hover {
  color: #ff4623;
  -webkit-transition: color 200ms;
  -o-transition: color 200ms;
  transition: color 200ms;
}

#content-container nav ul li a.social > i, #content-container nav ul li a.social > svg {
  display: none;
}

#content-container nav ul li a.social > span {
  display: inline-block;
  position: relative;
}

#content-container nav ul li a.social > span i, #content-container nav ul li a.social > span svg {
  display: inline-block;
  font-size: 12px;
  -webkit-transform: translateY(-2px);
      -ms-transform: translateY(-2px);
          transform: translateY(-2px);
  margin-left: 4px;
}

@media screen and (min-width: 1000px) {
  #content-container nav ul li a.social > i, #content-container nav ul li a.social > svg {
    display: inline-block;
  }
  #content-container nav ul li a.social > span {
    display: none;
  }
}

@media screen and (min-width: 1200px) {
  #content-container nav ul li a.social > i, #content-container nav ul li a.social > svg {
    display: none;
  }
  #content-container nav ul li a.social > span {
    display: inline-block;
  }
}

@media screen and (min-width: 1000px) {
  #content-container nav {
    position: relative;
    top: auto;
    left: auto;
    -webkit-box-flex: 1;
        -ms-flex: auto 1 0px;
            flex: auto 1 0;
    width: auto;
    max-width: none;
    height: 40px;
    opacity: 1;
    pointer-events: auto;
  }
  #content-container nav ul li {
    display: inline-block;
  }
  #content-container nav ul li + li {
    margin-top: 0;
    margin-left: 12px;
  }
}

#content-container #content {
  position: relative;
  width: 100%;
}

#content-container #content > section {
  position: absolute;
  width: 100%;
  max-width: 320px;
  height: auto;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 200ms;
  -o-transition: opacity 200ms;
  transition: opacity 200ms;
}

@media screen and (min-width: 1000px) {
  #content-container #content > section {
    width: 320px;
    max-width: none;
  }
}

#content-container #content > section .header, #content-container #content > section .content {
  padding: 9px 10px 11px 10px;
  background-color: #fff;
  -webkit-box-shadow: 2px 2px 8px #787882;
          box-shadow: 2px 2px 8px #787882;
}

#content-container #content > section .header {
  position: relative;
  width: 100%;
  height: 40px;
  margin-bottom: 16px;
  padding-right: 52px;
  white-space: nowrap;
}

#content-container #content > section .header a.close {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
}

#content-container #content > section .header a.close span {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
}

#content-container #content > section .header a.close span:before, #content-container #content > section .header a.close span:after {
  content: " ";
  display: block;
  position: absolute;
  top: 20px;
  left: 20px;
  width: 20px;
  height: 2px;
  background-color: black;
  -webkit-transition: background-color 600ms;
  -o-transition: background-color 600ms;
  transition: background-color 600ms;
}

#content-container #content > section .header a.close span:before {
  -webkit-transform: translateX(-50%) translateY(-1px) rotate(-45deg);
      -ms-transform: translateX(-50%) translateY(-1px) rotate(-45deg);
          transform: translateX(-50%) translateY(-1px) rotate(-45deg);
}

#content-container #content > section .header a.close span:after {
  -webkit-transform: translateX(-50%) translateY(-1px) rotate(45deg);
      -ms-transform: translateX(-50%) translateY(-1px) rotate(45deg);
          transform: translateX(-50%) translateY(-1px) rotate(45deg);
}

#content-container #content > section .header a.close:hover span:before, #content-container #content > section .header a.close:hover span:after {
  background-color: #ff4623;
  -webkit-transition: background-color 200ms;
  -o-transition: background-color 200ms;
  transition: background-color 200ms;
}

#content-container #content > section .content {
  height: auto;
  max-height: calc(100vh - 88px);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

#content-container #content > section#home .header #minify, #content-container #content > section#home .header #nav-switch {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
}

#content-container #content > section#home .header #nav-switch span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 2px;
  margin: -1px 0 0 -10px;
  background-color: black;
  -webkit-transition: background-color 600ms, -webkit-transform 600ms;
  transition: background-color 600ms, -webkit-transform 600ms;
  -o-transition: transform 600ms, background-color 600ms;
  transition: transform 600ms, background-color 600ms;
  transition: transform 600ms, background-color 600ms, -webkit-transform 600ms;
}

#content-container #content > section#home .header #nav-switch span:before, #content-container #content > section#home .header #nav-switch span:after {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: black;
  -webkit-transition: background-color 600ms, -webkit-transform 600ms;
  transition: background-color 600ms, -webkit-transform 600ms;
  -o-transition: transform 600ms, background-color 600ms;
  transition: transform 600ms, background-color 600ms;
  transition: transform 600ms, background-color 600ms, -webkit-transform 600ms;
}

#content-container #content > section#home .header #nav-switch span:before {
  -webkit-transform: translateY(-6px);
      -ms-transform: translateY(-6px);
          transform: translateY(-6px);
}

#content-container #content > section#home .header #nav-switch span:after {
  -webkit-transform: translateY(6px);
      -ms-transform: translateY(6px);
          transform: translateY(6px);
}

#content-container #content > section#home .header #nav-switch:hover span {
  background-color: #ff4623;
  -webkit-transition: background-color 200ms, -webkit-transform 200ms;
  transition: background-color 200ms, -webkit-transform 200ms;
  -o-transition: transform 200ms, background-color 200ms;
  transition: transform 200ms, background-color 200ms;
  transition: transform 200ms, background-color 200ms, -webkit-transform 200ms;
}

#content-container #content > section#home .header #nav-switch:hover span:before, #content-container #content > section#home .header #nav-switch:hover span:after {
  background-color: #ff4623;
  -webkit-transition: background-color 200ms, -webkit-transform 200ms;
  transition: background-color 200ms, -webkit-transform 200ms;
  -o-transition: transform 200ms, background-color 200ms;
  transition: transform 200ms, background-color 200ms;
  transition: transform 200ms, background-color 200ms, -webkit-transform 200ms;
}

#content-container #content > section#home .header #nav-switch:hover span:before {
  -webkit-transform: translateY(-7px);
      -ms-transform: translateY(-7px);
          transform: translateY(-7px);
}

#content-container #content > section#home .header #nav-switch:hover span:after {
  -webkit-transform: translateY(7px);
      -ms-transform: translateY(7px);
          transform: translateY(7px);
}

@media screen and (min-width: 1000px) {
  #content-container #content > section#home .header #nav-switch {
    display: none;
  }
}

#content-container #content > section#home .header #minify {
  display: none;
}

@media screen and (min-width: 1000px) {
  #content-container #content > section#home .header #minify {
    display: block;
  }
  #content-container #content > section#home .header #minify span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    -webkit-transform: translateY(-4px);
        -ms-transform: translateY(-4px);
            transform: translateY(-4px);
    -webkit-transition: background-color 600ms, -webkit-transform 600ms;
    transition: background-color 600ms, -webkit-transform 600ms;
    -o-transition: transform 600ms, background-color 600ms;
    transition: transform 600ms, background-color 600ms;
    transition: transform 600ms, background-color 600ms, -webkit-transform 600ms;
  }
  #content-container #content > section#home .header #minify span:before, #content-container #content > section#home .header #minify span:after {
    content: " ";
    display: block;
    position: absolute;
    top: -1px;
    width: 10px;
    height: 2px;
    background-color: black;
    -webkit-transition: background-color 600ms, -webkit-transform 600ms;
    transition: background-color 600ms, -webkit-transform 600ms;
    -o-transition: transform 600ms, background-color 600ms;
    transition: transform 600ms, background-color 600ms;
    transition: transform 600ms, background-color 600ms, -webkit-transform 600ms;
  }
  #content-container #content > section#home .header #minify span:before {
    right: -1px;
    -webkit-transform-origin: center right;
        -ms-transform-origin: center right;
            transform-origin: center right;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #content-container #content > section#home .header #minify span:after {
    left: 0;
    -webkit-transform-origin: center left;
        -ms-transform-origin: center left;
            transform-origin: center left;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #content-container #content > section#home .header #minify:hover span {
    background-color: #ff4623;
    -webkit-transform: translateY(-6px);
        -ms-transform: translateY(-6px);
            transform: translateY(-6px);
    -webkit-transition: background-color 200ms, -webkit-transform 200ms;
    transition: background-color 200ms, -webkit-transform 200ms;
    -o-transition: transform 200ms, background-color 200ms;
    transition: transform 200ms, background-color 200ms;
    transition: transform 200ms, background-color 200ms, -webkit-transform 200ms;
  }
  #content-container #content > section#home .header #minify:hover span:before, #content-container #content > section#home .header #minify:hover span:after {
    background-color: #ff4623;
    -webkit-transition: background-color 200ms, -webkit-transform 200ms;
    transition: background-color 200ms, -webkit-transform 200ms;
    -o-transition: transform 200ms, background-color 200ms;
    transition: transform 200ms, background-color 200ms;
    transition: transform 200ms, background-color 200ms, -webkit-transform 200ms;
  }
  #content-container #content > section#home .header #minify:hover span:before {
    -webkit-transform: rotate(-47.5deg);
        -ms-transform: rotate(-47.5deg);
            transform: rotate(-47.5deg);
  }
  #content-container #content > section#home .header #minify:hover span:after {
    -webkit-transform: rotate(47.5deg);
        -ms-transform: rotate(47.5deg);
            transform: rotate(47.5deg);
  }
  #content-container #content > section#home .header #minify.minified span {
    -webkit-transform: translateY(4px);
        -ms-transform: translateY(4px);
            transform: translateY(4px);
  }
  #content-container #content > section#home .header #minify.minified span:before {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #content-container #content > section#home .header #minify.minified span:after {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

#content-container #content > section#home .content {
  display: none;
}

@media screen and (min-width: 1000px) {
  #content-container #content > section#home .content {
    display: block;
    padding: 0;
  }
}

#content-container #content > section#home .content div.about {
  padding: 0 10px 11px 10px;
  font-size: 0.7rem;
  letter-spacing: 0.025em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  text-align: justify;
}

#content-container #content > section#home .content div.about span {
  display: block;
}

#content-container #content > section#home .content div.about span:last-child {
  text-align: right;
}

#content-container #content > section#list ul li {
  margin-bottom: 1rem;
}

#content-container #content > section#list ul li:last-child {
  margin-bottom: 0;
}

#content-container #content > section#list ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  pointer-events: none;
  -webkit-transition: color 600ms;
  -o-transition: color 600ms;
  transition: color 600ms;
}

#content-container #content > section#list ul li a:hover {
  color: #ff4623;
  -webkit-transition: color 200ms;
  -o-transition: color 200ms;
  transition: color 200ms;
}

#content-container #content > section#list ul li span.index {
  width: 1.6rem;
}

#content-container #content > section#list ul li span.address {
  font-size: 0.7rem;
}

#content-container #content > section#locations {
  position: relative;
}

#content-container #content > section#locations .location {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  max-height: calc(100vh - 32px);
  opacity: 0;
  -webkit-transition: opacity 200ms;
  -o-transition: opacity 200ms;
  transition: opacity 200ms;
}

#content-container #content > section#locations .location.open {
  opacity: 1;
  -webkit-transition: opacity 600ms 200ms;
  -o-transition: opacity 600ms 200ms;
  transition: opacity 600ms 200ms;
}

#content-container #content > section#locations .location .content {
  padding: 0;
}

#content-container #content > section#locations .location .content .poster-top svg .poster-letter {
  display: none;
}

#content-container #content > section#locations .location .content .poster-top a {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40px;
  height: 40px;
  margin: -20px 0 0 -20px;
  text-align: center;
  line-height: 40px;
  font-size: 26px;
  color: white;
}

#content-container #content > section#locations .location .content .location-data {
  padding: 0 10px 11px 10px;
}

#content-container #content > section#locations .location .content .location-data > div {
  font-size: 1rem;
  line-height: 1.1;
}

#content-container #content > section#locations .location .content .location-data > div span.label {
  display: block;
  font-family: 'Times New Roman', serif;
  font-size: 1.2em;
  -webkit-transform-origin: top left;
      -ms-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: scaleX(1.15);
      -ms-transform: scaleX(1.15);
          transform: scaleX(1.15);
}

#content-container #content > section#locations .location .content .location-data > div + div {
  margin-top: 1.1rem;
}

#content-container #content > section#residents .letter + .letter {
  margin-top: 1rem;
}

#content-container #content > section#residents .letter > span {
  display: block;
}

#content-container #content > section#residents .letter a {
  position: relative;
  -webkit-transition: color 600ms;
  -o-transition: color 600ms;
  transition: color 600ms;
}

#content-container #content > section#residents .letter a span {
  position: relative;
  display: inline-block;
  top: -0.3rem;
  font-size: 0.6rem;
  margin-left: 0.15rem;
}

#content-container #content > section#residents .letter a:hover {
  color: #ff4623;
  -webkit-transition: color 200ms;
  -o-transition: color 200ms;
  transition: color 200ms;
}

#content-container #content > section#program .day-container:first-child {
  margin-bottom: 4rem;
}

#content-container #content > section#program .day-container > span {
  display: block;
  margin-bottom: 1.75rem;
}

#content-container #content > section#program .event + .event {
  margin-top: 1.75rem;
}

#content-container #content > section#program .event > div:first-child {
  margin-bottom: 0.5rem;
}

#content-container #content > section#program .event > div:last-child {
  font-size: 0.7rem;
  line-height: 1.15;
  margin-top: 0.15rem;
}

#content-container #content > section#program .event > div strong {
  font-style: normal;
  text-decoration: underline;
}

#content-container #content > section#program .event > div p, #content-container #content > section#program .event > div ul, #content-container #content > section#program .event > div ol {
  max-width: 320px;
}

#content-container #content > section#program .event > div p + p {
  margin-top: 0.5rem;
}

#content-container #content > section#press .wrap > div {
  margin-bottom: 2rem;
}

#content-container #content > section#press .wrap > div:last-child {
  margin-bottom: 0;
}

#content-container #content > section#press .downloads {
  font-size: 0.7rem;
  margin-bottom: 1.15rem;
}

#content-container #content > section#press .downloads a {
  display: inline-block;
  margin-bottom: 0.25rem;
  -webkit-transition: color 600ms;
  -o-transition: color 600ms;
  transition: color 600ms;
}

#content-container #content > section#press .downloads a:hover {
  color: #ff4623;
  -webkit-transition: color 200ms;
  -o-transition: color 200ms;
  transition: color 200ms;
}

#content-container #content > section#press .downloads a:last-child {
  margin-bottom: 0;
}

#content-container #content > section#press .contact {
  line-height: 1.15;
  margin-top: 0.15rem;
  margin-bottom: 1.15rem;
}

#content-container #content > section#press .about p {
  margin-bottom: 1.15rem;
}

#content-container #content > section#press .about p:first-child {
  text-indent: 0;
}

#content-container #content > section#press .about p a {
  text-decoration: underline;
}

#content-container #content > section#press .partners {
  margin-top: 5rem;
}

#content-container #content > section#press .partners div {
  margin-bottom: 1.5rem;
}

#content-container #content > section#press .partners img {
  display: inline-block;
  height: 48px;
  width: auto;
  margin-right: 1rem;
}

#content-container #content > section#press .partners #logo-brno {
  height: 22px;
  margin-bottom: 0.25rem;
}

#content-container #content > section#press .partners #logo-vut {
  height: 40px;
  margin-bottom: 0.25rem;
}

#content-container #content > section#press .partners p {
  font-size: 0.7rem;
}

.marker {
  width: 32px;
  height: 32px;
  background-color: transparent;
  cursor: pointer;
}

.marker .circle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  top: 0px;
  left: 0px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  color: #000;
  background-color: white;
  font-family: 'Times New Roman', sans-serif;
  font-size: 1.1rem;
  font-weight: 400;
  line-height: 31px;
  letter-spacing: -0.05em;
  padding-left: 1px;
  text-align: center;
  -webkit-transition: -webkit-transform 800ms, -webkit-box-shadow 800ms;
  transition: -webkit-transform 800ms, -webkit-box-shadow 800ms;
  -o-transition: transform 800ms, box-shadow 800ms;
  transition: transform 800ms, box-shadow 800ms;
  transition: transform 800ms, box-shadow 800ms, -webkit-transform 800ms, -webkit-box-shadow 800ms;
}

.marker span {
  display: block;
  letter-spacing: -0.1em;
  margin-left: -0.15em;
}

.marker:before {
  content: " ";
  display: block;
  position: absolute;
  top: -6px;
  left: -6px;
  width: 44px;
  height: 45px;
  background-color: #ff4623;
  -webkit-box-shadow: 2px 6px 6px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 2px 6px 6px 0 rgba(0, 0, 0, 0.25);
  -webkit-transition: -webkit-transform 800ms;
  transition: -webkit-transform 800ms;
  -o-transition: transform 800ms;
  transition: transform 800ms;
  transition: transform 800ms, -webkit-transform 800ms;
}

.marker:hover .circle {
  -webkit-transform: translateY(-4px);
      -ms-transform: translateY(-4px);
          transform: translateY(-4px);
  -webkit-box-shadow: 2px 10px 6px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 2px 10px 6px 0 rgba(0, 0, 0, 0.25);
  -webkit-transition: -webkit-transform 200ms, -webkit-box-shadow 200ms;
  transition: -webkit-transform 200ms, -webkit-box-shadow 200ms;
  -o-transition: transform 200ms, box-shadow 200ms;
  transition: transform 200ms, box-shadow 200ms;
  transition: transform 200ms, box-shadow 200ms, -webkit-transform 200ms, -webkit-box-shadow 200ms;
}

.marker:hover:before {
  -webkit-transform: scale(1.05) translateY(-2px);
      -ms-transform: scale(1.05) translateY(-2px);
          transform: scale(1.05) translateY(-2px);
  -webkit-transition: -webkit-transform 200ms;
  transition: -webkit-transform 200ms;
  -o-transition: transform 200ms;
  transition: transform 200ms;
  transition: transform 200ms, -webkit-transform 200ms;
}

#map-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#map-container #map {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#map-container #map .mapboxgl-ctrl-bottom-left .mapboxgl-ctrl {
  margin: 0 0 6px 6px;
}

#map-container #map a.mapboxgl-ctrl-logo {
  height: 18px;
}

#map-container #map .mapboxgl-ctrl-attrib.mapboxgl-compact {
  margin: 0 3px 4px 0;
  border-radius: 12px;
  padding-left: 10px;
}

.pswp__ui--fit .pswp__top-bar,
.pswp__button--arrow--left:before,
.pswp__button--arrow--right:before {
  background-color: transparent;
}

.pswp__img--placeholder--blank {
  background: transparent;
}

.pswp__preloader {
  top: 50%;
  left: 50%;
  margin: -22px 0 0 -22px;
}

.pswp--zoom-allowed .pswp__img {
  cursor: default;
}

.pswp__counter {
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 0.7rem;
  opacity: 1;
}

.pswp__button {
  opacity: 1;
}

.pswp__button--close {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -22px;
}

.pswp img {
  padding: 44px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9yZXNldC5zY3NzIiwibWFpbi5zY3NzIiwibWFpbi5jc3MiLCJfbWVkaWEtcXVlcmllcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7RUFHRTtBQUVGOzs7Ozs7Ozs7Ozs7O0VBYUksVUFBUztFQUNULFdBQVU7RUFDVixVQUFTO0VBQ1QsZ0JBQWU7RUFDZixjQUFhO0VBQ2IseUJBQXdCO0NBQzNCOztBQUNELGlEQUFpRDtBQUNqRDs7RUFFSSxlQUFjO0NBQ2pCOztBQUNEO0VBQ0ksZUFBYztDQUNqQjs7QUFDRDtFQUNJLGlCQUFnQjtDQUNuQjs7QUFDRDtFQUNJLGFBQVk7Q0FDZjs7QUFDRDs7RUFFSSxZQUFXO0VBQ1gsY0FBYTtDQUNoQjs7QUFDRDtFQUNJLDBCQUF5QjtFQUN6QixrQkFBaUI7Q0FDcEI7O0FDeENEO0VBQ0MscUJBQW9CO0VBQ3BCLGtJQUFpSTtFQUNqSSxpQkFBZ0I7RUFDaEIsbUJBQWtCO0NDZ0RsQjs7QUQzQ0Q7RUFDQywrQkFBc0I7VUFBdEIsdUJBQXNCO0NBQ3RCOztBQUVEO0VBQ0MsZ0JBQWU7RUFDZixtQ0FBa0M7RUFDbEMsb0NBQW1DO0VBQ25DLDRCQUEyQjtDQUMzQjs7QUFFRDtFQUNDLGFBQVk7RUFDWix3QkFBdUI7RUFDdkIsaUNBQWdDO0VBQ2hDLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLGVBQWM7RUFDZCxvQ0FBbUM7RUFDbkMsWUFBVztFQUNYLGFBQVk7RUFDWixpQkFBZ0I7Q0FDaEI7O0FBRUQ7RUFDQyxtQkFBa0I7Q0FDbEI7O0FBRUQ7RUFDQyxlQUFjO0VBQ2Qsc0JBQXFCO0NBQ3JCOztBQUVEO0VBQ0MsZUFBYztFQUNkLFlBQVc7RUFDWCxhQUFZO0NBQ1o7O0FBRUQ7RUFDQyxtQkFBa0I7Q0FvQmxCOztBQXJCRDtFQUlFLGNBdkR3QjtDQXdEeEI7O0FBTEY7RUFRRSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFVBQVM7RUFDVCxxREFBNEM7TUFBNUMsaURBQTRDO1VBQTVDLDZDQUE0QztFQUM1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QUEzQixvQ0FBMkI7RUFBM0IsK0JBQTJCO0VBQTNCLDRCQUEyQjtFQUEzQixxREFBMkI7Q0FDM0I7O0FBR0Y7RUFDQyxnQkFBZTtFQUNmLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGFBQVk7RUFDWixpQkFBZ0I7Q0F1QmhCOztBQTdCRDtFQVNFLGdCQUFlO0VBQ2YsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWTtDQWVaOztBQTVCRjtFQWdCRyxvQkFBbUI7Q0FDbkI7O0FBakJIO0VBb0JHLGFBQVk7Q0FDWjs7QUFyQkg7RUF3Qkcsb0JBQW1CO0VBQ25CLG9CQUFtQjtFQUNuQixtQkFBa0I7Q0FDbEI7O0FBTUg7OztFQUdDLDhCQUE2QjtDQUM3Qjs7QUFFRDtFQUNDLHdCQUF1QjtDQUN2Qjs7QUFFRDtFQUNDLFNBQVE7RUFDUixVQUFTO0VBQ1Qsd0JBQXVCO0NBQ3ZCOztBQUVEO0VBQ0MsZ0JBQWU7Q0FDZjs7QUFFRDtFQUNDLFVBQVM7RUFDVCxvQ0FBMkI7TUFBM0IsZ0NBQTJCO1VBQTNCLDRCQUEyQjtFQUMzQixrQkFBaUI7RUFDakIsV0FBVTtDQUNWOztBQUVEO0VBQ0MsV0FBVTtDQUNWOztBQUVEO0VBQ0MsbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxVQUFTO0VBQ1QsbUJBQWtCO0NBQ2xCOztBQUVEO0VBQ0MsY0FBYTtDQUNiIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC8gXG4gICB2Mi4wIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCwgXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIFxubWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5ib2R5IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbm9sLCB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbmJsb2NrcXVvdGUsIHEge1xuICAgIHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsIHE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG59XG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn0iLCJAaW1wb3J0ICdfcmVzZXQnO1xuQGltcG9ydCAnX21lZGlhLXF1ZXJpZXMnO1xuXG4kb3JhbmdlOiByZ2JhKDI1NSw3MCwzNSwxKTtcbiRncmF5OiByZ2JhKDIwMCwyMDAsMjEwLDEpO1xuJHRyYW5zVGltZTogMC41cztcblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnSGVsRXgnO1xuXHRzcmM6IHVybCgnLi4vZm9udHMvSGVsdmV0aWNhTmV1ZU9TLUV4dGVuZGVkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL0hlbHZldGljYU5ldWVPUy1FeHRlbmRlZC53b2ZmJykgZm9ybWF0KFwid29mZlwiKTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4kbWluaWJhcjogMzJweDtcblxuKiB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuXHRmb250LXNpemU6IDIwcHg7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHRmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbmJvZHkge1xuXHRjb2xvcjogYmxhY2s7XG5cdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRmb250LWZhbWlseTogJ0hlbEV4Jywgc2Fucy1zZXJpZjtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zaXplOiAxcmVtO1xuXHRsaW5lLWhlaWdodDogMTtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbmksIGVtIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5hIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaW1nLCBzdmcge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IGF1dG87XG5cdGhlaWdodDogYXV0bztcbn1cblxuZGl2LnBvc3Rlci10b3Age1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0c3ZnIC5wb3N0ZXItZ3JpZCB7XG5cdFx0ZmlsbDogJGdyYXk7XG5cdH1cblxuXHQucG9zdGVyLWltYWdlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdHdpZHRoOiAyMTRweDtcblx0XHRoZWlnaHQ6IDIxNHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHQvL2JhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cdH1cbn1cblxuYm9keSB7XG5cdCNjb250ZW50LWNvbnRhaW5lciB7XG5cdFx0I2NvbnRlbnQge1xuXHRcdFx0I2xpc3QsICNyZXNpZGVudHMsICNwcm9ncmFtLCAjcHJlc3MsICNsb2NhdGlvbnMge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcblxuXHRcdFx0XHQuaGVhZGVyIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMnJlbSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC41cmVtKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwMG1zO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCNob21lIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNjAwbXMgNTAwbXM7XG5cblx0XHRcdFx0LmhlYWRlciB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyA1MDBtcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHJlbSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIDUwMG1zO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmJvZHkubG9jYXRpb25vcGVuIHtcblx0I2NvbnRlbnQtY29udGFpbmVyIHtcblx0XHQjY29udGVudCB7XG5cdFx0XHQjaG9tZSwgI2xpc3QsICNyZXNpZGVudHMsICNwcm9ncmFtLCAjcHJlc3Mge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcblxuXHRcdFx0XHQuaGVhZGVyIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMnJlbSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC41cmVtKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwMG1zO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCNsb2NhdGlvbnMge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zIDUwMG1zO1xuXG5cdFx0XHRcdC5oZWFkZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcmVtKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgNTAwbXM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA4MDBtcyA1MDBtcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5sb2NhdGlvbi5vcGVuIHtcblx0XHRcdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5ib2R5Lmxpc3RvcGVuIHtcblx0I2NvbnRlbnQtY29udGFpbmVyIHtcblx0XHQjY29udGVudCB7XG5cdFx0XHQjaG9tZSwgI3Jlc2lkZW50cywgI3Byb2dyYW0sICNwcmVzcywgI2xvY2F0aW9ucyB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuXG5cdFx0XHRcdC5oZWFkZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4ycmVtKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwMG1zO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjVyZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjAwbXM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I2xpc3Qge1xuXHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogYXV0bztcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtcyA1MDBtcztcblxuXHRcdFx0XHQuaGVhZGVyIHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHJlbSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIDUwMG1zO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcmVtKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gODAwbXMgNTAwbXM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bCBsaSBhIHNwYW4ge1xuXHRcdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmJvZHkucmVzaWRlbnRzb3BlbiB7XG5cdCNjb250ZW50LWNvbnRhaW5lciB7XG5cdFx0I2NvbnRlbnQge1xuXHRcdFx0I2hvbWUsICNsaXN0LCAjcHJvZ3JhbSwgI3ByZXNzLCAjbG9jYXRpb25zIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG5cblx0XHRcdFx0LmhlYWRlciB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjJyZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjAwbXM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNXJlbSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQjcmVzaWRlbnRzIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNjAwbXMgNTAwbXM7XG5cblx0XHRcdFx0LmhlYWRlciB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyA1MDBtcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHJlbSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDgwMG1zIDUwMG1zO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmJvZHkucHJvZ3JhbW9wZW4ge1xuXHQjY29udGVudC1jb250YWluZXIge1xuXHRcdCNjb250ZW50IHtcblx0XHRcdCNob21lLCAjbGlzdCwgI3Jlc2lkZW50cywgI3ByZXNzLCAjbG9jYXRpb25zIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG5cblx0XHRcdFx0LmhlYWRlciB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjJyZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjAwbXM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNXJlbSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQjcHJvZ3JhbSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zIDUwMG1zO1xuXG5cdFx0XHRcdC5oZWFkZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcmVtKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgNTAwbXM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY29udGVudCB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA4MDBtcyA1MDBtcztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5ib2R5LnByZXNzb3BlbiB7XG5cdCNjb250ZW50LWNvbnRhaW5lciB7XG5cdFx0I2NvbnRlbnQge1xuXHRcdFx0I2hvbWUsICNsaXN0LCAjcmVzaWRlbnRzLCAjcHJvZ3JhbSwgI2xvY2F0aW9ucyB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuXG5cdFx0XHRcdC5oZWFkZXIge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4ycmVtKTtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwMG1zO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmNvbnRlbnQge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjVyZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjAwbXM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3ByZXNzIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNjAwbXMgNTAwbXM7XG5cblx0XHRcdFx0LmhlYWRlciB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyA1MDBtcztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHJlbSk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDgwMG1zIDUwMG1zO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiAxNnB4O1xuXHR6LWluZGV4OiA5OTk7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdEBpbmNsdWRlIG1pbi1zY3JlZW4oMTAwMHB4KSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWZsb3c6IHJvdy1yZXZlcnNlO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXG5cdG5hdiB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNzJweDtcblx0XHRsZWZ0OiAxNnB4O1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4KTtcblx0XHRtYXgtd2lkdGg6IDMyMHB4O1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRwYWRkaW5nOiA5cHggMTBweCAxMXB4IDEwcHg7XG5cdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0Ym94LXNoYWRvdzogMnB4IDJweCA4cHggcmdiYSgxMjAsMTIwLDEzMCwxKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXM7XG5cblx0XHQmLm9wZW4ge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdGxpIHtcblx0XHRcdFx0JiArIGxpIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA4cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciA2MDBtcztcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLnNvY2lhbCB7XG5cdFx0XHRcdFx0XHQmID4gaSwgJiA+IHN2ZyB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCYgPiBzcGFuIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHRcdFx0aSwgc3ZnIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1pbi1zY3JlZW4oMTAwMHB4KSB7XG5cdFx0XHRcdFx0XHRcdCYgPiBpLCAmID4gc3ZnIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmID4gc3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtaW4tc2NyZWVuKDEyMDBweCkge1xuXHRcdFx0XHRcdFx0XHQmID4gaSwgJiA+IHN2ZyB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCYgPiBzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtaW4tc2NyZWVuKDEwMDBweCkge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dG9wOiBhdXRvO1xuXHRcdFx0bGVmdDogYXV0bztcblx0XHRcdGZsZXg6IGF1dG8gMSAwO1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IGF1dG87XG5cblx0XHRcdHVsIHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdFx0XHRcdCYgKyBsaSB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0I2NvbnRlbnQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogMTAwJTtcblxuXHRcdCYgPiBzZWN0aW9uIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOiAzMjBweDtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcblxuXHRcdFx0QGluY2x1ZGUgbWluLXNjcmVlbigxMDAwcHgpIHtcblx0XHRcdFx0d2lkdGg6IDMyMHB4O1xuXHRcdFx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC5oZWFkZXIsIC5jb250ZW50IHtcblx0XHRcdFx0cGFkZGluZzogOXB4IDEwcHggMTFweCAxMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdFx0XHRib3gtc2hhZG93OiAycHggMnB4IDhweCByZ2JhKDEyMCwxMjAsMTMwLDEpO1xuXHRcdFx0fVxuXG5cdFx0XHQuaGVhZGVyIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiA1MnB4O1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG5cdFx0XHRcdGEuY2xvc2Uge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0d2lkdGg6IDQwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xuXG5cdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0d2lkdGg6IDQwcHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDQwcHg7XG5cblx0XHRcdFx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdHRvcDogMjBweDtcblx0XHRcdFx0XHRcdFx0bGVmdDogMjBweDtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA2MDBtcztcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtMXB4KSByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xcHgpIHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRzcGFuOmJlZm9yZSwgc3BhbjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5jb250ZW50IHtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODhweCk7XG5cdFx0XHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcblx0XHRcdFx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUge1xuXHQuaGVhZGVyIHtcblx0XHQjbWluaWZ5LCAjbmF2LXN3aXRjaCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblxuXHRcdCNuYXYtc3dpdGNoIHtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDJweDtcblx0XHRcdFx0bWFyZ2luOiAtMXB4IDAgMCAtMTBweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG5cdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcywgYmFja2dyb3VuZC1jb2xvciA2MDBtcztcblxuXHRcdFx0XHQmOmJlZm9yZSwgJjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogXCIgXCI7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMsIGJhY2tncm91bmQtY29sb3IgNjAwbXM7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG5cdFx0XHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcywgYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTdweCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHRAaW5jbHVkZSBtaW4tc2NyZWVuKDEwMDBweCkge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCNtaW5pZnkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblxuXHRcdFx0QGluY2x1ZGUgbWluLXNjcmVlbigxMDAwcHgpIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHR3aWR0aDogMDtcblx0XHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcywgYmFja2dyb3VuZC1jb2xvciA2MDBtcztcblxuXHRcdFx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IC0xcHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTBweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMnB4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMsIGJhY2tncm91bmQtY29sb3IgNjAwbXM7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0cmlnaHQ6IC0xcHg7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNnB4KTtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcywgYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMsIGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ3LjVkZWcpO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDcuNWRlZyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5taW5pZmllZCB7XG5cdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcblxuXHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jb250ZW50IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgbWluLXNjcmVlbigxMDAwcHgpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHRkaXYuYWJvdXQge1xuXHRcdFx0cGFkZGluZzogMCAxMHB4IDExcHggMTBweDtcblx0XHRcdGZvbnQtc2l6ZTogMC43cmVtO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XG5cblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0dGV4dC1hbGlnbjoganVzdGlmeTtcblxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsaXN0IHtcblx0dWwge1xuXHRcdGxpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR9XG5cblx0XHRcdGEge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgNjAwbXM7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0c3Bhbi5pbmRleCB7XG5cdFx0XHRcdHdpZHRoOiAxLjZyZW07XG5cdFx0XHR9XG5cblx0XHRcdHNwYW4uYWRkcmVzcyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMC43cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2xvY2F0aW9ucyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQubG9jYXRpb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0bWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcblxuXHRcdCYub3BlbiB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtcyAyMDBtcztcblx0XHR9XG5cblx0XHQuY29udGVudCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQucG9zdGVyLXRvcCB7XG5cblx0XHRcdFx0c3ZnIC5wb3N0ZXItbGV0dGVyIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdFx0XHRtYXJnaW46IC0yMHB4IDAgMCAtMjBweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdFx0XHRcdGNvbG9yOiB3aGl0ZTtcblx0XHRcdFx0fSBcblx0XHRcdH1cblxuXHRcdFx0LmxvY2F0aW9uLWRhdGEge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDEwcHggMTFweCAxMHB4O1xuXG5cdFx0XHRcdCYgPiBkaXYge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS4xO1xuXG5cdFx0XHRcdFx0c3Bhbi5sYWJlbCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEuMmVtO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxLjE1KTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmICsgZGl2IHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEuMXJlbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNyZXNpZGVudHMge1xuXHQubGV0dGVyIHtcblx0XHQmICsgLmxldHRlciB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRcdH1cblxuXHRcdCYgPiBzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgNjAwbXM7XG5cblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0dG9wOiAtMC4zcmVtO1xuXHRcdFx0XHRmb250LXNpemU6IDAuNnJlbTtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDAuMTVyZW07XG5cdFx0XHRcdFxuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6ICRvcmFuZ2U7XG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI3Byb2dyYW0ge1xuXHQuZGF5LWNvbnRhaW5lciB7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0cmVtO1xuXHRcdH1cblxuXHRcdCYgPiBzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS43NXJlbTtcblx0XHR9XG5cdH1cblxuXHQuZXZlbnQge1xuXHRcdCYgKyAuZXZlbnQge1xuXHRcdFx0bWFyZ2luLXRvcDogMS43NXJlbTtcblx0XHR9XG5cblx0XHQmID4gZGl2IHtcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHQvL3RleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0Zm9udC1zaXplOiAwLjdyZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE1O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwLjE1cmVtO1xuXHRcdFx0fVxuXG5cdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXG5cdFx0XHRwLCB1bCwgb2wge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDMyMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHRwICsgcCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDAuNXJlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcmVzcyB7XG5cdC53cmFwID4gZGl2IHtcblx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9IFxuXG5cdC5kb3dubG9hZHMge1xuXHRcdGZvbnQtc2l6ZTogMC43cmVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDEuMTVyZW07XG5cblx0XHRhIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciA2MDBtcztcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkb3JhbmdlO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcblx0XHRcdH1cblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuY29udGFjdCB7XG5cdFx0Ly8gZm9udC1zaXplOiAwLjdyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTU7XG5cdFx0bWFyZ2luLXRvcDogMC4xNXJlbTtcblx0XHRtYXJnaW4tYm90dG9tOiAxLjE1cmVtO1xuXHR9XG5cblx0LmFib3V0IHtcblx0XHRwIHtcblx0XHRcdC8vIHRleHQtaW5kZW50OiAxLjI1cmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS4xNXJlbTtcblxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHRleHQtaW5kZW50OiAwO1xuXHRcdFx0fVxuXG5cdFx0XHRhIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG4gXG5cdC5wYXJ0bmVycyB7XG5cdFx0bWFyZ2luLXRvcDogNXJlbTtcblx0XHRcblx0XHRkaXYge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRoZWlnaHQ6IDQ4cHg7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdG1hcmdpbi1yaWdodDogMXJlbTtcblx0XHR9XG5cblx0XHQjbG9nby1icm5vIHtcblx0XHRcdGhlaWdodDogMjJweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdFx0fVxuXG5cdFx0I2xvZ28tdnV0IHtcblx0XHRcdGhlaWdodDogNDBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRmb250LXNpemU6IDAuN3JlbTtcblx0XHR9XG5cdH1cbn1cblxuLy8gTUFQIFNUWUxJTkdcblxuLm1hcmtlciB7XG5cdHdpZHRoOiAzMnB4O1xuXHRoZWlnaHQ6IDMycHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0LmNpcmNsZSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiAwcHg7XG5cdFx0bGVmdDogMHB4O1xuXHRcdHdpZHRoOiAzMnB4O1xuXHRcdGhlaWdodDogMzJweDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0Y29sb3I6ICMwMDA7XHRcdFxuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFxuXHRcdGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJywgc2Fucy1zZXJpZjtcblx0XHRmb250LXNpemU6IDEuMXJlbTtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAzMXB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuXHRcdHBhZGRpbmctbGVmdDogMXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gODAwbXMsIGJveC1zaGFkb3cgODAwbXM7XG5cdH1cblxuXHRzcGFuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRsZXR0ZXItc3BhY2luZzogLTAuMWVtO1xuXHRcdG1hcmdpbi1sZWZ0OiAtMC4xNWVtO1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC02cHg7XG5cdFx0bGVmdDogLTZweDtcblx0XHR3aWR0aDogNDRweDtcblx0XHRoZWlnaHQ6IDQ1cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcblx0XHRib3gtc2hhZG93OiAycHggNnB4IDZweCAwIHJnYmEoMCwwLDAsMC4yNSk7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDgwMG1zO1xuXHR9XG5cdFxuXHQmOmhvdmVyIC5jaXJjbGUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcblx0XHRib3gtc2hhZG93OiAycHggMTBweCA2cHggMCByZ2JhKDAsMCwwLDAuMjUpO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcywgYm94LXNoYWRvdyAyMDBtcztcblx0fVxuXG5cdCY6aG92ZXI6YmVmb3JlIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMDUpIHRyYW5zbGF0ZVkoLTJweCk7XG5cdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xuXHR9XG59XG5cbiNtYXAtY29udGFpbmVyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0I21hcCB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblxuXHRcdC5tYXBib3hnbC1jdHJsLWJvdHRvbS1sZWZ0IC5tYXBib3hnbC1jdHJsIHtcblx0XHRcdG1hcmdpbjogMCAwIDZweCA2cHg7XG5cdFx0fVxuXG5cdFx0YS5tYXBib3hnbC1jdHJsLWxvZ28ge1xuXHRcdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdH1cblxuXHRcdC5tYXBib3hnbC1jdHJsLWF0dHJpYi5tYXBib3hnbC1jb21wYWN0IHtcblx0XHRcdG1hcmdpbjogMCAzcHggNHB4IDA7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xuXHRcdH1cblx0fVxufVxuXG4vLyBHQUxMRVJZIFNUWUxJTkdcblxuLnBzd3BfX3VpLS1maXQgLnBzd3BfX3RvcC1iYXIsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tbGVmdDpiZWZvcmUsXG4ucHN3cF9fYnV0dG9uLS1hcnJvdy0tcmlnaHQ6YmVmb3JlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wc3dwX19pbWctLXBsYWNlaG9sZGVyLS1ibGFuayB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ucHN3cF9fcHJlbG9hZGVyIHtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0bWFyZ2luOiAtMjJweCAwIDAgLTIycHg7XG59XG5cbi5wc3dwLS16b29tLWFsbG93ZWQgLnBzd3BfX2ltZyB7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLnBzd3BfX2NvdW50ZXIge1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0Zm9udC1zaXplOiAwLjdyZW07XG5cdG9wYWNpdHk6IDE7XG59XG5cbi5wc3dwX19idXR0b24ge1xuXHRvcGFjaXR5OiAxO1xufVxuXG4ucHN3cF9fYnV0dG9uLS1jbG9zZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiA1MCU7XG5cdG1hcmdpbi1sZWZ0OiAtMjJweDtcbn1cblxuLnBzd3AgaW1nIHtcblx0cGFkZGluZzogNDRweDtcbn0iLCIvKiBodHRwOi8vbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0LyBcbiAgIHYyLjAgfCAyMDExMDEyNlxuICAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcbiovXG5odG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXG5kZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXG5zbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuYiwgdSwgaSwgY2VudGVyLFxuZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSxcbmZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLFxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXG5hcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBlbWJlZCxcbmZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCxcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxudGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxuZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxub2wsIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cblxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBjb250ZW50OiBub25lO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdIZWxFeCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvSGVsdmV0aWNhTmV1ZU9TLUV4dGVuZGVkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9IZWx2ZXRpY2FOZXVlT1MtRXh0ZW5kZWQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5ib2R5IHtcbiAgY29sb3I6IGJsYWNrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICdIZWxFeCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5pLCBlbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmltZywgc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmRpdi5wb3N0ZXItdG9wIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5kaXYucG9zdGVyLXRvcCBzdmcgLnBvc3Rlci1ncmlkIHtcbiAgZmlsbDogI2M4YzhkMjtcbn1cblxuZGl2LnBvc3Rlci10b3AgLnBvc3Rlci1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAyMTRweDtcbiAgaGVpZ2h0OiAyMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDYyMztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuYm9keSAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xpc3QsIGJvZHkgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNyZXNpZGVudHMsIGJvZHkgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNwcm9ncmFtLCBib2R5ICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MsIGJvZHkgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMge1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cblxuYm9keSAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xpc3QgLmhlYWRlciwgYm9keSAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Jlc2lkZW50cyAuaGVhZGVyLCBib2R5ICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJvZ3JhbSAuaGVhZGVyLCBib2R5ICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MgLmhlYWRlciwgYm9keSAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xvY2F0aW9ucyAuaGVhZGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjJyZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwMG1zO1xufVxuXG5ib2R5ICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbGlzdCAuY29udGVudCwgYm9keSAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Jlc2lkZW50cyAuY29udGVudCwgYm9keSAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Byb2dyYW0gLmNvbnRlbnQsIGJvZHkgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNwcmVzcyAuY29udGVudCwgYm9keSAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xvY2F0aW9ucyAuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjVyZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwMG1zO1xufVxuXG5ib2R5ICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjaG9tZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zIDUwMG1zO1xufVxuXG5ib2R5ICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjaG9tZSAuaGVhZGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgNTAwbXM7XG59XG5cbmJvZHkgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lIC5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgNTAwbXM7XG59XG5cbmJvZHkubG9jYXRpb25vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjaG9tZSwgYm9keS5sb2NhdGlvbm9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsaXN0LCBib2R5LmxvY2F0aW9ub3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Jlc2lkZW50cywgYm9keS5sb2NhdGlvbm9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNwcm9ncmFtLCBib2R5LmxvY2F0aW9ub3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3ByZXNzIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG59XG5cbmJvZHkubG9jYXRpb25vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjaG9tZSAuaGVhZGVyLCBib2R5LmxvY2F0aW9ub3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xpc3QgLmhlYWRlciwgYm9keS5sb2NhdGlvbm9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNyZXNpZGVudHMgLmhlYWRlciwgYm9keS5sb2NhdGlvbm9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNwcm9ncmFtIC5oZWFkZXIsIGJvZHkubG9jYXRpb25vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MgLmhlYWRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4ycmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcbn1cblxuYm9keS5sb2NhdGlvbm9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lIC5jb250ZW50LCBib2R5LmxvY2F0aW9ub3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xpc3QgLmNvbnRlbnQsIGJvZHkubG9jYXRpb25vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcmVzaWRlbnRzIC5jb250ZW50LCBib2R5LmxvY2F0aW9ub3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Byb2dyYW0gLmNvbnRlbnQsIGJvZHkubG9jYXRpb25vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MgLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC41cmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcbn1cblxuYm9keS5sb2NhdGlvbm9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zIDUwMG1zO1xufVxuXG5ib2R5LmxvY2F0aW9ub3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xvY2F0aW9ucyAuaGVhZGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgNTAwbXM7XG59XG5cbmJvZHkubG9jYXRpb25vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbG9jYXRpb25zIC5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gODAwbXMgNTAwbXM7XG59XG5cbmJvZHkubG9jYXRpb25vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbG9jYXRpb25zIC5sb2NhdGlvbi5vcGVuIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbmJvZHkubGlzdG9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lLCBib2R5Lmxpc3RvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcmVzaWRlbnRzLCBib2R5Lmxpc3RvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJvZ3JhbSwgYm9keS5saXN0b3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3ByZXNzLCBib2R5Lmxpc3RvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbG9jYXRpb25zIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG59XG5cbmJvZHkubGlzdG9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lIC5oZWFkZXIsIGJvZHkubGlzdG9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNyZXNpZGVudHMgLmhlYWRlciwgYm9keS5saXN0b3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Byb2dyYW0gLmhlYWRlciwgYm9keS5saXN0b3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3ByZXNzIC5oZWFkZXIsIGJvZHkubGlzdG9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMgLmhlYWRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4ycmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcbn1cblxuYm9keS5saXN0b3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2hvbWUgLmNvbnRlbnQsIGJvZHkubGlzdG9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNyZXNpZGVudHMgLmNvbnRlbnQsIGJvZHkubGlzdG9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNwcm9ncmFtIC5jb250ZW50LCBib2R5Lmxpc3RvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MgLmNvbnRlbnQsIGJvZHkubGlzdG9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMgLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC41cmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcbn1cblxuYm9keS5saXN0b3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xpc3Qge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtcyA1MDBtcztcbn1cblxuYm9keS5saXN0b3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xpc3QgLmhlYWRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIDUwMG1zO1xufVxuXG5ib2R5Lmxpc3RvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbGlzdCAuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDgwMG1zIDUwMG1zO1xufVxuXG5ib2R5Lmxpc3RvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbGlzdCB1bCBsaSBhIHNwYW4ge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjaG9tZSwgYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbGlzdCwgYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJvZ3JhbSwgYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MsIGJvZHkucmVzaWRlbnRzb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xvY2F0aW9ucyB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xufVxuXG5ib2R5LnJlc2lkZW50c29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lIC5oZWFkZXIsIGJvZHkucmVzaWRlbnRzb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xpc3QgLmhlYWRlciwgYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJvZ3JhbSAuaGVhZGVyLCBib2R5LnJlc2lkZW50c29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNwcmVzcyAuaGVhZGVyLCBib2R5LnJlc2lkZW50c29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMgLmhlYWRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4ycmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcbn1cblxuYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjaG9tZSAuY29udGVudCwgYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbGlzdCAuY29udGVudCwgYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJvZ3JhbSAuY29udGVudCwgYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MgLmNvbnRlbnQsIGJvZHkucmVzaWRlbnRzb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xvY2F0aW9ucyAuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjVyZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwMG1zO1xufVxuXG5ib2R5LnJlc2lkZW50c29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNyZXNpZGVudHMge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtcyA1MDBtcztcbn1cblxuYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcmVzaWRlbnRzIC5oZWFkZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHJlbSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA0MDBtcyA1MDBtcztcbn1cblxuYm9keS5yZXNpZGVudHNvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcmVzaWRlbnRzIC5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gODAwbXMgNTAwbXM7XG59XG5cbmJvZHkucHJvZ3JhbW9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lLCBib2R5LnByb2dyYW1vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbGlzdCwgYm9keS5wcm9ncmFtb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Jlc2lkZW50cywgYm9keS5wcm9ncmFtb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3ByZXNzLCBib2R5LnByb2dyYW1vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbG9jYXRpb25zIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG59XG5cbmJvZHkucHJvZ3JhbW9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lIC5oZWFkZXIsIGJvZHkucHJvZ3JhbW9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsaXN0IC5oZWFkZXIsIGJvZHkucHJvZ3JhbW9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNyZXNpZGVudHMgLmhlYWRlciwgYm9keS5wcm9ncmFtb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3ByZXNzIC5oZWFkZXIsIGJvZHkucHJvZ3JhbW9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMgLmhlYWRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4ycmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcbn1cblxuYm9keS5wcm9ncmFtb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2hvbWUgLmNvbnRlbnQsIGJvZHkucHJvZ3JhbW9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsaXN0IC5jb250ZW50LCBib2R5LnByb2dyYW1vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcmVzaWRlbnRzIC5jb250ZW50LCBib2R5LnByb2dyYW1vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MgLmNvbnRlbnQsIGJvZHkucHJvZ3JhbW9wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMgLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC41cmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcbn1cblxuYm9keS5wcm9ncmFtb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Byb2dyYW0ge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtcyA1MDBtcztcbn1cblxuYm9keS5wcm9ncmFtb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Byb2dyYW0gLmhlYWRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQwMG1zIDUwMG1zO1xufVxuXG5ib2R5LnByb2dyYW1vcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJvZ3JhbSAuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDgwMG1zIDUwMG1zO1xufVxuXG5ib2R5LnByZXNzb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2hvbWUsIGJvZHkucHJlc3NvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbGlzdCwgYm9keS5wcmVzc29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNyZXNpZGVudHMsIGJvZHkucHJlc3NvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJvZ3JhbSwgYm9keS5wcmVzc29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMge1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cblxuYm9keS5wcmVzc29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lIC5oZWFkZXIsIGJvZHkucHJlc3NvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbGlzdCAuaGVhZGVyLCBib2R5LnByZXNzb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Jlc2lkZW50cyAuaGVhZGVyLCBib2R5LnByZXNzb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Byb2dyYW0gLmhlYWRlciwgYm9keS5wcmVzc29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNsb2NhdGlvbnMgLmhlYWRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4ycmVtKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEyMDBtcztcbn1cblxuYm9keS5wcmVzc29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNob21lIC5jb250ZW50LCBib2R5LnByZXNzb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI2xpc3QgLmNvbnRlbnQsIGJvZHkucHJlc3NvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcmVzaWRlbnRzIC5jb250ZW50LCBib2R5LnByZXNzb3BlbiAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgI3Byb2dyYW0gLmNvbnRlbnQsIGJvZHkucHJlc3NvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjbG9jYXRpb25zIC5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuNXJlbSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMjAwbXM7XG59XG5cbmJvZHkucHJlc3NvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3Mge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA2MDBtcyA1MDBtcztcbn1cblxuYm9keS5wcmVzc29wZW4gI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ICNwcmVzcyAuaGVhZGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgNTAwbXM7XG59XG5cbmJvZHkucHJlc3NvcGVuICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCAjcHJlc3MgLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHJlbSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA4MDBtcyA1MDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAjY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuI2NvbnRlbnQtY29udGFpbmVyIG5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNzJweDtcbiAgbGVmdDogMTZweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDlweCAxMHB4IDExcHggMTBweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMnB4IDJweCA4cHggIzc4Nzg4MjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyIG5hdi5vcGVuIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciBuYXYgdWwgbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyIG5hdiB1bCBsaSBhIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgNjAwbXM7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciBuYXYgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmY0NjIzO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyIG5hdiB1bCBsaSBhLnNvY2lhbCA+IGksICNjb250ZW50LWNvbnRhaW5lciBuYXYgdWwgbGkgYS5zb2NpYWwgPiBzdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jY29udGVudC1jb250YWluZXIgbmF2IHVsIGxpIGEuc29jaWFsID4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jY29udGVudC1jb250YWluZXIgbmF2IHVsIGxpIGEuc29jaWFsID4gc3BhbiBpLCAjY29udGVudC1jb250YWluZXIgbmF2IHVsIGxpIGEuc29jaWFsID4gc3BhbiBzdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgI2NvbnRlbnQtY29udGFpbmVyIG5hdiB1bCBsaSBhLnNvY2lhbCA+IGksICNjb250ZW50LWNvbnRhaW5lciBuYXYgdWwgbGkgYS5zb2NpYWwgPiBzdmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAjY29udGVudC1jb250YWluZXIgbmF2IHVsIGxpIGEuc29jaWFsID4gc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgI2NvbnRlbnQtY29udGFpbmVyIG5hdiB1bCBsaSBhLnNvY2lhbCA+IGksICNjb250ZW50LWNvbnRhaW5lciBuYXYgdWwgbGkgYS5zb2NpYWwgPiBzdmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgI2NvbnRlbnQtY29udGFpbmVyIG5hdiB1bCBsaSBhLnNvY2lhbCA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgI2NvbnRlbnQtY29udGFpbmVyIG5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGZsZXg6IGF1dG8gMSAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAjY29udGVudC1jb250YWluZXIgbmF2IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgI2NvbnRlbnQtY29udGFpbmVyIG5hdiB1bCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICB9XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDMyMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24ge1xuICAgIHdpZHRoOiAzMjBweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiAuaGVhZGVyLCAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uIC5jb250ZW50IHtcbiAgcGFkZGluZzogOXB4IDEwcHggMTFweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAycHggMnB4IDhweCAjNzg3ODgyO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uIC5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDUycHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24gLmhlYWRlciBhLmNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uIC5oZWFkZXIgYS5jbG9zZSBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24gLmhlYWRlciBhLmNsb3NlIHNwYW46YmVmb3JlLCAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uIC5oZWFkZXIgYS5jbG9zZSBzcGFuOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgbGVmdDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA2MDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiAuaGVhZGVyIGEuY2xvc2Ugc3BhbjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtMXB4KSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiAuaGVhZGVyIGEuY2xvc2Ugc3BhbjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xcHgpIHJvdGF0ZSg0NWRlZyk7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24gLmhlYWRlciBhLmNsb3NlOmhvdmVyIHNwYW46YmVmb3JlLCAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uIC5oZWFkZXIgYS5jbG9zZTpob3ZlciBzcGFuOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDYyMztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiAuY29udGVudCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDg4cHgpO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI21pbmlmeSwgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI25hdi1zd2l0Y2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI25hdi1zd2l0Y2ggc3BhbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMnB4O1xuICBtYXJnaW46IC0xcHggMCAwIC0xMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDYwMG1zO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbmF2LXN3aXRjaCBzcGFuOmJlZm9yZSwgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI25hdi1zd2l0Y2ggc3BhbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMsIGJhY2tncm91bmQtY29sb3IgNjAwbXM7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jaG9tZSAuaGVhZGVyICNuYXYtc3dpdGNoIHNwYW46YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02cHgpO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbmF2LXN3aXRjaCBzcGFuOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jaG9tZSAuaGVhZGVyICNuYXYtc3dpdGNoOmhvdmVyIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NjIzO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMsIGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jaG9tZSAuaGVhZGVyICNuYXYtc3dpdGNoOmhvdmVyIHNwYW46YmVmb3JlLCAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbmF2LXN3aXRjaDpob3ZlciBzcGFuOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDYyMztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbmF2LXN3aXRjaDpob3ZlciBzcGFuOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtN3B4KTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI25hdi1zd2l0Y2g6aG92ZXIgc3BhbjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3cHgpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI25hdi1zd2l0Y2gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI21pbmlmeSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbWluaWZ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbWluaWZ5IHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMsIGJhY2tncm91bmQtY29sb3IgNjAwbXM7XG4gIH1cbiAgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI21pbmlmeSBzcGFuOmJlZm9yZSwgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI21pbmlmeSBzcGFuOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMXB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcywgYmFja2dyb3VuZC1jb2xvciA2MDBtcztcbiAgfVxuICAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbWluaWZ5IHNwYW46YmVmb3JlIHtcbiAgICByaWdodDogLTFweDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuICAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbWluaWZ5IHNwYW46YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG4gICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jaG9tZSAuaGVhZGVyICNtaW5pZnk6aG92ZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDYyMztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTZweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuICB9XG4gICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jaG9tZSAuaGVhZGVyICNtaW5pZnk6aG92ZXIgc3BhbjpiZWZvcmUsICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jaG9tZSAuaGVhZGVyICNtaW5pZnk6aG92ZXIgc3BhbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDYyMztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMsIGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG4gIH1cbiAgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI21pbmlmeTpob3ZlciBzcGFuOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ3LjVkZWcpO1xuICB9XG4gICNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jaG9tZSAuaGVhZGVyICNtaW5pZnk6aG92ZXIgc3BhbjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDcuNWRlZyk7XG4gIH1cbiAgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI21pbmlmeS5taW5pZmllZCBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTtcbiAgfVxuICAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmhlYWRlciAjbWluaWZ5Lm1pbmlmaWVkIHNwYW46YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5oZWFkZXIgI21pbmlmeS5taW5pZmllZCBzcGFuOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jaG9tZSAuY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAjY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5jb250ZW50IGRpdi5hYm91dCB7XG4gIHBhZGRpbmc6IDAgMTBweCAxMXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2hvbWUgLmNvbnRlbnQgZGl2LmFib3V0IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNob21lIC5jb250ZW50IGRpdi5hYm91dCBzcGFuOmxhc3QtY2hpbGQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsaXN0IHVsIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsaXN0IHVsIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2xpc3QgdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciA2MDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsaXN0IHVsIGxpIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmNDYyMztcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jbGlzdCB1bCBsaSBzcGFuLmluZGV4IHtcbiAgd2lkdGg6IDEuNnJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsaXN0IHVsIGxpIHNwYW4uYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2xvY2F0aW9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsb2NhdGlvbnMgLmxvY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsb2NhdGlvbnMgLmxvY2F0aW9uLm9wZW4ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDYwMG1zIDIwMG1zO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2xvY2F0aW9ucyAubG9jYXRpb24gLmNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2xvY2F0aW9ucyAubG9jYXRpb24gLmNvbnRlbnQgLnBvc3Rlci10b3Agc3ZnIC5wb3N0ZXItbGV0dGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsb2NhdGlvbnMgLmxvY2F0aW9uIC5jb250ZW50IC5wb3N0ZXItdG9wIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW46IC0yMHB4IDAgMCAtMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jbG9jYXRpb25zIC5sb2NhdGlvbiAuY29udGVudCAubG9jYXRpb24tZGF0YSB7XG4gIHBhZGRpbmc6IDAgMTBweCAxMXB4IDEwcHg7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jbG9jYXRpb25zIC5sb2NhdGlvbiAuY29udGVudCAubG9jYXRpb24tZGF0YSA+IGRpdiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNsb2NhdGlvbnMgLmxvY2F0aW9uIC5jb250ZW50IC5sb2NhdGlvbi1kYXRhID4gZGl2IHNwYW4ubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEuMTUpO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI2xvY2F0aW9ucyAubG9jYXRpb24gLmNvbnRlbnQgLmxvY2F0aW9uLWRhdGEgPiBkaXYgKyBkaXYge1xuICBtYXJnaW4tdG9wOiAxLjFyZW07XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jcmVzaWRlbnRzIC5sZXR0ZXIgKyAubGV0dGVyIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNyZXNpZGVudHMgLmxldHRlciA+IHNwYW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNyZXNpZGVudHMgLmxldHRlciBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBjb2xvciA2MDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNyZXNpZGVudHMgLmxldHRlciBhIHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdG9wOiAtMC4zcmVtO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuMTVyZW07XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jcmVzaWRlbnRzIC5sZXR0ZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmY0NjIzO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcm9ncmFtIC5kYXktY29udGFpbmVyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcm9ncmFtIC5kYXktY29udGFpbmVyID4gc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI3Byb2dyYW0gLmV2ZW50ICsgLmV2ZW50IHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcm9ncmFtIC5ldmVudCA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcm9ncmFtIC5ldmVudCA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW4tdG9wOiAwLjE1cmVtO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI3Byb2dyYW0gLmV2ZW50ID4gZGl2IHN0cm9uZyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jcHJvZ3JhbSAuZXZlbnQgPiBkaXYgcCwgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcm9ncmFtIC5ldmVudCA+IGRpdiB1bCwgI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcm9ncmFtIC5ldmVudCA+IGRpdiBvbCB7XG4gIG1heC13aWR0aDogMzIwcHg7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jcHJvZ3JhbSAuZXZlbnQgPiBkaXYgcCArIHAge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jcHJlc3MgLndyYXAgPiBkaXYge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI3ByZXNzIC53cmFwID4gZGl2Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI3ByZXNzIC5kb3dubG9hZHMge1xuICBmb250LXNpemU6IDAuN3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcmVzcyAuZG93bmxvYWRzIGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDYwMG1zO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI3ByZXNzIC5kb3dubG9hZHMgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmY0NjIzO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcmVzcyAuZG93bmxvYWRzIGE6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jcHJlc3MgLmNvbnRhY3Qge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luLXRvcDogMC4xNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4xNXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcmVzcyAuYWJvdXQgcCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMTVyZW07XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jcHJlc3MgLmFib3V0IHA6Zmlyc3QtY2hpbGQge1xuICB0ZXh0LWluZGVudDogMDtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcmVzcyAuYWJvdXQgcCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiNjb250ZW50LWNvbnRhaW5lciAjY29udGVudCA+IHNlY3Rpb24jcHJlc3MgLnBhcnRuZXJzIHtcbiAgbWFyZ2luLXRvcDogNXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcmVzcyAucGFydG5lcnMgZGl2IHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI3ByZXNzIC5wYXJ0bmVycyBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogNDhweDtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcmVzcyAucGFydG5lcnMgI2xvZ28tYnJubyB7XG4gIGhlaWdodDogMjJweDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbn1cblxuI2NvbnRlbnQtY29udGFpbmVyICNjb250ZW50ID4gc2VjdGlvbiNwcmVzcyAucGFydG5lcnMgI2xvZ28tdnV0IHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xufVxuXG4jY29udGVudC1jb250YWluZXIgI2NvbnRlbnQgPiBzZWN0aW9uI3ByZXNzIC5wYXJ0bmVycyBwIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG59XG5cbi5tYXJrZXIge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubWFya2VyIC5jaXJjbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMxcHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gODAwbXMsIGJveC1zaGFkb3cgODAwbXM7XG59XG5cbi5tYXJrZXIgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMWVtO1xuICBtYXJnaW4tbGVmdDogLTAuMTVlbTtcbn1cblxuLm1hcmtlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNnB4O1xuICBsZWZ0OiAtNnB4O1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0NjIzO1xuICBib3gtc2hhZG93OiAycHggNnB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA4MDBtcztcbn1cblxuLm1hcmtlcjpob3ZlciAuY2lyY2xlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpO1xuICBib3gtc2hhZG93OiAycHggMTBweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMsIGJveC1zaGFkb3cgMjAwbXM7XG59XG5cbi5tYXJrZXI6aG92ZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KSB0cmFuc2xhdGVZKC0ycHgpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7XG59XG5cbiNtYXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNtYXAtY29udGFpbmVyICNtYXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuI21hcC1jb250YWluZXIgI21hcCAubWFwYm94Z2wtY3RybC1ib3R0b20tbGVmdCAubWFwYm94Z2wtY3RybCB7XG4gIG1hcmdpbjogMCAwIDZweCA2cHg7XG59XG5cbiNtYXAtY29udGFpbmVyICNtYXAgYS5tYXBib3hnbC1jdHJsLWxvZ28ge1xuICBoZWlnaHQ6IDE4cHg7XG59XG5cbiNtYXAtY29udGFpbmVyICNtYXAgLm1hcGJveGdsLWN0cmwtYXR0cmliLm1hcGJveGdsLWNvbXBhY3Qge1xuICBtYXJnaW46IDAgM3B4IDRweCAwO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5wc3dwX191aS0tZml0IC5wc3dwX190b3AtYmFyLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLWxlZnQ6YmVmb3JlLFxuLnBzd3BfX2J1dHRvbi0tYXJyb3ctLXJpZ2h0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucHN3cF9faW1nLS1wbGFjZWhvbGRlci0tYmxhbmsge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnBzd3BfX3ByZWxvYWRlciB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTIycHggMCAwIC0yMnB4O1xufVxuXG4ucHN3cC0tem9vbS1hbGxvd2VkIC5wc3dwX19pbWcge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5wc3dwX19jb3VudGVyIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucHN3cF9fYnV0dG9uIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLnBzd3BfX2J1dHRvbi0tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIycHg7XG59XG5cbi5wc3dwIGltZyB7XG4gIHBhZGRpbmc6IDQ0cHg7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgQXV0aG9yOiBSYWZhbCBCcm9taXJza2lcbi8vICB3d3c6IGh0dHA6Ly9wYXJhbm9pZGEuY29tL1xuLy8gIHR3aXR0ZXI6IGh0dHA6Ly90d2l0dGVyLmNvbS9wYXJhbm9pZGFcbi8vICBkcmliYmJsZTogaHR0cDovL2RyaWJiYmxlLmNvbS9wYXJhbm9pZGFcbi8vXG4vLyAgTGljZW5zZWQgdW5kZXIgYSBNSVQgTGljZW5zZVxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIFJlcXVpcmVtZW50czpcbi8vICAgU2FzcyAzLjIuMCtcbi8vXG4vLyAgVmVyc2lvbjpcbi8vICAgMS4zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBkZXZlbG9wZWQgb24gMTQvMTEvMjAxM1xuLy9cbi8vIE1peGluczpcbi8vICAgQCBtaW4tc2NyZWVuKHdpZHRoKSAgICAgICAgICAgICAgICAgICAgICAvLyBzaG9ydGN1dCBmb3IgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aCAuLi4pXG4vLyAgIEAgbWF4LXNjcmVlbih3aWR0aCkgICAgICAgICAgICAgICAgICAgICAgLy8gc2hvcnRjdXQgZm9yIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGggLi4uKVxuLy8gICBAIHNjcmVlbihtaW4td2lkdGgsIG1heC13aWR0aCkgICAgICAgICAgIC8vIHNob3J0Y3V0IGZvciBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoIC4uLikgYW5kIChtYXgtd2lkdGggLi4uKVxuLy8gICAtLS1cbi8vICAgQCBtaW4tc2NyZWVuLWhlaWdodChoZWlnaHQpICAgICAgICAgICAgICAvLyBzaG9ydGN1dCBmb3IgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQgLi4uKVxuLy8gICBAIG1heC1zY3JlZW4taGVpZ2h0KGhlaWdodCkgICAgICAgICAgICAgIC8vIHNob3J0Y3V0IGZvciBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodCAuLi4pXG4vLyAgIEAgc2NyZWVuLWhlaWdodChtaW4taGVpZ2h0LCBtYXgtaGVpZ2h0KSAgLy8gc2hvcnRjdXQgZm9yIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0IC4uLikgYW5kIChtYXgtaGVpZ2h0IC4uLilcbi8vICAgLS0tXG4vLyAgIEAgaXBob25lMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGhvbmUgKDIsIDNHLCAzR1MpIGxhbmRzY2FwZSAmIHBvcnRyYWl0XG4vLyAgIEAgaXBob25lMyhsYW5kc2NhcGUpICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGhvbmUgKDIsIDNHLCAzR1MpIG9ubHkgbGFuZHNjYXBlXG4vLyAgIEAgaXBob25lMyhwb3J0cmFpdCkgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGhvbmUgKDIsIDNHLCAzR1MpIG9ubHkgcG9ydHJhaXRcbi8vICAgLS0tXG4vLyAgIEAgaXBob25lNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGhvbmUgKDQsIDRTKSBsYW5kc2NhcGUgJiBwb3J0cmFpdFxuLy8gICBAIGlwaG9uZTQobGFuZHNjYXBlKSAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBob25lICg0LCA0Uykgb25seSBsYW5kc2NhcGVcbi8vICAgQCBpcGhvbmU0KHBvcnRyYWl0KSAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IGlQaG9uZSAoNCwgNFMpIG9ubHkgcG9ydHJhaXRcbi8vICAgLS0tXG4vLyAgIEAgaXBob25lNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGhvbmUgKDUpIGxhbmRzY2FwZSAmIHBvcnRyYWl0XG4vLyAgIEAgaXBob25lNShsYW5kc2NhcGUpICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGhvbmUgKDUpIG9ubHkgbGFuZHNjYXBlXG4vLyAgIEAgaXBob25lNShwb3J0cmFpdCkgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGhvbmUgKDUpIG9ubHkgcG9ydHJhaXRcbi8vICAgLS0tXG4vLyAgIEAgaXBhZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWxsIGlQYWRzICgxLCAyLCAzLCA0LCBNaW5pKSBsYW5kc2NhcGUgJiBwb3J0cmFpdFxuLy8gICBAIGlwYWQobGFuZHNjYXBlKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFsbCBpUGFkcyAoMSwgMiwgMywgNCwgTWluaSkgb25seSBsYW5kc2NhcGVcbi8vICAgQCBpcGFkKHBvcnRyYWl0KSAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbGwgaVBhZHMgKDEsIDIsIDMsIDQsIE1pbmkpIG9ubHkgcG9ydHJhaXRcbi8vICAgLS0tXG4vLyAgIEAgaXBhZC1yZXRpbmEgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSBpUGFkICgzLCA0KSBsYW5kc2NhcGUgJiBwb3J0cmFpdFxuLy8gICBAIGlwYWQtcmV0aW5hKGxhbmRzY2FwZSkgICAgICAgICAgICAgICAgIC8vIG9ubHkgaVBhZCAoMywgNCkgb25seSBsYW5kc2NhcGVcbi8vICAgQCBpcGFkLXJldGluYShwb3J0cmFpdCkgICAgICAgICAgICAgICAgICAvLyBvbmx5IGlQYWQgKDMsIDQpIG9ubHkgcG9ydHJhaXRcbi8vICAgLS0tXG4vLyAgIEAgaGRwaShyYXRpbykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZGV2aWNlcyB3aXRoIGhpZHBpIGRpc3BsYXlzIChkZWZhdWx0IHJhdGlvOiAxLjMpXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tIHNjcmVlbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHNjcmVlbigkcmVzTWluLCAkcmVzTWF4KVxue1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcmVzTWluKSBhbmQgKG1heC13aWR0aDogJHJlc01heClcbiAge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtYXgtc2NyZWVuKCRyZXMpXG57XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRyZXMpXG4gIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWluLXNjcmVlbigkcmVzKVxue1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkcmVzKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHNjcmVlbi1oZWlnaHQoJHJlc01pbiwgJHJlc01heClcbntcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6ICRyZXNNaW4pIGFuZCAobWF4LWhlaWdodDogJHJlc01heClcbiAge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtYXgtc2NyZWVuLWhlaWdodCgkcmVzKVxue1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogJHJlcylcbiAge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtaW4tc2NyZWVuLWhlaWdodCgkcmVzKVxue1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLWhlaWdodDogJHJlcylcbiAge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tIGhkcGkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFzZWQgb24gYm91cmJvbiBoaWRwaS1tZWRpYS1xdWVyaWVzIGZpbGUgKGh0dHBzOi8vZ2l0aHViLmNvbS90aG91Z2h0Ym90L2JvdXJib24vYmxvYi9tYXN0ZXIvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19oaWRwaS1tZWRpYS1xdWVyeS5zY3NzKVxuLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuXG5AbWl4aW4gaGRwaSgkcmF0aW86IDEuMylcbntcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7cm91bmQoJHJhdGlvKjk2KX1kcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0gaXBob25lIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaXBob25lMygkb3JpZW50YXRpb246IGFsbClcbntcbiAgJGRldmljZU1pbldpZHRoOiAzMjBweDtcbiAgJGRldmljZU1heFdpZHRoOiA0ODBweDtcbiAgJGRldmljZVBpeGVsUmF0aW86IDE7XG5cbiAgQGlmICRvcmllbnRhdGlvbiA9PSBhbGxcbiAge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNaW5XaWR0aCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWF4V2lkdGgpXG4gICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogJGRldmljZVBpeGVsUmF0aW8pXG4gICAge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlXG4gIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWluV2lkdGgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJGRldmljZU1heFdpZHRoKVxuICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86ICRkZXZpY2VQaXhlbFJhdGlvKSBhbmQgKG9yaWVudGF0aW9uOiN7JG9yaWVudGF0aW9ufSlcbiAgICB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0gaXBob25lLXJldGluYSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaXBob25lNCgkb3JpZW50YXRpb246IGFsbClcbntcbiAgJGRldmljZU1pbldpZHRoOiAzMjBweDtcbiAgJGRldmljZU1heFdpZHRoOiA0ODBweDtcbiAgJGRldmljZVBpeGVsUmF0aW86IDI7XG4gICRkZXZpY2VBc3BlY3RSYXRpbzogJzIvMyc7XG5cbiAgQGlmICRvcmllbnRhdGlvbiA9PSBhbGxcbiAge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNaW5XaWR0aCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWF4V2lkdGgpXG4gICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogJGRldmljZVBpeGVsUmF0aW8pIGFuZCAoZGV2aWNlLWFzcGVjdC1yYXRpbzogJGRldmljZUFzcGVjdFJhdGlvKVxuICAgIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZVxuICB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogJGRldmljZU1pbldpZHRoKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNYXhXaWR0aClcbiAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAkZGV2aWNlUGl4ZWxSYXRpbykgYW5kIChkZXZpY2UtYXNwZWN0LXJhdGlvOiAyLzMpIGFuZCAob3JpZW50YXRpb246I3skb3JpZW50YXRpb259KVxuICAgIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLSBpcGhvbmUtNSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBpcGhvbmU1KCRvcmllbnRhdGlvbjogYWxsKVxue1xuICAkZGV2aWNlTWluV2lkdGg6IDMyMHB4O1xuICAkZGV2aWNlTWF4V2lkdGg6IDU2OHB4O1xuICAkZGV2aWNlUGl4ZWxSYXRpbzogMjtcbiAgJGRldmljZUFzcGVjdFJhdGlvOiAnNDAvNzEnO1xuXG4gIEBpZiAkb3JpZW50YXRpb24gPT0gYWxsXG4gIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWluV2lkdGgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJGRldmljZU1heFdpZHRoKVxuICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86ICRkZXZpY2VQaXhlbFJhdGlvKSBhbmQgKGRldmljZS1hc3BlY3QtcmF0aW86ICRkZXZpY2VBc3BlY3RSYXRpbylcbiAgICB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2VcbiAge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNaW5XaWR0aCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWF4V2lkdGgpXG4gICAgYW5kICgtd2Via2l0LWRldmljZS1waXhlbC1yYXRpbzogJGRldmljZVBpeGVsUmF0aW8pIGFuZCAoZGV2aWNlLWFzcGVjdC1yYXRpbzogJGRldmljZUFzcGVjdFJhdGlvKSBhbmQgKG9yaWVudGF0aW9uOiN7JG9yaWVudGF0aW9ufSlcbiAgICB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0gaXBhZHMgKGFsbCkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaXBhZCgkb3JpZW50YXRpb246IGFsbClcbntcbiAgJGRldmljZU1pbldpZHRoOiA3NjhweDtcbiAgJGRldmljZU1heFdpZHRoOiAxMDI0cHg7XG5cbiAgQGlmICRvcmllbnRhdGlvbiA9PSBhbGxcbiAge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNaW5XaWR0aCkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWF4V2lkdGgpXG4gICAge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlXG4gIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWluV2lkdGgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJGRldmljZU1heFdpZHRoKVxuICAgIGFuZCAob3JpZW50YXRpb246I3skb3JpZW50YXRpb259KVxuICAgIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLSBpcGFkLXJldGluYSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBpcGFkLXJldGluYSgkb3JpZW50YXRpb246IGFsbClcbntcbiAgJGRldmljZU1pbldpZHRoOiA3NjhweDtcbiAgJGRldmljZU1heFdpZHRoOiAxMDI0cHg7XG4gICRkZXZpY2VQaXhlbFJhdGlvOiAyO1xuXG4gIEBpZiAkb3JpZW50YXRpb24gPT0gYWxsXG4gIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkZGV2aWNlTWluV2lkdGgpIGFuZCAobWF4LWRldmljZS13aWR0aDogJGRldmljZU1heFdpZHRoKVxuICAgIGFuZCAoLXdlYmtpdC1kZXZpY2UtcGl4ZWwtcmF0aW86ICRkZXZpY2VQaXhlbFJhdGlvKVxuICAgIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZVxuICB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogJGRldmljZU1pbldpZHRoKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6ICRkZXZpY2VNYXhXaWR0aClcbiAgICBhbmQgKC13ZWJraXQtZGV2aWNlLXBpeGVsLXJhdGlvOiAkZGV2aWNlUGl4ZWxSYXRpbykgYW5kIChvcmllbnRhdGlvbjojeyRvcmllbnRhdGlvbn0pXG4gICAge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllczogYWxsLCAkZHVyYXRpb246IC4zcywgJGVhc2luZzogZWFzZS1vdXQpIHtcbkBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID4gMSB7XG50cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydGllcztcbnRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbnRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZWFzaW5nO1xufSBAZWxzZSB7XG50cmFuc2l0aW9uOiAkcHJvcGVydGllcyAkZHVyYXRpb24gJGVhc2luZztcbn1cbn1cblxuXG5cblxuXG4iXX0= */
