/*
	Theme Name: Gaping Void
	Description: Gapingvoid.com Child theme of Genesis, by <a href="http://cgd.io">Clif Griffin Development Inc</a>.
	Author: Clif Griffin Development Inc.
	Author URI: http://cgd.io

	Template: genesis
*/
@import url(assets/components/normalize.css/normalize.css);

@font-face {
    font-family: 'avenir';
    src: url('/content/themes/gapingvoid/fonts/avenirltstd-book-webfont.eot');
    src: url('/content/themes/gapingvoid/fonts/avenirltstd-book-webfont.eot?#iefix') format('embedded-opentype'),
         url('/content/themes/gapingvoid/fonts/avenirltstd-book-webfont.woff2') format('woff2'),
         url('/content/themes/gapingvoid/fonts/avenirltstd-book-webfont.woff') format('woff'),
         url('/content/themes/gapingvoid/fonts/avenirltstd-book-webfont.ttf') format('truetype'),
         url('/content/themes/gapingvoid/fonts/avenirltstd-book-webfont.svg#aventurabold') format('svg');
    font-weight: normal;
    font-style: normal;
 
}

@font-face {
    font-family: 'avenir';
    src: url('/content/themes/gapingvoid/fonts/avenirltstd-black-webfont.eot');
    src: url('/content/themes/gapingvoid/fonts/avenirltstd-black-webfont.eot?#iefix') format('embedded-opentype'),
         url('/content/themes/gapingvoid/fonts/avenirltstd-black-webfont.woff2') format('woff2'),
         url('/content/themes/gapingvoid/fonts/avenirltstd-black-webfont.woff') format('woff'),
         url('/content/themes/gapingvoid/fonts/avenirltstd-black-webfont.ttf') format('truetype'),
         url('/content/themes/gapingvoid/fonts/avenirltstd-black-webfont.svg#aventurabold') format('svg');
    font-weight: 600;
    font-style: normal;
 
}

button, input[type="button"], input[type="reset"], input[type="submit"],
.button,
.adjacent-entry-pagination .pagination-previous a,
.adjacent-entry-pagination .pagination-next a {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #5BAFFD;
  border: 0;
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: inline-block;
  font-family: "avenir", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 18px;
  -webkit-font-smoothing: antialiased;
  font-weight: 600;
  line-height: 1;
  padding: 0.75em 1.5em;
  text-decoration: none;
  transition: background-color 300ms ease;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: middle;
  white-space: nowrap; }
  button:hover, button:focus, input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover, input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:focus,
  .button:hover,
  .button:focus,
  .adjacent-entry-pagination .pagination-previous a:hover,
  .adjacent-entry-pagination .pagination-previous a:focus,
  .adjacent-entry-pagination .pagination-next a:hover,
  .adjacent-entry-pagination .pagination-next a:focus {
    background-color: #f6ead6;
    color: #111627; }
  button:disabled, input[type="button"]:disabled, input[type="reset"]:disabled, input[type="submit"]:disabled,
  .button:disabled,
  .adjacent-entry-pagination .pagination-previous a:disabled,
  .adjacent-entry-pagination .pagination-next a:disabled {
    cursor: not-allowed;
    opacity: 0.5; }
    button:disabled:hover, input[type="button"]:disabled:hover, input[type="reset"]:disabled:hover, input[type="submit"]:disabled:hover,
    .button:disabled:hover,
    .adjacent-entry-pagination .pagination-previous a:disabled:hover,
    .adjacent-entry-pagination .pagination-next a:disabled:hover {
      background-color: #4a90e2; }
  button a, input[type="button"] a, input[type="reset"] a, input[type="submit"] a,
  .button a,
  .adjacent-entry-pagination .pagination-previous a a,
  .adjacent-entry-pagination .pagination-next a a {
    color: white; }
    button a:hover, input[type="button"] a:hover, input[type="reset"] a:hover, input[type="submit"] a:hover,
    .button a:hover,
    .adjacent-entry-pagination .pagination-previous a a:hover,
    .adjacent-entry-pagination .pagination-next a a:hover {
      color: white; }
  button.large, input[type="button"].large, input[type="reset"].large, input[type="submit"].large,
  .button.large,
  .adjacent-entry-pagination .pagination-previous a.large,
  .adjacent-entry-pagination .pagination-next a.large {
    padding: 0.9375em 3em;
    font-size: 1.25rem; }

fieldset {
  background-color: transparent;
  border: 0;
  margin: 0;
  padding: 0; }

legend {
  font-weight: 600;
  margin-bottom: 0.375em;
  padding: 0; }

label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.375em; }

input,
select {
  display: block;
  font-family: "avenir", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 18px; }

input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="email"], input[type="month"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="time"], input[type="url"], input[type="week"], textarea,
select[multiple] {
  background-color: #f4f4f4;
  border: 1px solid #ababab;
  border-radius: 5px;
  box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
  font-family: "avenir", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 18px;
  margin-bottom: 0.75em;
  padding: 0.5em;
  transition: border-color 300ms ease;
  width: 100%; }
  input[type="color"]:hover, input[type="date"]:hover, input[type="datetime"]:hover, input[type="datetime-local"]:hover, input[type="email"]:hover, input[type="month"]:hover, input[type="number"]:hover, input[type="password"]:hover, input[type="search"]:hover, input[type="tel"]:hover, input[type="text"]:hover, input[type="time"]:hover, input[type="url"]:hover, input[type="week"]:hover, textarea:hover,
  select[multiple]:hover {
    border-color: #898989; }
  input[type="color"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="email"]:focus, input[type="month"]:focus, input[type="number"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="text"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="week"]:focus, textarea:focus,
  select[multiple]:focus {
    border-color: #4a90e2;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.06), 0 0 5px rgba(52, 131, 222, 0.7);
    outline: none; }
  input[type="color"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="email"]:disabled, input[type="month"]:disabled, input[type="number"]:disabled, input[type="password"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="text"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="week"]:disabled, textarea:disabled,
  select[multiple]:disabled {
    background-color: #e8e8e8;
    cursor: not-allowed; }
    input[type="color"]:disabled:hover, input[type="date"]:disabled:hover, input[type="datetime"]:disabled:hover, input[type="datetime-local"]:disabled:hover, input[type="email"]:disabled:hover, input[type="month"]:disabled:hover, input[type="number"]:disabled:hover, input[type="password"]:disabled:hover, input[type="search"]:disabled:hover, input[type="tel"]:disabled:hover, input[type="text"]:disabled:hover, input[type="time"]:disabled:hover, input[type="url"]:disabled:hover, input[type="week"]:disabled:hover, textarea:disabled:hover,
    select[multiple]:disabled:hover {
      border: 1px solid #ababab; }

textarea {
  resize: vertical; }

[type="search"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }

[type="checkbox"],
[type="radio"] {
  display: inline;
  margin-right: 0.375em; }

[type="file"] {
  margin-bottom: 0.75em;
  width: 100%; }

select {
  margin-bottom: 1.5em;
  max-width: 100%;
  width: auto; }

ul,
ol {
  list-style-position: inside;
  margin: 0;
  margin-bottom: 0.75em;
  padding: 0; }
  ul.menu,
  ol.menu {
    margin-bottom: 0; }

dl {
  margin-bottom: 0.75em; }
  dl dt {
    font-weight: 600;
    margin-top: 0.75em; }
  dl dd {
    margin: 0; }

table {
  border-collapse: collapse;
  margin: 0.75em 0;
  table-layout: fixed;
  width: 100%; }

th {
  border-bottom: 1px solid gray;
  font-weight: 600;
  padding: 0.75em 0;
  text-align: left; }

td {
  border-bottom: 1px solid #ababab;
  padding: 0.75em 0; }

tr,
td,
th {
  vertical-align: middle; }

body {
  color: #111627;
  font-family: "avenir", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  max-width: 2000px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); }
  body.menu-visible, body.search-visible {
    overflow: hidden; }
    body.menu-visible .site-inner, body.search-visible .site-inner {}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "avenir", "Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;
  font-size: 18px;
  line-height: 1.2;
  margin-top: 1.5em;
  margin-bottom: 0.525em;
  font-weight: bold; }

h1 {
  font-size: 40.5px; }

h2 {
  font-size: 36px; }

h3 {
  font-size: 31.5px; }

h4 {
  font-size: 27px; }

h5 {
  font-size: 22.5px; }

h6 {
  font-size: 22.5px; }

.mega-header {
  font-size: 60px; }

p,
li {
  margin: 0 0 0.75em;
  font-size: 1.125rem; }

a {
  color: #111627;
  text-decoration: none;
  transition: color 300ms ease; }
  a:active, a:focus, a:hover {
    color: #386caa; }

hr {
  border-bottom: 1px solid #ababab;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  margin: 1.5em 0; }

img,
picture {
  margin: 0;
  max-width: 100%; }

.font-large {
  font-size: 1.25rem;
  line-height: 1.2; }
  @media (min-width: 900px) {
    .font-large {
      font-size: 1.375rem; } }

.font-xl {
  font-size: 1.375rem;
  line-height: 1.2; }
  @media (min-width: 900px) {
    .font-xl {
      font-size: 1.5rem; } }

.font-2xl {
  font-size: 1.5rem;
  line-height: 1.2; }
  @media (min-width: 900px) {
    .font-2xl {
      font-size: 1.75rem; } }

.font-3xl {
  font-size: 1.75rem;
  line-height: 1.2; }
  @media (min-width: 900px) {
    .font-3xl {
      font-size: 2rem; } }

.font-4xl {
  font-size: 2rem;
  line-height: 1.2; }
  @media (min-width: 900px) {
    .font-4xl {
      font-size: 2.25rem; } }

.font-5xl {
  font-size: 2.25rem;
  line-height: 1.2; }
  @media (min-width: 900px) {
    .font-5xl {
      font-size: 2.5rem; } }

.lmb0 > :last-child, .home-slider-content > :last-child, .page-hero .page-hero-content > :last-child, .content-section.fifty-fifty .fifty-fifty-content > :last-child {
  margin-bottom: 0; }

.fmt0 > :first-child, .home-slider-content > :first-child, .page-hero .page-hero-content > :first-child, .content-section.fifty-fifty .fifty-fifty-content > :first-child {
  margin-top: 0; }

.mt1 {
  margin-top: 1.5em; }

.mb1 {
  margin-bottom: 1.5em; }

.mt0 {
  margin-top: 0; }

.m0 {
  margin: 0; }

.tac {
  text-align: center; }

.text-white {
	color: white; }

html {
  box-sizing: border-box;}

html,body {padding: 0; margin: 0; overflow-x: hidden;
}

@media (min-width : 600px) {
html,body {
	margin: auto;
}		
}

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

/* ## Site Containers
--------------------------------------------- */
.site-inner:not(.full),
.wrap {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  width: 95%; }
  .site-inner:not(.full)::after,
  .wrap::after {
    clear: both;
    content: "";
    display: table; }

.blog .site-inner:not(.full) {
  max-width: 2000px;
  margin-left: auto;
  margin-right: auto; }
  .blog .site-inner:not(.full)::after {
    clear: both;
    content: "";
    display: table; }
  .blog .site-inner:not(.full) > .wrap {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    .blog .site-inner:not(.full) > .wrap::after {
      clear: both;
      content: "";
      display: table; }

.site-inner {
  background: white;
  position: relative;
  z-index: 10; }

@media screen and (min-width: 900px) {
  .page-banner .wrap,
  .page .entry-content,
  .page .content,
  .page .entry-header {
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
    padding: 0; }
    .page-banner .wrap::after,
    .page .entry-content::after,
    .page .content::after,
    .page .entry-header::after {
      clear: both;
      content: "";
      display: table; } }

.page-banner .wrap > :last-child,
.page .entry-content > :last-child,
.page .content > :last-child,
.page .entry-header > :last-child {
  margin-bottom: 0; }

.page-banner .wrap > :first-child,
.page .entry-content > :first-child,
.page .content > :first-child,
.page .entry-header > :first-child {
  margin-top: 0; }

.page .content {
  display: block;
  margin: 0 auto;
  float: none; }

/* ## Column Widths and Positions
--------------------------------------------- */
.content,
.sidebar-primary,
.full-width .content {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0; }
  .content:last-child,
  .sidebar-primary:last-child,
  .full-width .content:last-child {
    margin-right: 0; }

@media screen and (min-width: 900px) {
  .content-sidebar .content-sidebar-wrap,
  .sidebar-content .content-sidebar-wrap,
  .full-width-content .content-sidebar-wrap {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 100%;
    margin-right: 0; }
    .content-sidebar .content-sidebar-wrap:last-child,
    .sidebar-content .content-sidebar-wrap:last-child,
    .full-width-content .content-sidebar-wrap:last-child {
      margin-right: 0; }
  .full-width-content .content-sidebar-wrap .content {
    display: block;
    margin: 0 auto;
    float: none; }
  .content-sidebar .content-sidebar-wrap .content {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%; }
    .content-sidebar .content-sidebar-wrap .content:last-child {
      margin-right: 0; }
  .content-sidebar .content-sidebar-wrap .sidebar-primary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%;
    margin-right: 0; }
    .content-sidebar .content-sidebar-wrap .sidebar-primary:last-child {
      margin-right: 0; }
  .sidebar-content .content-sidebar-wrap .content {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%;
    margin-right: 0;
    float: right; }
    .sidebar-content .content-sidebar-wrap .content:last-child {
      margin-right: 0; }
  .sidebar-content .content-sidebar-wrap .sidebar-primary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .sidebar-content .content-sidebar-wrap .sidebar-primary:last-child {
      margin-right: 0; }
    .sidebar-content .content-sidebar-wrap .sidebar-primary:last-child {
      margin-right: 2.35765%; }
  .content-sidebar-sidebar .content-sidebar-wrap,
  .sidebar-sidebar-content .content-sidebar-wrap,
  .sidebar-content-sidebar .content-sidebar-wrap {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%; }
    .content-sidebar-sidebar .content-sidebar-wrap:last-child,
    .sidebar-sidebar-content .content-sidebar-wrap:last-child,
    .sidebar-content-sidebar .content-sidebar-wrap:last-child {
      margin-right: 0; }
    .content-sidebar-sidebar .content-sidebar-wrap .content,
    .sidebar-sidebar-content .content-sidebar-wrap .content,
    .sidebar-content-sidebar .content-sidebar-wrap .content {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 65.61052%; }
      .content-sidebar-sidebar .content-sidebar-wrap .content:last-child,
      .sidebar-sidebar-content .content-sidebar-wrap .content:last-child,
      .sidebar-content-sidebar .content-sidebar-wrap .content:last-child {
        margin-right: 0; }
    .content-sidebar-sidebar .content-sidebar-wrap .sidebar-primary,
    .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary,
    .sidebar-content-sidebar .content-sidebar-wrap .sidebar-primary {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 31.22104%;
      margin-right: 0; }
      .content-sidebar-sidebar .content-sidebar-wrap .sidebar-primary:last-child,
      .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary:last-child,
      .sidebar-content-sidebar .content-sidebar-wrap .sidebar-primary:last-child {
        margin-right: 0; }
  .content-sidebar-sidebar .sidebar-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%;
    margin-right: 0; }
    .content-sidebar-sidebar .sidebar-secondary:last-child {
      margin-right: 0; }
  .sidebar-sidebar-content .content-sidebar-wrap {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%;
    margin-right: 0;
    float: right; }
    .sidebar-sidebar-content .content-sidebar-wrap:last-child {
      margin-right: 0; }
    .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 31.22104%; }
      .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary:last-child {
        margin-right: 0; }
      .sidebar-sidebar-content .content-sidebar-wrap .sidebar-primary:last-child {
        margin-right: 2.35765%; }
    .sidebar-sidebar-content .content-sidebar-wrap .content {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 65.61052%;
      margin-right: 0;
      float: right; }
      .sidebar-sidebar-content .content-sidebar-wrap .content:last-child {
        margin-right: 0; }
  .sidebar-sidebar-content .sidebar-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .sidebar-sidebar-content .sidebar-secondary:last-child {
      margin-right: 0; }
    .sidebar-sidebar-content .sidebar-secondary:first-child {
      margin-right: 2.35765%; }
  .sidebar-content-sidebar .content-sidebar-wrap {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%;
    margin-right: 0;
    float: right; }
    .sidebar-content-sidebar .content-sidebar-wrap:last-child {
      margin-right: 0; }
    .sidebar-content-sidebar .content-sidebar-wrap .content {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 65.61052%; }
      .sidebar-content-sidebar .content-sidebar-wrap .content:last-child {
        margin-right: 0; }
    .sidebar-content-sidebar .content-sidebar-wrap .sidebar-primary {
      float: left;
      display: block;
      margin-right: 3.16844%;
      width: 31.22104%;
      margin-right: 0; }
      .sidebar-content-sidebar .content-sidebar-wrap .sidebar-primary:last-child {
        margin-right: 0; }
  .sidebar-content-sidebar .sidebar-secondary {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .sidebar-content-sidebar .sidebar-secondary:last-child {
      margin-right: 0; }
    .sidebar-content-sidebar .sidebar-secondary:first-child {
      margin-right: 2.35765%; } }

embed,
iframe,
img,
object,
video,
.wp-caption {
  max-width: 100%; }

img {
  height: auto; }

.featured-content img,
.gallery img {
  width: auto; }

.avatar {
  float: left; }

.alignleft .avatar,
.author-box .avatar {
  margin-right: 24px; }

.alignright .avatar {
  margin-left: 24px; }

.comment .avatar {
  margin: 0 16px 24px 0; }

a.aligncenter img {
  display: block;
  margin: 0 auto; }

a.alignnone {
  display: inline-block; }

.alignleft {
  float: left;
  text-align: left; }

.alignright {
  float: right;
  text-align: right; }

a.alignleft,
a.alignnone,
a.alignright {
  max-width: 100%; }

img.centered,
.aligncenter {
  display: block;
  margin: 0 auto 3em; }

img.alignnone,
.alignnone {
  margin-bottom: 1.5em; }

a.alignleft,
img.alignleft,
.wp-caption.alignleft {
  margin: 0 3em 3em 0; }

a.alignright,
img.alignright,
.wp-caption.alignright {
  margin: 0 0 3em 3em; }

.wp-caption-text {
  font-size: 18px;
  text-align: center; }

.entry-content p.wp-caption-text {
  margin-bottom: 0; }

.widget {
  word-wrap: break-word; }

.widget li li {
  border: none;
  margin: 0 0 0 3em;
  padding: 0; }

.widget_calendar table {
  width: 100%; }

.widget_calendar td,
.widget_calendar th {
  text-align: center; }

.nav-trigger {
  transform: translateY(-50%);
  display: block;
  height: 45px;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 45px; }
  .nav-trigger span, .nav-trigger span::before, .nav-trigger span::after {
    /* hamburger icon in CSS */
    position: absolute;
    display: inline-block;
    height: 3px;
    width: 24px;
    background: #555; }
  .nav-trigger span {
    /* line in the center */
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -2px;
    transition: background 0.3s 0.3s; }
  .nav-trigger span::before, .nav-trigger span::after {
    /* other 2 lines */
    content: '';
    right: 0;
    /* Force Hardware Acceleration in WebKit */
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform-origin: 0% 50%;
    transition: transform 0.3s 0.3s; }
  .nav-trigger span::before {
    /* menu icon top line */
    top: -6px; }
  .nav-trigger span::after {
    /* menu icon bottom line */
    top: 6px; }
  .nav-trigger.mobile-is-open span {
    /* hide line in the center */
    background: rgba(255, 255, 255, 0); }
  .nav-trigger.mobile-is-open span::before, .nav-trigger.mobile-is-open span::after {
    /* keep visible other 2 lines */
    background: #555; }
  .nav-trigger.mobile-is-open span::before {
    transform: translateX(4px) translateY(-3px) rotate(45deg); }
  .nav-trigger.mobile-is-open span::after {
    transform: translateX(4px) translateY(2px) rotate(-45deg); }

@media screen and (min-width: 900px) {
  .nav-trigger {
    display: none; } }

.site-title a,
.site-title a:hover {
  color: #4a4a4a; }

.header-image .site-title > a {
  background: url(assets/icons/gaping_void_logo_odark.svg) no-repeat left;
  background-size: contain;
  min-height: 60px;
  width: 100%;
  float: left; }
  @media (min-width: 900px) {
    .header-image .site-title > a {
      min-height: 70px; } }

.genesis-nav-menu .menu-item {
  display: inline-block;
  text-align: left; }

.genesis-nav-menu a {
  color: #4a4a4a;
  display: block;
  padding-left: 1.875em; }

.genesis-nav-menu a:hover,
.genesis-nav-menu .current-menu-item > a,
.genesis-nav-menu .sub-menu .current-menu-item > a:hover {
  color: #4a90e2; }

.page-title {
  font-size: 42px;
  font-weight: 500;
  color: #555;
  margin: 0; }

.page-desc {
  color: #555;
  font-size: 30px;
  font-weight: 100;
  line-height: 36px;
  margin: 0; }

.featured-image {
  padding-bottom: 0.9375em; }
  .featured-image img {
    display: block;
    margin: 0 auto; }

/*******
** We aren't going to use Neat for this gallery due to the possible number of gallery columns
** that don't easily break into 12.
*******/
.gallery {
  overflow: hidden; }

.gallery-item {
  float: left;
  margin: 0 0 28px;
  text-align: center; }

.gallery-columns-2 .gallery-item {
  width: 50%; }

.gallery-columns-3 .gallery-item {
  width: 33%; }

.gallery-columns-4 .gallery-item {
  width: 25%; }

.gallery-columns-5 .gallery-item {
  width: 20%; }

.gallery-columns-6 .gallery-item {
  width: 16.6666%; }

.gallery-columns-7 .gallery-item {
  width: 14.2857%; }

.gallery-columns-8 .gallery-item {
  width: 12.5%; }

.gallery-columns-9 .gallery-item {
  width: 11.1111%; }

.gallery img {
  border: 1px solid #4a4a4a;
  height: auto;
  padding: 4px; }

.gallery img:hover {
  border: 1px solid #ababab; }

.breadcrumb {
  background: #f4f4f4;
  color: #555;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1px;
  padding: 1.875em 1.875em; }
  @media screen and (min-width: 900px) {
    .breadcrumb {
      padding: 1.875em 0; } }

.title-area {
  padding: 0.75rem; }
  @media (min-width: 900px) {
    .title-area {
      padding: 1.25rem 0.75rem; } }

.site-description,
.site-title {
  margin-bottom: 0; }

.header-image .site-description,
.header-image .site-title {
  display: block;
  text-indent: -9999px;
  width: 9.375rem; }
  @media (min-width: 900px) {
    .header-image .site-description,
    .header-image .site-title {
      width: 14.0625rem; } }

.genesis-nav-menu .sub-menu {
  transition: opacity 0.4s ease-in-out;
  background: white;
  border: 1px solid #ababab;
  border-top: none;
  left: -9999px;
  margin-left: 1.875em;
  margin-top: 5px;
  opacity: 0;
  position: absolute;
  width: 18.75em;
  z-index: 100;
  top: 0;
  margin-top: 59px; }
  .genesis-nav-menu .sub-menu:after, .genesis-nav-menu .sub-menu:before {
    border: 10px solid transparent;
    content: '';
    height: 0;
    position: absolute;
    width: 0; }
  .genesis-nav-menu .sub-menu:before {
    border-bottom-color: #fff;
    position: absolute;
    top: -20px;
    left: 5%;
    z-index: 2; }
  .genesis-nav-menu .sub-menu:after {
    border-bottom-color: #ababab;
    position: absolute;
    top: -21px;
    left: 5%;
    z-index: 1; }

.genesis-nav-menu .sub-menu a {
  border-top: none;
  font-size: 18px;
  line-height: 1;
  padding: 0.75em;
  position: relative;
  width: 18.75em; }

.genesis-nav-menu .sub-menu .sub-menu {
  margin: -55px 0 0 199px; }

.genesis-nav-menu .menu-item:hover {
  position: static; }

.genesis-nav-menu .menu-item:hover > .sub-menu {
  left: auto;
  opacity: 1; }

.site-header .sub-menu {
  border-top: 1px solid #ababab; }

.site-header .sub-menu .sub-menu {
  margin-top: -56px; }

.entry-content ol,
.entry-content ul {
  margin-bottom: 28px;
  margin-left: 40px; }

.entry-content ol > li {
  list-style-type: decimal; }

.entry-content ul > li {
  list-style-type: disc; }

.entry-content ol ol,
.entry-content ul ul {
  margin-bottom: 0; }

.entry-content code {
  background-color: #333;
  color: #ddd; }

p.entry-meta {
  font-size: 18px;
  margin-bottom: 0; }

.entry-header .entry-meta {
  margin-bottom: 0em; }

.entry-footer .entry-meta {
  border-top: 1px solid #ababab;
  padding-top: 3em; }

.entry-categories,
.entry-tags {
  display: block; }

.entry-comments-link::before {
  content: "\2014";
  margin: 0 1.5em 0 0.75em; }

.pagination {
  clear: both;
  margin: 3em 0; }
  .pagination .pagination-previous, .pagination .pagination-next {
    float: none;
    width: 100%;
    margin-bottom: 5px;
    text-align: center; }
    @media screen and (min-width: 600px) {
      .pagination .pagination-previous, .pagination .pagination-next {
        width: auto; } }
  .pagination .pagination-previous a, .pagination .pagination-next a {
    width: 100%; }
    @media screen and (min-width: 600px) {
      .pagination .pagination-previous a, .pagination .pagination-next a {
        width: auto;
        margin-bottom: 0px; } }
  @media screen and (min-width: 600px) {
    .pagination .pagination-previous a, .pagination .pagination-previous {
      float: left; } }
  @media screen and (min-width: 600px) {
    .pagination .pagination-next a, .pagination .pagination-next {
      float: right; } }

.adjacent-entry-pagination {
  margin-bottom: 0; }

.archive-pagination li {
  display: inline; }
  .archive-pagination li a {
    transition: all 0.2s ease;
    background-color: #111627;
    color: white;
    cursor: pointer;
    display: inline-block;
    font-size: 18px;
    line-height: 1;
    padding: 6px 10px; }
    .archive-pagination li a:hover {
      background-color: #5baffd; }
  .archive-pagination li.active a {
    background-color: #5baffd; }

.top-utils .pagination {
  margin: 0; }

.top-utils .search-form {
  display: inline-block; }
  .top-utils .search-form input[type="search"] {
    background: white;
    margin: 0;
    width: 320px; }
  .top-utils .search-form input[type="submit"] {
    display: none; }

.adjacent-entry-pagination {
  overflow: auto; }

.site-header .header-widget-area {
  display: none; }
  @media screen and (min-width: 900px) {
    .site-header .header-widget-area {
      display: block;
      padding: 0.625em 0;
      padding-top: 1em; } }

@media screen and (min-width: 900px) {
  .widget_search_social {
    float: right;
    margin-bottom: 0.9375em; }
  .widget_search_social .search-form-wrapper,
  .widget_search_social .social-links {
    display: block;
    float: left; }
  .widget_search_social .search-form-wrapper {
    background: #d8d8d8;
    border: none;
    border-radius: 3px;
    overflow: auto; }
  .widget_search_social .search-form-icon,
  .widget_search_social .search-form {
    display: block;
    float: left; }
  .widget_search_social .search-form-icon {
    padding: 0 5px; }
    .widget_search_social .search-form-icon svg {
      height: 14px;
      width: 14px; }
  .widget_search_social .search-form input[type="search"] {
    background: #d8d8d8;
    border: none;
    box-shadow: none;
    font-size: 11px;
    margin: 0;
    padding: 6px;
    width: 150px; }
  .widget_search_social .search-form input[type="submit"] {
    display: none; }
  .widget_search_social .social-links {
    border-left: 1px solid #ababab;
    margin-left: 15px;
    padding-left: 15px; }
  .widget_search_social .social-link {
    position: relative;
    top: 3px; }
  .widget_search_social .social-link a svg {
    transition: all 300ms ease;
    fill: #555;
    height: 18px;
    width: 18px; }
  .widget_search_social .social-link a:hover svg {
    fill: #4a90e2; } }

.services-menu {
  position: fixed;
  top: -100%;
  left: 0;
  opacity: 0;
  right: 0;
  text-align: center;
  transition: opacity 300ms ease;
  z-index: 1000; }
  .services-menu li {
    display: inline;
    padding: 0 20px; }
  .services-menu.is-present {
    opacity: 1;
    top: 0; }

/* Dropdown control */
.selectBox-dropdown {
  min-width: 150px;
  position: relative;
  line-height: 1.5;
  text-decoration: none;
  text-align: left;
  color: #000;
  outline: none;
  vertical-align: middle;
  background: #F2F2F2;
  background: -moz-linear-gradient(top, #F8F8F8 1%, #E1E1E1 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1%, #F8F8F8), color-stop(100%, #E1E1E1));
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F8F8F8', endColorstr='#E1E1E1', GradientType=0);
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.75);
  display: inline-block;
  cursor: default; }

.selectBox-dropdown:focus,
.selectBox-dropdown:focus .selectBox-arrow {
  border-color: #666; }

.selectBox-dropdown.selectBox-menuShowing {
  -moz-border-radius-bottomleft: 0;
  -moz-border-radius-bottomright: 0;
  -webkit-border-bottom-left-radius: 0;
  -webkit-border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.selectBox-dropdown .selectBox-label {
  padding: 2px 8px;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden; }

.selectBox-dropdown .selectBox-arrow {
  position: absolute;
  top: 0;
  right: 0;
  width: 23px;
  height: 100%;
  background: url(jquery.selectBox-arrow.gif) 50% center no-repeat;
  border-left: solid 1px #BBB; }

/* Dropdown menu */
.selectBox-dropdown-menu {
  position: absolute;
  z-index: 99999;
  max-height: 200px;
  min-height: 1em;
  border: solid 1px #BBB;
  /* should be the same border width as .selectBox-dropdown */
  background: #FFF;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

/* Inline control */
.selectBox-inline {
  min-width: 150px;
  outline: none;
  border: solid 1px #BBB;
  background: #FFF;
  display: inline-block;
  border-radius: 4px;
  overflow: auto; }

.selectBox-inline:focus {
  border-color: #666; }

/* Options */
.selectBox-options,
.selectBox-options LI,
.selectBox-options LI A {
  list-style: none;
  display: block;
  cursor: default;
  padding: 0;
  margin: 0; }

.selectBox-options LI A {
  line-height: 1.5;
  padding: 0 .5em;
  white-space: nowrap;
  overflow: hidden;
  background: 6px center no-repeat; }

.selectBox-options LI.selectBox-hover A {
  background-color: #EEE; }

.selectBox-options LI.selectBox-disabled A {
  color: #888;
  background-color: transparent; }

.selectBox-options LI.selectBox-selected A {
  background-color: #C8DEF4; }

.selectBox-options .selectBox-optgroup {
  color: #666;
  background: #EEE;
  font-weight: bold;
  line-height: 1.5;
  padding: 0 .3em;
  white-space: nowrap; }

/* Disabled state */
.selectBox.selectBox-disabled {
  color: #888 !important; }

.selectBox-dropdown.selectBox-disabled .selectBox-arrow {
  opacity: .5;
  filter: alpha(opacity=50);
  border-color: #666; }

.selectBox-inline.selectBox-disabled {
  color: #888 !important; }

.selectBox-inline.selectBox-disabled .selectBox-options A {
  background-color: transparent !important; }

.selectBox {
  background: #5BAFFD !important;
  color: white !important;
  font-size: 14px !important;
  margin-bottom: 0.75em;
  position: relative !important;
  width: 100% !important; }
  @media screen and (min-width: 900px) {
    .selectBox {
      margin-bottom: 0;
      width: 155px !important; } }

.selectBox-dropdown .selectBox-label {
  padding-top: 7px !important; }

.selectBox-dropdown-menu {
  width: 100%;
  position: absolute;
  z-index: 999;
  overflow: auto; }

.selectBox-dropdown .selectBox-arrow {
  position: absolute !important;
  background: url("assets/images/drop-down-arrow.png") no-repeat !important;
  border: none !important;
  width: 11px !important;
  height: 6px !important;
  right: 15px !important;
  top: 14px !important;
  cursor: pointer !important; }

.site-header {
  background-color: #fff;
  border-bottom: 1px solid #e6e6e6;
  position: relative; }
  .site-header > .wrap {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 95%; }
    .site-header > .wrap::after {
      clear: both;
      content: "";
      display: table; }
    .site-header > .wrap:after {
      display: none; }
  @media screen and (min-width: 900px) {
    .site-header {
      min-height: 4.6875em; } }

.genesis-nav-menu {
  clear: both;
  font-size: 18px;
  line-height: 1.5;
  width: 100%; }

.genesis-nav-menu > .first > a {
  padding-left: 0; }

.genesis-nav-menu > .last > a {
  padding-right: 0; }

.genesis-nav-menu > .right {
  color: white;
  float: right;
  list-style-type: none;
  padding: 3em 0; }

.genesis-nav-menu > .right > a {
  display: inline;
  padding: 0; }

.genesis-nav-menu > .rss > a {
  margin-left: 48px; }

.genesis-nav-menu > .search {
  padding: 1.5em 0 0; }

.site-header .genesis-nav-menu li li {
  margin-left: 0; }

.nav-primary {
  background-color: #4a4a4a; }

.nav-primary .genesis-nav-menu a {
  color: white; }

.nav-primary .genesis-nav-menu .sub-menu a {
  color: #4a4a4a; }

.nav-primary .genesis-nav-menu a:hover,
.nav-primary .genesis-nav-menu .current-menu-item > a,
.nav-primary .genesis-nav-menu .sub-menu .current-menu-item > a:hover {
  color: #4a90e2; }

.nav-secondary {
  background-color: white; }

@media screen and (min-width: 900px) {
  .site-header .menu-item {
    font-size: 15px;
    font-weight: 500;
    line-height: 43px; } }

@-webkit-keyframes slideUp {
  0% {
    -webkit-transform: translateY(80%); }
  100% {
    -webkit-transform: translateY(0); } }

@keyframes slideUp {
  0% {
    transform: translateY(80%); }
  100% {
    transform: translateY(0); } }

.page-banner {
  background: #f4f4f4;
  z-index: 1; }
  .page-banner .wrap {
    padding: 3.125em 1.875em;
    position: relative; }
    @media screen and (min-width: 900px) {
      .page-banner .wrap {
        padding: 3.125em 0; } }

@-webkit-keyframes bounce {
  0% {
    transform: translateY(30%); }
  100% {
    transform: translateY(30%); } }

@keyframes bounce {
  0% {
    transform: translateY(30%); }
  100% {
    transform: translateY(30%); } }

.page-newsletter {
  background: #111627;
  color: white;
  padding: 25px 0;
  text-align: center; }
  .page-template-template-culture-sub .page-newsletter,
  .page-template-template-culture-design .page-newsletter,
  .home .page-newsletter {
    display: none; }
  .page-newsletter span {
    font-weight: 300; }
  .page-newsletter .wrap {
    display: flex;
    flex-direction: column;
    position: relative; }
    @media screen and (min-width: 900px) {
      .page-newsletter .wrap {
        justify-content: center;
        align-items: center;
        flex-direction: row;
        padding: 0 90px; } }
  .page-newsletter .page-newsletter-content {
    margin-bottom: 0.7rem; }
    @media screen and (min-width: 900px) {
      .page-newsletter .page-newsletter-content {
        margin-bottom: 0;
        margin-right: 1.6rem;
        max-width: 400px; } }
  .page-newsletter form {
    align-items: center;
    color: #555;
    display: flex;
    flex-direction: column; }
    @media screen and (min-width: 600px) {
      .page-newsletter form {
        flex-direction: row; } }
  .page-newsletter input[type='text'],
  .page-newsletter input[type='email'] {
    background: white;
    margin: 4px;
    min-height: 48px; }
  .page-newsletter input[type='submit'] {
    margin: 4px;
    min-height: 48px; }

.page-newsletter-image {
  display: none;
  position: absolute;
  bottom: -42px; }
  @media screen and (min-width: 900px) {
    .page-newsletter-image {
      display: block; } }
  .page-newsletter-image.left {
    -webkit-animation: bounce 3s ease alternate infinite;
            animation: bounce 3s ease alternate infinite;
    left: 0; }
  .page-newsletter-image.right {
    -webkit-animation: bounce 3s ease alternate infinite;
            animation: bounce 3s ease alternate infinite;
    right: 0; }

.entry {
  margin-bottom: 6em;
  padding: 1.875em 0; }

.content .entry {
  background-color: white; }

.content-sidebar-wrap {
  margin-top: 1.25em; }

.culture-desc ul {
  margin-left: 15px; }
  .culture-desc ul li {
    list-style-type: none;
    margin-left: 20px;
    position: relative;
    margin-bottom: 10px; }
  .culture-desc ul > li > ul li {
    margin-top: 10px; }
    .culture-desc ul > li > ul li:before {
      content: '';
      position: absolute;
      width: 6px;
      height: 6px;
      background: #4a90e2;
      top: 8px;
      left: -20px;
      border-radius: 50%; }
  .culture-desc ul > li:before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: #4a90e2;
    top: 8px;
    left: -20px;
    border-radius: 50%; }
  .culture-desc ul > li:last-child {
    margin-bottom: 0; }

.post .entry-content img:first-child {
  display: block;
  margin: 0 auto; }
  @media screen and (min-width: 600px) {
    .post .entry-content img:first-child {
      max-width: 600px; } }

.comment-respond,
.entry-comments,
.entry-pings {
  background-color: #f4f4f4;
  padding: 30px;
  margin-bottom: 36px; }
  .comment-respond input[type="color"], .comment-respond input[type="date"], .comment-respond input[type="datetime"], .comment-respond input[type="datetime-local"], .comment-respond input[type="email"], .comment-respond input[type="month"], .comment-respond input[type="number"], .comment-respond input[type="password"], .comment-respond input[type="search"], .comment-respond input[type="tel"], .comment-respond input[type="text"], .comment-respond input[type="time"], .comment-respond input[type="url"], .comment-respond input[type="week"], .comment-respond textarea,
  .entry-comments input[type="color"],
  .entry-comments input[type="date"],
  .entry-comments input[type="datetime"],
  .entry-comments input[type="datetime-local"],
  .entry-comments input[type="email"],
  .entry-comments input[type="month"],
  .entry-comments input[type="number"],
  .entry-comments input[type="password"],
  .entry-comments input[type="search"],
  .entry-comments input[type="tel"],
  .entry-comments input[type="text"],
  .entry-comments input[type="time"],
  .entry-comments input[type="url"],
  .entry-comments input[type="week"],
  .entry-comments textarea,
  .entry-pings input[type="color"],
  .entry-pings input[type="date"],
  .entry-pings input[type="datetime"],
  .entry-pings input[type="datetime-local"],
  .entry-pings input[type="email"],
  .entry-pings input[type="month"],
  .entry-pings input[type="number"],
  .entry-pings input[type="password"],
  .entry-pings input[type="search"],
  .entry-pings input[type="tel"],
  .entry-pings input[type="text"],
  .entry-pings input[type="time"],
  .entry-pings input[type="url"],
  .entry-pings input[type="week"],
  .entry-pings textarea {
    background: white; }

.entry-comments {
  padding: 36px; }

.comment-header {
  font-size: 18px; }

li.comment {
  background-color: #dbdbdb;
  border: 1px solid #ababab;
  border-right: none; }

.comment-content {
  clear: both; }

.comment-list li {
  margin-top: 18px;
  padding: 36px; }
  .comment-list li li {
    margin-right: -36px; }

.comment-respond input[type="email"],
.comment-respond input[type="text"],
.comment-respond input[type="url"] {
  width: 50%; }

.comment-respond label {
  display: block;
  margin-right: 18px; }

.entry-comments .comment-author {
  margin-bottom: 0; }

.entry-pings .reply {
  display: none; }

.form-allowed-tags {
  background-color: #dbdbdb;
  font-size: 18px;
  padding: 36px; }

.sidebar {
  font-size: 18px;
  margin-top: 6em; }

.sidebar li {
  border-bottom: 1px solid #ababab;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em; }

.sidebar p:last-child,
.sidebar ul > li:last-child {
  margin-bottom: 0; }

.sidebar .widget {
  background-color: white;
  margin-bottom: 3em;
  padding: 1.5em; }

.footer-widgets {
  background-color: white;
  border-top: 1px solid #e6e6e6;
  clear: both;
  padding: 30px 0;
  padding-bottom: 0; }

.footer-widgets .widget {
  margin-bottom: 30px;
  text-align: center; }
  .footer-widgets .widget:last-child {
    margin-bottom: 0; }

.footer-widgets ul {
  text-align: center; }

.footer-widgets li {
  display: inline-block;
  border: none;
  padding: 0 10px; }

.menu a {
  font-size: 1.125rem; }

.social-link {
  padding: 0 20px; }

.social-link a svg {
  transition: color 300ms ease; }

.social-link a:hover svg {
  fill: #4a90e2; }

.site-footer {
  background-color: #fff;
  font-size: 18px;
  line-height: 1.5;
  padding: 1.5em 0;
  text-align: center; }

.site-footer p {
  margin-bottom: 0; }

.mobile-toggle {
  align-items: center;
  cursor: pointer;
  display: flex;
  padding: 0.625rem 0;
  transition: all 300ms ease; }
  .mobile-toggle span {
    display: none;
    font-size: 1.125rem;
    margin-left: 0.5rem; }
    @media (min-width: 900px) {
      .mobile-toggle span {
        display: unset; } }
  .mobile-toggle:hover {
    color: #4a90e2; }

.mobile-menu {
  background-color: white;
  border-right: 4px solid #f4f4f4;
  bottom: 0;
  left: 0;
  overflow: scroll;
  padding: 1.5rem;
  padding-top: 3rem;
  position: fixed;
  top: 0;
  transform: translateX(-100%);
  transition: transform ease 300ms;
  width: 100%;
  z-index: 22; }
  @media (min-width: 500px) {
    .mobile-menu {
      width: 500px; } }
  @media screen and (min-width: 900px) {
    .mobile-menu {
      padding: 2rem;
      padding-top: 4rem; } }
  .admin-bar .mobile-menu {
    top: 32px; }
  .menu-visible .mobile-menu {
    transform: translateX(0); }
  .mobile-menu .mobile-toggle {
    left: 1.75rem;
    padding-top: 0;
    position: absolute;
    top: 1.75rem; }
  .mobile-menu .menu {
    margin-top: 1.5rem; }
    .mobile-menu .menu li {
      list-style-type: none; }
    .mobile-menu .menu .menu-item a {
      color: #111627;
      font-size: 1.375rem;
      font-weight: bold; }
      .mobile-menu .menu .menu-item a:hover {
        color: #4a90e2; }
    .mobile-menu .menu .sub-menu .menu-item a {
      font-size: 1.25rem;
      font-weight: 500;
      margin-left: 0.875rem; }
    .mobile-menu .menu .current-menu-item {
      text-decoration: underline; }

.search-toggle {
  align-items: center;
  cursor: pointer;
  display: flex;
  padding: 0.625rem 0;
  transition: all 300ms ease; }
  .search-toggle:hover {
    color: #4a90e2; }
  .search-toggle span {
    display: none;
    font-size: 1.125rem;
    margin-right: 0.5rem; }
    @media (min-width: 900px) {
      .search-toggle span {
        display: unset; } }
  @media (min-width: 900px) {
    .site-header .search-toggle {
      border: 2px solid #4a4a4a;
      padding: 0.375rem 0.625rem; }
      .site-header .search-toggle:hover {
        border-color: #4a90e2; } }

.side-search {
  background-color: white;
  border-left: 4px solid #f4f4f4;
  bottom: 0;
  padding: 1.5rem;
  padding-top: 3rem;
  position: fixed;
  right: 0;
  top: 0;
  transform: translateX(100%);
  transition: transform ease 300ms;
  width: 100%;
  z-index: 22; }
  @media (min-width: 500px) {
    .side-search {
      width: 500px; } }
  @media screen and (min-width: 900px) {
    .side-search {
      padding: 2rem;
      padding-top: 4rem; } }
  .admin-bar .side-search {
    top: 32px; }
  .search-visible .side-search {
    transform: translateX(0); }
  .side-search .search-toggle {
    padding-top: 0;
    position: absolute;
    right: 1.75rem;
    top: 1.75rem; }
  .side-search form {
    margin-top: 1.5rem; }
  .side-search .menu {
    margin-top: 1.5rem; }
    .side-search .menu li {
      list-style-type: none; }
    .side-search .menu .menu-item a {
      color: #4a4a4a;
      font-size: 1.375rem;
      font-weight: bold; }
      .side-search .menu .menu-item a:hover {
        color: #4a90e2; }
    .side-search .menu .sub-menu .menu-item a {
      font-size: 1.25rem;
      font-weight: 500;
      margin-left: 0.875rem; }
    .side-search .menu .current-menu-item {
      text-decoration: underline; }

@media screen and (min-width: 900px) {
  .single-team_member .content > .team-member-image {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .single-team_member .content > .team-member-image:last-child {
      margin-right: 0; } }

@media screen and (min-width: 900px) {
  .single-team_member .content > .team_member {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%;
    margin-right: 0; }
    .single-team_member .content > .team_member:last-child {
      margin-right: 0; } }

.single-team_member .content-sidebar-wrap {
  margin-top: 3.75em; }

.single-team_member .entry-header {
  margin-bottom: 1.875em; }

.single-team_member .entry {
  margin-bottom: 0;
  padding-top: 0; }

.single-team_member .entry-title {
  margin-bottom: 10px; }

.page-template-template-about .site-inner {
  margin-bottom: 3em; }

.team-members {
  padding-bottom: 3em; }

.team-member {
  background: white;
  margin-bottom: 1.875em; }
  @media screen and (min-width: 600px) {
    .team-member {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .team-member:last-child {
        margin-right: 0; }
      .team-member:nth-child(2n) {
        margin-right: 0; }
      .team-member:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 900px) {
    .team-member {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .team-member:last-child {
        margin-right: 0; }
      .team-member:nth-child(2n) {
        margin-right: 2.35765%; }
      .team-member:nth-child(2n + 1) {
        clear: none; }
      .team-member:nth-child(3n) {
        margin-right: 0; }
      .team-member:nth-child(3n+1) {
        clear: left; } }

.team-member .team-member-image {
  float: none;
  margin: 0;
  position: relative; }
  .team-member .team-member-image:hover .overlay a {
    opacity: 1; }
  .team-member .team-member-image img {
    width: 100%;
    display: block; }

.team-member-meta {
  padding: 15px 25px; }

.team-member-name {
  margin-bottom: 0.3125em; }

.team-member-title {
  font-weight: 500; }

.overlay a {
  display: flex;
  transition: all 0.2 ease-in-out;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  height: 100%;
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%; }

.overlay-text svg {
  transition: color 150ms ease;
  display: block;
  height: 50px;
  width: 50px;
  margin-bottom: 10px;
  margin-left: 7px;
  fill: #fff; }

.single-team_member.single .entry-title {
  border: none;
  margin-top: 0; }

.single-team_member h2 {
  font-size: 1.75em;
  font-weight: 500; }

.page-template-template-about .entry {
  margin-bottom: 30px; }

.blog,
.newarchive,
.category,
.search,
.newarchive .site-inner,
.blog .site-inner,
.category .site-inner,
.search .site-inner {
  background: #f4f4f4; }

.blog .content,
.newarchive .content,
.category .content,
.search .content {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  .blog .content::after,
  .newarchive .content::after,
  .category .content::after,
  .search .content::after {
    clear: both;
    content: "";
    display: table; }

.blog .content .entry,
.newarchive .content .entry,
.category .content .entry,
.search .content .entry,
.single .related-posts .entry {
  background: white;
  margin-bottom: 1.875em;
  padding-top: 30px;
  position: relative; }
  @media screen and (min-width: 600px) {
	  .newarchive .content .entry {
		  margin-right: 1.15765%;
		   float: left;
      display: block;
  
      width: 48.82117%;
      min-height: 415px;
      padding-top: 0;
	  }
    .blog .content .entry,
    .category .content .entry,
    .search .content .entry,
    .single .related-posts .entry {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%;
      min-height: 415px;
      padding-top: 0; }
      .blog .content .entry:last-child,
	  .newarchive .content .entry:last-child,
      .category .content .entry:last-child,
      .search .content .entry:last-child,
      .single .related-posts .entry:last-child {
        margin-right: 0; }
      .blog .content .entry:nth-child(2n),
	  /*.newarchive .content .entry:nth-child(2n),*/
      .category .content .entry:nth-child(2n),
      .search .content .entry:nth-child(2n),
      .single .related-posts .entry:nth-child(2n) {
        margin-right: 0; }
      .blog .content .entry:nth-child(2n+1),
      .category .content .entry:nth-child(2n+1),
      .search .content .entry:nth-child(2n+1),
      .single .related-posts .entry:nth-child(2n+1) {
        clear: left; } }
  @media screen and (min-width: 900px) {
    .blog .content .entry,
	.newarchive .content .entry,
    .category .content .entry,
    .search .content .entry,
    .single .related-posts .entry {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .blog .content .entry:last-child,
	  .newarchive .content .entry:last-child,
      .category .content .entry:last-child,
      .search .content .entry:last-child,
      .single .related-posts .entry:last-child {
        margin-right: 0; }
      .blog .content .entry:nth-child(2n),
	  .newarchive .content .entry:nth-child(2n),
      .category .content .entry:nth-child(2n),
      .search .content .entry:nth-child(2n),
      .single .related-posts .entry:nth-child(2n) {
        margin-right: 2.35765%; }
      .blog .content .entry:nth-child(2n+1),
	  .newarchive .content .entry:nth-child(2n+1),
      .category .content .entry:nth-child(2n+1),
      .search .content .entry:nth-child(2n+1),
      .single .related-posts .entry:nth-child(2n+1) {
        clear: none; }
      .blog .content .entry:nth-child(3n),
	  .newarchive .content .entry:nth-child(3n+1),
      .category .content .entry:nth-child(3n),
      .search .content .entry:nth-child(3n),
      .single .related-posts .entry:nth-child(3n) {
        margin-right: 0; }
      .blog .content .entry:nth-child(3n+1),
	  .newarchive .content .entry:nth-child(3n+2),
      .category .content .entry:nth-child(3n+1),
      .search .content .entry:nth-child(3n+1),
      .single .related-posts .entry:nth-child(3n+1) {
        clear: left; } }
  .blog .content .entry .entry-content p,
  .newarchive .content .entry .entry-content p,
  .category .content .entry .entry-content p,
  .search .content .entry .entry-content p,
  .single .related-posts .entry .entry-content p {
    font-size: 14px; }

.blog .entry-title,
.newarchive .entry-title,
.category .entry-title,
.search .entry-title,
.related-posts .entry-title {
  font-size: 24px;
  font-weight: 500;
  margin-bottom: 10px;
  padding: 0 20px; }
  @media screen and (min-width: 600px) {
    .blog .entry-title,
	.newarchive .entry-title,
    .category .entry-title,
    .search .entry-title,
    .related-posts .entry-title {
      margin-top: 20px; } }

.newarchive .entry-content,
.newarchive .entry-footer,
.blog .entry-content,
.blog .entry-footer,
.category .entry-content,
.category .entry-footer,
.search .entry-content,
.search .entry-footer,
.related-posts .entry-footer,
.related-posts .entry-content {
  padding: 0 20px; }

.blog .entry-footer,
.newarchive .entry-footer,
.category .entry-footer,
.search .entry-footer,
.related-posts .entry-footer {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0; }

.continue-reading {
  float: right; }

.entry-date {
  font-style: italic; }

.top-utils {
  padding: 15px 0; }
  @media screen and (min-width: 900px) {
    .top-utils {
      padding: 15px 0 30px 0; } }
  .top-utils .pagination {
    display: inline-block; }
  @media screen and (min-width: 900px) {
    .top-utils .top-utils-right {
      float: right; } }

.top-utils-right {
  margin-top: 0.75em;
  overflow: auto; }
  @media screen and (min-width: 900px) {
    .top-utils-right {
      margin-top: 0;
      padding: 0; } }
  .top-utils-right .archive,
  .top-utils-right .categories {
    display: block;
    width: 100%; }
    @media screen and (min-width: 900px) {
      .top-utils-right .archive,
      .top-utils-right .categories {
        float: left;
        margin-left: 10px;
        width: auto; } }

.single .content .entry,
.comment-respond {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto; }
  .single .content .entry::after,
  .comment-respond::after {
    clear: both;
    content: "";
    display: table; }

.single .entry {
  margin-bottom: 30px; }

.single .entry-meta {
  line-height: 34px;
  margin-bottom: 0;
  display: inline-block; }

.single .entry-header .sharedaddy {
  float: right; }
  .single .entry-header .sharedaddy ul {
    margin-bottom: 0 !important; }

.single .entry-title {
  border-top: 1px solid #ababab;
  font-weight: 500;
  margin-top: 15px;
  padding-top: 15px; }

.single .related-posts .entry-title {
  border: none; }

.single .entry-footer {
  border-top: 1px solid #ababab;
  padding: 15px 0; }
  .single .entry-footer .sharedaddy {
    float: right; }

.single .related-posts .entry-footer {
  border: none;
  padding: 0 20px; }

.single .featured-image {
  border: 3px solid #f4f4f4;
  margin-bottom: 1.875em; }

.entry-content ul:not(.soliloquy-slider):not(.gform_fields):not(.rl-gallery):not(.sy-pager):not(.sy-controls) {
  margin-left: 1.5em;
  margin-bottom: 1.5em; }
  .entry-content ul:not(.soliloquy-slider):not(.gform_fields):not(.rl-gallery):not(.sy-pager):not(.sy-controls) li {
    list-style-type: none;
    margin-left: 20px;
    position: relative;
    margin-bottom: 10px; }
  .entry-content ul:not(.soliloquy-slider):not(.gform_fields):not(.rl-gallery):not(.sy-pager):not(.sy-controls) > li > ul li {
    margin-top: 10px; }
    .entry-content ul:not(.soliloquy-slider):not(.gform_fields):not(.rl-gallery):not(.sy-pager):not(.sy-controls) > li > ul li:before {
      content: '';
      position: absolute;
      width: 6px;
      height: 6px;
      background: #4a90e2;
      top: 8px;
      left: -20px;
      border-radius: 50%; }
  .entry-content ul:not(.soliloquy-slider):not(.gform_fields):not(.rl-gallery):not(.sy-pager):not(.sy-controls) > li:before {
    content: '';
    position: absolute;
    width: 8px;
    height: 8px;
    background: #4a90e2;
    top: 8px;
    left: -20px;
    border-radius: 50%; }
  .entry-content ul:not(.soliloquy-slider):not(.gform_fields):not(.rl-gallery):not(.sy-pager):not(.sy-controls) > li:last-child {
    margin-bottom: 0; }

.logo-list-wrap {
  max-width: 890px;
  margin-left: auto;
  margin-right: auto; }
  .logo-list-wrap::after {
    clear: both;
    content: "";
    display: table; }

.logo-list-image {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 48.82117%;
  height: 150px;
  position: relative; }
  .logo-list-image:last-child {
    margin-right: 0; }
  .logo-list-image:nth-child(2n) {
    margin-right: 0; }
  .logo-list-image:nth-child(2n+1) {
    clear: left; }
  @media screen and (min-width: 900px) {
    .logo-list-image {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .logo-list-image:last-child {
        margin-right: 0; }
      .logo-list-image:nth-child(2n) {
        margin-right: 2.35765%; }
      .logo-list-image:nth-child(2n + 1) {
        clear: none; }
      .logo-list-image:nth-child(4n) {
        margin-right: 0; }
      .logo-list-image:nth-child(4n+1) {
        clear: left; } }
  .logo-list-image img {
    transform: translateY(-50%);
    display: block;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0; }

.page-template-template-clients .slider {
  margin-bottom: 0 !important; }

.page-client-logos .home-client-logo {
  padding-right: 30px;
  position: relative; }
  .page-client-logos .home-client-logo:last-child {
    padding-right: 30px; }
  .page-client-logos .home-client-logo img {
    transform: translateY(-50%);
    display: block;
    margin: 0 auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    width: 150px; }

@-webkit-keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    -webkit-transform: translateY(0); }
  40% {
    -webkit-transform: translateY(-10px); }
  60% {
    -webkit-transform: translateY(-5px); } }

@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0); }
  40% {
    transform: translateY(-10px); }
  60% {
    transform: translateY(-5px); } }

.bounce {
  -webkit-animation: bounce 2s infinite;
  animation: bounce 2s infinite; }

.slider {
  margin-top: 30px; }

.home-slider .slide {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 600px; }

.slick-dots {
  bottom: 30px !important;
  display: none !important; }
  .home-clients .slick-dots {
    bottom: 0 !important; }
  @media screen and (min-width: 600px) {
    .slick-dots {
      display: block !important; } }

.slick-dots li button:before {
  color: #555 !important;
  font-size: 10px !important;
  opacity: 1 !important; }
  .home-clients .slick-dots li button:before {
    color: #ccc !important; }

.slick-dots li.slick-active button:before {
  color: white !important; }
  .home-clients .slick-dots li.slick-active button:before {
    color: #555 !important; }

.slick-prev:before,
.slick-next:before {
  color: #4a90e2 !important; }

.home-slider-wrap {
  position: relative; }

.home-slider.slick-slider {
  margin-bottom: 0; }

.home-slider-overlay {
  background: rgba(0, 0, 0, 0.7);
  display:unset;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; }

.home-slider-content {
  transform: translate(-50%, -50%);
  color: white;
  padding: 0 10px;
  position: absolute;
  left: 50%;
  text-align: center;
  top: 50%;
  width: 100%; }
  @media screen and (min-width: 900px) {
    .home-slider-content {
      padding: 0 120px;
      max-width: 75rem; } }

.home-slider-title {
  margin-bottom: 15px; }
  @media screen and (min-width: 900px) {
    .home-slider-title {
      font-size: 60px; } }

.home-slider-subtitle {
  color: white;
  margin-bottom: 0;
  font-size: 1.25rem; }
  @media screen and (min-width: 900px) {
    .home-slider-subtitle {
      font-size: 1.5rem; } }

.home-slider-wrap .button-wrap .button {
  margin: 0.25rem; }

.home-slider-arrow {
  display: block;
  margin-top: 90px; }
  .home-slider-arrow svg {
    height: 50px;
    width: 50px;
    fill: white; }

.slick-slide {
  outline: none; }
  .slick-slide img {
    width: 100%; }

.page-template-template-press .entry {
  display: none; }

.press-articles {
  padding: 30px 0; }

.press-article {
  overflow: auto;
  padding-bottom: 20px;
  margin-bottom: 20px; }
  @media (min-width: 900px) {
    .press-article {
      margin-bottom: 2rem;
      padding-bottom: 2rem; } }

@media screen and (min-width: 900px) {
  .press-article-image,
  .press-article-content {
    display: block;
    float: left; } }

.press-article-image img {
  width: 100%; }

@media screen and (min-width: 900px) {
  .press-article-image {
    height: 235px;
    width: 32%; } }

.press-article-content {
  padding: 0 15px; }
  .press-article-content p {
    font-size: 1.125rem; }
  @media screen and (min-width: 900px) {
    .press-article-content {
      width: 68%; } }

.press-article-title {
  margin-bottom: 5px; }

.press-article-meta {
  display: flex;
  align-items: center;
  justify-content: space-between; }

.culture {
  overflow: auto; }

.culture-content,
.culture-image {
  display: block; }
  @media screen and (min-width: 900px) {
    .culture-content,
    .culture-image {
      float: left;
      width: 50%; } }

.culture-content {
  padding: 1.875em; }
  @media screen and (min-width: 900px) {
    .culture-content {
      padding: 5.625em;
      padding-bottom: 0; } }
  .home .culture-content {
    border-top: 1px solid #c3c3c3; }

.culture-title.section-title {
  text-align: left; }

.culture-image {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  min-height: 300px; }
  @media screen and (min-width: 600px) {
    .culture-image {
      min-height: 600px;
      background-size: cover; } }

.features {
  background: #f4f4f4;
  clear: both;
  padding: 3.75em 0.75em;
  text-align: center; }
  @media screen and (min-width: 900px) {
    .features {
      padding: 3.75em 0; } }

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

.feature-blocks {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 3.75em 0; }
  .feature-blocks::after {
    clear: both;
    content: "";
    display: table; }

.feature-block {
  margin-bottom: 3.75em;
  padding: 0 0.9375em; }
  .feature-block:last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 900px) {
    .feature-block {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%;
      margin-bottom: 0; }
      .feature-block:last-child {
        margin-right: 0; }
      .feature-block:nth-child(3n) {
        margin-right: 0; }
      .feature-block:nth-child(3n+1) {
        clear: left; } }

.feature-block-icon {
  margin-bottom: 0.9375em; }

.feature-block-icon svg {
  height: 50px;
  width: 50px; }

.feature-block-link {
  display: block; }

.feature-block input[type='text'],
.feature-block input[type='email'] {
  background: white;
  text-align: center; }

.feature-block input[type='submit'] {
  display: block;
  width: 100%; }

.home-clients {
  padding: 1.875em 0.75em;
  text-align: center; }
  .home-clients > .wrap {
    width: 85%; }
  @media screen and (min-width: 900px) {
    .home-clients {
      padding: 3.75em 0 0; } }
  .home-clients .slick-slider {
    margin-bottom: 0px; }

.home-client-logo {
  background-repeat: no-repeat;
  background-position: center;
  min-height: 120px !important;
  background-blend-mode: multiply;
  background-color: white; }
  @media screen and (min-width: 600px) {
    .home-client-logo {
      min-height: 210px !important; } }

.page-hero {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 300px;
  position: relative; }
  @media screen and (min-width: 900px) {
    .page-hero {
      min-height: 500px; } }
  .single-client .page-hero {
    min-height: 220px; }
    @media screen and (min-width: 900px) {
      .single-client .page-hero {
        min-height: 220px; } }
  .page-hero .page-hero-content {
    transform: translate(-50%, -50%);
    color: white;
    left: 0;
    right: 0;
    padding: 0 30px;
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    z-index: 100;
    width: 100%; }
    @media screen and (min-width: 900px) {
      .page-hero .page-hero-content {
        padding: 0 120px;
        max-width: 75rem; } }
  .page-hero .page-hero-title {
    margin-bottom: 0px; }
    @media screen and (min-width: 900px) {
      .page-hero .page-hero-title {
        font-size: 60px; } }
  .page-hero .page-hero-subtitle {
    color: #4a90e2; }
  .page-hero .overlay {
    background: rgba(0, 0, 0, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }

.services-menu {
  background: #f4f4f4;
  border-bottom: #c3c3c3;
  padding: 20px; }
  .services-menu li:first-child a,
  .services-menu li:first-child {
    padding-left: 0; }
  .services-menu li {
    display: inline-block; }

.culture-top-content {
  display: block;
  font-size: 22px;
  margin: 60px auto;
  max-width: 680px;
  text-align: center; }

.culture-design-features-section {
  background: #f4f4f4;
  margin-bottom: 60px;
  padding: 30px;
  text-align: center; }

.culture-design-features {
  max-width: 68em;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
  .culture-design-features::after {
    clear: both;
    content: "";
    display: table; }

.culture-design-feature {
  display: block;
  letter-spacing: 1px;
  min-height: 90px;
  padding: 0 30px;
  position: relative;
  text-align: center;
  text-transform: lowercase; }
  @media screen and (min-width: 900px) {
    .culture-design-feature {
      float: left;
      width: 25%; }
      .culture-design-feature:nth-child(5), .culture-design-feature:nth-child(6) {
        width: 50%; }
        .culture-design-feature:nth-child(5) p, .culture-design-feature:nth-child(6) p {
          padding: 0 90px; } }
  .culture-design-feature p {
    transform: translateY(-50%);
    padding: 0 15px;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0; }

.culture-bottom-content {
  max-width: 68em;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin: 0 auto;
  margin-bottom: 60px;
  max-width: 680px;
  text-align: center; }
  .culture-bottom-content::after {
    clear: both;
    content: "";
    display: table; }

.culture-contact-form {
  display: block;
  margin: 0 auto;
  margin-bottom: 60px;
  max-width: 680px;
  text-align: center; }

.art-blocks {
  overflow: auto; }

.art-block {
  display: block;
  float: left;
  padding: 60px 1.5em;
  text-align: center;
  width: 33.33333%; }
  .art-block.image {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; }

.art-images {
  margin-bottom: 60px; }

.art-images .wrap {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  .art-images .wrap::after {
    clear: both;
    content: "";
    display: table; }

.art-cta {
  margin-bottom: 60px;
  text-align: center; }

.white-popup {
  position: relative;
  background: #FFF;
  padding: 20px;
  width: auto;
  max-width: 800px;
  margin: 20px auto; }

.footer-cta {
  background: #111627;
  color: white;
  padding: 60px 0.75em;
  text-align: center; }
  @media screen and (min-width: 900px) {
    .footer-cta {
      padding: 60px 0; } }
  .page-template-template-culture-sub .footer-cta,
  .page-template-template-culture-design .footer-cta {
    display: none; }

.page-template-template-contact .content {
  max-width: 68em;
  margin-left: auto;
  margin-right: auto; }
  .page-template-template-contact .content::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (min-width: 900px) {
    .page-template-template-contact .content .contact-sidebar {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%;
      padding: 1.875em 0; }
      .page-template-template-contact .content .contact-sidebar:last-child {
        margin-right: 0; }
    .page-template-template-contact .content .entry {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 65.88078%;
      margin-right: 0; }
      .page-template-template-contact .content .entry:last-child {
        margin-right: 0; } }

.contact-sidebar .contact-sidebar-address,
.contact-sidebar .contact-sidebar-phone,
.contact-sidebar .contact-sidebar-email,
.contact-sidebar .contact-sidebar-twitter {
  margin-bottom: 10px; }

.contact-sidebar .button {
  display: block;
  text-align: center;
  width: 100%; }

.newsletter.shortcode {
  background: #f4f4f4;
  border-radius: 3px;
  margin: 30px 0;
  padding: 60px;
  text-align: center; }
  .newsletter.shortcode form {
    overflow: auto; }
  .newsletter.shortcode input[type="text"],
  .newsletter.shortcode input[type="email"] {
    background: white;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    height: 40px;
    width: 100%; }
  .newsletter.shortcode input[type="submit"] {
    width: 100%;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  @media screen and (min-width: 600px) {
    .newsletter.shortcode input[type="text"],
    .newsletter.shortcode input[type="email"],
    .newsletter.shortcode input[type="submit"] {
      display: block;
      float: left; }
    .newsletter.shortcode input[type="text"],
    .newsletter.shortcode input[type="email"] {
      width: 70%; }
    .newsletter.shortcode input[type="submit"] {
      width: 30%; } }

.testimonials-shortcode {
  text-align: center;
  padding: 30px; }

.testimonial {
  text-align: center; }
  .testimonial img {
    display: block;
    margin: 0 auto;
    margin-bottom: 15px; }

.testimonials .slick-dots {
  bottom: -45px !important;
  margin-left: 0; }

.testimonials .slick-dots li.slick-active button:before {
  color: #ccc !important; }

.related-posts {
  background: #f4f4f4;
  margin-top: 30px;
  padding: 30px; }

.search-results .search-form-wrapper {
  margin: 0 auto;
  text-align: center;
  padding: 2em 0 3em; }

.search-results #searchform input[type=text] {
  width: auto;
  display: inline; }

.search-results #searchform input[type=submit] {
  width: auto;
  display: inline;
  margin-top: -5px; }

@media screen and (min-width: 600px) {
  .store-landing.page .content {
    padding-bottom: 1.5em; } }

.store-landing.page .slick-slider {
  margin-bottom: 0px; }

.store-landing.page .content-sidebar-wrap {
  margin-top: 0px; }

.store-landing.page .store-landing-section.hero-slider .slick-next {
  right: 25px;
  z-index: 1000; }

.store-landing.page .store-landing-section.hero-slider .slick-prev {
  left: 25px;
  z-index: 1000; }

.store-landing.page .store-landing-section.hero-slider .hero-slide {
  transition: all 1s ease-in-out;
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 500px; }
  .store-landing.page .store-landing-section.hero-slider .hero-slide:after {
    transition: all 1s ease-in-out;
    background-color: rgba(255, 255, 255, 0.7);
    content: '';
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .store-landing.page .store-landing-section.hero-slider .hero-slide .wrap {
    position: relative;
    z-index: 100; }

.store-landing.page .store-landing-section.hero-slider .hero-content-wrap {
  min-height: 500px;
  position: relative;
  z-index: 100; }

.store-landing.page .store-landing-section.hero-slider .hero-content {
  transform: translate(-50%, -50%);
  left: 50%;
  position: absolute;
  text-align: center;
  top: 50%;
  width: 85%; }
  .store-landing.page .store-landing-section.hero-slider .hero-content .hero-title,
  .store-landing.page .store-landing-section.hero-slider .hero-content .hero-sub-title,
  .store-landing.page .store-landing-section.hero-slider .hero-content .closing-sub-title {
    color: #4a4a4a;
    font-weight: 400; }
  .store-landing.page .store-landing-section.hero-slider .hero-content .hero-title,
  .store-landing.page .store-landing-section.hero-slider .hero-content .closing-sub-title {
    line-height: 1;
    margin-bottom: 0.375em;
    font-size: 22.05px;
    font-style: italic; }
    @media screen and (min-width: 600px) {
      .store-landing.page .store-landing-section.hero-slider .hero-content .hero-title,
      .store-landing.page .store-landing-section.hero-slider .hero-content .closing-sub-title {
        font-size: 31.5px; } }
    .store-landing.page .store-landing-section.hero-slider .hero-content .hero-title .hero-title-at,
    .store-landing.page .store-landing-section.hero-slider .hero-content .closing-sub-title .hero-title-at {
      display: block;
      margin-top: 0.1875em; }
  .store-landing.page .store-landing-section.hero-slider .hero-content .hero-sub-title {
    margin: 3em 0; }
  @media (max-width: 900px) {
    .store-landing.page .store-landing-section.hero-slider .hero-content .sub-title-ext {
      display: none; } }
  .store-landing.page .store-landing-section.hero-slider .hero-content .closing-sub-title {
    margin: 0.75em 0; }

.store-landing.page .store-landing-section.product-blocks {
  display: inline-block;
  margin: 3em 0 1.5em; }
  @media screen and (min-width: 600px) {
    .store-landing.page .store-landing-section.product-blocks {
      display: flex;
      flex-wrap: wrap; } }

.store-landing.page .product-block {
  display: block;
  padding-bottom: 1.5em;
  padding-top: 1.5em;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 600px) {
    .store-landing.page .product-block {
      width: 50%; }
      .store-landing.page .product-block:nth-child(odd) {
        clear: both;
        padding-right: 1.5em; }
      .store-landing.page .product-block:nth-child(even) {
        padding-left: 1.5em; } }
  .store-landing.page .product-block .product-block-title {
    line-height: 1;
    margin: 0.75em; }
  .store-landing.page .product-block .product-block-blurb {
    margin-bottom: 3.75em; }
  .store-landing.page .product-block .product-block-inner {
    display: block;
    height: 100%;
    width: 100%; }
    .store-landing.page .product-block .product-block-inner .button {
      transform: translateX(-50%);
      bottom: 0;
      left: 50%;
      position: absolute; }

.flexible-section.sp-top, .flexible-section.sp-both {
  padding-top: 3em; }
  @media (min-width: 900px) {
    .flexible-section.sp-top, .flexible-section.sp-both {
      padding-top: 6em; } }

.flexible-section.sp-top-small, .flexible-section.sp-both-small {
  padding-top: 1.5em; }
  @media (min-width: 900px) {
    .flexible-section.sp-top-small, .flexible-section.sp-both-small {
      padding-top: 3em; } }

.flexible-section.sp-bottom, .flexible-section.sp-both {
  padding-bottom: 3em; }
  @media (min-width: 900px) {
    .flexible-section.sp-bottom, .flexible-section.sp-both {
      padding-bottom: 6em; } }

.flexible-section.sp-bottom-small, .flexible-section.sp-both-small {
  padding-bottom: 1.5em; }
  @media (min-width: 900px) {
    .flexible-section.sp-bottom-small, .flexible-section.sp-both-small {
      padding-bottom: 3em; } }

.flexible-section.sm-top, .flexible-section.sm-both {
  margin-top: 3em; }
  @media (min-width: 900px) {
    .flexible-section.sm-top, .flexible-section.sm-both {
      margin-top: 6em; } }

.flexible-section.sm-top-small, .flexible-section.sm-both-small {
  margin-top: 1.5em; }
  @media (min-width: 900px) {
    .flexible-section.sm-top-small, .flexible-section.sm-both-small {
      margin-top: 3em; } }

.flexible-section.sm-bottom, .flexible-section.sm-both {
  margin-bottom: 3em; }
  @media (min-width: 900px) {
    .flexible-section.sm-bottom, .flexible-section.sm-both {
      margin-bottom: 6em; } }

.flexible-section.sm-bottom-small, .flexible-section.sm-both-small {
  margin-bottom: 1.5em; }
  @media (min-width: 900px) {
    .flexible-section.sm-bottom-small, .flexible-section.sm-both-small {
      margin-bottom: 3em; } }

.flexible-section.bg-light-gray {
  background-color: #f4f4f4; }

.flexible-section.video iframe {
  height: 400px;
  width: 100% !important;
  margin-bottom: 0.75em; }

.content-section.fifty-fifty {
  display: flex;
  flex-direction: column; }
  @media (min-width: 900px) {
    .content-section.fifty-fifty {
      flex-direction: row;
      align-items: center; }
      .content-section.fifty-fifty.left .fifty-fifty-image {
        order: 2; }
      .content-section.fifty-fifty.left .fifty-fifty-content {
        order: 1; } }
  .content-section.fifty-fifty .fifty-fifty-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 21.875rem;
    order: 1; }
    @media (min-width: 900px) {
      .content-section.fifty-fifty .fifty-fifty-image {
        min-height: 34.375rem;
        min-width: 50%; } }
  .content-section.fifty-fifty .fifty-fifty-content {
    order: 2;
    padding: 1.5rem; }
    @media (min-width: 900px) {
      .content-section.fifty-fifty .fifty-fifty-content {
        padding: 5rem 4rem; } }

.content-blocks {
  overflow: auto;
  padding: 1.5em 0; }

.content-block {
  display: block;
  float: left;
  padding: 1.5em;
  padding-bottom: 0;
  text-align: center;
  width: 33.33333%; }

.content-block-image {
  margin-bottom: 1.5em; }
  .content-block-image img {
    display: block;
    margin: 0 auto; }

.cta {
  padding: 4.5em 0;
  text-align: center; }
  .cta.has-bg .cta-title {
    color: white; }

.page-id-52119 .cta .button {
  padding: 20px 90px; }

.gallery {
  margin: 1.5em 0; }

.content-section .wrap {
  padding: 0 0.9375em; }
  @media screen and (min-width: 900px) {
    .content-section .wrap {
      padding: 0; } }
  .content-section .wrap *:last-child {
    margin-bottom: 0px; }
    .content-section .wrap *:last-child .button {
      margin-bottom: 0px; }

.woocommerce-page .site-inner .wrap {
  margin: 0 auto;
  padding-bottom: 1.5em;
  padding-top: 1.5em; }
  .woocommerce-page .site-inner .wrap .content {
    margin: 0 !important;
    max-width: 100%; }
  .woocommerce-page .site-inner .wrap article {
    margin-bottom: 0;
    padding-top: 0; }

.woocommerce-page .wrap {
  background-color: transparent !important; }

.woocommerce-page .site-inner {
  background-color: white; }

.woocommerce-page .add_to_cart_button,
.woocommerce-page .product_type_grouped {
  background-color: #ababab !important;
  color: white !important; }
  .woocommerce-page .add_to_cart_button:hover,
  .woocommerce-page .product_type_grouped:hover {
    background-color: #898989 !important; }

.woocommerce-page #reviews .avatar {
  display: none; }

.woocommerce-page #reviews .comment-text {
  margin-left: 0 !important; }

.woocommerce-page #reviews li {
  list-style: none; }

.woocommerce-page .woocommerce-message {
  border-top-color: #4a90e2; }

.woocommerce form .form-row label {
  font-weight: 100;
  line-height: 1.5 !important; }

.woocommerce mark {
  display: none; }

.woocommerce .product-category img {
  margin-bottom: 0 !important; }

.woocommerce .product-category h3 {
  font-weight: bold;
  max-width: 100% !important; }

.woocommerce .product-category:hover h3 {
  color: #3b73b5 !important; }

.woocommerce .products {
  margin: 1.5em 0 !important; }

.woocommerce ul.products li.product {
  background-color: transparent; }
  @media (max-width: 600px) {
    .woocommerce ul.products li.product {
      margin-left: 0;
      margin-right: 0;
      width: 100% !important; } }
  .woocommerce ul.products li.product img {
    margin-bottom: 0 !important;
    min-width: 100% !important; }
  .woocommerce ul.products li.product .product-lower {
    position: relative; }
  .woocommerce ul.products li.product h2 {
    padding: 0 !important; }
  .woocommerce ul.products li.product .star-rating {
    display: none; }
  .woocommerce ul.products li.product .price {
    color: #555 !important;
    font-size: 1em !important;
    margin-left: 0.75rem;
    margin-bottom: 0 !important; }
  .woocommerce ul.products li.product .button {
    margin: 0.1875em auto 0.75em auto !important;
    text-align: center !important;
    width: 100%;
    display: block;
    transition: all 300ms ease;
    background-color: #dfdcde; }
    .woocommerce ul.products li.product .button:hover {
      color: white !important;
      background-color: #3b73b5 !important; }
  .woocommerce ul.products li.product .added_to_cart {
    margin-bottom: 0.375em !important; }

.woocommerce ul.products li.product .product-title-wrap {
  display: flex;
  padding: 0.5em 0;
  justify-content: space-between; }

.woocommerce.single-product .woocommerce-message {
  background-color: #e8e8e8; }
  .woocommerce.single-product .woocommerce-message .button {
    background-color: #4a90e2 !important;
    color: white !important; }
    .woocommerce.single-product .woocommerce-message .button:hover {
      background-color: #3b73b5 !important; }

.woocommerce.single-product .product {
  background-color: transparent; }

.woocommerce.single-product .summary h1 {
  border-top: none;
  line-height: 1;
  margin-bottom: 0.375em; }

.woocommerce.single-product .summary .woocommerce-product-rating {
  margin-bottom: 0.75em; }

.woocommerce.single-product .summary .woocommerce-Price-amount {
  color: #555; }

.woocommerce.single-product .summary .quantity input.qty {
  padding: 7.5px !important; }

.woocommerce.single-product .summary .price {
  margin-bottom: 0.75em; }

.woocommerce.single-product .summary .cart {
  margin-bottom: 0.75em; }

.woocommerce.single-product .summary .product-addon {
  margin: 0 !important;
  margin-bottom: 0.75em !important; }
  .woocommerce.single-product .summary .product-addon:first-of-type {
    margin-top: 0.75em !important; }

.woocommerce.single-product .summary .addon-name {
  font-size: 1.125em !important;
  margin-bottom: 0.375em !important;
  font-weight: 400 !important; }

.woocommerce.single-product .summary abbr[title] {
  border-bottom: none !important; }

.woocommerce.single-product .summary form .form-row {
  padding: 0px !important; }
  .woocommerce.single-product .summary form .form-row label {
    font-weight: 200 !important;
    font-size: 0.875em; }
    .woocommerce.single-product .summary form .form-row label input {
      margin-top: 0.1875em; }
    .woocommerce.single-product .summary form .form-row label small {
      display: none; }

.woocommerce.single-product .single_add_to_cart_button {
  background-color: #4a90e2 !important;
  color: white !important; }
  .woocommerce.single-product .single_add_to_cart_button:hover {
    background-color: #3b73b5 !important; }

@media (max-width: 600px) {
	
	.pagination .pagination-previous a, .pagination .pagination-next a {
    	clear: both;
    	display: block;
    	max-width: 155px;
    	text-align: center;
		margin: 20px auto;
	}
	
  .woocommerce.single-product .wc-tabs {
    width: 100%; }
    .woocommerce.single-product .wc-tabs li {
      width: 100%; }
      .woocommerce.single-product .wc-tabs li a {
        width: 100%; } }

dl.product-addon-totals dt {
  margin-top: 0px !important; }

.woocommerce-error li:before {
  display: none; }

.woocommerce-cart.woocommerce-page .wrap {
  background-color: white; }

.woocommerce-cart.woocommerce-page .entry-header a.button {
  display: inline-block;
  float: right; }
  @media (max-width: 350px) {
    .woocommerce-cart.woocommerce-page .entry-header a.button {
      font-size: 0.875em;
      margin-bottom: 0.75em; } }

@media (max-width: 600px) {
  .woocommerce-cart.woocommerce-page .coupon input {
    width: 100% !important; }
  .woocommerce-cart.woocommerce-page .coupon input[type='submit'] {
    margin-top: 0.375em; } }

.woocommerce-cart.woocommerce-page .entry {
  margin-bottom: 0; }

.woocommerce-cart.woocommerce-page .cart_item {
  margin-bottom: 1.5em; }
  .woocommerce-cart.woocommerce-page .cart_item:nth-child(even) {
    background-color: #f4f4f4; }

.woocommerce-cart.woocommerce-page .cart-collaterals .cart_totals {
  float: none !important;
  width: auto !important; }

.woocommerce-cart.woocommerce-page .checkout-button {
  background-color: #4a90e2 !important;
  color: white !important; }
  .woocommerce-cart.woocommerce-page .checkout-button:hover, .woocommerce-cart.woocommerce-page .checkout-button:focus {
    background-color: #3b73b5 !important;
    color: #fff !important; }

.woocommerce-cart.woocommerce-page .quantity input[type='number'] {
  padding: 7.5px !important;
  width: 100% !important; }

.woocommerce table.shop_table thead {
  background-color: #dfdcde !important; }

.woocommerce table.shop_table tr:nth-child(even), .woocommerce table.shop_table tr.order_item:nth-child(odd) {
  background-color: #f4f4f4 !important; }

.woocommerce table.shop_table tr.cart-subtotal {
  background-color: #dfdcde !important; }

.woocommerce table.shop_table th {
  border: none !important; }

.woocommerce table.shop_table td {
  border: none !important; }
  .woocommerce table.shop_table td.actions {
    background-color: white !important;
    border-top: 1px solid #f4f4f4 !important; }

.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text {
  padding-bottom: 7.5px !important;
  padding-top: 7.5px !important; }
  @media screen and (min-width: 600px) {
    .woocommerce #content table.cart td.actions .input-text,
    .woocommerce table.cart td.actions .input-text,
    .woocommerce-page #content table.cart td.actions .input-text,
    .woocommerce-page table.cart td.actions .input-text {
      width: auto !important; } }

#shipping_method li {
  list-style: none !important; }
  #shipping_method li:before {
    display: none; }
  #shipping_method li label {
    font-weight: 300 !important; }

#payment {
  background-color: #f4f4f4 !important;
  margin-top: 3em; }
  #payment ul {
    border-color: #4a4a4a !important; }
  #payment .payment_box:after,
  #payment .payment_box:before,
  #payment li:before {
    display: none !important; }
  #payment #place_order {
    display: block;
    margin-bottom: 0 !important;
    font-size: 1.25em;
    margin-bottom: 1em;
    padding: 1em;
    text-align: center;
    width: 100%;
    background-color: #4a90e2 !important;
    color: white !important; }
    #payment #place_order:hover, #payment #place_order:focus {
      background-color: #3b73b5 !important;
      color: #fff !important; }

#order_review_heading {
  margin-top: 1.5em; }

.wc_payment_methods {
  border-bottom: 0px !important; }
  .wc_payment_methods .upper-details {
    display: inline-block;
    width: 100%; }
    .wc_payment_methods .upper-details input[type="radio"],
    .wc_payment_methods .upper-details label {
      display: block !important;
      float: left !important; }
    .wc_payment_methods .upper-details input[type="radio"] {
      margin-top: 6px !important; }
    .wc_payment_methods .upper-details a {
      margin-left: 0.75em; }
  .wc_payment_methods .lower-details {
    display: inline-block;
    width: 100%; }
    .wc_payment_methods .lower-details input {
      background-color: white !important; }
  .wc_payment_methods .payment_box {
    margin-top: 0px !important; }

#ship-to-different-address {
  position: relative; }
  #ship-to-different-address label {
    display: inline-block;
    font-size: 20px !important;
    font-weight: 300 !important;
    margin-bottom: 0 !important;
    margin-left: 1.125em; }
  #ship-to-different-address #ship-to-different-address-checkbox {
    left: 0;
    position: absolute;
    top: 40%; }

#cgd_gift_note_field {
  clear: both; }

.woocommerce-pagination ul,
.woocommerce-pagination li {
  border: none !important; }
  .woocommerce-pagination ul .current,
  .woocommerce-pagination li .current {
    background-color: #4a90e2 !important;
    color: white !important; }
  .woocommerce-pagination ul .page-numbers,
  .woocommerce-pagination li .page-numbers {
    background-color: #4a4a4a;
    color: white !important;
    margin-right: 4px !important;
    padding: 6px 10px !important;
    transition: all 300ms ease; }
    .woocommerce-pagination ul .page-numbers:hover,
    .woocommerce-pagination li .page-numbers:hover {
      background-color: #4a90e2 !important; }

.woocommerce-order-received .shop_table.order_details .order_item:nth-child(even) {
  background-color: #f4f4f4 !important; }

.woocommerce-order-received .shop_table.order_details .order_item:nth-child(odd) {
  background-color: white !important; }

.woocommerce-order-received .shop_table.order_details tfoot tr:first-child {
  background-color: #dfdcde !important; }

.woocommerce-order-received .order_details {
  margin-left: 0 !important;
  margin-top: 1.5em !important; }
  .woocommerce-order-received .order_details li {
    margin-left: 0 !important;
    border-right-color: #333 !important;
    border-right-style: solid !important; }
    .woocommerce-order-received .order_details li:before {
      display: none; }
    .woocommerce-order-received .order_details li:last-of-type {
      border-right: none !important; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJzdHlsZS5jc3MiLCJiYXNlL19idXR0b25zLnNjc3MiLCJiYXNlL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvYWRkb25zL19mb250LXN0YWNrcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvX3NoYWRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJiYXNlL19mb3Jtcy5zY3NzIiwiYmFzZS9fbGlzdHMuc2NzcyIsImJhc2UvX3RhYmxlcy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fYm94LXNpemluZy5zY3NzIiwiX3NjYWZmb2xkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19tZWRpYS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24tbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3ByaXZhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uLW5lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19vbWVnYS5zY3NzIiwiYXRvbXMvX29iamVjdHMuc2NzcyIsImF0b21zL19hdmF0YXIuc2NzcyIsImF0b21zL19tZWRpYS5zY3NzIiwiYXRvbXMvX3dpZGdldC5zY3NzIiwiYXRvbXMvX25hdi10cmlnZ2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiYXRvbXMvX3NpdGUtdGl0bGUuc2NzcyIsImF0b21zL19tZW51LWl0ZW1zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsImF0b21zL19wYWdlLXRpdGxlLnNjc3MiLCJhdG9tcy9fcGFnZS1kZXNjLnNjc3MiLCJhdG9tcy9fZmVhdHVyZWQtaW1hZ2Uuc2NzcyIsIm1vbGVjdWxlcy9fZ2FsbGVyeS5zY3NzIiwibW9sZWN1bGVzL19icmVhZGNydW1icy5zY3NzIiwibW9sZWN1bGVzL190aXRsZS1hcmVhLnNjc3MiLCJtb2xlY3VsZXMvX3N1Yi1tZW51LnNjc3MiLCJtb2xlY3VsZXMvX2VudHJ5LWNvbnRlbnQuc2NzcyIsIm1vbGVjdWxlcy9fZW50cnktbWV0YS5zY3NzIiwibW9sZWN1bGVzL19wYWdpbmF0aW9uLnNjc3MiLCJtb2xlY3VsZXMvX2hlYWRlci13aWRnZXQtYXJlYS5zY3NzIiwibW9sZWN1bGVzL19zZWFyY2gtc29jaWFsLXdpZGdldC5zY3NzIiwibW9sZWN1bGVzL19zZXJ2aWNlcy1tZW51LnNjc3MiLCJtb2xlY3VsZXMvX3NlbGVjdGJveC5zY3NzIiwib3JnYW5pc21zL19zaXRlLWhlYWRlci5zY3NzIiwib3JnYW5pc21zL19uYXYuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fa2V5ZnJhbWVzLnNjc3MiLCJvcmdhbmlzbXMvX3BhZ2UtYmFubmVyLnNjc3MiLCJvcmdhbmlzbXMvX3BhZ2UtbmV3c2xldHRlci5zY3NzIiwib3JnYW5pc21zL19lbnRyeS5zY3NzIiwib3JnYW5pc21zL19jb21tZW50cy5zY3NzIiwib3JnYW5pc21zL19zaWRlYmFycy5zY3NzIiwib3JnYW5pc21zL19mb290ZXItd2lkZ2V0cy5zY3NzIiwib3JnYW5pc21zL19zaXRlLWZvb3Rlci5zY3NzIiwib3JnYW5pc21zL19tb2JpbGUtbWVudS5zY3NzIiwib3JnYW5pc21zL19zaWRlLXNlYXJjaC1ib3guc2NzcyIsIm9yZ2FuaXNtcy9fdGVhbS1tZW1iZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi1uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19wcml2YXRlLnNjc3MiLCJvcmdhbmlzbXMvX2Jsb2cuc2NzcyIsIm9yZ2FuaXNtcy9fY2xpZW50cy5zY3NzIiwib3JnYW5pc21zL19zbGlkZXIuc2NzcyIsIm9yZ2FuaXNtcy9fcHJlc3Muc2NzcyIsIm9yZ2FuaXNtcy9faG9tZS5zY3NzIiwib3JnYW5pc21zL19wYWdlLWhlcm8uc2NzcyIsIm9yZ2FuaXNtcy9fY3VsdHVyZS5zY3NzIiwib3JnYW5pc21zL19mb290ZXItY3RhLnNjc3MiLCJvcmdhbmlzbXMvX2NvbnRhY3Quc2NzcyIsIm9yZ2FuaXNtcy9fbmV3c2xldHRlci5zY3NzIiwib3JnYW5pc21zL190ZXN0aW1vbmlhbHMuc2NzcyIsIm9yZ2FuaXNtcy9fcmVsYXRlZC1wb3N0cy5zY3NzIiwib3JnYW5pc21zL19wYWdlLnNjc3MiLCJvcmdhbmlzbXMvX3N0b3JlLWxhbmRpbmcuc2NzcyIsInNlY3Rpb25zL19zZWN0aW9ucy5zY3NzIiwic2VjdGlvbnMvX2ZpZnR5LWZpZnR5LnNjc3MiLCJzZWN0aW9ucy9fYmxvY2tzLnNjc3MiLCJzZWN0aW9ucy9fY3RhLnNjc3MiLCJzZWN0aW9ucy9fZ2FsbGVyeS5zY3NzIiwic2VjdGlvbnMvX2NvbnRlbnQuc2NzcyIsIndvb2NvbW1lcmNlL18wMC1nZW5lcmFsLnNjc3MiLCJ3b29jb21tZXJjZS9fc2hvcC5zY3NzIiwid29vY29tbWVyY2UvX3NpbmdsZS1wcm9kdWN0LnNjc3MiLCJ3b29jb21tZXJjZS9fY2FydC5zY3NzIiwid29vY29tbWVyY2UvX2NoZWNrb3V0LnNjc3MiLCJ3b29jb21tZXJjZS9fcGFnaW5hdGlvbi5zY3NzIiwid29vY29tbWVyY2UvX3RoYW5rLXlvdS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0NDT0M7QURDRCwwREFBTztBRVJQOzs7O0VBSUUsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0I7RUFDaEIseUJDc0JZO0VEckJaLFNBQVM7RUFDVCxrQkNjc0I7RURidEIsV0FBVztFQUNYLGVBQWU7RUFDZixxQkFBcUI7RUFDckIseUZFQ3NFO0VGQXRFLGVDSm1CO0VES25CLG1DQUFtQztFQUNuQyxnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLHFCQ01vQztFRExwQyxxQkFBcUI7RUFDckIsdUNDbUNnQjtFRGxDaEIseUJBQWlCO0tBQWpCLHNCQUFpQjtNQUFqQixxQkFBaUI7VUFBakIsaUJBQWlCO0VBQ2pCLHNCQUFzQjtFQUN0QixtQkFBbUIsRUFBQTtFQXJCckI7Ozs7Ozs7SUF5QkkseUJHSGlDO0lISWpDLFdBQVcsRUFBQTtFQTFCZjs7OztJQThCSSxtQkFBbUI7SUFDbkIsWUFBWSxFQUFBO0lBL0JoQjs7OztNQWtDTSx5QkNQUSxFQUFBO0VEM0JkOzs7O0lBdUNJLFlBQVksRUFBQTtJQXZDaEI7Ozs7TUEwQ00sWUFBWSxFQUFBO0VBMUNsQjs7OztJQStDSSxxQkFBZ0Q7SUFDaEQsa0JJbkM2QixFQUFBOztBQ2JqQztFQUNFLDZCQUE2QjtFQUM3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QVZsQztNQWNZLDBCQUEwQixFQUFBO0lBZHRDO01Ba0JZLG1CL0VsQ3FCLEVBQUE7RStFZ0JqQztJQXdCUSxxQkFBcUI7SUFDckIsV0FBVyxFQUFBO0lBekJuQjtNQTRCWSxrQ0FBa0MsRUFBQTtFQTVCOUM7SUFpQ1EsMEJBQTBCLEVBQUE7O0FBSWxDO0VBQ0ksa0JBQWtCLEVBQUE7RUFEdEI7SUFJUSxxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLDJCQUEyQjtJQUMzQiwyQkFBMkI7SUFDM0Isb0JBQThCLEVBQUE7RUFSdEM7SUFZUSxPQUFPO0lBQ1Asa0JBQWtCO0lBQ2xCLFFBQVEsRUFBQTs7QUFLaEI7RUFDSSxXQUFXLEVBQUE7O0FDaEdmOztFQUlRLHVCQUF1QixFQUFBO0VBSi9COztJQU9ZLG9DQUFrQztJQUNsQyx1QkFBdUIsRUFBQTtFQVJuQzs7SUFZWSx5QmhGZ0JPO0lnRmZQLHVCQUF1QjtJQUN2Qiw0QkFBNEI7SUFDNUIsNEJBQTRCO0lBQzVCLDBCaEZxQ00sRUFBQTtJZ0ZyRGxCOztNQW1CZ0Isb0NBQWtDLEVBQUE7O0FDbkJsRDtFQUtZLG9DQUF3QyxFQUFBOztBQUxwRDtFQVNZLGtDQUFrQyxFQUFBOztBQVQ5QztFQWNnQixvQ0FBNEMsRUFBQTs7QUFkNUQ7RUFvQlEseUJBQXlCO0VBQ3pCLDRCQUFvQyxFQUFBO0VBckI1QztJQXdCWSx5QkFBeUI7SUFDekIsbUNBQW1DO0lBQ25DLG9DQUFvQyxFQUFBO0lBMUJoRDtNQTZCZ0IsYUFBYSxFQUFBO0lBN0I3QjtNQWlDZ0IsNkJBQTZCLEVBQUEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcblx0VGhlbWUgTmFtZTogR2FwaW5nIFZvaWRcblx0RGVzY3JpcHRpb246IEdhcGluZ3ZvaWQuY29tIENoaWxkIHRoZW1lIG9mIEdlbmVzaXMsIGJ5IDxhIGhyZWY9XCJodHRwOi8vY2dkLmlvXCI+Q2xpZiBHcmlmZmluIERldmVsb3BtZW50IEluYzwvYT4uXG5cdEF1dGhvcjogQ2xpZiBHcmlmZmluIERldmVsb3BtZW50IEluYy5cblx0QXV0aG9yIFVSSTogaHR0cDovL2NnZC5pb1xuXG5cdFRlbXBsYXRlOiBnZW5lc2lzXG4qL1xuQGltcG9ydCAnYXNzZXRzL2NvbXBvbmVudHMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzJztcblxuQGltcG9ydCAnYm91cmJvbic7XG5AaW1wb3J0ICdiYXNlL2Jhc2UnO1xuQGltcG9ydCAnbmVhdCc7XG5cbkBpbXBvcnQgJ3NjYWZmb2xkJztcblxuQGltcG9ydCAnYXRvbXMvb2JqZWN0cyc7XG5AaW1wb3J0ICdhdG9tcy9hdmF0YXInO1xuQGltcG9ydCAnYXRvbXMvbWVkaWEnO1xuQGltcG9ydCAnYXRvbXMvd2lkZ2V0JztcbkBpbXBvcnQgJ2F0b21zL25hdi10cmlnZ2VyJztcbkBpbXBvcnQgJ2F0b21zL3NpdGUtdGl0bGUnO1xuQGltcG9ydCAnYXRvbXMvc2l0ZS1kZXNjcmlwdGlvbic7XG5AaW1wb3J0ICdhdG9tcy9tZW51LWl0ZW1zJztcbkBpbXBvcnQgJ2F0b21zL3BhZ2UtdGl0bGUnO1xuQGltcG9ydCAnYXRvbXMvcGFnZS1kZXNjJztcbkBpbXBvcnQgJ2F0b21zL2ZlYXR1cmVkLWltYWdlJztcblxuQGltcG9ydCAnbW9sZWN1bGVzL2dhbGxlcnknO1xuQGltcG9ydCAnbW9sZWN1bGVzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9zdGlja3ktcG9zdCc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvdGl0bGUtYXJlYSc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvc3ViLW1lbnUnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2VudHJ5LWNvbnRlbnQnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2VudHJ5LW1ldGEnO1xuQGltcG9ydCAnbW9sZWN1bGVzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnbW9sZWN1bGVzL2hlYWRlci13aWRnZXQtYXJlYSc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvc2VhcmNoLXNvY2lhbC13aWRnZXQnO1xuQGltcG9ydCAnbW9sZWN1bGVzL3NlcnZpY2VzLW1lbnUnO1xuQGltcG9ydCAnbW9sZWN1bGVzL3NlbGVjdGJveCc7XG5cbkBpbXBvcnQgJ29yZ2FuaXNtcy9zaXRlLWhlYWRlcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvbmF2JztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9wYWdlLWJhbm5lcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvcGFnZS1uZXdzbGV0dGVyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9lbnRyeSc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvY29tbWVudHMnO1xuQGltcG9ydCAnb3JnYW5pc21zL3NpZGViYXJzJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9mb290ZXItd2lkZ2V0cyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2l0ZS1mb290ZXInO1xuQGltcG9ydCAnb3JnYW5pc21zL21vYmlsZS1tZW51JztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9zaWRlLXNlYXJjaC1ib3gnO1xuQGltcG9ydCAnb3JnYW5pc21zL3RlYW0tbWVtYmVycyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvYmxvZyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvY2xpZW50cyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2xpZGVyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9wcmVzcyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvaG9tZSc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvcGFnZS1oZXJvJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9jdWx0dXJlJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9mb290ZXItY3RhJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9jb250YWN0JztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9uZXdzbGV0dGVyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy90ZXN0aW1vbmlhbHMnO1xuQGltcG9ydCAnb3JnYW5pc21zL3JlbGF0ZWQtcG9zdHMnO1xuQGltcG9ydCAnb3JnYW5pc21zL3BhZ2UnO1xuQGltcG9ydCAnb3JnYW5pc21zL3N0b3JlLWxhbmRpbmcnO1xuXG5AaW1wb3J0ICdzZWN0aW9ucy9zZWN0aW9ucyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9maWZ0eS1maWZ0eSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9ibG9ja3MnO1xuQGltcG9ydCAnc2VjdGlvbnMvY3RhJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2dhbGxlcnknO1xuQGltcG9ydCAnc2VjdGlvbnMvY29udGVudCc7XG5cbi8vIFdvb0NvbW1lcmNlIFN0eWxlc1xuQGltcG9ydCAnd29vY29tbWVyY2UvMDAtZ2VuZXJhbCc7XG5AaW1wb3J0ICd3b29jb21tZXJjZS9zaG9wJztcbkBpbXBvcnQgJ3dvb2NvbW1lcmNlL3NpbmdsZS1wcm9kdWN0JztcbkBpbXBvcnQgJ3dvb2NvbW1lcmNlL2NhcnQnO1xuQGltcG9ydCAnd29vY29tbWVyY2UvY2hlY2tvdXQnO1xuQGltcG9ydCAnd29vY29tbWVyY2UvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICd3b29jb21tZXJjZS90aGFuay15b3UnO1xuIiwiLypcblx0VGhlbWUgTmFtZTogR2FwaW5nIFZvaWRcblx0RGVzY3JpcHRpb246IEdhcGluZ3ZvaWQuY29tIENoaWxkIHRoZW1lIG9mIEdlbmVzaXMsIGJ5IDxhIGhyZWY9XCJodHRwOi8vY2dkLmlvXCI+Q2xpZiBHcmlmZmluIERldmVsb3BtZW50IEluYzwvYT4uXG5cdEF1dGhvcjogQ2xpZiBHcmlmZmluIERldmVsb3BtZW50IEluYy5cblx0QXV0aG9yIFVSSTogaHR0cDovL2NnZC5pb1xuXG5cdFRlbXBsYXRlOiBnZW5lc2lzXG4qL1xuQGltcG9ydCB1cmwoYXNzZXRzL2NvbXBvbmVudHMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzKTtcbmJ1dHRvbiwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuLmJ1dHRvbixcbi5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLXByZXZpb3VzIGEsXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IGEge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE5MGUyO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwLjc1ZW0gMS41ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAzMDBtcyBlYXNlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBidXR0b246aG92ZXIsIGJ1dHRvbjpmb2N1cywgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlciwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4gIC5idXR0b246aG92ZXIsXG4gIC5idXR0b246Zm9jdXMsXG4gIC5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6aG92ZXIsXG4gIC5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6Zm9jdXMsXG4gIC5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQgYTpob3ZlcixcbiAgLmFkamFjZW50LWVudHJ5LXBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I3M2I1O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIGJ1dHRvbjpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmRpc2FibGVkLFxuICAuYnV0dG9uOmRpc2FibGVkLFxuICAuYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhOmRpc2FibGVkLFxuICAuYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IGE6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gICAgYnV0dG9uOmRpc2FibGVkOmhvdmVyLCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmRpc2FibGVkOmhvdmVyLCBpbnB1dFt0eXBlPVwicmVzZXRcIl06ZGlzYWJsZWQ6aG92ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06ZGlzYWJsZWQ6aG92ZXIsXG4gICAgLmJ1dHRvbjpkaXNhYmxlZDpob3ZlcixcbiAgICAuYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhOmRpc2FibGVkOmhvdmVyLFxuICAgIC5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQgYTpkaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE5MGUyOyB9XG4gIGJ1dHRvbiBhLCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIGEsIGlucHV0W3R5cGU9XCJyZXNldFwiXSBhLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIGEsXG4gIC5idXR0b24gYSxcbiAgLmFkamFjZW50LWVudHJ5LXBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYSBhLFxuICAuYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IGEgYSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgYnV0dG9uIGE6aG92ZXIsIGlucHV0W3R5cGU9XCJidXR0b25cIl0gYTpob3ZlciwgaW5wdXRbdHlwZT1cInJlc2V0XCJdIGE6aG92ZXIsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gYTpob3ZlcixcbiAgICAuYnV0dG9uIGE6aG92ZXIsXG4gICAgLmFkamFjZW50LWVudHJ5LXBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYSBhOmhvdmVyLFxuICAgIC5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQgYSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICBidXR0b24ubGFyZ2UsIGlucHV0W3R5cGU9XCJidXR0b25cIl0ubGFyZ2UsIGlucHV0W3R5cGU9XCJyZXNldFwiXS5sYXJnZSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5sYXJnZSxcbiAgLmJ1dHRvbi5sYXJnZSxcbiAgLmFkamFjZW50LWVudHJ5LXBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYS5sYXJnZSxcbiAgLmFkamFjZW50LWVudHJ5LXBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCBhLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAwLjkzNzVlbSAzZW07XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmZpZWxkc2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1ZW07XG4gIHBhZGRpbmc6IDA7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4zNzVlbTsgfVxuXG5pbnB1dCxcbnNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIlJvYm90b1wiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sIGlucHV0W3R5cGU9XCJkYXRlXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibW9udGhcIl0sIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cInRlbFwiXSwgaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwidXJsXCJdLCBpbnB1dFt0eXBlPVwid2Vla1wiXSwgdGV4dGFyZWEsXG5zZWxlY3RbbXVsdGlwbGVdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FiYWJhYjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbiAgcGFkZGluZzogMC41ZW07XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcyBlYXNlO1xuICB3aWR0aDogMTAwJTsgfVxuICBpbnB1dFt0eXBlPVwiY29sb3JcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpob3ZlciwgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwibW9udGhcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3ZlciwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpob3ZlciwgaW5wdXRbdHlwZT1cInRlbFwiXTpob3ZlciwgaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwidXJsXCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwid2Vla1wiXTpob3ZlciwgdGV4dGFyZWE6aG92ZXIsXG4gIHNlbGVjdFttdWx0aXBsZV06aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzg5ODk4OTsgfVxuICBpbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwid2Vla1wiXTpmb2N1cywgdGV4dGFyZWE6Zm9jdXMsXG4gIHNlbGVjdFttdWx0aXBsZV06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzRhOTBlMjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjA2KSwgMCAwIDVweCByZ2JhKDUyLCAxMzEsIDIyMiwgMC43KTtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIGlucHV0W3R5cGU9XCJjb2xvclwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGVcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwiZW1haWxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJtb250aFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidGVsXCJdOmRpc2FibGVkLCBpbnB1dFt0eXBlPVwidGV4dFwiXTpkaXNhYmxlZCwgaW5wdXRbdHlwZT1cInRpbWVcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ1cmxcIl06ZGlzYWJsZWQsIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmRpc2FibGVkLCB0ZXh0YXJlYTpkaXNhYmxlZCxcbiAgc2VsZWN0W211bHRpcGxlXTpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgaW5wdXRbdHlwZT1cImNvbG9yXCJdOmRpc2FibGVkOmhvdmVyLCBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpkaXNhYmxlZDpob3ZlciwgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmRpc2FibGVkOmhvdmVyLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06ZGlzYWJsZWQ6aG92ZXIsIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpkaXNhYmxlZDpob3ZlciwgaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmRpc2FibGVkOmhvdmVyLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmRpc2FibGVkOmhvdmVyLCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06ZGlzYWJsZWQ6aG92ZXIsIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06ZGlzYWJsZWQ6aG92ZXIsIGlucHV0W3R5cGU9XCJ0ZWxcIl06ZGlzYWJsZWQ6aG92ZXIsIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmRpc2FibGVkOmhvdmVyLCBpbnB1dFt0eXBlPVwidGltZVwiXTpkaXNhYmxlZDpob3ZlciwgaW5wdXRbdHlwZT1cInVybFwiXTpkaXNhYmxlZDpob3ZlciwgaW5wdXRbdHlwZT1cIndlZWtcIl06ZGlzYWJsZWQ6aG92ZXIsIHRleHRhcmVhOmRpc2FibGVkOmhvdmVyLFxuICAgIHNlbGVjdFttdWx0aXBsZV06ZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FiYWJhYjsgfVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tcmlnaHQ6IDAuMzc1ZW07IH1cblxuW3R5cGU9XCJmaWxlXCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xuICB3aWR0aDogMTAwJTsgfVxuXG5zZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bzsgfVxuXG51bCxcbm9sIHtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbiAgcGFkZGluZzogMDsgfVxuICB1bC5tZW51LFxuICBvbC5tZW51IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NWVtOyB9XG4gIGRsIGR0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi10b3A6IDAuNzVlbTsgfVxuICBkbCBkZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgbWFyZ2luOiAwLjc1ZW0gMDtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7IH1cblxudGgge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZ3JheTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMC43NWVtIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FiYWJhYjtcbiAgcGFkZGluZzogMC43NWVtIDA7IH1cblxudHIsXG50ZCxcbnRoIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5ib2R5IHtcbiAgY29sb3I6ICM1NTU7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXgtd2lkdGg6IDIwMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG4gIGJvZHkubWVudS12aXNpYmxlLCBib2R5LnNlYXJjaC12aXNpYmxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgYm9keS5tZW51LXZpc2libGUgLnNpdGUtaW5uZXIsIGJvZHkuc2VhcmNoLXZpc2libGUgLnNpdGUtaW5uZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41MjVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuaDEge1xuICBmb250LXNpemU6IDQwLjVweDsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMzZweDsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMzEuNXB4OyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAyN3B4OyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAyMi41cHg7IH1cblxuaDYge1xuICBmb250LXNpemU6IDIyLjVweDsgfVxuXG4ubWVnYS1oZWFkZXIge1xuICBmb250LXNpemU6IDYwcHg7IH1cblxucCxcbmxpIHtcbiAgbWFyZ2luOiAwIDAgMC43NWVtO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbmEge1xuICBjb2xvcjogIzRhOTBlMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlOyB9XG4gIGE6YWN0aXZlLCBhOmZvY3VzLCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzM4NmNhYTsgfVxuXG5ociB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWJhYmFiO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBtYXJnaW46IDEuNWVtIDA7IH1cblxuaW1nLFxucGljdHVyZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5mb250LWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5mb250LWxhcmdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuXG4uZm9udC14bCB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZvbnQteGwge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4uZm9udC0yeGwge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuZm9udC0yeGwge1xuICAgICAgZm9udC1zaXplOiAxLjc1cmVtOyB9IH1cblxuLmZvbnQtM3hsIHtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5mb250LTN4bCB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuXG4uZm9udC00eGwge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZvbnQtNHhsIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG5cbi5mb250LTV4bCB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuZm9udC01eGwge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuXG4ubG1iMCA+IDpsYXN0LWNoaWxkLCAuaG9tZS1zbGlkZXItY29udGVudCA+IDpsYXN0LWNoaWxkLCAucGFnZS1oZXJvIC5wYWdlLWhlcm8tY29udGVudCA+IDpsYXN0LWNoaWxkLCAuY29udGVudC1zZWN0aW9uLmZpZnR5LWZpZnR5IC5maWZ0eS1maWZ0eS1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mbXQwID4gOmZpcnN0LWNoaWxkLCAuaG9tZS1zbGlkZXItY29udGVudCA+IDpmaXJzdC1jaGlsZCwgLnBhZ2UtaGVybyAucGFnZS1oZXJvLWNvbnRlbnQgPiA6Zmlyc3QtY2hpbGQsIC5jb250ZW50LXNlY3Rpb24uZmlmdHktZmlmdHkgLmZpZnR5LWZpZnR5LWNvbnRlbnQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5tdDEge1xuICBtYXJnaW4tdG9wOiAxLjVlbTsgfVxuXG4ubWIxIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cblxuLm10MCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLm0wIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi50YWMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtd2hpdGUge1xuICBjb2xvcjogd2hpdGU7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLyogIyMgU2l0ZSBDb250YWluZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zaXRlLWlubmVyOm5vdCguZnVsbCksXG4ud3JhcCB7XG4gIG1heC13aWR0aDogMTAwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB3aWR0aDogOTUlOyB9XG4gIC5zaXRlLWlubmVyOm5vdCguZnVsbCk6OmFmdGVyLFxuICAud3JhcDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLmJsb2cgLnNpdGUtaW5uZXI6bm90KC5mdWxsKSB7XG4gIG1heC13aWR0aDogMjAwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5ibG9nIC5zaXRlLWlubmVyOm5vdCguZnVsbCk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5ibG9nIC5zaXRlLWlubmVyOm5vdCguZnVsbCkgPiAud3JhcCB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLmJsb2cgLnNpdGUtaW5uZXI6bm90KC5mdWxsKSA+IC53cmFwOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uc2l0ZS1pbm5lciB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYWdlLWJhbm5lciAud3JhcCxcbiAgLnBhZ2UgLmVudHJ5LWNvbnRlbnQsXG4gIC5wYWdlIC5jb250ZW50LFxuICAucGFnZSAuZW50cnktaGVhZGVyIHtcbiAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnBhZ2UtYmFubmVyIC53cmFwOjphZnRlcixcbiAgICAucGFnZSAuZW50cnktY29udGVudDo6YWZ0ZXIsXG4gICAgLnBhZ2UgLmNvbnRlbnQ6OmFmdGVyLFxuICAgIC5wYWdlIC5lbnRyeS1oZWFkZXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cblxuLnBhZ2UtYmFubmVyIC53cmFwID4gOmxhc3QtY2hpbGQsXG4ucGFnZSAuZW50cnktY29udGVudCA+IDpsYXN0LWNoaWxkLFxuLnBhZ2UgLmNvbnRlbnQgPiA6bGFzdC1jaGlsZCxcbi5wYWdlIC5lbnRyeS1oZWFkZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBhZ2UtYmFubmVyIC53cmFwID4gOmZpcnN0LWNoaWxkLFxuLnBhZ2UgLmVudHJ5LWNvbnRlbnQgPiA6Zmlyc3QtY2hpbGQsXG4ucGFnZSAuY29udGVudCA+IDpmaXJzdC1jaGlsZCxcbi5wYWdlIC5lbnRyeS1oZWFkZXIgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5wYWdlIC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbG9hdDogbm9uZTsgfVxuXG4vKiAjIyBDb2x1bW4gV2lkdGhzIGFuZCBQb3NpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbnRlbnQsXG4uc2lkZWJhci1wcmltYXJ5LFxuLmZ1bGwtd2lkdGggLmNvbnRlbnQge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmNvbnRlbnQ6bGFzdC1jaGlsZCxcbiAgLnNpZGViYXItcHJpbWFyeTpsYXN0LWNoaWxkLFxuICAuZnVsbC13aWR0aCAuY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAsXG4gIC5zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwLFxuICAuZnVsbC13aWR0aC1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcDpsYXN0LWNoaWxkLFxuICAgIC5zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwOmxhc3QtY2hpbGQsXG4gICAgLmZ1bGwtd2lkdGgtY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZ1bGwtd2lkdGgtY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG4gIC5jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5jb250ZW50IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA3NC40MTA1OSU7IH1cbiAgICAuY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCAuY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCAuc2lkZWJhci1wcmltYXJ5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiAyMy4yMzE3NiU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAgLnNpZGViYXItcHJpbWFyeTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCAuY29udGVudCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogNzQuNDEwNTklO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCAuY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCAuc2lkZWJhci1wcmltYXJ5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiAyMy4yMzE3NiU7IH1cbiAgICAuc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCAuc2lkZWJhci1wcmltYXJ5Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAgLnNpZGViYXItcHJpbWFyeTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7IH1cbiAgLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCxcbiAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCxcbiAgLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogNzQuNDEwNTklOyB9XG4gICAgLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcDpsYXN0LWNoaWxkLFxuICAgIC5zaWRlYmFyLXNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXA6bGFzdC1jaGlsZCxcbiAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCAuY29udGVudCxcbiAgICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5jb250ZW50LFxuICAgIC5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAgLmNvbnRlbnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMy4xNjg0NCU7XG4gICAgICB3aWR0aDogNjUuNjEwNTIlOyB9XG4gICAgICAuY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5jb250ZW50Omxhc3QtY2hpbGQsXG4gICAgICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5jb250ZW50Omxhc3QtY2hpbGQsXG4gICAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuY29udGVudC1zaWRlYmFyLXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5zaWRlYmFyLXByaW1hcnksXG4gICAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCAuc2lkZWJhci1wcmltYXJ5LFxuICAgIC5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAgLnNpZGViYXItcHJpbWFyeSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzLjE2ODQ0JTtcbiAgICAgIHdpZHRoOiAzMS4yMjEwNCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5jb250ZW50LXNpZGViYXItc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAgLnNpZGViYXItcHJpbWFyeTpsYXN0LWNoaWxkLFxuICAgICAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCAuc2lkZWJhci1wcmltYXJ5Omxhc3QtY2hpbGQsXG4gICAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5zaWRlYmFyLXByaW1hcnk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29udGVudC1zaWRlYmFyLXNpZGViYXIgLnNpZGViYXItc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiAyMy4yMzE3NiU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5zaWRlYmFyLXNlY29uZGFyeTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA3NC40MTA1OSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5zaWRlYmFyLXNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5zaWRlYmFyLXByaW1hcnkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMy4xNjg0NCU7XG4gICAgICB3aWR0aDogMzEuMjIxMDQlOyB9XG4gICAgICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5zaWRlYmFyLXByaW1hcnk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCAuc2lkZWJhci1wcmltYXJ5Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlOyB9XG4gICAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCAuY29udGVudCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzLjE2ODQ0JTtcbiAgICAgIHdpZHRoOiA2NS42MTA1MiU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAgIC5zaWRlYmFyLXNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAgLmNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLnNpZGViYXItc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiAyMy4yMzE3NiU7IH1cbiAgICAuc2lkZWJhci1zaWRlYmFyLWNvbnRlbnQgLnNpZGViYXItc2Vjb25kYXJ5Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5zaWRlYmFyLXNlY29uZGFyeTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlOyB9XG4gIC5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgd2lkdGg6IDc0LjQxMDU5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAgLmNvbnRlbnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMy4xNjg0NCU7XG4gICAgICB3aWR0aDogNjUuNjEwNTIlOyB9XG4gICAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5jb250ZW50Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5zaWRlYmFyLXByaW1hcnkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMy4xNjg0NCU7XG4gICAgICB3aWR0aDogMzEuMjIxMDQlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIC5zaWRlYmFyLXByaW1hcnk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLnNpZGViYXItc2Vjb25kYXJ5IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiAyMy4yMzE3NiU7IH1cbiAgICAuc2lkZWJhci1jb250ZW50LXNpZGViYXIgLnNpZGViYXItc2Vjb25kYXJ5Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5zaWRlYmFyLXNlY29uZGFyeTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlOyB9IH1cblxuZW1iZWQsXG5pZnJhbWUsXG5pbWcsXG5vYmplY3QsXG52aWRlbyxcbi53cC1jYXB0aW9uIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uZmVhdHVyZWQtY29udGVudCBpbWcsXG4uZ2FsbGVyeSBpbWcge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uYXZhdGFyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmFsaWdubGVmdCAuYXZhdGFyLFxuLmF1dGhvci1ib3ggLmF2YXRhciB7XG4gIG1hcmdpbi1yaWdodDogMjRweDsgfVxuXG4uYWxpZ25yaWdodCAuYXZhdGFyIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHg7IH1cblxuLmNvbW1lbnQgLmF2YXRhciB7XG4gIG1hcmdpbjogMCAxNnB4IDI0cHggMDsgfVxuXG5hLmFsaWduY2VudGVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG5hLmFsaWdubm9uZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbmEuYWxpZ25sZWZ0LFxuYS5hbGlnbm5vbmUsXG5hLmFsaWducmlnaHQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuaW1nLmNlbnRlcmVkLFxuLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIDNlbTsgfVxuXG5pbWcuYWxpZ25ub25lLFxuLmFsaWdubm9uZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbmEuYWxpZ25sZWZ0LFxuaW1nLmFsaWdubGVmdCxcbi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gIG1hcmdpbjogMCAzZW0gM2VtIDA7IH1cblxuYS5hbGlnbnJpZ2h0LFxuaW1nLmFsaWducmlnaHQsXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiAwIDAgM2VtIDNlbTsgfVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmVudHJ5LWNvbnRlbnQgcC53cC1jYXB0aW9uLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi53aWRnZXQge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxuLndpZGdldCBsaSBsaSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMCAzZW07XG4gIHBhZGRpbmc6IDA7IH1cblxuLndpZGdldF9jYWxlbmRhciB0YWJsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi53aWRnZXRfY2FsZW5kYXIgdGQsXG4ud2lkZ2V0X2NhbGVuZGFyIHRoIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5uYXYtdHJpZ2dlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1cHg7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNDVweDsgfVxuICAubmF2LXRyaWdnZXIgc3BhbiwgLm5hdi10cmlnZ2VyIHNwYW46OmJlZm9yZSwgLm5hdi10cmlnZ2VyIHNwYW46OmFmdGVyIHtcbiAgICAvKiBoYW1idXJnZXIgaWNvbiBpbiBDU1MgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogM3B4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGJhY2tncm91bmQ6ICM1NTU7IH1cbiAgLm5hdi10cmlnZ2VyIHNwYW4ge1xuICAgIC8qIGxpbmUgaW4gdGhlIGNlbnRlciAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIDAuM3M7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgMC4zcztcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgMC4zczsgfVxuICAubmF2LXRyaWdnZXIgc3Bhbjo6YmVmb3JlLCAubmF2LXRyaWdnZXIgc3Bhbjo6YWZ0ZXIge1xuICAgIC8qIG90aGVyIDIgbGluZXMgKi9cbiAgICBjb250ZW50OiAnJztcbiAgICByaWdodDogMDtcbiAgICAvKiBGb3JjZSBIYXJkd2FyZSBBY2NlbGVyYXRpb24gaW4gV2ViS2l0ICovXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIDAuM3M7XG4gICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIDAuM3M7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgMC4zczsgfVxuICAubmF2LXRyaWdnZXIgc3Bhbjo6YmVmb3JlIHtcbiAgICAvKiBtZW51IGljb24gdG9wIGxpbmUgKi9cbiAgICB0b3A6IC02cHg7IH1cbiAgLm5hdi10cmlnZ2VyIHNwYW46OmFmdGVyIHtcbiAgICAvKiBtZW51IGljb24gYm90dG9tIGxpbmUgKi9cbiAgICB0b3A6IDZweDsgfVxuICAubmF2LXRyaWdnZXIubW9iaWxlLWlzLW9wZW4gc3BhbiB7XG4gICAgLyogaGlkZSBsaW5lIGluIHRoZSBjZW50ZXIgKi9cbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB9XG4gIC5uYXYtdHJpZ2dlci5tb2JpbGUtaXMtb3BlbiBzcGFuOjpiZWZvcmUsIC5uYXYtdHJpZ2dlci5tb2JpbGUtaXMtb3BlbiBzcGFuOjphZnRlciB7XG4gICAgLyoga2VlcCB2aXNpYmxlIG90aGVyIDIgbGluZXMgKi9cbiAgICBiYWNrZ3JvdW5kOiAjNTU1OyB9XG4gIC5uYXYtdHJpZ2dlci5tb2JpbGUtaXMtb3BlbiBzcGFuOjpiZWZvcmUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgtM3B4KSByb3RhdGUoNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgtM3B4KSByb3RhdGUoNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KSB0cmFuc2xhdGVZKC0zcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgtM3B4KSByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoLTNweCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAubmF2LXRyaWdnZXIubW9iaWxlLWlzLW9wZW4gc3Bhbjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgycHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgycHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KSB0cmFuc2xhdGVZKDJweCkgcm90YXRlKC00NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgycHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoMnB4KSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAubmF2LXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc2l0ZS10aXRsZSBhLFxuLnNpdGUtdGl0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjNGE0YTRhOyB9XG5cbi5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUgPiBhIHtcbiAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9pY29ucy9sb2dvLnN2Zykgbm8tcmVwZWF0IGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgbWluLWhlaWdodDogNjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5oZWFkZXItaW1hZ2UgLnNpdGUtdGl0bGUgPiBhIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDcwcHg7IH0gfVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5nZW5lc2lzLW5hdi1tZW51IGEge1xuICBjb2xvcjogIzRhNGE0YTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS44NzVlbTsgfVxuXG4uZ2VuZXNpcy1uYXYtbWVudSBhOmhvdmVyLFxuLmdlbmVzaXMtbmF2LW1lbnUgLmN1cnJlbnQtbWVudS1pdGVtID4gYSxcbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmhvdmVyIHtcbiAgY29sb3I6ICM0YTkwZTI7IH1cblxuLnBhZ2UtdGl0bGUge1xuICBmb250LXNpemU6IDQycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjNTU1O1xuICBtYXJnaW46IDA7IH1cblxuLnBhZ2UtZGVzYyB7XG4gIGNvbG9yOiAjNTU1O1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICBtYXJnaW46IDA7IH1cblxuLmZlYXR1cmVkLWltYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDAuOTM3NWVtOyB9XG4gIC5mZWF0dXJlZC1pbWFnZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qKioqKioqXG4qKiBXZSBhcmVuJ3QgZ29pbmcgdG8gdXNlIE5lYXQgZm9yIHRoaXMgZ2FsbGVyeSBkdWUgdG8gdGhlIHBvc3NpYmxlIG51bWJlciBvZiBnYWxsZXJ5IGNvbHVtbnNcbioqIHRoYXQgZG9uJ3QgZWFzaWx5IGJyZWFrIGludG8gMTIuXG4qKioqKioqL1xuLmdhbGxlcnkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDAgMjhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAzMyU7IH1cblxuLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICB3aWR0aDogMjUlOyB9XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxNi42NjY2JTsgfVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxNC4yODU3JTsgfVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTggLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxMi41JTsgfVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxMS4xMTExJTsgfVxuXG4uZ2FsbGVyeSBpbWcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNGE0YTRhO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDRweDsgfVxuXG4uZ2FsbGVyeSBpbWc6aG92ZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWJhYmFiOyB9XG5cbi5icmVhZGNydW1iIHtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgY29sb3I6ICM1NTU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgcGFkZGluZzogMS44NzVlbSAxLjg3NWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmJyZWFkY3J1bWIge1xuICAgICAgcGFkZGluZzogMS44NzVlbSAwOyB9IH1cblxuLnRpdGxlLWFyZWEge1xuICBwYWRkaW5nOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50aXRsZS1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMC43NXJlbTsgfSB9XG5cbi5zaXRlLWRlc2NyaXB0aW9uLFxuLnNpdGUtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5oZWFkZXItaW1hZ2UgLnNpdGUtZGVzY3JpcHRpb24sXG4uaGVhZGVyLWltYWdlIC5zaXRlLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICB3aWR0aDogOS4zNzVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmhlYWRlci1pbWFnZSAuc2l0ZS1kZXNjcmlwdGlvbixcbiAgICAuaGVhZGVyLWltYWdlIC5zaXRlLXRpdGxlIHtcbiAgICAgIHdpZHRoOiAxNC4wNjI1cmVtOyB9IH1cblxuLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWJhYmFiO1xuICBib3JkZXItdG9wOiBub25lO1xuICBsZWZ0OiAtOTk5OXB4O1xuICBtYXJnaW4tbGVmdDogMS44NzVlbTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxOC43NWVtO1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogMDtcbiAgbWFyZ2luLXRvcDogNTlweDsgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnU6YWZ0ZXIsIC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudTpiZWZvcmUge1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwOyB9XG4gIC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudTpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIwcHg7XG4gICAgbGVmdDogNSU7XG4gICAgei1pbmRleDogMjsgfVxuICAuZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnU6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNhYmFiYWI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIxcHg7XG4gICAgbGVmdDogNSU7XG4gICAgei1pbmRleDogMTsgfVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgYSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAuNzVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTguNzVlbTsgfVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgbWFyZ2luOiAtNTVweCAwIDAgMTk5cHg7IH1cblxuLmdlbmVzaXMtbmF2LW1lbnUgLm1lbnUtaXRlbTpob3ZlciB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cblxuLmdlbmVzaXMtbmF2LW1lbnUgLm1lbnUtaXRlbTpob3ZlciA+IC5zdWItbWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNpdGUtaGVhZGVyIC5zdWItbWVudSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYWJhYmFiOyB9XG5cbi5zaXRlLWhlYWRlciAuc3ViLW1lbnUgLnN1Yi1tZW51IHtcbiAgbWFyZ2luLXRvcDogLTU2cHg7IH1cblxuLmVudHJ5LWNvbnRlbnQgb2wsXG4uZW50cnktY29udGVudCB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4OyB9XG5cbi5lbnRyeS1jb250ZW50IG9sID4gbGkge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7IH1cblxuLmVudHJ5LWNvbnRlbnQgdWwgPiBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG4uZW50cnktY29udGVudCBvbCBvbCxcbi5lbnRyeS1jb250ZW50IHVsIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZW50cnktY29udGVudCBjb2RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgY29sb3I6ICNkZGQ7IH1cblxucC5lbnRyeS1tZXRhIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5lbnRyeS1oZWFkZXIgLmVudHJ5LW1ldGEge1xuICBtYXJnaW4tYm90dG9tOiAzZW07IH1cblxuLmVudHJ5LWZvb3RlciAuZW50cnktbWV0YSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYWJhYmFiO1xuICBwYWRkaW5nLXRvcDogM2VtOyB9XG5cbi5lbnRyeS1jYXRlZ29yaWVzLFxuLmVudHJ5LXRhZ3Mge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZW50cnktY29tbWVudHMtbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwMTRcIjtcbiAgbWFyZ2luOiAwIDEuNWVtIDAgMC43NWVtOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogM2VtIDA7IH1cbiAgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMsIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMsIC5wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYSwgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCBhIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhLCAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IGEge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyBhLCAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1wcmV2aW91cyB7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnBhZ2luYXRpb24gLnBhZ2luYXRpb24tbmV4dCBhLCAucGFnaW5hdGlvbiAucGFnaW5hdGlvbi1uZXh0IHtcbiAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYXJjaGl2ZS1wYWdpbmF0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5hcmNoaXZlLXBhZ2luYXRpb24gbGkgYSB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTRhNGE7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4OyB9XG4gICAgLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTkwZTI7IH1cbiAgLmFyY2hpdmUtcGFnaW5hdGlvbiBsaS5hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRhOTBlMjsgfVxuXG4udG9wLXV0aWxzIC5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi50b3AtdXRpbHMgLnNlYXJjaC1mb3JtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC50b3AtdXRpbHMgLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMzIwcHg7IH1cbiAgLnRvcC11dGlscyAuc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5zaXRlLWhlYWRlciAuaGVhZGVyLXdpZGdldC1hcmVhIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5zaXRlLWhlYWRlciAuaGVhZGVyLXdpZGdldC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMC42MjVlbSAwO1xuICAgICAgcGFkZGluZy10b3A6IDFlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC53aWRnZXRfc2VhcmNoX3NvY2lhbCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NWVtOyB9XG4gIC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc2VhcmNoLWZvcm0td3JhcHBlcixcbiAgLndpZGdldF9zZWFyY2hfc29jaWFsIC5zb2NpYWwtbGlua3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc2VhcmNoLWZvcm0td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogI2Q4ZDhkODtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gIC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc2VhcmNoLWZvcm0taWNvbixcbiAgLndpZGdldF9zZWFyY2hfc29jaWFsIC5zZWFyY2gtZm9ybSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLndpZGdldF9zZWFyY2hfc29jaWFsIC5zZWFyY2gtZm9ybS1pY29uIHtcbiAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAgIC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc2VhcmNoLWZvcm0taWNvbiBzdmcge1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgd2lkdGg6IDE0cHg7IH1cbiAgLndpZGdldF9zZWFyY2hfc29jaWFsIC5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDhkOGQ4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNnB4O1xuICAgIHdpZHRoOiAxNTBweDsgfVxuICAud2lkZ2V0X3NlYXJjaF9zb2NpYWwgLnNlYXJjaC1mb3JtIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndpZGdldF9zZWFyY2hfc29jaWFsIC5zb2NpYWwtbGlua3Mge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2FiYWJhYjtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgLndpZGdldF9zZWFyY2hfc29jaWFsIC5zb2NpYWwtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogM3B4OyB9XG4gIC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc29jaWFsLWxpbmsgYSBzdmcge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICBmaWxsOiAjNTU1O1xuICAgIGhlaWdodDogMThweDtcbiAgICB3aWR0aDogMThweDsgfVxuICAud2lkZ2V0X3NlYXJjaF9zb2NpYWwgLnNvY2lhbC1saW5rIGE6aG92ZXIgc3ZnIHtcbiAgICBmaWxsOiAjNGE5MGUyOyB9IH1cblxuLnNlcnZpY2VzLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMCU7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXMgZWFzZTtcbiAgei1pbmRleDogMTAwMDsgfVxuICAuc2VydmljZXMtbWVudSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAuc2VydmljZXMtbWVudS5pcy1wcmVzZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogMDsgfVxuXG4vKiBEcm9wZG93biBjb250cm9sICovXG4uc2VsZWN0Qm94LWRyb3Bkb3duIHtcbiAgbWluLXdpZHRoOiAxNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IHNvbGlkIDFweCAjQkJCO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjMDAwO1xuICBvdXRsaW5lOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAjRjJGMkYyO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNGOEY4RjggMSUsICNFMUUxRTEgMTAwJSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMSUsICNGOEY4RjgpLCBjb2xvci1zdG9wKDEwMCUsICNFMUUxRTEpKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0Y4RjhGOCcsIGVuZENvbG9yc3RyPScjRTFFMUUxJywgR3JhZGllbnRUeXBlPTApO1xuICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5zZWxlY3RCb3gtZHJvcGRvd246Zm9jdXMsXG4uc2VsZWN0Qm94LWRyb3Bkb3duOmZvY3VzIC5zZWxlY3RCb3gtYXJyb3cge1xuICBib3JkZXItY29sb3I6ICM2NjY7IH1cblxuLnNlbGVjdEJveC1kcm9wZG93bi5zZWxlY3RCb3gtbWVudVNob3dpbmcge1xuICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogMDtcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiAwO1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3RCb3gtZHJvcGRvd24gLnNlbGVjdEJveC1sYWJlbCB7XG4gIHBhZGRpbmc6IDJweCA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uc2VsZWN0Qm94LWRyb3Bkb3duIC5zZWxlY3RCb3gtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAyM3B4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHVybChqcXVlcnkuc2VsZWN0Qm94LWFycm93LmdpZikgNTAlIGNlbnRlciBuby1yZXBlYXQ7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggI0JCQjsgfVxuXG4vKiBEcm9wZG93biBtZW51ICovXG4uc2VsZWN0Qm94LWRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgbWluLWhlaWdodDogMWVtO1xuICBib3JkZXI6IHNvbGlkIDFweCAjQkJCO1xuICAvKiBzaG91bGQgYmUgdGhlIHNhbWUgYm9yZGVyIHdpZHRoIGFzIC5zZWxlY3RCb3gtZHJvcGRvd24gKi9cbiAgYmFja2dyb3VuZDogI0ZGRjtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLyogSW5saW5lIGNvbnRyb2wgKi9cbi5zZWxlY3RCb3gtaW5saW5lIHtcbiAgbWluLXdpZHRoOiAxNTBweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI0JCQjtcbiAgYmFja2dyb3VuZDogI0ZGRjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLnNlbGVjdEJveC1pbmxpbmU6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NjY7IH1cblxuLyogT3B0aW9ucyAqL1xuLnNlbGVjdEJveC1vcHRpb25zLFxuLnNlbGVjdEJveC1vcHRpb25zIExJLFxuLnNlbGVjdEJveC1vcHRpb25zIExJIEEge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLnNlbGVjdEJveC1vcHRpb25zIExJIEEge1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAwIC41ZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IDZweCBjZW50ZXIgbm8tcmVwZWF0OyB9XG5cbi5zZWxlY3RCb3gtb3B0aW9ucyBMSS5zZWxlY3RCb3gtaG92ZXIgQSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUU7IH1cblxuLnNlbGVjdEJveC1vcHRpb25zIExJLnNlbGVjdEJveC1kaXNhYmxlZCBBIHtcbiAgY29sb3I6ICM4ODg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zZWxlY3RCb3gtb3B0aW9ucyBMSS5zZWxlY3RCb3gtc2VsZWN0ZWQgQSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDOERFRjQ7IH1cblxuLnNlbGVjdEJveC1vcHRpb25zIC5zZWxlY3RCb3gtb3B0Z3JvdXAge1xuICBjb2xvcjogIzY2NjtcbiAgYmFja2dyb3VuZDogI0VFRTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIHBhZGRpbmc6IDAgLjNlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiBEaXNhYmxlZCBzdGF0ZSAqL1xuLnNlbGVjdEJveC5zZWxlY3RCb3gtZGlzYWJsZWQge1xuICBjb2xvcjogIzg4OCAhaW1wb3J0YW50OyB9XG5cbi5zZWxlY3RCb3gtZHJvcGRvd24uc2VsZWN0Qm94LWRpc2FibGVkIC5zZWxlY3RCb3gtYXJyb3cge1xuICBvcGFjaXR5OiAuNTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgYm9yZGVyLWNvbG9yOiAjNjY2OyB9XG5cbi5zZWxlY3RCb3gtaW5saW5lLnNlbGVjdEJveC1kaXNhYmxlZCB7XG4gIGNvbG9yOiAjODg4ICFpbXBvcnRhbnQ7IH1cblxuLnNlbGVjdEJveC1pbmxpbmUuc2VsZWN0Qm94LWRpc2FibGVkIC5zZWxlY3RCb3gtb3B0aW9ucyBBIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4uc2VsZWN0Qm94IHtcbiAgYmFja2dyb3VuZDogIzRhOTBlMiAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnNlbGVjdEJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDE1NXB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2VsZWN0Qm94LWRyb3Bkb3duIC5zZWxlY3RCb3gtbGFiZWwge1xuICBwYWRkaW5nLXRvcDogN3B4ICFpbXBvcnRhbnQ7IH1cblxuLnNlbGVjdEJveC1kcm9wZG93bi1tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk5O1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uc2VsZWN0Qm94LWRyb3Bkb3duIC5zZWxlY3RCb3gtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdXJsKFwiYXNzZXRzL2ltYWdlcy9kcm9wLWRvd24tYXJyb3cucG5nXCIpIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDExcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA2cHggIWltcG9ydGFudDtcbiAgcmlnaHQ6IDE1cHggIWltcG9ydGFudDtcbiAgdG9wOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50OyB9XG5cbi5zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNpdGUtaGVhZGVyID4gLndyYXAge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiA5NSU7IH1cbiAgICAuc2l0ZS1oZWFkZXIgPiAud3JhcDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAuc2l0ZS1oZWFkZXIgPiAud3JhcDphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDQuNjg3NWVtOyB9IH1cblxuLmdlbmVzaXMtbmF2LW1lbnUge1xuICBjbGVhcjogYm90aDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZ2VuZXNpcy1uYXYtbWVudSA+IC5maXJzdCA+IGEge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmdlbmVzaXMtbmF2LW1lbnUgPiAubGFzdCA+IGEge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5nZW5lc2lzLW5hdi1tZW51ID4gLnJpZ2h0IHtcbiAgY29sb3I6IHdoaXRlO1xuICBmbG9hdDogcmlnaHQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogM2VtIDA7IH1cblxuLmdlbmVzaXMtbmF2LW1lbnUgPiAucmlnaHQgPiBhIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5nZW5lc2lzLW5hdi1tZW51ID4gLnJzcyA+IGEge1xuICBtYXJnaW4tbGVmdDogNDhweDsgfVxuXG4uZ2VuZXNpcy1uYXYtbWVudSA+IC5zZWFyY2gge1xuICBwYWRkaW5nOiAxLjVlbSAwIDA7IH1cblxuLnNpdGUtaGVhZGVyIC5nZW5lc2lzLW5hdi1tZW51IGxpIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm5hdi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhNGE0YTsgfVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgYSB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGEge1xuICBjb2xvcjogIzRhNGE0YTsgfVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgYTpob3Zlcixcbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmhvdmVyIHtcbiAgY29sb3I6ICM0YTkwZTI7IH1cblxuLm5hdi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc2l0ZS1oZWFkZXIgLm1lbnUtaXRlbSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDQzcHg7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4MCUpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNsaWRlVXAge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoODAlKTsgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDgwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg4MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4MCUpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5wYWdlLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnBhZ2UtYmFubmVyIC53cmFwIHtcbiAgICBwYWRkaW5nOiAzLjEyNWVtIDEuODc1ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5wYWdlLWJhbm5lciAud3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDMuMTI1ZW0gMDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwJSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwJSk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMCUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMCUpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwJSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwJSk7IH0gfVxuXG4ucGFnZS1uZXdzbGV0dGVyIHtcbiAgYmFja2dyb3VuZDogIzRhNGE0YTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAyNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1jdWx0dXJlLXN1YiAucGFnZS1uZXdzbGV0dGVyLFxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1jdWx0dXJlLWRlc2lnbiAucGFnZS1uZXdzbGV0dGVyLFxuICAuaG9tZSAucGFnZS1uZXdzbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYWdlLW5ld3NsZXR0ZXIgc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAucGFnZS1uZXdzbGV0dGVyIC53cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5wYWdlLW5ld3NsZXR0ZXIgLndyYXAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgcGFkZGluZzogMCA5MHB4OyB9IH1cbiAgLnBhZ2UtbmV3c2xldHRlciAucGFnZS1uZXdzbGV0dGVyLWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAucGFnZS1uZXdzbGV0dGVyIC5wYWdlLW5ld3NsZXR0ZXItY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS42cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9IH1cbiAgLnBhZ2UtbmV3c2xldHRlciBmb3JtIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAucGFnZS1uZXdzbGV0dGVyIGZvcm0ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnBhZ2UtbmV3c2xldHRlciBpbnB1dFt0eXBlPSd0ZXh0J10sXG4gIC5wYWdlLW5ld3NsZXR0ZXIgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgbWFyZ2luOiA0cHg7XG4gICAgbWluLWhlaWdodDogNDhweDsgfVxuICAucGFnZS1uZXdzbGV0dGVyIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICBtYXJnaW46IDRweDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4OyB9XG5cbi5wYWdlLW5ld3NsZXR0ZXItaW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTQycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAucGFnZS1uZXdzbGV0dGVyLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnBhZ2UtbmV3c2xldHRlci1pbWFnZS5sZWZ0IHtcbiAgICBhbmltYXRpb246IGJvdW5jZSAzcyBlYXNlIGFsdGVybmF0ZSBpbmZpbml0ZTtcbiAgICBsZWZ0OiAwOyB9XG4gIC5wYWdlLW5ld3NsZXR0ZXItaW1hZ2UucmlnaHQge1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDNzIGVhc2UgYWx0ZXJuYXRlIGluZmluaXRlO1xuICAgIHJpZ2h0OiAwOyB9XG5cbi5lbnRyeSB7XG4gIG1hcmdpbi1ib3R0b206IDZlbTtcbiAgcGFkZGluZzogMS44NzVlbSAwOyB9XG5cbi5jb250ZW50IC5lbnRyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gIG1hcmdpbi10b3A6IDEuMjVlbTsgfVxuXG4uY3VsdHVyZS1kZXNjIHVsIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgLmN1bHR1cmUtZGVzYyB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5jdWx0dXJlLWRlc2MgdWwgPiBsaSA+IHVsIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmN1bHR1cmUtZGVzYyB1bCA+IGxpID4gdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgYmFja2dyb3VuZDogIzRhOTBlMjtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgbGVmdDogLTIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLmN1bHR1cmUtZGVzYyB1bCA+IGxpOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogIzRhOTBlMjtcbiAgICB0b3A6IDhweDtcbiAgICBsZWZ0OiAtMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLmN1bHR1cmUtZGVzYyB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnBvc3QgLmVudHJ5LWNvbnRlbnQgaW1nOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7IH0gfVxuXG4uY29tbWVudC1yZXNwb25kLFxuLmVudHJ5LWNvbW1lbnRzLFxuLmVudHJ5LXBpbmdzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgcGFkZGluZzogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzZweDsgfVxuICAuY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJjb2xvclwiXSwgLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIC5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCAuY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwibW9udGhcIl0sIC5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIC5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidGVsXCJdLCAuY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCAuY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJ1cmxcIl0sIC5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cIndlZWtcIl0sIC5jb21tZW50LXJlc3BvbmQgdGV4dGFyZWEsXG4gIC5lbnRyeS1jb21tZW50cyBpbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4gIC5lbnRyeS1jb21tZW50cyBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgLmVudHJ5LWNvbW1lbnRzIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbiAgLmVudHJ5LWNvbW1lbnRzIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgLmVudHJ5LWNvbW1lbnRzIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgLmVudHJ5LWNvbW1lbnRzIGlucHV0W3R5cGU9XCJtb250aFwiXSxcbiAgLmVudHJ5LWNvbW1lbnRzIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4gIC5lbnRyeS1jb21tZW50cyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gIC5lbnRyeS1jb21tZW50cyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuICAuZW50cnktY29tbWVudHMgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgLmVudHJ5LWNvbW1lbnRzIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAuZW50cnktY29tbWVudHMgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIC5lbnRyeS1jb21tZW50cyBpbnB1dFt0eXBlPVwidXJsXCJdLFxuICAuZW50cnktY29tbWVudHMgaW5wdXRbdHlwZT1cIndlZWtcIl0sXG4gIC5lbnRyeS1jb21tZW50cyB0ZXh0YXJlYSxcbiAgLmVudHJ5LXBpbmdzIGlucHV0W3R5cGU9XCJjb2xvclwiXSxcbiAgLmVudHJ5LXBpbmdzIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICAuZW50cnktcGluZ3MgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuICAuZW50cnktcGluZ3MgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAuZW50cnktcGluZ3MgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAuZW50cnktcGluZ3MgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuICAuZW50cnktcGluZ3MgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgLmVudHJ5LXBpbmdzIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgLmVudHJ5LXBpbmdzIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4gIC5lbnRyeS1waW5ncyBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAuZW50cnktcGluZ3MgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIC5lbnRyeS1waW5ncyBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgLmVudHJ5LXBpbmdzIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gIC5lbnRyeS1waW5ncyBpbnB1dFt0eXBlPVwid2Vla1wiXSxcbiAgLmVudHJ5LXBpbmdzIHRleHRhcmVhIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4uZW50cnktY29tbWVudHMge1xuICBwYWRkaW5nOiAzNnB4OyB9XG5cbi5jb21tZW50LWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuXG5saS5jb21tZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGJkYjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FiYWJhYjtcbiAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG5cbi5jb21tZW50LWNvbnRlbnQge1xuICBjbGVhcjogYm90aDsgfVxuXG4uY29tbWVudC1saXN0IGxpIHtcbiAgbWFyZ2luLXRvcDogMThweDtcbiAgcGFkZGluZzogMzZweDsgfVxuICAuY29tbWVudC1saXN0IGxpIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zNnB4OyB9XG5cbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5jb21tZW50LXJlc3BvbmQgaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmNvbW1lbnQtcmVzcG9uZCBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDE4cHg7IH1cblxuLmVudHJ5LWNvbW1lbnRzIC5jb21tZW50LWF1dGhvciB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmVudHJ5LXBpbmdzIC5yZXBseSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvcm0tYWxsb3dlZC10YWdzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZGJkYjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiAzNnB4OyB9XG5cbi5zaWRlYmFyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tdG9wOiA2ZW07IH1cblxuLnNpZGViYXIgbGkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FiYWJhYjtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVlbTsgfVxuXG4uc2lkZWJhciBwOmxhc3QtY2hpbGQsXG4uc2lkZWJhciB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zaWRlYmFyIC53aWRnZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICBwYWRkaW5nOiAxLjVlbTsgfVxuXG4uZm9vdGVyLXdpZGdldHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5mb290ZXItd2lkZ2V0cyAud2lkZ2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mb290ZXItd2lkZ2V0cyAud2lkZ2V0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvb3Rlci13aWRnZXRzIHVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mb290ZXItd2lkZ2V0cyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLm1lbnUgYSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnNvY2lhbC1saW5rIHtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5zb2NpYWwtbGluayBhIHN2ZyB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBlYXNlOyB9XG5cbi5zb2NpYWwtbGluayBhOmhvdmVyIHN2ZyB7XG4gIGZpbGw6ICM0YTkwZTI7IH1cblxuLnNpdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nOiAxLjVlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNpdGUtZm9vdGVyIHAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5tb2JpbGUtdG9nZ2xlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsgfVxuICAubW9iaWxlLXRvZ2dsZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLm1vYmlsZS10b2dnbGUgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IHVuc2V0OyB9IH1cbiAgLm1vYmlsZS10b2dnbGU6aG92ZXIge1xuICAgIGNvbG9yOiAjNGE5MGUyOyB9XG5cbi5tb2JpbGUtbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjZjRmNGY0O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gZWFzZSAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDIyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICB3aWR0aDogNTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgcGFkZGluZy10b3A6IDRyZW07IH0gfVxuICAuYWRtaW4tYmFyIC5tb2JpbGUtbWVudSB7XG4gICAgdG9wOiAzMnB4OyB9XG4gIC5tZW51LXZpc2libGUgLm1vYmlsZS1tZW51IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgLm1vYmlsZS1tZW51IC5tb2JpbGUtdG9nZ2xlIHtcbiAgICBsZWZ0OiAxLjc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEuNzVyZW07IH1cbiAgLm1vYmlsZS1tZW51IC5tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICAubW9iaWxlLW1lbnUgLm1lbnUgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gICAgLm1vYmlsZS1tZW51IC5tZW51IC5tZW51LWl0ZW0gYSB7XG4gICAgICBjb2xvcjogIzRhNGE0YTtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLm1vYmlsZS1tZW51IC5tZW51IC5tZW51LWl0ZW0gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNGE5MGUyOyB9XG4gICAgLm1vYmlsZS1tZW51IC5tZW51IC5zdWItbWVudSAubWVudS1pdGVtIGEge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjg3NXJlbTsgfVxuICAgIC5tb2JpbGUtbWVudSAubWVudSAuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLnNlYXJjaC10b2dnbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOyB9XG4gIC5zZWFyY2gtdG9nZ2xlOmhvdmVyIHtcbiAgICBjb2xvcjogIzRhOTBlMjsgfVxuICAuc2VhcmNoLXRvZ2dsZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5zZWFyY2gtdG9nZ2xlIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiB1bnNldDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoLXRvZ2dsZSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjNGE0YTRhO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC42MjVyZW07IH1cbiAgICAgIC5zaXRlLWhlYWRlciAuc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzRhOTBlMjsgfSB9XG5cbi5zaWRlLXNlYXJjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNmNGY0ZjQ7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogMS41cmVtO1xuICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlIDMwMG1zO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgLnNpZGUtc2VhcmNoIHtcbiAgICAgIHdpZHRoOiA1MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnNpZGUtc2VhcmNoIHtcbiAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICBwYWRkaW5nLXRvcDogNHJlbTsgfSB9XG4gIC5hZG1pbi1iYXIgLnNpZGUtc2VhcmNoIHtcbiAgICB0b3A6IDMycHg7IH1cbiAgLnNlYXJjaC12aXNpYmxlIC5zaWRlLXNlYXJjaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIC5zaWRlLXNlYXJjaCAuc2VhcmNoLXRvZ2dsZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxLjc1cmVtO1xuICAgIHRvcDogMS43NXJlbTsgfVxuICAuc2lkZS1zZWFyY2ggZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gIC5zaWRlLXNlYXJjaCAubWVudSB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgLnNpZGUtc2VhcmNoIC5tZW51IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgIC5zaWRlLXNlYXJjaCAubWVudSAubWVudS1pdGVtIGEge1xuICAgICAgY29sb3I6ICM0YTRhNGE7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIC5zaWRlLXNlYXJjaCAubWVudSAubWVudS1pdGVtIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzRhOTBlMjsgfVxuICAgIC5zaWRlLXNlYXJjaCAubWVudSAuc3ViLW1lbnUgLm1lbnUtaXRlbSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW4tbGVmdDogMC44NzVyZW07IH1cbiAgICAuc2lkZS1zZWFyY2ggLm1lbnUgLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5zaW5nbGUtdGVhbV9tZW1iZXIgLmNvbnRlbnQgPiAudGVhbS1tZW1iZXItaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgd2lkdGg6IDMxLjc2MTU3JTsgfVxuICAgIC5zaW5nbGUtdGVhbV9tZW1iZXIgLmNvbnRlbnQgPiAudGVhbS1tZW1iZXItaW1hZ2U6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuc2luZ2xlLXRlYW1fbWVtYmVyIC5jb250ZW50ID4gLnRlYW1fbWVtYmVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA2NS44ODA3OCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnNpbmdsZS10ZWFtX21lbWJlciAuY29udGVudCA+IC50ZWFtX21lbWJlcjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5zaW5nbGUtdGVhbV9tZW1iZXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgbWFyZ2luLXRvcDogMy43NWVtOyB9XG5cbi5zaW5nbGUtdGVhbV9tZW1iZXIgLmVudHJ5LWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1ZW07IH1cblxuLnNpbmdsZS10ZWFtX21lbWJlciAuZW50cnkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uc2luZ2xlLXRlYW1fbWVtYmVyIC5lbnRyeS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtYWJvdXQgLnNpdGUtaW5uZXIge1xuICBtYXJnaW4tYm90dG9tOiAzZW07IH1cblxuLnRlYW0tbWVtYmVycyB7XG4gIHBhZGRpbmctYm90dG9tOiAzZW07IH1cblxuLnRlYW0tbWVtYmVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAudGVhbS1tZW1iZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogNDguODIxMTclOyB9XG4gICAgICAudGVhbS1tZW1iZXI6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLnRlYW0tbWVtYmVyOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC50ZWFtLW1lbWJlcjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRlYW0tbWVtYmVyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDMxLjc2MTU3JTsgfVxuICAgICAgLnRlYW0tbWVtYmVyOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC50ZWFtLW1lbWJlcjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTsgfVxuICAgICAgLnRlYW0tbWVtYmVyOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAgIC50ZWFtLW1lbWJlcjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAudGVhbS1tZW1iZXI6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuXG4udGVhbS1tZW1iZXIgLnRlYW0tbWVtYmVyLWltYWdlIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50ZWFtLW1lbWJlciAudGVhbS1tZW1iZXItaW1hZ2U6aG92ZXIgLm92ZXJsYXkgYSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAudGVhbS1tZW1iZXIgLnRlYW0tbWVtYmVyLWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRlYW0tbWVtYmVyLW1ldGEge1xuICBwYWRkaW5nOiAxNXB4IDI1cHg7IH1cblxuLnRlYW0tbWVtYmVyLW5hbWUge1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVlbTsgfVxuXG4udGVhbS1tZW1iZXItdGl0bGUge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5vdmVybGF5IGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yIGVhc2UtaW4tb3V0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICBjb2xvcjogd2hpdGU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5vdmVybGF5LXRleHQgc3ZnIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGVhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHdpZHRoOiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogN3B4O1xuICBmaWxsOiAjZmZmOyB9XG5cbi5zaW5nbGUtdGVhbV9tZW1iZXIuc2luZ2xlIC5lbnRyeS10aXRsZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4uc2luZ2xlLXRlYW1fbWVtYmVyIGgyIHtcbiAgZm9udC1zaXplOiAxLjc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtYWJvdXQgLmVudHJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uYmxvZyxcbi5jYXRlZ29yeSxcbi5zZWFyY2gsXG4uYmxvZyAuc2l0ZS1pbm5lcixcbi5jYXRlZ29yeSAuc2l0ZS1pbm5lcixcbi5zZWFyY2ggLnNpdGUtaW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0OyB9XG5cbi5ibG9nIC5jb250ZW50LFxuLmNhdGVnb3J5IC5jb250ZW50LFxuLnNlYXJjaCAuY29udGVudCB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5ibG9nIC5jb250ZW50OjphZnRlcixcbiAgLmNhdGVnb3J5IC5jb250ZW50OjphZnRlcixcbiAgLnNlYXJjaCAuY29udGVudDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLmJsb2cgLmNvbnRlbnQgLmVudHJ5LFxuLmNhdGVnb3J5IC5jb250ZW50IC5lbnRyeSxcbi5zZWFyY2ggLmNvbnRlbnQgLmVudHJ5LFxuLnNpbmdsZSAucmVsYXRlZC1wb3N0cyAuZW50cnkge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVlbTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5ibG9nIC5jb250ZW50IC5lbnRyeSxcbiAgICAuY2F0ZWdvcnkgLmNvbnRlbnQgLmVudHJ5LFxuICAgIC5zZWFyY2ggLmNvbnRlbnQgLmVudHJ5LFxuICAgIC5zaW5nbGUgLnJlbGF0ZWQtcG9zdHMgLmVudHJ5IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbiAgICAgIG1pbi1oZWlnaHQ6IDUxN3B4O1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgIC5ibG9nIC5jb250ZW50IC5lbnRyeTpsYXN0LWNoaWxkLFxuICAgICAgLmNhdGVnb3J5IC5jb250ZW50IC5lbnRyeTpsYXN0LWNoaWxkLFxuICAgICAgLnNlYXJjaCAuY29udGVudCAuZW50cnk6bGFzdC1jaGlsZCxcbiAgICAgIC5zaW5nbGUgLnJlbGF0ZWQtcG9zdHMgLmVudHJ5Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5ibG9nIC5jb250ZW50IC5lbnRyeTpudGgtY2hpbGQoMm4pLFxuICAgICAgLmNhdGVnb3J5IC5jb250ZW50IC5lbnRyeTpudGgtY2hpbGQoMm4pLFxuICAgICAgLnNlYXJjaCAuY29udGVudCAuZW50cnk6bnRoLWNoaWxkKDJuKSxcbiAgICAgIC5zaW5nbGUgLnJlbGF0ZWQtcG9zdHMgLmVudHJ5Om50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5ibG9nIC5jb250ZW50IC5lbnRyeTpudGgtY2hpbGQoMm4rMSksXG4gICAgICAuY2F0ZWdvcnkgLmNvbnRlbnQgLmVudHJ5Om50aC1jaGlsZCgybisxKSxcbiAgICAgIC5zZWFyY2ggLmNvbnRlbnQgLmVudHJ5Om50aC1jaGlsZCgybisxKSxcbiAgICAgIC5zaW5nbGUgLnJlbGF0ZWQtcG9zdHMgLmVudHJ5Om50aC1jaGlsZCgybisxKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuYmxvZyAuY29udGVudCAuZW50cnksXG4gICAgLmNhdGVnb3J5IC5jb250ZW50IC5lbnRyeSxcbiAgICAuc2VhcmNoIC5jb250ZW50IC5lbnRyeSxcbiAgICAuc2luZ2xlIC5yZWxhdGVkLXBvc3RzIC5lbnRyeSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiAzMS43NjE1NyU7IH1cbiAgICAgIC5ibG9nIC5jb250ZW50IC5lbnRyeTpsYXN0LWNoaWxkLFxuICAgICAgLmNhdGVnb3J5IC5jb250ZW50IC5lbnRyeTpsYXN0LWNoaWxkLFxuICAgICAgLnNlYXJjaCAuY29udGVudCAuZW50cnk6bGFzdC1jaGlsZCxcbiAgICAgIC5zaW5nbGUgLnJlbGF0ZWQtcG9zdHMgLmVudHJ5Omxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5ibG9nIC5jb250ZW50IC5lbnRyeTpudGgtY2hpbGQoMm4pLFxuICAgICAgLmNhdGVnb3J5IC5jb250ZW50IC5lbnRyeTpudGgtY2hpbGQoMm4pLFxuICAgICAgLnNlYXJjaCAuY29udGVudCAuZW50cnk6bnRoLWNoaWxkKDJuKSxcbiAgICAgIC5zaW5nbGUgLnJlbGF0ZWQtcG9zdHMgLmVudHJ5Om50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlOyB9XG4gICAgICAuYmxvZyAuY29udGVudCAuZW50cnk6bnRoLWNoaWxkKDJuICsgMSksXG4gICAgICAuY2F0ZWdvcnkgLmNvbnRlbnQgLmVudHJ5Om50aC1jaGlsZCgybiArIDEpLFxuICAgICAgLnNlYXJjaCAuY29udGVudCAuZW50cnk6bnRoLWNoaWxkKDJuICsgMSksXG4gICAgICAuc2luZ2xlIC5yZWxhdGVkLXBvc3RzIC5lbnRyeTpudGgtY2hpbGQoMm4gKyAxKSB7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuYmxvZyAuY29udGVudCAuZW50cnk6bnRoLWNoaWxkKDNuKSxcbiAgICAgIC5jYXRlZ29yeSAuY29udGVudCAuZW50cnk6bnRoLWNoaWxkKDNuKSxcbiAgICAgIC5zZWFyY2ggLmNvbnRlbnQgLmVudHJ5Om50aC1jaGlsZCgzbiksXG4gICAgICAuc2luZ2xlIC5yZWxhdGVkLXBvc3RzIC5lbnRyeTpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuYmxvZyAuY29udGVudCAuZW50cnk6bnRoLWNoaWxkKDNuKzEpLFxuICAgICAgLmNhdGVnb3J5IC5jb250ZW50IC5lbnRyeTpudGgtY2hpbGQoM24rMSksXG4gICAgICAuc2VhcmNoIC5jb250ZW50IC5lbnRyeTpudGgtY2hpbGQoM24rMSksXG4gICAgICAuc2luZ2xlIC5yZWxhdGVkLXBvc3RzIC5lbnRyeTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gIC5ibG9nIC5jb250ZW50IC5lbnRyeSAuZW50cnktY29udGVudCBwLFxuICAuY2F0ZWdvcnkgLmNvbnRlbnQgLmVudHJ5IC5lbnRyeS1jb250ZW50IHAsXG4gIC5zZWFyY2ggLmNvbnRlbnQgLmVudHJ5IC5lbnRyeS1jb250ZW50IHAsXG4gIC5zaW5nbGUgLnJlbGF0ZWQtcG9zdHMgLmVudHJ5IC5lbnRyeS1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYmxvZyAuZW50cnktdGl0bGUsXG4uY2F0ZWdvcnkgLmVudHJ5LXRpdGxlLFxuLnNlYXJjaCAuZW50cnktdGl0bGUsXG4ucmVsYXRlZC1wb3N0cyAuZW50cnktdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5ibG9nIC5lbnRyeS10aXRsZSxcbiAgICAuY2F0ZWdvcnkgLmVudHJ5LXRpdGxlLFxuICAgIC5zZWFyY2ggLmVudHJ5LXRpdGxlLFxuICAgIC5yZWxhdGVkLXBvc3RzIC5lbnRyeS10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLmJsb2cgLmVudHJ5LWNvbnRlbnQsXG4uYmxvZyAuZW50cnktZm9vdGVyLFxuLmNhdGVnb3J5IC5lbnRyeS1jb250ZW50LFxuLmNhdGVnb3J5IC5lbnRyeS1mb290ZXIsXG4uc2VhcmNoIC5lbnRyeS1jb250ZW50LFxuLnNlYXJjaCAuZW50cnktZm9vdGVyLFxuLnJlbGF0ZWQtcG9zdHMgLmVudHJ5LWZvb3Rlcixcbi5yZWxhdGVkLXBvc3RzIC5lbnRyeS1jb250ZW50IHtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5ibG9nIC5lbnRyeS1mb290ZXIsXG4uY2F0ZWdvcnkgLmVudHJ5LWZvb3Rlcixcbi5zZWFyY2ggLmVudHJ5LWZvb3Rlcixcbi5yZWxhdGVkLXBvc3RzIC5lbnRyeS1mb290ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLmNvbnRpbnVlLXJlYWRpbmcge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmVudHJ5LWRhdGUge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLnRvcC11dGlscyB7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50b3AtdXRpbHMge1xuICAgICAgcGFkZGluZzogMTVweCAwIDMwcHggMDsgfSB9XG4gIC50b3AtdXRpbHMgLnBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50b3AtdXRpbHMgLnRvcC11dGlscy1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4udG9wLXV0aWxzLXJpZ2h0IHtcbiAgbWFyZ2luLXRvcDogMC43NWVtO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50b3AtdXRpbHMtcmlnaHQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAudG9wLXV0aWxzLXJpZ2h0IC5hcmNoaXZlLFxuICAudG9wLXV0aWxzLXJpZ2h0IC5jYXRlZ29yaWVzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAudG9wLXV0aWxzLXJpZ2h0IC5hcmNoaXZlLFxuICAgICAgLnRvcC11dGlscy1yaWdodCAuY2F0ZWdvcmllcyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uc2luZ2xlIC5jb250ZW50IC5lbnRyeSxcbi5jb21tZW50LXJlc3BvbmQge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zaW5nbGUgLmNvbnRlbnQgLmVudHJ5OjphZnRlcixcbiAgLmNvbW1lbnQtcmVzcG9uZDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLnNpbmdsZSAuZW50cnkge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zaW5nbGUgLmVudHJ5LW1ldGEge1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zaW5nbGUgLmVudHJ5LWhlYWRlciAuc2hhcmVkYWRkeSB7XG4gIGZsb2F0OiByaWdodDsgfVxuICAuc2luZ2xlIC5lbnRyeS1oZWFkZXIgLnNoYXJlZGFkZHkgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uc2luZ2xlIC5lbnRyeS10aXRsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYWJhYmFiO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuXG4uc2luZ2xlIC5yZWxhdGVkLXBvc3RzIC5lbnRyeS10aXRsZSB7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG4uc2luZ2xlIC5lbnRyeS1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2FiYWJhYjtcbiAgcGFkZGluZzogMTVweCAwOyB9XG4gIC5zaW5nbGUgLmVudHJ5LWZvb3RlciAuc2hhcmVkYWRkeSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zaW5nbGUgLnJlbGF0ZWQtcG9zdHMgLmVudHJ5LWZvb3RlciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG5cbi5zaW5nbGUgLmZlYXR1cmVkLWltYWdlIHtcbiAgYm9yZGVyOiAzcHggc29saWQgI2Y0ZjRmNDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVlbTsgfVxuXG4uZW50cnktY29udGVudCB1bDpub3QoLnNvbGlsb3F1eS1zbGlkZXIpOm5vdCguZ2Zvcm1fZmllbGRzKSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgLmVudHJ5LWNvbnRlbnQgdWw6bm90KC5zb2xpbG9xdXktc2xpZGVyKTpub3QoLmdmb3JtX2ZpZWxkcykgbGkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuZW50cnktY29udGVudCB1bDpub3QoLnNvbGlsb3F1eS1zbGlkZXIpOm5vdCguZ2Zvcm1fZmllbGRzKSA+IGxpID4gdWwgbGkge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAuZW50cnktY29udGVudCB1bDpub3QoLnNvbGlsb3F1eS1zbGlkZXIpOm5vdCguZ2Zvcm1fZmllbGRzKSA+IGxpID4gdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDZweDtcbiAgICAgIGhlaWdodDogNnB4O1xuICAgICAgYmFja2dyb3VuZDogIzRhOTBlMjtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgbGVmdDogLTIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgLmVudHJ5LWNvbnRlbnQgdWw6bm90KC5zb2xpbG9xdXktc2xpZGVyKTpub3QoLmdmb3JtX2ZpZWxkcykgPiBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6ICM0YTkwZTI7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogLTIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5lbnRyeS1jb250ZW50IHVsOm5vdCguc29saWxvcXV5LXNsaWRlcik6bm90KC5nZm9ybV9maWVsZHMpID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ubG9nby1saXN0LXdyYXAge1xuICBtYXgtd2lkdGg6IDg5MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5sb2dvLWxpc3Qtd3JhcDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLmxvZ28tbGlzdC1pbWFnZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgd2lkdGg6IDQ4LjgyMTE3JTtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5sb2dvLWxpc3QtaW1hZ2U6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5sb2dvLWxpc3QtaW1hZ2U6bnRoLWNoaWxkKDJuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5sb2dvLWxpc3QtaW1hZ2U6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBjbGVhcjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5sb2dvLWxpc3QtaW1hZ2Uge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogMjMuMjMxNzYlOyB9XG4gICAgICAubG9nby1saXN0LWltYWdlOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5sb2dvLWxpc3QtaW1hZ2U6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7IH1cbiAgICAgIC5sb2dvLWxpc3QtaW1hZ2U6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICBjbGVhcjogbm9uZTsgfVxuICAgICAgLmxvZ28tbGlzdC1pbWFnZTpudGgtY2hpbGQoNG4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAubG9nby1saXN0LWltYWdlOm50aC1jaGlsZCg0bisxKSB7XG4gICAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgLmxvZ28tbGlzdC1pbWFnZSBpbWcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDsgfVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1jbGllbnRzIC5zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtY2xpZW50LWxvZ29zIC5ob21lLWNsaWVudC1sb2dvIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlLWNsaWVudC1sb2dvcyAuaG9tZS1jbGllbnQtbG9nbzpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9XG4gIC5wYWdlLWNsaWVudC1sb2dvcyAuaG9tZS1jbGllbnQtbG9nbyBpbWcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTUwcHg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLFxuICAyMCUsXG4gIDUwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIGJvdW5jZSB7XG4gIDAlLFxuICAyMCUsXG4gIDUwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA0MCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICA2MCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSxcbiAgMjAlLFxuICA1MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7IH0gfVxuXG4uYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGJvdW5jZSAycyBpbmZpbml0ZTtcbiAgLW1vei1hbmltYXRpb246IGJvdW5jZSAycyBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uOiBib3VuY2UgMnMgaW5maW5pdGU7IH1cblxuLnNsaWRlciB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cblxuLmhvbWUtc2xpZGVyIC5zbGlkZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWluLWhlaWdodDogNjAwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBib3R0b206IDMwcHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5ob21lLWNsaWVudHMgLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogIzU1NSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gIC5ob21lLWNsaWVudHMgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgY29sb3I6ICNjY2MgIWltcG9ydGFudDsgfVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyB9XG4gIC5ob21lLWNsaWVudHMgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNTU1ICFpbXBvcnRhbnQ7IH1cblxuLnNsaWNrLXByZXY6YmVmb3JlLFxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgY29sb3I6ICM0YTkwZTIgIWltcG9ydGFudDsgfVxuXG4uaG9tZS1zbGlkZXItd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaG9tZS1zbGlkZXIuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaG9tZS1zbGlkZXItb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7IH1cblxuLmhvbWUtc2xpZGVyLWNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5ob21lLXNsaWRlci1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgMTIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cblxuLmhvbWUtc2xpZGVyLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5ob21lLXNsaWRlci10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDYwcHg7IH0gfVxuXG4uaG9tZS1zbGlkZXItc3VidGl0bGUge1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5ob21lLXNsaWRlci1zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbi5ob21lLXNsaWRlci13cmFwIC5idXR0b24td3JhcCAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwLjI1cmVtOyB9XG5cbi5ob21lLXNsaWRlci1hcnJvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiA5MHB4OyB9XG4gIC5ob21lLXNsaWRlci1hcnJvdyBzdmcge1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBmaWxsOiB3aGl0ZTsgfVxuXG4uc2xpY2stc2xpZGUge1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXByZXNzIC5lbnRyeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByZXNzLWFydGljbGVzIHtcbiAgcGFkZGluZzogMzBweCAwOyB9XG5cbi5wcmVzcy1hcnRpY2xlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5wcmVzcy1hcnRpY2xlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wcmVzcy1hcnRpY2xlLWltYWdlLFxuICAucHJlc3MtYXJ0aWNsZS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbi5wcmVzcy1hcnRpY2xlLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wcmVzcy1hcnRpY2xlLWltYWdlIHtcbiAgICBoZWlnaHQ6IDIzNXB4O1xuICAgIHdpZHRoOiAzMiU7IH0gfVxuXG4ucHJlc3MtYXJ0aWNsZS1jb250ZW50IHtcbiAgcGFkZGluZzogMCAxNXB4OyB9XG4gIC5wcmVzcy1hcnRpY2xlLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5wcmVzcy1hcnRpY2xlLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDY4JTsgfSB9XG5cbi5wcmVzcy1hcnRpY2xlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG5cbi5wcmVzcy1hcnRpY2xlLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmN1bHR1cmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uY3VsdHVyZS1jb250ZW50LFxuLmN1bHR1cmUtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5jdWx0dXJlLWNvbnRlbnQsXG4gICAgLmN1bHR1cmUtaW1hZ2Uge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLmN1bHR1cmUtY29udGVudCB7XG4gIHBhZGRpbmc6IDEuODc1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuY3VsdHVyZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDUuNjI1ZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5ob21lIC5jdWx0dXJlLWNvbnRlbnQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzNjM2MzOyB9XG5cbi5jdWx0dXJlLXRpdGxlLnNlY3Rpb24tdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jdWx0dXJlLWltYWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIG1pbi1oZWlnaHQ6IDMwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLmN1bHR1cmUtaW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogNjAwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cblxuLmZlYXR1cmVzIHtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IDMuNzVlbSAwLjc1ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5mZWF0dXJlcyB7XG4gICAgICBwYWRkaW5nOiAzLjc1ZW0gMDsgfSB9XG5cbi5zZWN0aW9uLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mZWF0dXJlLWJsb2NrcyB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAzLjc1ZW0gMDsgfVxuICAuZmVhdHVyZS1ibG9ja3M6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5mZWF0dXJlLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMy43NWVtO1xuICBwYWRkaW5nOiAwIDAuOTM3NWVtOyB9XG4gIC5mZWF0dXJlLWJsb2NrOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuZmVhdHVyZS1ibG9jayB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiAzMS43NjE1NyU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAuZmVhdHVyZS1ibG9jazpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuZmVhdHVyZS1ibG9jazpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAuZmVhdHVyZS1ibG9jazpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG5cbi5mZWF0dXJlLWJsb2NrLWljb24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVlbTsgfVxuXG4uZmVhdHVyZS1ibG9jay1pY29uIHN2ZyB7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7IH1cblxuLmZlYXR1cmUtYmxvY2stbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mZWF0dXJlLWJsb2NrIGlucHV0W3R5cGU9J3RleHQnXSxcbi5mZWF0dXJlLWJsb2NrIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mZWF0dXJlLWJsb2NrIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ob21lLWNsaWVudHMge1xuICBwYWRkaW5nOiAxLjg3NWVtIDAuNzVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5ob21lLWNsaWVudHMgPiAud3JhcCB7XG4gICAgd2lkdGg6IDg1JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5ob21lLWNsaWVudHMge1xuICAgICAgcGFkZGluZzogMy43NWVtIDAgMDsgfSB9XG4gIC5ob21lLWNsaWVudHMgLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi5ob21lLWNsaWVudC1sb2dvIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMjBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5ob21lLWNsaWVudC1sb2dvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIxMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4ucGFnZS1oZXJvIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnBhZ2UtaGVybyB7XG4gICAgICBtaW4taGVpZ2h0OiA1MDBweDsgfSB9XG4gIC5zaW5nbGUtY2xpZW50IC5wYWdlLWhlcm8ge1xuICAgIG1pbi1oZWlnaHQ6IDIyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5zaW5nbGUtY2xpZW50IC5wYWdlLWhlcm8ge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMjBweDsgfSB9XG4gIC5wYWdlLWhlcm8gLnBhZ2UtaGVyby1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5wYWdlLWhlcm8gLnBhZ2UtaGVyby1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAxMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIC5wYWdlLWhlcm8gLnBhZ2UtaGVyby10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5wYWdlLWhlcm8gLnBhZ2UtaGVyby10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjBweDsgfSB9XG4gIC5wYWdlLWhlcm8gLnBhZ2UtaGVyby1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICM0YTkwZTI7IH1cbiAgLnBhZ2UtaGVybyAub3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7IH1cblxuLnNlcnZpY2VzLW1lbnUge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBib3JkZXItYm90dG9tOiAjYzNjM2MzO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5zZXJ2aWNlcy1tZW51IGxpOmZpcnN0LWNoaWxkIGEsXG4gIC5zZXJ2aWNlcy1tZW51IGxpOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnNlcnZpY2VzLW1lbnUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uY3VsdHVyZS10b3AtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDIycHg7XG4gIG1hcmdpbjogNjBweCBhdXRvO1xuICBtYXgtd2lkdGg6IDY4MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmN1bHR1cmUtZGVzaWduLWZlYXR1cmVzLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBwYWRkaW5nOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmN1bHR1cmUtZGVzaWduLWZlYXR1cmVzIHtcbiAgbWF4LXdpZHRoOiA2OGVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmN1bHR1cmUtZGVzaWduLWZlYXR1cmVzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY3VsdHVyZS1kZXNpZ24tZmVhdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICBtaW4taGVpZ2h0OiA5MHB4O1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmN1bHR1cmUtZGVzaWduLWZlYXR1cmUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgICAuY3VsdHVyZS1kZXNpZ24tZmVhdHVyZTpudGgtY2hpbGQoNSksIC5jdWx0dXJlLWRlc2lnbi1mZWF0dXJlOm50aC1jaGlsZCg2KSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICAgLmN1bHR1cmUtZGVzaWduLWZlYXR1cmU6bnRoLWNoaWxkKDUpIHAsIC5jdWx0dXJlLWRlc2lnbi1mZWF0dXJlOm50aC1jaGlsZCg2KSBwIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDkwcHg7IH0gfVxuICAuY3VsdHVyZS1kZXNpZ24tZmVhdHVyZSBwIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwOyB9XG5cbi5jdWx0dXJlLWJvdHRvbS1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA2OGVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIG1heC13aWR0aDogNjgwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY3VsdHVyZS1ib3R0b20tY29udGVudDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLmN1bHR1cmUtY29udGFjdC1mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBtYXgtd2lkdGg6IDY4MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmFydC1ibG9ja3Mge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uYXJ0LWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiA2MHB4IDEuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmFydC1ibG9jay5pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uYXJ0LWltYWdlcyB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cblxuLmFydC1pbWFnZXMgLndyYXAge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuYXJ0LWltYWdlcyAud3JhcDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLmFydC1jdGEge1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLndoaXRlLXBvcHVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBwYWRkaW5nOiAyMHB4O1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luOiAyMHB4IGF1dG87IH1cblxuLmZvb3Rlci1jdGEge1xuICBiYWNrZ3JvdW5kOiAjNGE0YTRhO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDYwcHggMC43NWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuZm9vdGVyLWN0YSB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7IH0gfVxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1jdWx0dXJlLXN1YiAuZm9vdGVyLWN0YSxcbiAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtY3VsdHVyZS1kZXNpZ24gLmZvb3Rlci1jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtY29udGFjdCAuY29udGVudCB7XG4gIG1heC13aWR0aDogNjhlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1jb250YWN0IC5jb250ZW50OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWNvbnRhY3QgLmNvbnRlbnQgLmNvbnRhY3Qtc2lkZWJhciB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiAzMS43NjE1NyU7XG4gICAgICBwYWRkaW5nOiAxLjg3NWVtIDA7IH1cbiAgICAgIC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWNvbnRhY3QgLmNvbnRlbnQgLmNvbnRhY3Qtc2lkZWJhcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtY29udGFjdCAuY29udGVudCAuZW50cnkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogNjUuODgwNzglO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1jb250YWN0IC5jb250ZW50IC5lbnRyeTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNvbnRhY3Qtc2lkZWJhciAuY29udGFjdC1zaWRlYmFyLWFkZHJlc3MsXG4uY29udGFjdC1zaWRlYmFyIC5jb250YWN0LXNpZGViYXItcGhvbmUsXG4uY29udGFjdC1zaWRlYmFyIC5jb250YWN0LXNpZGViYXItZW1haWwsXG4uY29udGFjdC1zaWRlYmFyIC5jb250YWN0LXNpZGViYXItdHdpdHRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmNvbnRhY3Qtc2lkZWJhciAuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm5ld3NsZXR0ZXIuc2hvcnRjb2RlIHtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBtYXJnaW46IDMwcHggMDtcbiAgcGFkZGluZzogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uZXdzbGV0dGVyLnNob3J0Y29kZSBmb3JtIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAubmV3c2xldHRlci5zaG9ydGNvZGUgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIC5uZXdzbGV0dGVyLnNob3J0Y29kZSBpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubmV3c2xldHRlci5zaG9ydGNvZGUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLm5ld3NsZXR0ZXIuc2hvcnRjb2RlIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIC5uZXdzbGV0dGVyLnNob3J0Y29kZSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgLm5ld3NsZXR0ZXIuc2hvcnRjb2RlIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5uZXdzbGV0dGVyLnNob3J0Y29kZSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAubmV3c2xldHRlci5zaG9ydGNvZGUgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgIHdpZHRoOiA3MCU7IH1cbiAgICAubmV3c2xldHRlci5zaG9ydGNvZGUgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICB3aWR0aDogMzAlOyB9IH1cblxuLnRlc3RpbW9uaWFscy1zaG9ydGNvZGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMwcHg7IH1cblxuLnRlc3RpbW9uaWFsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50ZXN0aW1vbmlhbCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLnRlc3RpbW9uaWFscyAuc2xpY2stZG90cyB7XG4gIGJvdHRvbTogLTQ1cHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnRlc3RpbW9uaWFscyAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gIGNvbG9yOiAjY2NjICFpbXBvcnRhbnQ7IH1cblxuLnJlbGF0ZWQtcG9zdHMge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBwYWRkaW5nOiAzMHB4OyB9XG5cbi5zZWFyY2gtcmVzdWx0cyAuc2VhcmNoLWZvcm0td3JhcHBlciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDJlbSAwIDNlbTsgfVxuXG4uc2VhcmNoLXJlc3VsdHMgI3NlYXJjaGZvcm0gaW5wdXRbdHlwZT10ZXh0XSB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLnNlYXJjaC1yZXN1bHRzICNzZWFyY2hmb3JtIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi10b3A6IC01cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgLnN0b3JlLWxhbmRpbmcucGFnZSAuY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtOyB9IH1cblxuLnN0b3JlLWxhbmRpbmcucGFnZSAuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi5zdG9yZS1sYW5kaW5nLnBhZ2UgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgbWFyZ2luLXRvcDogMHB4OyB9XG5cbi5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5oZXJvLXNsaWRlciAuc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAyNXB4O1xuICB6LWluZGV4OiAxMDAwOyB9XG5cbi5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5oZXJvLXNsaWRlciAuc2xpY2stcHJldiB7XG4gIGxlZnQ6IDI1cHg7XG4gIHotaW5kZXg6IDEwMDA7IH1cblxuLnN0b3JlLWxhbmRpbmcucGFnZSAuc3RvcmUtbGFuZGluZy1zZWN0aW9uLmhlcm8tc2xpZGVyIC5oZXJvLXNsaWRlIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtaW4taGVpZ2h0OiA1MDBweDsgfVxuICAuc3RvcmUtbGFuZGluZy5wYWdlIC5zdG9yZS1sYW5kaW5nLXNlY3Rpb24uaGVyby1zbGlkZXIgLmhlcm8tc2xpZGU6YWZ0ZXIge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RvcmUtbGFuZGluZy5wYWdlIC5zdG9yZS1sYW5kaW5nLXNlY3Rpb24uaGVyby1zbGlkZXIgLmhlcm8tc2xpZGUgLndyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7IH1cblxuLnN0b3JlLWxhbmRpbmcucGFnZSAuc3RvcmUtbGFuZGluZy1zZWN0aW9uLmhlcm8tc2xpZGVyIC5oZXJvLWNvbnRlbnQtd3JhcCB7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4uc3RvcmUtbGFuZGluZy5wYWdlIC5zdG9yZS1sYW5kaW5nLXNlY3Rpb24uaGVyby1zbGlkZXIgLmhlcm8tY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDg1JTsgfVxuICAuc3RvcmUtbGFuZGluZy5wYWdlIC5zdG9yZS1sYW5kaW5nLXNlY3Rpb24uaGVyby1zbGlkZXIgLmhlcm8tY29udGVudCAuaGVyby10aXRsZSxcbiAgLnN0b3JlLWxhbmRpbmcucGFnZSAuc3RvcmUtbGFuZGluZy1zZWN0aW9uLmhlcm8tc2xpZGVyIC5oZXJvLWNvbnRlbnQgLmhlcm8tc3ViLXRpdGxlLFxuICAuc3RvcmUtbGFuZGluZy5wYWdlIC5zdG9yZS1sYW5kaW5nLXNlY3Rpb24uaGVyby1zbGlkZXIgLmhlcm8tY29udGVudCAuY2xvc2luZy1zdWItdGl0bGUge1xuICAgIGNvbG9yOiAjNGE0YTRhO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnN0b3JlLWxhbmRpbmcucGFnZSAuc3RvcmUtbGFuZGluZy1zZWN0aW9uLmhlcm8tc2xpZGVyIC5oZXJvLWNvbnRlbnQgLmhlcm8tdGl0bGUsXG4gIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5oZXJvLXNsaWRlciAuaGVyby1jb250ZW50IC5jbG9zaW5nLXN1Yi10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zNzVlbTtcbiAgICBmb250LXNpemU6IDIyLjA1cHg7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5oZXJvLXNsaWRlciAuaGVyby1jb250ZW50IC5oZXJvLXRpdGxlLFxuICAgICAgLnN0b3JlLWxhbmRpbmcucGFnZSAuc3RvcmUtbGFuZGluZy1zZWN0aW9uLmhlcm8tc2xpZGVyIC5oZXJvLWNvbnRlbnQgLmNsb3Npbmctc3ViLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMS41cHg7IH0gfVxuICAgIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5oZXJvLXNsaWRlciAuaGVyby1jb250ZW50IC5oZXJvLXRpdGxlIC5oZXJvLXRpdGxlLWF0LFxuICAgIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5oZXJvLXNsaWRlciAuaGVyby1jb250ZW50IC5jbG9zaW5nLXN1Yi10aXRsZSAuaGVyby10aXRsZS1hdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDAuMTg3NWVtOyB9XG4gIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5oZXJvLXNsaWRlciAuaGVyby1jb250ZW50IC5oZXJvLXN1Yi10aXRsZSB7XG4gICAgbWFyZ2luOiAzZW0gMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuc3RvcmUtbGFuZGluZy5wYWdlIC5zdG9yZS1sYW5kaW5nLXNlY3Rpb24uaGVyby1zbGlkZXIgLmhlcm8tY29udGVudCAuc3ViLXRpdGxlLWV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnN0b3JlLWxhbmRpbmcucGFnZSAuc3RvcmUtbGFuZGluZy1zZWN0aW9uLmhlcm8tc2xpZGVyIC5oZXJvLWNvbnRlbnQgLmNsb3Npbmctc3ViLXRpdGxlIHtcbiAgICBtYXJnaW46IDAuNzVlbSAwOyB9XG5cbi5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5wcm9kdWN0LWJsb2NrcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAzZW0gMCAxLjVlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnN0b3JlLWxhbmRpbmctc2VjdGlvbi5wcm9kdWN0LWJsb2NrcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuLnN0b3JlLWxhbmRpbmcucGFnZSAucHJvZHVjdC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gIHBhZGRpbmctdG9wOiAxLjVlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuc3RvcmUtbGFuZGluZy5wYWdlIC5wcm9kdWN0LWJsb2NrIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnByb2R1Y3QtYmxvY2s6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS41ZW07IH1cbiAgICAgIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnByb2R1Y3QtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVlbTsgfSB9XG4gIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnByb2R1Y3QtYmxvY2sgLnByb2R1Y3QtYmxvY2stdGl0bGUge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMC43NWVtOyB9XG4gIC5zdG9yZS1sYW5kaW5nLnBhZ2UgLnByb2R1Y3QtYmxvY2sgLnByb2R1Y3QtYmxvY2stYmx1cmIge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVlbTsgfVxuICAuc3RvcmUtbGFuZGluZy5wYWdlIC5wcm9kdWN0LWJsb2NrIC5wcm9kdWN0LWJsb2NrLWlubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3RvcmUtbGFuZGluZy5wYWdlIC5wcm9kdWN0LWJsb2NrIC5wcm9kdWN0LWJsb2NrLWlubmVyIC5idXR0b24ge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmZsZXhpYmxlLXNlY3Rpb24uc3AtdG9wLCAuZmxleGlibGUtc2VjdGlvbi5zcC1ib3RoIHtcbiAgcGFkZGluZy10b3A6IDNlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuZmxleGlibGUtc2VjdGlvbi5zcC10b3AsIC5mbGV4aWJsZS1zZWN0aW9uLnNwLWJvdGgge1xuICAgICAgcGFkZGluZy10b3A6IDZlbTsgfSB9XG5cbi5mbGV4aWJsZS1zZWN0aW9uLnNwLXRvcC1zbWFsbCwgLmZsZXhpYmxlLXNlY3Rpb24uc3AtYm90aC1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAxLjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuZmxleGlibGUtc2VjdGlvbi5zcC10b3Atc21hbGwsIC5mbGV4aWJsZS1zZWN0aW9uLnNwLWJvdGgtc21hbGwge1xuICAgICAgcGFkZGluZy10b3A6IDNlbTsgfSB9XG5cbi5mbGV4aWJsZS1zZWN0aW9uLnNwLWJvdHRvbSwgLmZsZXhpYmxlLXNlY3Rpb24uc3AtYm90aCB7XG4gIHBhZGRpbmctYm90dG9tOiAzZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZsZXhpYmxlLXNlY3Rpb24uc3AtYm90dG9tLCAuZmxleGlibGUtc2VjdGlvbi5zcC1ib3RoIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2ZW07IH0gfVxuXG4uZmxleGlibGUtc2VjdGlvbi5zcC1ib3R0b20tc21hbGwsIC5mbGV4aWJsZS1zZWN0aW9uLnNwLWJvdGgtc21hbGwge1xuICBwYWRkaW5nLWJvdHRvbTogMS41ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZsZXhpYmxlLXNlY3Rpb24uc3AtYm90dG9tLXNtYWxsLCAuZmxleGlibGUtc2VjdGlvbi5zcC1ib3RoLXNtYWxsIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzZW07IH0gfVxuXG4uZmxleGlibGUtc2VjdGlvbi5zbS10b3AsIC5mbGV4aWJsZS1zZWN0aW9uLnNtLWJvdGgge1xuICBtYXJnaW4tdG9wOiAzZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZsZXhpYmxlLXNlY3Rpb24uc20tdG9wLCAuZmxleGlibGUtc2VjdGlvbi5zbS1ib3RoIHtcbiAgICAgIG1hcmdpbi10b3A6IDZlbTsgfSB9XG5cbi5mbGV4aWJsZS1zZWN0aW9uLnNtLXRvcC1zbWFsbCwgLmZsZXhpYmxlLXNlY3Rpb24uc20tYm90aC1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDEuNWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5mbGV4aWJsZS1zZWN0aW9uLnNtLXRvcC1zbWFsbCwgLmZsZXhpYmxlLXNlY3Rpb24uc20tYm90aC1zbWFsbCB7XG4gICAgICBtYXJnaW4tdG9wOiAzZW07IH0gfVxuXG4uZmxleGlibGUtc2VjdGlvbi5zbS1ib3R0b20sIC5mbGV4aWJsZS1zZWN0aW9uLnNtLWJvdGgge1xuICBtYXJnaW4tYm90dG9tOiAzZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZsZXhpYmxlLXNlY3Rpb24uc20tYm90dG9tLCAuZmxleGlibGUtc2VjdGlvbi5zbS1ib3RoIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZlbTsgfSB9XG5cbi5mbGV4aWJsZS1zZWN0aW9uLnNtLWJvdHRvbS1zbWFsbCwgLmZsZXhpYmxlLXNlY3Rpb24uc20tYm90aC1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5mbGV4aWJsZS1zZWN0aW9uLnNtLWJvdHRvbS1zbWFsbCwgLmZsZXhpYmxlLXNlY3Rpb24uc20tYm90aC1zbWFsbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzZW07IH0gfVxuXG4uZmxleGlibGUtc2VjdGlvbi5iZy1saWdodC1ncmF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDsgfVxuXG4uZmxleGlibGUtc2VjdGlvbi52aWRlbyBpZnJhbWUge1xuICBoZWlnaHQ6IDQwMHB4O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IH1cblxuLmNvbnRlbnQtc2VjdGlvbi5maWZ0eS1maWZ0eSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmNvbnRlbnQtc2VjdGlvbi5maWZ0eS1maWZ0eSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnQtc2VjdGlvbi5maWZ0eS1maWZ0eS5sZWZ0IC5maWZ0eS1maWZ0eS1pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAuY29udGVudC1zZWN0aW9uLmZpZnR5LWZpZnR5LmxlZnQgLmZpZnR5LWZpZnR5LWNvbnRlbnQge1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gIC5jb250ZW50LXNlY3Rpb24uZmlmdHktZmlmdHkgLmZpZnR5LWZpZnR5LWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG1pbi1oZWlnaHQ6IDIxLjg3NXJlbTtcbiAgICBvcmRlcjogMTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLmNvbnRlbnQtc2VjdGlvbi5maWZ0eS1maWZ0eSAuZmlmdHktZmlmdHktaW1hZ2Uge1xuICAgICAgICBtaW4taGVpZ2h0OiAzNC4zNzVyZW07XG4gICAgICAgIG1pbi13aWR0aDogNTAlOyB9IH1cbiAgLmNvbnRlbnQtc2VjdGlvbi5maWZ0eS1maWZ0eSAuZmlmdHktZmlmdHktY29udGVudCB7XG4gICAgb3JkZXI6IDI7XG4gICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAuY29udGVudC1zZWN0aW9uLmZpZnR5LWZpZnR5IC5maWZ0eS1maWZ0eS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNXJlbSA0cmVtOyB9IH1cblxuLmNvbnRlbnQtYmxvY2tzIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDEuNWVtIDA7IH1cblxuLmNvbnRlbnQtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDEuNWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5jb250ZW50LWJsb2NrLWltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07IH1cbiAgLmNvbnRlbnQtYmxvY2staW1hZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uY3RhIHtcbiAgcGFkZGluZzogNC41ZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jdGEuaGFzLWJnIC5jdGEtdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuXG4ucGFnZS1pZC01MjExOSAuY3RhIC5idXR0b24ge1xuICBwYWRkaW5nOiAyMHB4IDkwcHg7IH1cblxuLmdhbGxlcnkge1xuICBtYXJnaW46IDEuNWVtIDA7IH1cblxuLmNvbnRlbnQtc2VjdGlvbiAud3JhcCB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuY29udGVudC1zZWN0aW9uIC53cmFwIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuY29udGVudC1zZWN0aW9uIC53cmFwICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgLmNvbnRlbnQtc2VjdGlvbiAud3JhcCAqOmxhc3QtY2hpbGQgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuLndvb2NvbW1lcmNlLXBhZ2UgLnNpdGUtaW5uZXIgLndyYXAge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICBwYWRkaW5nLXRvcDogMS41ZW07IH1cbiAgLndvb2NvbW1lcmNlLXBhZ2UgLnNpdGUtaW5uZXIgLndyYXAgLmNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAud29vY29tbWVyY2UtcGFnZSAuc2l0ZS1pbm5lciAud3JhcCBhcnRpY2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi53b29jb21tZXJjZS1wYWdlIC53cmFwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAuc2l0ZS1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi53b29jb21tZXJjZS1wYWdlIC5hZGRfdG9fY2FydF9idXR0b24sXG4ud29vY29tbWVyY2UtcGFnZSAucHJvZHVjdF90eXBlX2dyb3VwZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWJhYmFiICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1wYWdlIC5hZGRfdG9fY2FydF9idXR0b246aG92ZXIsXG4gIC53b29jb21tZXJjZS1wYWdlIC5wcm9kdWN0X3R5cGVfZ3JvdXBlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg5ODk4OSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzIC5hdmF0YXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzIC5jb21tZW50LXRleHQge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZS1wYWdlICNyZXZpZXdzIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM0YTkwZTI7IH1cblxuLndvb2NvbW1lcmNlIGZvcm0gLmZvcm0tcm93IGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSBtYXJrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgLnByb2R1Y3QtY2F0ZWdvcnkgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAucHJvZHVjdC1jYXRlZ29yeSBoMyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLnByb2R1Y3QtY2F0ZWdvcnk6aG92ZXIgaDMge1xuICBjb2xvcjogIzNiNzNiNSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAucHJvZHVjdHMge1xuICBtYXJnaW46IDEuNWVtIDAgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG4gIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5wcm9kdWN0LWxvd2VyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgaDIge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuc3Rhci1yYXRpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIHtcbiAgICBjb2xvcjogIzU1NSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMWVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5idXR0b24ge1xuICAgIG1hcmdpbjogMC4xODc1ZW0gYXV0byAwLjc1ZW0gYXV0byAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRjZGU7IH1cbiAgICAud29vY29tbWVyY2UgdWwucHJvZHVjdHMgbGkucHJvZHVjdCAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNzNiNSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZSB1bC5wcm9kdWN0cyBsaS5wcm9kdWN0IC5hZGRlZF90b19jYXJ0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjM3NWVtICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByb2R1Y3QtdGl0bGUtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU4OyB9XG4gIC53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCAud29vY29tbWVyY2UtbWVzc2FnZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE5MGUyICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7IH1cbiAgICAud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgLndvb2NvbW1lcmNlLW1lc3NhZ2UgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I3M2I1ICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5wcm9kdWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IGgxIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1ZW07IH1cblxuLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IC53b29jb21tZXJjZS1wcm9kdWN0LXJhdGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuXG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCB7XG4gIGNvbG9yOiAjNTU1OyB9XG5cbi53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCAuc3VtbWFyeSAucXVhbnRpdHkgaW5wdXQucXR5IHtcbiAgcGFkZGluZzogNy41cHggIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLnByaWNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NWVtOyB9XG5cbi53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCAuc3VtbWFyeSAuY2FydCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVlbTsgfVxuXG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgLnByb2R1Y3QtYWRkb24ge1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMC43NWVtICFpbXBvcnRhbnQ7IH1cbiAgLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IC5wcm9kdWN0LWFkZG9uOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDAuNzVlbSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCAuc3VtbWFyeSAuYWRkb24tbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwLjM3NWVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgLnN1bW1hcnkgYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IGZvcm0gLmZvcm0tcm93IHtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IGZvcm0gLmZvcm0tcm93IGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogMjAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gICAgLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IGZvcm0gLmZvcm0tcm93IGxhYmVsIGlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMTg3NWVtOyB9XG4gICAgLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5zdW1tYXJ5IGZvcm0gLmZvcm0tcm93IGxhYmVsIHNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhOTBlMiAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICAud29vY29tbWVyY2Uuc2luZ2xlLXByb2R1Y3QgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjczYjUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC53Yy10YWJzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCAud2MtdGFicyBsaSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLndvb2NvbW1lcmNlLnNpbmdsZS1wcm9kdWN0IC53Yy10YWJzIGxpIGEge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbmRsLnByb2R1Y3QtYWRkb24tdG90YWxzIGR0IHtcbiAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlLWVycm9yIGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLWNhcnQud29vY29tbWVyY2UtcGFnZSAud3JhcCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG5cbi53b29jb21tZXJjZS1jYXJ0Lndvb2NvbW1lcmNlLXBhZ2UgLmVudHJ5LWhlYWRlciBhLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNTBweCkge1xuICAgIC53b29jb21tZXJjZS1jYXJ0Lndvb2NvbW1lcmNlLXBhZ2UgLmVudHJ5LWhlYWRlciBhLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgLndvb2NvbW1lcmNlLWNhcnQud29vY29tbWVyY2UtcGFnZSAuY291cG9uIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1jYXJ0Lndvb2NvbW1lcmNlLXBhZ2UgLmNvdXBvbiBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgbWFyZ2luLXRvcDogMC4zNzVlbTsgfSB9XG5cbi53b29jb21tZXJjZS1jYXJ0Lndvb2NvbW1lcmNlLXBhZ2UgLmVudHJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ud29vY29tbWVyY2UtY2FydC53b29jb21tZXJjZS1wYWdlIC5jYXJ0X2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTsgfVxuICAud29vY29tbWVyY2UtY2FydC53b29jb21tZXJjZS1wYWdlIC5jYXJ0X2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG5cbi53b29jb21tZXJjZS1jYXJ0Lndvb2NvbW1lcmNlLXBhZ2UgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UtY2FydC53b29jb21tZXJjZS1wYWdlIC5jaGVja291dC1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE5MGUyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1jYXJ0Lndvb2NvbW1lcmNlLXBhZ2UgLmNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgLndvb2NvbW1lcmNlLWNhcnQud29vY29tbWVyY2UtcGFnZSAuY2hlY2tvdXQtYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I3M2I1ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UtY2FydC53b29jb21tZXJjZS1wYWdlIC5xdWFudGl0eSBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gIHBhZGRpbmc6IDcuNXB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGhlYWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkY2RlICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pLCAud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ci5vcmRlcl9pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNCAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRyLmNhcnQtc3VidG90YWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkY2RlICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGgge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB0ZCB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHRkLmFjdGlvbnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmNGY0ZjQgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCB7XG4gIHBhZGRpbmctYm90dG9tOiA3LjVweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogNy41cHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC53b29jb21tZXJjZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsXG4gICAgLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbiAgICAud29vY29tbWVyY2UtcGFnZSAjY29udGVudCB0YWJsZS5jYXJ0IHRkLmFjdGlvbnMgLmlucHV0LXRleHQsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2UgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0IHtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4jc2hpcHBpbmdfbWV0aG9kIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICNzaGlwcGluZ19tZXRob2QgbGk6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNzaGlwcGluZ19tZXRob2QgbGkgbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDsgfVxuXG4jcGF5bWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXRvcDogM2VtOyB9XG4gICNwYXltZW50IHVsIHtcbiAgICBib3JkZXItY29sb3I6ICM0YTRhNGEgIWltcG9ydGFudDsgfVxuICAjcGF5bWVudCAucGF5bWVudF9ib3g6YWZ0ZXIsXG4gICNwYXltZW50IC5wYXltZW50X2JveDpiZWZvcmUsXG4gICNwYXltZW50IGxpOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICNwYXltZW50ICNwbGFjZV9vcmRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTkwZTIgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICAgICNwYXltZW50ICNwbGFjZV9vcmRlcjpob3ZlciwgI3BheW1lbnQgI3BsYWNlX29yZGVyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjczYjUgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMS41ZW07IH1cblxuLndjX3BheW1lbnRfbWV0aG9kcyB7XG4gIGJvcmRlci1ib3R0b206IDBweCAhaW1wb3J0YW50OyB9XG4gIC53Y19wYXltZW50X21ldGhvZHMgLnVwcGVyLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC53Y19wYXltZW50X21ldGhvZHMgLnVwcGVyLWRldGFpbHMgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC53Y19wYXltZW50X21ldGhvZHMgLnVwcGVyLWRldGFpbHMgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAud2NfcGF5bWVudF9tZXRob2RzIC51cHBlci1kZXRhaWxzIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBtYXJnaW4tdG9wOiA2cHggIWltcG9ydGFudDsgfVxuICAgIC53Y19wYXltZW50X21ldGhvZHMgLnVwcGVyLWRldGFpbHMgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC43NWVtOyB9XG4gIC53Y19wYXltZW50X21ldGhvZHMgLmxvd2VyLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC53Y19wYXltZW50X21ldGhvZHMgLmxvd2VyLWRldGFpbHMgaW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICAud2NfcGF5bWVudF9tZXRob2RzIC5wYXltZW50X2JveCB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3NoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjEyNWVtOyB9XG4gICNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzICNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzLWNoZWNrYm94IHtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQwJTsgfVxuXG4jY2dkX2dpZnRfbm90ZV9maWVsZCB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsLFxuLndvb2NvbW1lcmNlLXBhZ2luYXRpb24gbGkge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCAuY3VycmVudCxcbiAgLndvb2NvbW1lcmNlLXBhZ2luYXRpb24gbGkgLmN1cnJlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YTkwZTIgIWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuICAud29vY29tbWVyY2UtcGFnaW5hdGlvbiB1bCAucGFnZS1udW1iZXJzLFxuICAud29vY29tbWVyY2UtcGFnaW5hdGlvbiBsaSAucGFnZS1udW1iZXJzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE0YTRhO1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogNnB4IDEwcHggIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTsgfVxuICAgIC53b29jb21tZXJjZS1wYWdpbmF0aW9uIHVsIC5wYWdlLW51bWJlcnM6aG92ZXIsXG4gICAgLndvb2NvbW1lcmNlLXBhZ2luYXRpb24gbGkgLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGE5MGUyICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlLW9yZGVyLXJlY2VpdmVkIC5zaG9wX3RhYmxlLm9yZGVyX2RldGFpbHMgLm9yZGVyX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNCAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAuc2hvcF90YWJsZS5vcmRlcl9kZXRhaWxzIC5vcmRlcl9pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLnNob3BfdGFibGUub3JkZXJfZGV0YWlscyB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmRjZGUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLm9yZGVyX2RldGFpbHMge1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAxLjVlbSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCAub3JkZXJfZGV0YWlscyBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7IH1cbiAgICAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLm9yZGVyX2RldGFpbHMgbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAud29vY29tbWVyY2Utb3JkZXItcmVjZWl2ZWQgLm9yZGVyX2RldGFpbHMgbGk6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZSAhaW1wb3J0YW50OyB9XG4iLCIjeyRhbGwtYnV0dG9uc30sXG4uYnV0dG9uLFxuLmFkamFjZW50LWVudHJ5LXBhZ2luYXRpb24gLnBhZ2luYXRpb24tcHJldmlvdXMgYSxcbi5hZGphY2VudC1lbnRyeS1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uLW5leHQgYSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogJGJhc2UtYm9yZGVyLXJhZGl1cztcbiAgY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nICRiYXNlLXNwYWNpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRhY3Rpb24tY29sb3IsIDIwJSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLmxhcmdlIHtcbiAgICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZyAqIDEuMjUgJGJhc2Utc3BhY2luZyAqIDI7XG4gICAgZm9udC1zaXplOiByZW0oMjApO1xuICB9XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG4kYmFzZS1mb250LWZhbWlseTogJ3Byb3hpbWEtbm92YScsICRoZWx2ZXRpY2E7XG4kaGVhZGluZy1mb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cbiRsc3U6ICdtaW4td2lkdGg6IDkwMHB4JztcbiRzc3U6ICdtaW4td2lkdGg6IDYwMHB4JztcblxuLy8gRm9udCBTaXplc1xuJGJhc2UtZm9udC1zaXplOiAxOHB4O1xuJGgxLWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMi4yNTtcbiRoMi1mb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDI7XG4kaDMtZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUgKiAxLjc1O1xuJGg0LWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS41O1xuJGg1LWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplICogMS4yNTtcbiRoNi1mb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZSAqIDEuMjU7XG5cbi8vIExpbmUgaGVpZ2h0XG4kYmFzZS1saW5lLWhlaWdodDogMS41O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6IDEuMjtcblxuLy8gT3RoZXIgU2l6ZXNcbiRiYXNlLWJvcmRlci1yYWRpdXM6IDNweDtcbiRiYXNlLXNwYWNpbmc6ICRiYXNlLWxpbmUtaGVpZ2h0ICogMWVtO1xuJHNtYWxsLXNwYWNpbmc6ICRiYXNlLXNwYWNpbmcgLyAyO1xuJGJhc2Utei1pbmRleDogMDtcblxuLy8gQ29sb3JzXG4kYmx1ZTogIzRhOTBlMjtcbiRkYXJrLWdyYXk6ICM0YTRhNGE7XG4kdGV4dC1ncmF5OiAjNTU1O1xuJG1lZGl1bS1ncmF5OiAjYWJhYmFiO1xuJGxpZ2h0LWdyYXk6ICNmNGY0ZjQ7XG4kd29vLWxpZ2h0LWdyYXk6ICNkZmRjZGU7XG5cbi8vIEZvbnQgQ29sb3JzXG4kYmFzZS1mb250LWNvbG9yOiAkdGV4dC1ncmF5O1xuJGFjdGlvbi1jb2xvcjogJGJsdWU7XG5cbi8vIEJvcmRlclxuJGJhc2UtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kYmFzZS1ib3JkZXI6IDFweCBzb2xpZCAkYmFzZS1ib3JkZXItY29sb3I7XG5cbi8vIEJhY2tncm91bmQgQ29sb3JzXG4kYmFzZS1iYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiRzZWNvbmRhcnktYmFja2dyb3VuZC1jb2xvcjogdGludCgkYmFzZS1ib3JkZXItY29sb3IsIDc1JSk7XG5cbi8vIEZvcm1zXG4kZm9ybS1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAzcHggcmdiYSgjMDAwLCAwLjA2KTtcbiRmb3JtLWJveC1zaGFkb3ctZm9jdXM6ICRmb3JtLWJveC1zaGFkb3csXG4gIDAgMCA1cHggYWRqdXN0LWNvbG9yKCRhY3Rpb24tY29sb3IsICRsaWdodG5lc3M6IC01JSwgJGFscGhhOiAtMC4zKTtcblxuLy8gQW5pbWF0aW9uc1xuJGJhc2UtZHVyYXRpb246IDMwMG1zO1xuJGJhc2UtdGltaW5nOiBlYXNlO1xuXG5AbWl4aW4gb21lZ2EtcmVzZXQoJG50aCkge1xuICAmOm50aC1jaGlsZCgjeyRudGh9KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigpO1xuICB9XG4gICY6bnRoLWNoaWxkKCN7JG50aH0gKyAxKSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbn1cblxuLy8gYmcgYWxsb3dzIHNpbXBseSBhZGRpdGlvbiBvZiBiYWNrZ3JvdW5kIHBvc2l0aW9uLCBzaXplIGFuZCByZXBlYXQuIERlZmF1bHRzIHRvIGNlbnRlciwgY292ZXIgYW5kIG5vLXJlcGVhdC5cbkBtaXhpbiBiZygkcG9zaXRpb246IGNlbnRlciwgJHNpemU6IGNvdmVyLCAkcmVwZWF0OiBuby1yZXBlYXQpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogJHJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZTtcbn1cblxuQG1peGluIGJnX292ZXJsYXkoJGNvbG9yOiAkYWN0aW9uLWNvbG9yLCAkb3BhY2l0eTogMC43KSB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDFzIGVhc2UtaW4tb3V0KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDFzIGVhc2UtaW4tb3V0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJG9wYWNpdHkpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAud3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gR2VvcmdpYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kZ2VvcmdpYTogXCJHZW9yZ2lhXCIsIFwiQ2FtYnJpYVwiLCBcIlRpbWVzIE5ldyBSb21hblwiLCBcIlRpbWVzXCIsIHNlcmlmO1xuXG4vLy8gSGVsdmV0aWNhIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRoZWx2ZXRpY2E6IFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTHVjaWRhIEdyYW5kZSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kbHVjaWRhLWdyYW5kZTogXCJMdWNpZGEgR3JhbmRlXCIsIFwiVGFob21hXCIsIFwiVmVyZGFuYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8vLyBNb25vc3BhY2UgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJG1vbm9zcGFjZTogXCJCaXRzdHJlYW0gVmVyYSBTYW5zIE1vbm9cIiwgXCJDb25zb2xhc1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuXG4vLy8gVmVyZGFuYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kdmVyZGFuYTogXCJWZXJkYW5hXCIsIFwiR2VuZXZhXCIsIHNhbnMtc2VyaWY7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBNaXhlcyBhIGNvbG9yIHdpdGggYmxhY2suXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3Jcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIChQZXJjZW50YWdlKX0gJHBlcmNlbnRcbi8vLyAgIFRoZSBhbW91bnQgb2YgYmxhY2sgdG8gYmUgbWl4ZWQgaW4uXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoI2ZmYmI1MiwgNjAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NGEyMDtcbi8vLyAgIH1cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG9yfVxuXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjMDAwLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XG4gIH1cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsImZpZWxkc2V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5sZWdlbmQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZyAvIDI7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nIC8gMjtcbn1cblxuaW5wdXQsXG5zZWxlY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbn1cblxuI3skYWxsLXRleHQtaW5wdXRzfSxcbnNlbGVjdFttdWx0aXBsZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICBib3JkZXI6ICRiYXNlLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiAkZm9ybS1ib3gtc2hhZG93O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgcGFkZGluZzogJGJhc2Utc3BhY2luZyAvIDM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogc2hhZGUoJGJhc2UtYm9yZGVyLWNvbG9yLCAyMCUpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWJveC1zaGFkb3ctZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRiYXNlLWJhY2tncm91bmQtY29sb3IsIDUlKTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6ICRiYXNlLWJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW4tcmlnaHQ6ICRzbWFsbC1zcGFjaW5nIC8gMjtcbn1cblxuW3R5cGU9XCJmaWxlXCJdIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5zZWxlY3Qge1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xufVxuIiwidWwsXG5vbCB7XG4gIC8vIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICBwYWRkaW5nOiAwO1xuXG4gICYubWVudSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuXG4gIGR0IHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi10b3A6ICRzbWFsbC1zcGFjaW5nO1xuICB9XG5cbiAgZGQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwidGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBtYXJnaW46ICRzbWFsbC1zcGFjaW5nIDA7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG50aCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBzaGFkZSgkYmFzZS1ib3JkZXItY29sb3IsIDI1JSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6ICRzbWFsbC1zcGFjaW5nIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRkIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICBwYWRkaW5nOiAkc21hbGwtc3BhY2luZyAwO1xufVxuXG50cixcbnRkLFxudGgge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuIiwiYm9keSB7XG4gIGNvbG9yOiAkYmFzZS1mb250LWNvbG9yO1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG4gIG1heC13aWR0aDogMjAwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cbiAgJi5tZW51LXZpc2libGUsXG4gICYuc2VhcmNoLXZpc2libGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuc2l0ZS1pbm5lciB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICB9XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZztcbiAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmcgKiAwLjc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTtcbn1cblxuaDIge1xuICBmb250LXNpemU6ICRoMi1mb250LXNpemU7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAkaDMtZm9udC1zaXplO1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcbn1cblxuaDUge1xuICBmb250LXNpemU6ICRoNS1mb250LXNpemU7XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAkaDYtZm9udC1zaXplO1xufVxuXG4ubWVnYS1oZWFkZXIge1xuICBmb250LXNpemU6IDYwcHg7XG59XG5cbnAsXG5saSB7XG4gIG1hcmdpbjogMCAwICRzbWFsbC1zcGFjaW5nO1xuICBmb250LXNpemU6IHJlbSgxOCk7XG59XG5cbmEge1xuICBjb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBzaGFkZSgkYWN0aW9uLWNvbG9yLCAyNSUpO1xuICB9XG59XG5cbmhyIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJhc2UtYm9yZGVyO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbn1cblxuaW1nLFxucGljdHVyZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZm9udC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICBAbWVkaWEgKCRsc3UpIHtcbiAgICBmb250LXNpemU6IHJlbSgyMik7XG4gIH1cbn1cblxuLmZvbnQteGwge1xuICBmb250LXNpemU6IHJlbSgyMik7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgQG1lZGlhICgkbHN1KSB7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICB9XG59XG5cbi5mb250LTJ4bCB7XG4gIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICBAbWVkaWEgKCRsc3UpIHtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gIH1cbn1cblxuLmZvbnQtM3hsIHtcbiAgZm9udC1zaXplOiByZW0oMjgpO1xuICBsaW5lLWhlaWdodDogMS4yO1xuXG4gIEBtZWRpYSAoJGxzdSkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgfVxufVxuXG4uZm9udC00eGwge1xuICBmb250LXNpemU6IHJlbSgzMik7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgQG1lZGlhICgkbHN1KSB7XG4gICAgZm9udC1zaXplOiByZW0oMzYpO1xuICB9XG59XG5cbi5mb250LTV4bCB7XG4gIGZvbnQtc2l6ZTogcmVtKDM2KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICBAbWVkaWEgKCRsc3UpIHtcbiAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gIH1cbn1cbiIsIi5sbWIwIHtcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uZm10MCB7XG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5tdDEge1xuICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nO1xufVxuXG4ubWIxIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbn1cblxuLm10MCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5tMCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnRhYyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtd2hpdGUge1xuICBjb2xvcjogd2hpdGU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qICMjIFNpdGUgQ29udGFpbmVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1pbm5lcjpub3QoLmZ1bGwpLFxuLndyYXAge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwMHB4KTtcbiAgd2lkdGg6IDk1JTtcbn1cblxuLmJsb2cgLnNpdGUtaW5uZXI6bm90KC5mdWxsKSB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigyMDAwcHgpO1xuXG4gID4gLndyYXAge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjAwcHgpO1xuICB9XG59XG5cbi5zaXRlLWlubmVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG59XG5cbi8vIC5zaXRlLWlubmVyOm5vdCguZnVsbCksXG4vLyAuc2l0ZS1oZWFkZXIgLndyYXAsXG4vLyAucGFnZS1iYW5uZXIgLndyYXAge1xuLy8gICBwYWRkaW5nOiAwIGVtKDMwKTtcblxuLy8gICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4vLyAgICAgcGFkZGluZzogMDtcbi8vICAgfVxuLy8gfVxuXG4ucGFnZS1iYW5uZXIgLndyYXAsXG4ucGFnZSAuZW50cnktY29udGVudCxcbi5wYWdlIC5jb250ZW50LFxuLnBhZ2UgLmVudHJ5LWhlYWRlciB7XG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODYwcHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnBhZ2UgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiAjIyBDb2x1bW4gV2lkdGhzIGFuZCBQb3NpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbnRlbnQsXG4uc2lkZWJhci1wcmltYXJ5LFxuLmZ1bGwtd2lkdGggLmNvbnRlbnQge1xuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICBAaW5jbHVkZSBvbWVnYSgpO1xufVxuXG5AaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gIC5jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwLFxuICAuc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCxcbiAgLmZ1bGwtd2lkdGgtY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgQGluY2x1ZGUgb21lZ2E7XG4gIH1cblxuICAuZnVsbC13aWR0aC1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LXNpZGViYXIgLmNvbnRlbnQtc2lkZWJhci13cmFwIHtcbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOSBvZiAxMik7XG4gICAgfVxuXG4gICAgLnNpZGViYXItcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG4gICAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICB9XG4gIH1cblxuICAuc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkgb3IgMTIpO1xuICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnNpZGViYXItcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtc2lkZWJhci1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCxcbiAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5jb250ZW50LXNpZGViYXItd3JhcCxcbiAgLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgOSk7XG4gICAgfVxuXG4gICAgLnNpZGViYXItcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiA5KTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LXNpZGViYXItc2lkZWJhciAuc2lkZWJhci1zZWNvbmRhcnkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICBAaW5jbHVkZSBvbWVnYTtcbiAgfVxuXG4gIC5zaWRlYmFyLXNpZGViYXItY29udGVudCAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuc2lkZWJhci1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDkpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDkpO1xuICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnNpZGViYXItc2lkZWJhci1jb250ZW50IC5zaWRlYmFyLXNlY29uZGFyeSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIH1cbiAgfVxuXG4gIC5zaWRlYmFyLWNvbnRlbnQtc2lkZWJhciAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICBAaW5jbHVkZSBvbWVnYTtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiA5KTtcbiAgICB9XG5cbiAgICAuc2lkZWJhci1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDkpO1xuICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgfVxuICB9XG5cbiAgLnNpZGViYXItY29udGVudC1zaWRlYmFyIC5zaWRlYmFyLXNlY29uZGFyeSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCBhIG91dGVyIGNvbnRhaW5lciBieSBjZW50cmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgW3VuaXRdfSAkbG9jYWwtbWF4LXdpZHRoIFskbWF4LXdpZHRoXVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGluY2x1ZGUgYSBjbGVhcmZpeCBmb3IgY29udGFpbmluZyBmbG9hdHMuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vY3NzbW9qby5jb20vbGF0ZXN0X25ld19jbGVhcmZpeF9zb19mYXIvXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudDo6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgICAgY29udGVudDogXCJcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBPdXRwdXRzIGEgbWVkaWEtcXVlcnkgYmxvY2sgd2l0aCBhbiBvcHRpb25hbCBncmlkIGNvbnRleHQgKHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyB1c2VkIGluIHRoZSBncmlkKS5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcywgd2hlcmUgZWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vLyAgIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyAgIElmIHRoZXJlIGlzIG9ubHkgYSBzaW5nbGUgYCR2YWx1ZWAgaW4gYCRxdWVyeWAsIGAkZGVmYXVsdC1mZWF0dXJlYCBpcyBnb2luZyB0byBiZSB1c2VkLlxuLy8vXG4vLy8gICBUaGUgbnVtYmVyIG9mIHRvdGFsIGNvbHVtbnMgaW4gdGhlIGdyaWQgY2FuIGJlIHNldCBieSBwYXNzaW5nIGAkY29sdW1uc2AgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCAob3ZlcnJpZGVzIGAkdG90YWwtY29sdW1uc2ApLlxuLy8vXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyBbJGdyaWQtY29sdW1uc11cbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoNzY5cHgpIHtcbi8vLyAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSBtZWRpYShtaW4td2lkdGggMzIwcHggbWF4LXdpZHRoIDQ4MHB4LCA2KSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLnJlc3BvbnNpdmUtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgICB9XG4vLy8gIH1cblxuQG1peGluIG1lZGlhKCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRsb29wLXRvOiBsZW5ndGgoJHF1ZXJ5KTtcbiAgICAkbWVkaWEtcXVlcnk6IFwic2NyZWVuIGFuZCBcIjtcbiAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcblxuICAgIEBpZiBpcy1ub3QoaXMtZXZlbihsZW5ndGgoJHF1ZXJ5KSkpIHtcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksICRsb29wLXRvKSAhZ2xvYmFsO1xuICAgICAgJGxvb3AtdG86ICRsb29wLXRvIC0gMTtcbiAgICB9XG5cbiAgICAkaTogMTtcbiAgICBAd2hpbGUgJGkgPD0gJGxvb3AtdG8ge1xuICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcIihcIiArIG50aCgkcXVlcnksICRpKSArIFwiOiBcIiArIG50aCgkcXVlcnksICRpICsgMSkgKyBcIikgXCI7XG5cbiAgICAgIEBpZiAoJGkgKyAxKSAhPSAkbG9vcC10byB7XG4gICAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCJhbmQgXCI7XG4gICAgICB9XG5cbiAgICAgICRpOiAkaSArIDI7XG4gICAgfVxuXG4gICAgQG1lZGlhICN7JG1lZGlhLXF1ZXJ5fSB7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gU3BlY2lmaWVzIHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbiBlbGVtZW50IHNob3VsZCBzcGFuLiBJZiB0aGUgc2VsZWN0b3IgaXMgbmVzdGVkIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiBpdHMgcGFyZW50IGVsZW1lbnQgc2hvdWxkIGJlIHBhc3NlZCBhcyBhbiBhcmd1bWVudCBhcyB3ZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc3BhblxuLy8vICAgQSBsaXN0IGNvbnRhaW5pbmcgYCRjb2x1bW5zYCwgdGhlIHVuaXRsZXNzIG51bWJlciBvZiBjb2x1bW5zIHRoZSBlbGVtZW50IHNwYW5zIChyZXF1aXJlZCksIGFuZCBgJGNvbnRhaW5lci1jb2x1bW5zYCwgdGhlIG51bWJlciBvZiBjb2x1bW5zIHRoZSBwYXJlbnQgZWxlbWVudCBzcGFucyAob3B0aW9uYWwpLlxuLy8vXG4vLy8gICBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwYXNzZWQsIGl0IGlzIGFzc3VtZWQgdGhhdCBpdCdzIGAkY29sdW1uc2AgYW5kIHRoYXQgdGhhdCBgJGNvbnRhaW5lci1jb2x1bW5zYCBpcyBlcXVhbCB0byBgJGdyaWQtY29sdW1uc2AsIHRoZSB0b3RhbCBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbi8vL1xuLy8vICAgVGhlIHZhbHVlcyBjYW4gYmUgc2VwYXJhdGVkIHdpdGggYW55IHN0cmluZyBzdWNoIGFzIGBvZmAsIGAvYCwgZXRjLlxuLy8vXG4vLy8gICBgJGNvbHVtbnNgIGFsc28gYWNjZXB0cyBkZWNpbWFscyBmb3Igd2hlbiBpdCdzIG5lY2Vzc2FyeSB0byBicmVhayBvdXQgb2YgdGhlIHN0YW5kYXJkIGdyaWQuIEUuZy4gUGFzc2luZyBgMi40YCBpbiBhIHN0YW5kYXJkIDEyIGNvbHVtbiBncmlkIHdpbGwgZGl2aWRlIHRoZSByb3cgaW50byA1IGNvbHVtbnMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnQgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmVtb3ZlcyB0aGUgZWxlbWVudCdzIGd1dHRlciBtYXJnaW4sIHJlZ2FyZGxlc3Mgb2YgaXRzIHBvc2l0aW9uIGluIHRoZSBncmlkIGhpZXJhcmNoeSBvciBkaXNwbGF5IHByb3BlcnR5LiBJdCBjYW4gdGFyZ2V0IGEgc3BlY2lmaWMgZWxlbWVudCwgb3IgZXZlcnkgYG50aC1jaGlsZGAgb2NjdXJyZW5jZS4gV29ya3Mgb25seSB3aXRoIGBibG9ja2AgbGF5b3V0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5IFtibG9ja11cbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzLiBTdXBwb3J0ZWQgYXJndW1lbnRzIGFyZSBgbnRoLWNoaWxkYCBzZWxlY3RvcnMgKHRhcmdldHMgYSBzcGVjaWZpYyBwc2V1ZG8gZWxlbWVudCkgYW5kIGBhdXRvYCAodGFyZ2V0cyBgbGFzdC1jaGlsZGApLlxuLy8vXG4vLy8gICBXaGVuIHBhc3NlZCBhbiBgbnRoLWNoaWxkYCBhcmd1bWVudCBvZiB0eXBlIGAqbmAgd2l0aCBgYmxvY2tgIGRpc3BsYXksIHRoZSBvbWVnYSBtaXhpbiBhdXRvbWF0aWNhbGx5IGFkZHMgYSBjbGVhciB0byB0aGUgYCpuKzFgIHRoIGVsZW1lbnQuIE5vdGUgdGhhdCBjb21wb3NpdGUgYXJndW1lbnRzIHN1Y2ggYXMgYDJuKzFgIGRvIG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS5cbi8vL1xuLy8vICAgKipEZXByZWNhdGlvbiB3YXJuaW5nKio6IFRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgYCRkaXJlY3Rpb25gIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSBgcm93KCRkaXJlY3Rpb24pYCBvciBzZXQgYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gIGluc3RlYWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2E7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKSB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bisxKSB7XG4vLy8gICAgIGNsZWFyOiBsZWZ0O1xuLy8vICAgfVxuXG5AbWl4aW4gb21lZ2EoJHF1ZXJ5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICAkdGFibGU6IGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSk7XG4gICRhdXRvOiBiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgJGRpcmVjdGlvbiBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgfVxuXG4gIEBpZiAkdGFibGUge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gbm8gbG9uZ2VyIHJlbW92ZXMgcGFkZGluZyBpbiB0YWJsZSBsYXlvdXRzLlwiKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIGFuZCAkdGFibGUgPT0gZmFsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZChudGgoJHF1ZXJ5LCAxKSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVG9vIG1hbnkgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgb21lZ2EoKSBtaXhpbi5cIik7XG4gIH1cbn1cblxuQG1peGluIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIGFuZCB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsImVtYmVkLFxuaWZyYW1lLFxuaW1nLFxub2JqZWN0LFxudmlkZW8sXG4ud3AtY2FwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLmZlYXR1cmVkLWNvbnRlbnQgaW1nLFxuLmdhbGxlcnkgaW1nIHtcbiAgICB3aWR0aDogYXV0bztcbn1cbiIsIi5hdmF0YXIge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4uYWxpZ25sZWZ0IC5hdmF0YXIsXG4uYXV0aG9yLWJveCAuYXZhdGFyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG59XG5cbi5hbGlnbnJpZ2h0IC5hdmF0YXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyNHB4O1xufVxuXG4uY29tbWVudCAuYXZhdGFyIHtcbiAgICBtYXJnaW46IDAgMTZweCAyNHB4IDA7XG59XG4iLCJhLmFsaWduY2VudGVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbmEuYWxpZ25ub25lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5hbGlnbmxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmEuYWxpZ25sZWZ0LFxuYS5hbGlnbm5vbmUsXG5hLmFsaWducmlnaHQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nLmNlbnRlcmVkLFxuLmFsaWduY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAkYmFzZS1zcGFjaW5nKjI7XG59XG5cbmltZy5hbGlnbm5vbmUsXG4uYWxpZ25ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xufVxuXG5hLmFsaWdubGVmdCxcbmltZy5hbGlnbmxlZnQsXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICAgIG1hcmdpbjogMCAkYmFzZS1zcGFjaW5nKjIgJGJhc2Utc3BhY2luZyoyIDA7XG59XG5cbmEuYWxpZ25yaWdodCxcbmltZy5hbGlnbnJpZ2h0LFxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2Utc3BhY2luZyoyICRiYXNlLXNwYWNpbmcqMjtcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZW50cnktY29udGVudCBwLndwLWNhcHRpb24tdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiIsIi53aWRnZXQge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLndpZGdldCBsaSBsaSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDAgJGJhc2Utc3BhY2luZyoyO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi53aWRnZXRfY2FsZW5kYXIgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ud2lkZ2V0X2NhbGVuZGFyIHRkLFxuLndpZGdldF9jYWxlbmRhciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLm5hdi10cmlnZ2VyIHtcblx0XHRAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG5cdCAgICBkaXNwbGF5OiBibG9jaztcblx0ICAgIGhlaWdodDogNDVweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDE1cHg7XG5cdFx0dG9wOiA1MCU7XG5cdCAgICB3aWR0aDogNDVweDtcblxuXHQgICAgc3Bhbiwgc3Bhbjo6YmVmb3JlLCBzcGFuOjphZnRlciB7XG5cdCAgICAgICAgLyogaGFtYnVyZ2VyIGljb24gaW4gQ1NTICovXG5cdCAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ICAgICAgICBoZWlnaHQ6IDNweDtcblx0ICAgICAgICB3aWR0aDogMjRweDtcblx0ICAgICAgICBiYWNrZ3JvdW5kOiAkdGV4dC1ncmF5O1xuXHQgICAgfVxuXG5cdCAgICBzcGFuIHtcblx0ICAgICAgICAvKiBsaW5lIGluIHRoZSBjZW50ZXIgKi9cblx0ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICAgICAgdG9wOiA1MCU7XG5cdCAgICAgICAgcmlnaHQ6IDEwcHg7XG5cdCAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcblx0ICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQgLjNzIC4zcyk7XG5cdCAgICB9XG5cblx0ICAgIHNwYW46OmJlZm9yZSwgc3Bhbjo6YWZ0ZXIge1xuXHQgICAgICAgIC8qIG90aGVyIDIgbGluZXMgKi9cblx0ICAgICAgICBjb250ZW50OiAnJztcblx0ICAgICAgICByaWdodDogMDtcblx0ICAgICAgICAvKiBGb3JjZSBIYXJkd2FyZSBBY2NlbGVyYXRpb24gaW4gV2ViS2l0ICovXG5cdCAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVooMCkpO1xuXHQgICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHQgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0ICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKDAlIDUwJSk7XG5cdCAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbih0cmFuc2Zvcm0gLjNzIC4zcyk7XG5cdCAgICB9XG5cblx0ICAgIHNwYW46OmJlZm9yZSB7XG5cdCAgICAgICAgLyogbWVudSBpY29uIHRvcCBsaW5lICovXG5cdCAgICAgICAgdG9wOiAtNnB4O1xuXHQgICAgfVxuXG5cdCAgICBzcGFuOjphZnRlciB7XG5cdCAgICAgICAgLyogbWVudSBpY29uIGJvdHRvbSBsaW5lICovXG5cdCAgICAgICAgdG9wOiA2cHg7XG5cdCAgICB9XG5cblx0ICAgICYubW9iaWxlLWlzLW9wZW4ge1xuXHQgICAgICAgIHNwYW4ge1xuXHQgICAgICAgICAgICAvKiBoaWRlIGxpbmUgaW4gdGhlIGNlbnRlciAqL1xuXHQgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLCAwKTtcblx0ICAgICAgICB9XG5cblx0ICAgICAgICBzcGFuOjpiZWZvcmUsIHNwYW46OmFmdGVyIHtcblx0ICAgICAgICAgICAgLyoga2VlcCB2aXNpYmxlIG90aGVyIDIgbGluZXMgKi9cblx0ICAgICAgICAgICAgYmFja2dyb3VuZDogJHRleHQtZ3JheTtcblx0ICAgICAgICB9XG5cblx0ICAgICAgICBzcGFuOjpiZWZvcmUge1xuXHQgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoLTNweCkgcm90YXRlKDQ1ZGVnKSk7XG5cdCAgICAgICAgfVxuXG5cdCAgICAgICAgc3Bhbjo6YWZ0ZXIge1xuXHQgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoMnB4KSByb3RhdGUoLTQ1ZGVnKSk7XG5cdCAgICAgICAgfVxuXHQgICAgfVxuXHR9XG5cbkBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0Lm5hdi10cmlnZ2VyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJ3ZWJraXRcIik7XG4gICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgXCJtb3pcIik7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJG1vdGlvbnMuLi4pIHtcbiAgLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiLnNpdGUtdGl0bGUge1xuICBhLFxuICBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgfVxufVxuXG4uaGVhZGVyLWltYWdlIC5zaXRlLXRpdGxlID4gYSB7XG4gIGJhY2tncm91bmQ6IHVybChhc3NldHMvaWNvbnMvbG9nby5zdmcpIG5vLXJlcGVhdCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIG1pbi1oZWlnaHQ6IDYwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcblxuICBAbWVkaWEgKCRsc3UpIHtcbiAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICB9XG59XG4iLCIuZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgYSB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiBlbSgzMCk7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IGE6aG92ZXIsXG4uZ2VuZXNpcy1uYXYtbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IC5jdXJyZW50LW1lbnUtaXRlbSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkYmx1ZTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIucGFnZS10aXRsZSB7XG5cdGZvbnQtc2l6ZTogNDJweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJHRleHQtZ3JheTtcblx0bWFyZ2luOiAwO1xufVxuIiwiLnBhZ2UtZGVzYyB7XG4gICAgY29sb3I6ICR0ZXh0LWdyYXk7XG5cdGZvbnQtc2l6ZTogMzBweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIG1hcmdpbjogMDtcbn1cbiIsIi5mZWF0dXJlZC1pbWFnZSB7XG5cdHBhZGRpbmctYm90dG9tOiBlbSgxNSk7XG5cblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuIiwiLyoqKioqKipcbioqIFdlIGFyZW4ndCBnb2luZyB0byB1c2UgTmVhdCBmb3IgdGhpcyBnYWxsZXJ5IGR1ZSB0byB0aGUgcG9zc2libGUgbnVtYmVyIG9mIGdhbGxlcnkgY29sdW1uc1xuKiogdGhhdCBkb24ndCBlYXNpbHkgYnJlYWsgaW50byAxMi5cbioqKioqKiovXG5cblxuLmdhbGxlcnkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAwIDI4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAzMyU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICB3aWR0aDogMjUlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDIwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAxNi42NjY2JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAxNC4yODU3JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAxMi41JTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy05IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAxMS4xMTExJTtcbn1cblxuLmdhbGxlcnkgaW1nIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiA0cHg7XG59XG5cbi5nYWxsZXJ5IGltZzpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xufVxuIiwiLmJyZWFkY3J1bWIge1xuXHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcblx0Y29sb3I6ICR0ZXh0LWdyYXk7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblx0cGFkZGluZzogZW0oMzApIGVtKDMwKTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0cGFkZGluZzogZW0oMzApIDA7XG5cdH1cbn1cbiIsIi50aXRsZS1hcmVhIHtcbiAgcGFkZGluZzogcmVtKDEyKTtcblxuICBAbWVkaWEgKCRsc3UpIHtcbiAgICBwYWRkaW5nOiByZW0oMjApIHJlbSgxMik7XG4gIH1cbn1cblxuLnNpdGUtZGVzY3JpcHRpb24sXG4uc2l0ZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5oZWFkZXItaW1hZ2UgLnNpdGUtZGVzY3JpcHRpb24sXG4uaGVhZGVyLWltYWdlIC5zaXRlLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICB3aWR0aDogcmVtKDE1MCk7XG5cbiAgQG1lZGlhICgkbHN1KSB7XG4gICAgd2lkdGg6IHJlbSgyMjUpO1xuICB9XG59XG4iLCIkc3ViLW1lbnUtd2lkdGg6IGVtKDMwMCk7XG5cbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC40cyBlYXNlLWluLW91dCk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyOiAkYmFzZS1ib3JkZXI7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjg3NWVtO1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogJHN1Yi1tZW51LXdpZHRoO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogNTlweDtcblxuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTIwcHg7XG4gICAgICAgIGxlZnQ6IDUlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFzZS1ib3JkZXItY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtMjFweDtcbiAgICAgICAgbGVmdDogNSU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAuc3ViLW1lbnUgYSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nLzI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAkc3ViLW1lbnUtd2lkdGg7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgIG1hcmdpbjogLTU1cHggMCAwIDE5OXB4O1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtOmhvdmVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSAubWVudS1pdGVtOmhvdmVyID4gLnN1Yi1tZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5zaXRlLWhlYWRlciAuc3ViLW1lbnUge1xuICAgIGJvcmRlci10b3A6ICRiYXNlLWJvcmRlcjtcbn1cblxuLnNpdGUtaGVhZGVyIC5zdWItbWVudSAuc3ViLW1lbnUge1xuICAgIG1hcmdpbi10b3A6IC01NnB4O1xufVxuIiwiLmVudHJ5LWNvbnRlbnQgb2wsXG4uZW50cnktY29udGVudCB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbn1cblxuLmVudHJ5LWNvbnRlbnQgb2wgPiBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xufVxuXG4uZW50cnktY29udGVudCB1bCA+IGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbi5lbnRyeS1jb250ZW50IG9sIG9sLFxuLmVudHJ5LWNvbnRlbnQgdWwgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbnRyeS1jb250ZW50IGNvZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgY29sb3I6ICNkZGQ7XG59XG4iLCJwLmVudHJ5LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbnRyeS1oZWFkZXIgLmVudHJ5LW1ldGEge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMjtcbn1cblxuLmVudHJ5LWZvb3RlciAuZW50cnktbWV0YSB7XG4gICAgYm9yZGVyLXRvcDogJGJhc2UtYm9yZGVyO1xuICAgIHBhZGRpbmctdG9wOiAkYmFzZS1zcGFjaW5nKjI7XG59XG5cbi5lbnRyeS1jYXRlZ29yaWVzLFxuLmVudHJ5LXRhZ3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZW50cnktY29tbWVudHMtbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNFwiO1xuICAgIG1hcmdpbjogMCAkYmFzZS1zcGFjaW5nIDAgJGJhc2Utc3BhY2luZy8yO1xufVxuIiwiLnBhZ2luYXRpb24ge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyoyIDA7XG5cbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cywgLnBhZ2luYXRpb24tbmV4dCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGEsIC5wYWdpbmF0aW9uLW5leHQgYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGEsIC5wYWdpbmF0aW9uLXByZXZpb3VzIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhLCAucGFnaW5hdGlvbi1uZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFyY2hpdmUtcGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuMnMgZWFzZSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICB9XG59XG5cbi50b3AtdXRpbHMgLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnRvcC11dGlscyAuc2VhcmNoLWZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uYWRqYWNlbnQtZW50cnktcGFnaW5hdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG4iLCIuc2l0ZS1oZWFkZXIgLmhlYWRlci13aWRnZXQtYXJlYSB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmc6IGVtKDEwKSAwO1xuXHRcdHBhZGRpbmctdG9wOiAxZW07XG5cdH1cbn1cbiIsIiRzZWFyY2hfYmc6ICNkOGQ4ZDg7XG5cbkBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcblx0LndpZGdldF9zZWFyY2hfc29jaWFsIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogZW0oMTUpO1xuXHR9XG5cblx0LndpZGdldF9zZWFyY2hfc29jaWFsIC5zZWFyY2gtZm9ybS13cmFwcGVyLFxuXHQud2lkZ2V0X3NlYXJjaF9zb2NpYWwgLnNvY2lhbC1saW5rcyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdH1cblxuXHQud2lkZ2V0X3NlYXJjaF9zb2NpYWwgLnNlYXJjaC1mb3JtLXdyYXBwZXIge1xuXHRcdGJhY2tncm91bmQ6ICRzZWFyY2hfYmc7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRvdmVyZmxvdzogYXV0bztcblx0fVxuXG5cdC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc2VhcmNoLWZvcm0taWNvbixcblx0LndpZGdldF9zZWFyY2hfc29jaWFsIC5zZWFyY2gtZm9ybSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7IGZsb2F0OiBsZWZ0O1xuXHR9XG5cblx0LndpZGdldF9zZWFyY2hfc29jaWFsIC5zZWFyY2gtZm9ybS1pY29uIHtcblx0XHRwYWRkaW5nOiAwIDVweDtcblx0XHRzdmcge1xuXHRcdFx0aGVpZ2h0OiAxNHB4O1xuXHRcdFx0d2lkdGg6IDE0cHg7XG5cdFx0fVxuXHR9XG5cblx0LndpZGdldF9zZWFyY2hfc29jaWFsIC5zZWFyY2gtZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRiYWNrZ3JvdW5kOiAkc2VhcmNoX2JnO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZzogNnB4O1xuXHRcdHdpZHRoOiAxNTBweDtcblx0fVxuXG5cdC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc29jaWFsLWxpbmtzIHtcblx0XHRib3JkZXItbGVmdDogJGJhc2UtYm9yZGVyO1xuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0fVxuXG5cdC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc29jaWFsLWxpbmsge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IDNweDtcblx0fVxuXG5cdC53aWRnZXRfc2VhcmNoX3NvY2lhbCAuc29jaWFsLWxpbmsgYSB7XG5cblx0XHRzdmcge1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgJGJhc2UtZHVyYXRpb24gJGJhc2UtdGltaW5nKTtcblx0XHRcdGZpbGw6ICR0ZXh0LWdyYXk7XG5cdFx0XHRoZWlnaHQ6IDE4cHg7XG5cdFx0XHR3aWR0aDogMThweDtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHN2ZyB7XG5cdFx0XHRcdGZpbGw6ICRhY3Rpb24tY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cbiIsIi5zZXJ2aWNlcy1tZW51IHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IC0xMDAlO1xuXHRsZWZ0OiAwO1xuXHRvcGFjaXR5OiAwO1xuXHRyaWdodDogMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5ICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblx0ei1pbmRleDogMTAwMDtcblxuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdHBhZGRpbmc6IDAgMjBweDtcblx0fVxuXG5cdCYuaXMtcHJlc2VudCB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0b3A6IDA7XG5cdH1cbn1cbiIsIi8qIERyb3Bkb3duIGNvbnRyb2wgKi9cbi5zZWxlY3RCb3gtZHJvcGRvd24ge1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNCQkI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYmFja2dyb3VuZDogI0YyRjJGMjtcbiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICNGOEY4RjggMSUsICNFMUUxRTEgMTAwJSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgxJSwgI0Y4RjhGOCksIGNvbG9yLXN0b3AoMTAwJSwgI0UxRTFFMSkpO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGOEY4RjgnLCBlbmRDb2xvcnN0cj0nI0UxRTFFMScsIEdyYWRpZW50VHlwZT0wKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuNzUpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSk7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC43NSk7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5zZWxlY3RCb3gtZHJvcGRvd246Zm9jdXMsXG4uc2VsZWN0Qm94LWRyb3Bkb3duOmZvY3VzIC5zZWxlY3RCb3gtYXJyb3cge1xuICAgIGJvcmRlci1jb2xvcjogIzY2Njtcbn1cblxuLnNlbGVjdEJveC1kcm9wZG93bi5zZWxlY3RCb3gtbWVudVNob3dpbmcge1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21sZWZ0OiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogMDtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4uc2VsZWN0Qm94LWRyb3Bkb3duIC5zZWxlY3RCb3gtbGFiZWwge1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnNlbGVjdEJveC1kcm9wZG93biAuc2VsZWN0Qm94LWFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoanF1ZXJ5LnNlbGVjdEJveC1hcnJvdy5naWYpIDUwJSBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggI0JCQjtcbn1cblxuLyogRHJvcGRvd24gbWVudSAqL1xuLnNlbGVjdEJveC1kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogOTk5OTk7XG4gICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgbWluLWhlaWdodDogMWVtO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNCQkI7IC8qIHNob3VsZCBiZSB0aGUgc2FtZSBib3JkZXIgd2lkdGggYXMgLnNlbGVjdEJveC1kcm9wZG93biAqL1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgLjIpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLyogSW5saW5lIGNvbnRyb2wgKi9cbi5zZWxlY3RCb3gtaW5saW5lIHtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI0JCQjtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5zZWxlY3RCb3gtaW5saW5lOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NjY7XG59XG5cbi8qIE9wdGlvbnMgKi9cbi5zZWxlY3RCb3gtb3B0aW9ucyxcbi5zZWxlY3RCb3gtb3B0aW9ucyBMSSxcbi5zZWxlY3RCb3gtb3B0aW9ucyBMSSBBIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnNlbGVjdEJveC1vcHRpb25zIExJIEEge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZzogMCAuNWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiA2cHggY2VudGVyIG5vLXJlcGVhdDtcbn1cblxuLnNlbGVjdEJveC1vcHRpb25zIExJLnNlbGVjdEJveC1ob3ZlciBBIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUVFO1xufVxuXG4uc2VsZWN0Qm94LW9wdGlvbnMgTEkuc2VsZWN0Qm94LWRpc2FibGVkIEEge1xuICAgIGNvbG9yOiAjODg4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uc2VsZWN0Qm94LW9wdGlvbnMgTEkuc2VsZWN0Qm94LXNlbGVjdGVkIEEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDOERFRjQ7XG59XG5cbi5zZWxlY3RCb3gtb3B0aW9ucyAuc2VsZWN0Qm94LW9wdGdyb3VwIHtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBiYWNrZ3JvdW5kOiAjRUVFO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgcGFkZGluZzogMCAuM2VtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIERpc2FibGVkIHN0YXRlICovXG4uc2VsZWN0Qm94LnNlbGVjdEJveC1kaXNhYmxlZCB7XG4gICAgY29sb3I6ICM4ODggIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdEJveC1kcm9wZG93bi5zZWxlY3RCb3gtZGlzYWJsZWQgLnNlbGVjdEJveC1hcnJvdyB7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgICBib3JkZXItY29sb3I6ICM2NjY7XG59XG5cbi5zZWxlY3RCb3gtaW5saW5lLnNlbGVjdEJveC1kaXNhYmxlZCB7XG4gICAgY29sb3I6ICM4ODggIWltcG9ydGFudDtcbn1cblxuLnNlbGVjdEJveC1pbmxpbmUuc2VsZWN0Qm94LWRpc2FibGVkIC5zZWxlY3RCb3gtb3B0aW9ucyBBIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0Qm94e1xuXHRiYWNrZ3JvdW5kOiAjNGE5MGUyICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxNTVweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnNlbGVjdEJveC1kcm9wZG93biAuc2VsZWN0Qm94LWxhYmVsIHtcblx0cGFkZGluZy10b3A6IDdweCAhaW1wb3J0YW50O1xufVxuLnNlbGVjdEJveC1kcm9wZG93bi1tZW51IHtcblx0d2lkdGg6IDEwMCU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ei1pbmRleDogOTk5O1xuICBcdG92ZXJmbG93OiBhdXRvO1xufVxuXG4uc2VsZWN0Qm94LWRyb3Bkb3duIC5zZWxlY3RCb3gtYXJyb3cge1xuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogdXJsKCdhc3NldHMvaW1hZ2VzL2Ryb3AtZG93bi1hcnJvdy5wbmcnKSBuby1yZXBlYXQgIWltcG9ydGFudDtcblx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMXB4ICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogNnB4ICFpbXBvcnRhbnQ7XG5cdHJpZ2h0OiAxNXB4ICFpbXBvcnRhbnQ7XG5cdHRvcDogMTRweCAhaW1wb3J0YW50O1xuXHRjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbn1cbiIsIiRzaXRlLWhlYWRlci1oZWlnaHQ6IGVtKDc1KTtcblxuLnNpdGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+IC53cmFwIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTIwMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiA5NSU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIG1pbi1oZWlnaHQ6ICRzaXRlLWhlYWRlci1oZWlnaHQ7XG4gIH1cbn1cbiIsIi5nZW5lc2lzLW5hdi1tZW51IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5nZW5lc2lzLW5hdi1tZW51ID4gLmZpcnN0ID4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSA+IC5sYXN0ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgPiAucmlnaHQge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcqMiAwO1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSA+IC5yaWdodCA+IGEge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uZ2VuZXNpcy1uYXYtbWVudSA+IC5yc3MgPiBhIHtcbiAgICBtYXJnaW4tbGVmdDogNDhweDtcbn1cblxuLmdlbmVzaXMtbmF2LW1lbnUgPiAuc2VhcmNoIHtcbiAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nIDAgMDtcbn1cblxuLnNpdGUtaGVhZGVyIC5nZW5lc2lzLW5hdi1tZW51IGxpIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm5hdi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ncmF5O1xufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgLnN1Yi1tZW51IGEge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xufVxuXG4ubmF2LXByaW1hcnkgLmdlbmVzaXMtbmF2LW1lbnUgYTpob3Zlcixcbi5uYXYtcHJpbWFyeSAuZ2VuZXNpcy1uYXYtbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhLFxuLm5hdi1wcmltYXJ5IC5nZW5lc2lzLW5hdi1tZW51IC5zdWItbWVudSAuY3VycmVudC1tZW51LWl0ZW0gPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsdWU7XG59XG5cbi5uYXYtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLnNpdGUtaGVhZGVyIC5tZW51LWl0ZW0ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogNDNweDtcbiAgICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3ItbW96aWxsYTogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtbW96LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICAkcHJlZml4LWZvci13ZWJraXQ6ICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGEgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6ICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdCAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1vcGVyYTogICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhICAgICAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWMgICAgICAhZ2xvYmFsO1xuXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjIHtcbiAgICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUga2V5ZnJhbWVzKHNsaWRlVXApIHtcbiAgMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDgwJSkpO1xuICB9XG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgfVxufVxuXG4ucGFnZS1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgei1pbmRleDogMTtcblxuICAud3JhcCB7XG4gICAgcGFkZGluZzogZW0oNTApIGVtKDMwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICBwYWRkaW5nOiBlbSg1MCkgMDtcbiAgICB9XG4gIH1cbn1cbiIsIiRuZXdzbGV0dGVyX2JnOiAjNGE0YTRhO1xuXG5AaW5jbHVkZSBrZXlmcmFtZXMoYm91bmNlKSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAlKTtcbiAgfVxufVxuXG4ucGFnZS1uZXdzbGV0dGVyIHtcbiAgYmFja2dyb3VuZDogJG5ld3NsZXR0ZXJfYmc7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMjVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtY3VsdHVyZS1zdWIgJixcbiAgLnBhZ2UtdGVtcGxhdGUtdGVtcGxhdGUtY3VsdHVyZS1kZXNpZ24gJixcbiAgLmhvbWUgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICAud3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAwIDkwcHg7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UtbmV3c2xldHRlci1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjZyZW07XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIH1cbiAgfVxuXG4gIGZvcm0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICR0ZXh0LWdyYXk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICBpbnB1dFt0eXBlPSdlbWFpbCddIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBtYXJnaW46IDRweDtcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICB9XG5cbiAgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgIG1hcmdpbjogNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIH1cbn1cblxuLnBhZ2UtbmV3c2xldHRlci1pbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtNDJweDtcblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmxlZnQge1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDNzIGVhc2UgYWx0ZXJuYXRlIGluZmluaXRlO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAmLnJpZ2h0IHtcbiAgICBhbmltYXRpb246IGJvdW5jZSAzcyBlYXNlIGFsdGVybmF0ZSBpbmZpbml0ZTtcbiAgICByaWdodDogMDtcbiAgfVxufVxuIiwiLmVudHJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nKjQ7XG4gICAgcGFkZGluZzogZW0oMzApIDA7XG59XG5cbi5jb250ZW50IC5lbnRyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbi5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogZW0oMjApO1xufVxuXG4uY3VsdHVyZS1kZXNjIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcblxuXHRsaSB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHR9XG5cblx0JiA+IGxpIHtcblxuXHRcdCYgPiB1bCBsaSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHdpZHRoOiA2cHg7XG5cdFx0XHRcdGhlaWdodDogNnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkYWN0aW9uLWNvbG9yO1xuXHRcdFx0XHR0b3A6IDhweDtcblx0XHRcdFx0bGVmdDogLTIwcHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHdpZHRoOiA4cHg7XG5cdFx0XHRoZWlnaHQ6IDhweDtcblx0XHRcdGJhY2tncm91bmQ6ICRhY3Rpb24tY29sb3I7XG5cdFx0XHR0b3A6IDhweDtcblx0XHRcdGxlZnQ6IC0yMHB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdH1cblxuXHRcdCY6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblx0fVxufVxuXG4ucG9zdCAuZW50cnktY29udGVudCBpbWc6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB9XG59XG4iLCIkY29tbWVudC1iYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcblxuLmNvbW1lbnQtcmVzcG9uZCxcbi5lbnRyeS1jb21tZW50cyxcbi5lbnRyeS1waW5ncyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbW1lbnQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLWZvbnQtc2l6ZSoyO1xuXG4gICAgI3skYWxsLXRleHQtaW5wdXRzfSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIH1cbn1cblxuLmVudHJ5LWNvbW1lbnRzIHtcbiAgICBwYWRkaW5nOiAkYmFzZS1mb250LXNpemUqMjtcbn1cblxuLmNvbW1lbnQtaGVhZGVyIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbn1cblxubGkuY29tbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb21tZW50LWJhY2tncm91bmQtY29sb3IsIDEwKTtcbiAgICBib3JkZXI6ICRiYXNlLWJvcmRlcjtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG5cbi5jb21tZW50LWNvbnRlbnQge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4uY29tbWVudC1saXN0IGxpIHtcbiAgICBtYXJnaW4tdG9wOiAkYmFzZS1mb250LXNpemU7XG4gICAgcGFkZGluZzogJGJhc2UtZm9udC1zaXplKjI7XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRiYXNlLWZvbnQtc2l6ZSoyO1xuICAgIH1cbn1cblxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uY29tbWVudC1yZXNwb25kIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmNvbW1lbnQtcmVzcG9uZCBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4uY29tbWVudC1yZXNwb25kIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlLWZvbnQtc2l6ZTtcbn1cblxuLmVudHJ5LWNvbW1lbnRzIC5jb21tZW50LWF1dGhvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVudHJ5LXBpbmdzIC5yZXBseSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJ5cG9zdGF1dGhvciB7XG59XG5cbi5mb3JtLWFsbG93ZWQtdGFncyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb21tZW50LWJhY2tncm91bmQtY29sb3IsMTApO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIHBhZGRpbmc6ICRiYXNlLWZvbnQtc2l6ZSoyO1xufVxuIiwiLnNpZGViYXIge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmcqNDtcbn1cblxuLnNpZGViYXIgbGkge1xuICAgIGJvcmRlci1ib3R0b206ICRiYXNlLWJvcmRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xufVxuXG4uc2lkZWJhciBwOmxhc3QtY2hpbGQsXG4uc2lkZWJhciB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zaWRlYmFyIC53aWRnZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcqMjtcbiAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nO1xufVxuIiwiLmZvb3Rlci13aWRnZXRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMzBweCAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmZvb3Rlci13aWRnZXRzIC53aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5mb290ZXItd2lkZ2V0cyB1bCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZvb3Rlci13aWRnZXRzIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLm1lbnUgYSB7XG4gIGZvbnQtc2l6ZTogcmVtKDE4KTtcbn1cblxuLnNvY2lhbC1saW5rIHtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG4uc29jaWFsLWxpbmsgYSBzdmcge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZyk7XG59XG5cbi5zb2NpYWwtbGluayBhOmhvdmVyIHN2ZyB7XG4gIGZpbGw6ICRhY3Rpb24tY29sb3I7XG59XG4iLCIuc2l0ZS1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWxpbmUtaGVpZ2h0O1xuICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcgMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zaXRlLWZvb3RlciBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLm1vYmlsZS10b2dnbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IHJlbSgxMCkgMDtcbiAgdHJhbnNpdGlvbjogYWxsICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBtYXJnaW4tbGVmdDogcmVtKDgpO1xuXG4gICAgQG1lZGlhICgkbHN1KSB7XG4gICAgICBkaXNwbGF5OiB1bnNldDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGFjdGlvbi1jb2xvcjtcbiAgfVxufVxuXG4ubW9iaWxlLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGxpZ2h0LWdyYXk7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgcGFkZGluZzogcmVtKDI0KTtcbiAgcGFkZGluZy10b3A6IHJlbSg0OCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJGJhc2UtdGltaW5nICRiYXNlLWR1cmF0aW9uO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgd2lkdGg6IDUwMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIHBhZGRpbmc6IHJlbSgzMik7XG4gICAgcGFkZGluZy10b3A6IHJlbSg2NCk7XG4gIH1cblxuICAuYWRtaW4tYmFyICYge1xuICAgIHRvcDogMzJweDtcbiAgfVxuXG4gIC5tZW51LXZpc2libGUgJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgLm1vYmlsZS10b2dnbGUge1xuICAgIGxlZnQ6IHJlbSgyOCk7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtKDI4KTtcbiAgfVxuXG4gIC5tZW51IHtcbiAgICBtYXJnaW4tdG9wOiByZW0oMjQpO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIH1cblxuICAgIC5tZW51LWl0ZW0gYSB7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWItbWVudSAubWVudS1pdGVtIGEge1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTQpO1xuICAgIH1cblxuICAgIC5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zZWFyY2gtdG9nZ2xlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiByZW0oMTApIDA7XG4gIHRyYW5zaXRpb246IGFsbCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRhY3Rpb24tY29sb3I7XG4gIH1cblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSg4KTtcblxuICAgIEBtZWRpYSAoJGxzdSkge1xuICAgICAgZGlzcGxheTogdW5zZXQ7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhICgkbHN1KSB7XG4gICAgLnNpdGUtaGVhZGVyICYge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGRhcmstZ3JheTtcbiAgICAgIHBhZGRpbmc6IHJlbSg2KSByZW0oMTApO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2lkZS1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgYm90dG9tOiAwO1xuICBwYWRkaW5nOiByZW0oMjQpO1xuICBwYWRkaW5nLXRvcDogcmVtKDQ4KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkYmFzZS10aW1pbmcgJGJhc2UtZHVyYXRpb247XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyMjtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNTAwcHgpIHtcbiAgICB3aWR0aDogNTAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgcGFkZGluZzogcmVtKDMyKTtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDY0KTtcbiAgfVxuXG4gIC5hZG1pbi1iYXIgJiB7XG4gICAgdG9wOiAzMnB4O1xuICB9XG5cbiAgLnNlYXJjaC12aXNpYmxlICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIC5zZWFyY2gtdG9nZ2xlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHJlbSgyOCk7XG4gICAgdG9wOiByZW0oMjgpO1xuICB9XG5cbiAgZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDI0KTtcbiAgfVxuXG4gIC5tZW51IHtcbiAgICBtYXJnaW4tdG9wOiByZW0oMjQpO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIH1cblxuICAgIC5tZW51LWl0ZW0gYSB7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWItbWVudSAubWVudS1pdGVtIGEge1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTQpO1xuICAgIH1cblxuICAgIC5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5zaW5nbGUtdGVhbV9tZW1iZXIgLmNvbnRlbnQgPiAudGVhbS1tZW1iZXItaW1hZ2Uge1xuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICB9XG59XG5cbi5zaW5nbGUtdGVhbV9tZW1iZXIgLmNvbnRlbnQgPiAudGVhbV9tZW1iZXIge1xuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgIEBpbmNsdWRlIG9tZWdhO1xuICB9XG59XG4uc2luZ2xlLXRlYW1fbWVtYmVyIC5jb250ZW50LXNpZGViYXItd3JhcCB7XG4gIG1hcmdpbi10b3A6IGVtKDYwKTtcbn1cblxuLnNpbmdsZS10ZWFtX21lbWJlciAuZW50cnktaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogZW0oMzApO1xufVxuXG4uc2luZ2xlLXRlYW1fbWVtYmVyIC5lbnRyeSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4uc2luZ2xlLXRlYW1fbWVtYmVyIC5lbnRyeS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWFib3V0IC5zaXRlLWlubmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyAqIDI7XG59XG5cbi50ZWFtLW1lbWJlcnMge1xuICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZyAqIDI7XG59XG5cbi50ZWFtLW1lbWJlciB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiBlbSgzMCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG4gICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICB9XG59XG5cbi50ZWFtLW1lbWJlciAudGVhbS1tZW1iZXItaW1hZ2Uge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICAvLyBtYXgtaGVpZ2h0OiA0NzFweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6aG92ZXIge1xuICAgIC5vdmVybGF5IGEge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi50ZWFtLW1lbWJlci1tZXRhIHtcbiAgcGFkZGluZzogMTVweCAyNXB4O1xufVxuXG4udGVhbS1tZW1iZXItbmFtZSB7XG4gIG1hcmdpbi1ib3R0b206IGVtKDUpO1xufVxuXG4udGVhbS1tZW1iZXItdGl0bGUge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ub3ZlcmxheSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMiBlYXNlLWluLW91dDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgY29sb3I6IHdoaXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm92ZXJsYXktdGV4dCB7XG4gIHN2ZyB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihjb2xvciAxNTBtcyBlYXNlKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgIGZpbGw6ICNmZmY7XG4gIH1cbn1cblxuLnNpbmdsZS10ZWFtX21lbWJlci5zaW5nbGUgLmVudHJ5LXRpdGxlIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uc2luZ2xlLXRlYW1fbWVtYmVyIGgyIHtcbiAgZm9udC1zaXplOiAxLjc1ZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWFib3V0IC5lbnRyeSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG4iLCIvLyBOb3QgZnVuY3Rpb24gZm9yIExpYnNhc3MgY29tcGF0aWJpbGl0eVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MvbGlic2Fzcy9pc3N1ZXMvMzY4XG5AZnVuY3Rpb24gaXMtbm90KCR2YWx1ZSkge1xuICBAcmV0dXJuIGlmKCR2YWx1ZSwgZmFsc2UsIHRydWUpO1xufVxuXG4vLyBDaGVja3MgaWYgYSBudW1iZXIgaXMgZXZlblxuQGZ1bmN0aW9uIGlzLWV2ZW4oJGludCkge1xuICBAcmV0dXJuICRpbnQgJSAyID09IDA7XG59XG5cbi8vIENoZWNrcyBpZiBhbiBlbGVtZW50IGJlbG9uZ3MgdG8gYSBsaXN0IG9yIG5vdFxuQGZ1bmN0aW9uIGJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xuICBAcmV0dXJuIGlzLW5vdChub3QtYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSk7XG59XG5cbkBmdW5jdGlvbiBub3QtYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KGluZGV4KCRsaXN0LCAkdGVzdGVkLWl0ZW0pKTtcbn1cblxuLy8gQ29udGFpbnMgZGlzcGxheSB2YWx1ZVxuQGZ1bmN0aW9uIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSB7XG4gIEByZXR1cm4gYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oYmxvY2ssICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZS1ibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLCAkcXVlcnkpO1xufVxuXG4vLyBQYXJzZXMgdGhlIGZpcnN0IGFyZ3VtZW50IG9mIHNwYW4tY29sdW1ucygpXG5AZnVuY3Rpb24gY29udGFpbmVyLXNwYW4oJHNwYW46ICRzcGFuKSB7XG4gIEBpZiBsZW5ndGgoJHNwYW4pID09IDMge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAzKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNwYW4pID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAyKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfVxuXG4gIEByZXR1cm4gJGdyaWQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zaGlmdCgkc2hpZnQ6ICRzaGlmdCkge1xuICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQgIWdsb2JhbDtcblxuICBAaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNoaWZ0LCAzKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAyIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkcGFyZW50LWNvbHVtbnM7XG59XG5cbi8vIEdlbmVyYXRlcyBhIHN0cmlwZWQgYmFja2dyb3VuZFxuQGZ1bmN0aW9uIGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMsICRjb2xvcjogJHZpc3VhbC1ncmlkLWNvbG9yKSB7XG4gICR0cmFuc3BhcmVudDogdHJhbnNwYXJlbnQ7XG5cbiAgJGNvbHVtbi13aWR0aDogZmxleC1ncmlkKDEsICRncmlkLWNvbHVtbnMpO1xuICAkZ3V0dGVyLXdpZHRoOiBmbGV4LWd1dHRlcigkZ3JpZC1jb2x1bW5zKTtcbiAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4td2lkdGg7XG5cbiAgJHZhbHVlczogKCR0cmFuc3BhcmVudCAwLCAkY29sb3IgMCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdG8gJGdyaWQtY29sdW1ucyoyIHtcbiAgICBAaWYgaXMtZXZlbigkaSkge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR0cmFuc3BhcmVudCAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICRjb2xvciAkY29sdW1uLW9mZnNldCwgY29tbWEpO1xuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGNvbHVtbi13aWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRndXR0ZXItd2lkdGg7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWVzO1xufVxuXG4vLyBMYXlvdXQgZGlyZWN0aW9uXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbigkbGF5b3V0LCAkZGVmYXVsdCkge1xuICAkZGlyZWN0aW9uOiBudWxsO1xuXG4gIEBpZiB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiTFRSXCIgb3IgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIlJUTFwiIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGxheW91dCk7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGRpcmVjdGlvbi1mcm9tLWxheW91dCgkZGVmYXVsdCk7XG4gIH1cblxuICBAcmV0dXJuICRkaXJlY3Rpb247XG59XG5cbkBmdW5jdGlvbiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGxheW91dCkge1xuICAkZGlyZWN0aW9uOiBudWxsO1xuXG4gIEBpZiB0by11cHBlci1jYXNlKCRsYXlvdXQpID09IFwiTFRSXCIge1xuICAgICRkaXJlY3Rpb246IHJpZ2h0O1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBsZWZ0O1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGxlZnQ7XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xuICB9XG5cbiAgQHJldHVybiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xufVxuIiwiLmJsb2csXG4uY2F0ZWdvcnksXG4uc2VhcmNoLFxuLmJsb2cgLnNpdGUtaW5uZXIsXG4uY2F0ZWdvcnkgLnNpdGUtaW5uZXIsXG4uc2VhcmNoIC5zaXRlLWlubmVyIHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG59XG5cbi5ibG9nIC5jb250ZW50LFxuLmNhdGVnb3J5IC5jb250ZW50LFxuLnNlYXJjaCAuY29udGVudCB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjAwcHgpO1xufVxuXG4uYmxvZyAuY29udGVudCAuZW50cnksXG4uY2F0ZWdvcnkgLmNvbnRlbnQgLmVudHJ5LFxuLnNlYXJjaCAuY29udGVudCAuZW50cnksXG4uc2luZ2xlIC5yZWxhdGVkLXBvc3RzIC5lbnRyeSB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiBlbSgzMCk7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgIG1pbi1oZWlnaHQ6IDUxN3B4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG4gICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICB9XG5cbiAgLmVudHJ5LWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbi5ibG9nIC5lbnRyeS10aXRsZSxcbi5jYXRlZ29yeSAuZW50cnktdGl0bGUsXG4uc2VhcmNoIC5lbnRyeS10aXRsZSxcbi5yZWxhdGVkLXBvc3RzIC5lbnRyeS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4uYmxvZyAuZW50cnktY29udGVudCxcbi5ibG9nIC5lbnRyeS1mb290ZXIsXG4uY2F0ZWdvcnkgLmVudHJ5LWNvbnRlbnQsXG4uY2F0ZWdvcnkgLmVudHJ5LWZvb3Rlcixcbi5zZWFyY2ggLmVudHJ5LWNvbnRlbnQsXG4uc2VhcmNoIC5lbnRyeS1mb290ZXIsXG4ucmVsYXRlZC1wb3N0cyAuZW50cnktZm9vdGVyLFxuLnJlbGF0ZWQtcG9zdHMgLmVudHJ5LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDIwcHg7XG59XG5cbi5ibG9nIC5lbnRyeS1mb290ZXIsXG4uY2F0ZWdvcnkgLmVudHJ5LWZvb3Rlcixcbi5zZWFyY2ggLmVudHJ5LWZvb3Rlcixcbi5yZWxhdGVkLXBvc3RzIC5lbnRyeS1mb290ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5jb250aW51ZS1yZWFkaW5nIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uZW50cnktZGF0ZSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRvcC11dGlscyB7XG4gIHBhZGRpbmc6IDE1cHggMDtcblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgcGFkZGluZzogMTVweCAwIDMwcHggMDtcbiAgfVxuXG4gIC5wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAudG9wLXV0aWxzLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi50b3AtdXRpbHMtcmlnaHQge1xuICBtYXJnaW4tdG9wOiAkc21hbGwtc3BhY2luZztcbiAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5hcmNoaXZlLFxuICAuY2F0ZWdvcmllcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5zaW5nbGUgLmNvbnRlbnQgLmVudHJ5LFxuLmNvbW1lbnQtcmVzcG9uZCB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweCk7XG59XG5cbi5zaW5nbGUgLmVudHJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNpbmdsZSAuZW50cnktbWV0YSB7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5zaW5nbGUgLmVudHJ5LWhlYWRlciAuc2hhcmVkYWRkeSB7XG4gIGZsb2F0OiByaWdodDtcblxuICB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaW5nbGUgLmVudHJ5LXRpdGxlIHtcbiAgYm9yZGVyLXRvcDogJGJhc2UtYm9yZGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBwYWRkaW5nLXRvcDogMTVweDtcbn1cblxuLnNpbmdsZSAucmVsYXRlZC1wb3N0cyAuZW50cnktdGl0bGUge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5zaW5nbGUgLmVudHJ5LWZvb3RlciB7XG4gIGJvcmRlci10b3A6ICRiYXNlLWJvcmRlcjtcbiAgcGFkZGluZzogMTVweCAwO1xuXG4gIC5zaGFyZWRhZGR5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLnNpbmdsZSAucmVsYXRlZC1wb3N0cyAuZW50cnktZm9vdGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwIDIwcHg7XG59XG5cbi5zaW5nbGUgLmZlYXR1cmVkLWltYWdlIHtcbiAgYm9yZGVyOiAzcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gIG1hcmdpbi1ib3R0b206IGVtKDMwKTtcbn1cblxuLmVudHJ5LWNvbnRlbnQge1xuICB1bDpub3QoLnNvbGlsb3F1eS1zbGlkZXIpOm5vdCguZ2Zvcm1fZmllbGRzKSB7XG4gICAgbWFyZ2luLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAmID4gbGkge1xuICAgICAgJiA+IHVsIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcbiAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICBsZWZ0OiAtMjBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjdGlvbi1jb2xvcjtcbiAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgIGxlZnQ6IC0yMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubG9nby1saXN0LXdyYXAge1xuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODkwcHgpO1xufVxuXG4ubG9nby1saXN0LWltYWdlIHtcblx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXHRAaW5jbHVkZSBvbWVnYSgybik7XG5cdGhlaWdodDogMTUwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXHRcdEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcblx0XHRAaW5jbHVkZSBvbWVnYSg0bik7XG5cdH1cblxuXHRpbWcge1xuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxufVxuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1jbGllbnRzIC5zbGlkZXIge1xuXHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdlLWNsaWVudC1sb2dvcyAuaG9tZS1jbGllbnQtbG9nbyB7XG5cdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdH1cblxuXHRpbWcge1xuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHR0b3A6IDUwJTtcblx0XHR3aWR0aDogMTUwcHg7XG5cdH1cbn1cbiIsIkBpbmNsdWRlIGtleWZyYW1lcyhib3VuY2UpIHtcbiAgMCUsXG4gIDIwJSxcbiAgNTAlLFxuICA4MCUsXG4gIDEwMCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgfVxuICA0MCUge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xMHB4KSk7XG4gIH1cbiAgNjAlIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNXB4KSk7XG4gIH1cbn1cblxuLmJvdW5jZSB7XG4gIEBpbmNsdWRlIGFuaW1hdGlvbihib3VuY2UgMnMgaW5maW5pdGUpO1xufVxuXG4uc2xpZGVyIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmhvbWUtc2xpZGVyIC5zbGlkZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWluLWhlaWdodDogNjAwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAuaG9tZS1jbGllbnRzICYge1xuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICBjb2xvcjogIzU1NSAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXG4gIC5ob21lLWNsaWVudHMgJiB7XG4gICAgY29sb3I6ICNjY2MgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXG4gIC5ob21lLWNsaWVudHMgJiB7XG4gICAgY29sb3I6ICM1NTUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uc2xpY2stcHJldjpiZWZvcmUsXG4uc2xpY2stbmV4dDpiZWZvcmUge1xuICBjb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbn1cblxuLmhvbWUtc2xpZGVyLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ob21lLXNsaWRlci5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uaG9tZS1zbGlkZXItb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG59XG5cbi5ob21lLXNsaWRlci1jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIHBhZGRpbmc6IDAgMTIwcHg7XG4gICAgbWF4LXdpZHRoOiByZW0oMTIwMCk7XG4gIH1cblxuICBAZXh0ZW5kIC5mbXQwO1xuICBAZXh0ZW5kIC5sbWIwO1xufVxuXG4uaG9tZS1zbGlkZXItdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gIH1cbn1cblxuLmhvbWUtc2xpZGVyLXN1YnRpdGxlIHtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IHJlbSgyMCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgfVxufVxuXG4uaG9tZS1zbGlkZXItd3JhcCB7XG4gIC5idXR0b24td3JhcCB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHJlbSg0KTtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUtc2xpZGVyLWFycm93IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDkwcHg7XG5cbiAgc3ZnIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgZmlsbDogd2hpdGU7XG4gIH1cbn1cblxuLnNsaWNrLXNsaWRlIHtcbiAgb3V0bGluZTogbm9uZTtcblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1wcmVzcyAuZW50cnkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJlc3MtYXJ0aWNsZXMge1xuICBwYWRkaW5nOiAzMHB4IDA7XG59XG4ucHJlc3MtYXJ0aWNsZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBAbWVkaWEgKCRsc3UpIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMzIpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzIpO1xuICB9XG59XG5cbi5wcmVzcy1hcnRpY2xlLWltYWdlLFxuLnByZXNzLWFydGljbGUtY29udGVudCB7XG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG4ucHJlc3MtYXJ0aWNsZS1pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByZXNzLWFydGljbGUtaW1hZ2Uge1xuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgaGVpZ2h0OiAyMzVweDtcbiAgICB3aWR0aDogMzIlO1xuICB9XG59XG5cbi5wcmVzcy1hcnRpY2xlLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIHdpZHRoOiA2OCU7XG4gIH1cbn1cblxuLnByZXNzLWFydGljbGUtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5wcmVzcy1hcnRpY2xlLW1ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4iLCIuY3VsdHVyZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uY3VsdHVyZS1jb250ZW50LFxuLmN1bHR1cmUtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uY3VsdHVyZS1jb250ZW50IHtcbiAgcGFkZGluZzogZW0oMzApO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICBwYWRkaW5nOiBlbSg5MCk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICAuaG9tZSAmIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgc2hhZGUoJGxpZ2h0LWdyYXksIDIwJSk7XG4gIH1cbn1cblxuLmN1bHR1cmUtdGl0bGUuc2VjdGlvbi10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jdWx0dXJlLWltYWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIG1pbi1oZWlnaHQ6IDMwMHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgbWluLWhlaWdodDogNjAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxufVxuXG4uZmVhdHVyZXMge1xuICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmc6IGVtKDYwKSAkc21hbGwtc3BhY2luZztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICBwYWRkaW5nOiBlbSg2MCkgMDtcbiAgfVxufVxuXG4uc2VjdGlvbi10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZlYXR1cmUtYmxvY2tzIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEyMDBweCk7XG4gIHBhZGRpbmc6IGVtKDYwKSAwO1xufVxuXG4uZmVhdHVyZS1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IGVtKDYwKTtcbiAgcGFkZGluZzogMCBlbSgxNSk7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uZmVhdHVyZS1ibG9jay1pY29uIHtcbiAgbWFyZ2luLWJvdHRvbTogZW0oMTUpO1xufVxuXG4uZmVhdHVyZS1ibG9jay1pY29uIHN2ZyB7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG59XG5cbi5mZWF0dXJlLWJsb2NrLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmZlYXR1cmUtYmxvY2sgaW5wdXRbdHlwZT0ndGV4dCddLFxuLmZlYXR1cmUtYmxvY2sgaW5wdXRbdHlwZT0nZW1haWwnXSB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mZWF0dXJlLWJsb2NrIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaG9tZS1jbGllbnRzIHtcbiAgcGFkZGluZzogZW0oMzApICRzbWFsbC1zcGFjaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgPiAud3JhcCB7XG4gICAgd2lkdGg6IDg1JTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRsYXJnZS1zY3JlZW4tdXApIHtcbiAgICBwYWRkaW5nOiBlbSg2MCkgMCAwO1xuICB9XG5cbiAgLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICB9XG59XG5cbi5ob21lLWNsaWVudC1sb2dvIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMjBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuICAgIG1pbi1oZWlnaHQ6IDIxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi5wYWdlLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICB9XG5cbiAgLnNpbmdsZS1jbGllbnQgJiB7XG4gICAgbWluLWhlaWdodDogMjIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICBtaW4taGVpZ2h0OiAyMjBweDtcbiAgICB9XG4gIH1cblxuICAucGFnZS1oZXJvLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgICBwYWRkaW5nOiAwIDEyMHB4O1xuICAgICAgbWF4LXdpZHRoOiByZW0oMTIwMCk7XG4gICAgfVxuXG4gICAgQGV4dGVuZCAuZm10MDtcbiAgICBAZXh0ZW5kIC5sbWIwO1xuICB9XG5cbiAgLnBhZ2UtaGVyby10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlLWhlcm8tc3VidGl0bGUge1xuICAgIGNvbG9yOiAkYWN0aW9uLWNvbG9yO1xuICB9XG5cbiAgLm92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbi5zZXJ2aWNlcy1tZW51IHtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gIGJvcmRlci1ib3R0b206IHNoYWRlKCRsaWdodC1ncmF5LCAyMCUpO1xuICBwYWRkaW5nOiAyMHB4O1xuXG4gIGxpOmZpcnN0LWNoaWxkIGEsXG4gIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgfVxufVxuIiwiLmN1bHR1cmUtdG9wLWNvbnRlbnQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Zm9udC1zaXplOiAyMnB4O1xuXHRtYXJnaW46IDYwcHggYXV0bztcblx0bWF4LXdpZHRoOiA2ODBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3VsdHVyZS1kZXNpZ24tZmVhdHVyZXMtc2VjdGlvbiB7XG5cdGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuXHRtYXJnaW4tYm90dG9tOiA2MHB4O1xuXHRwYWRkaW5nOiAzMHB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jdWx0dXJlLWRlc2lnbi1mZWF0dXJlcyB7XG5cdEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi5jdWx0dXJlLWRlc2lnbi1mZWF0dXJlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cdG1pbi1oZWlnaHQ6IDkwcHg7XG5cdHBhZGRpbmc6IDAgMzBweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHdpZHRoOiBwZXJjZW50YWdlKDEvNCk7XG5cblx0XHQmOm50aC1jaGlsZCg1KSxcblx0XHQmOm50aC1jaGlsZCg2KSB7XG5cdFx0XHR3aWR0aDogNTAlO1xuXG5cdFx0XHRwIHtcblx0XHRcdFx0cGFkZGluZzogMCA5MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHAge1xuXHRcdEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblx0XHRwYWRkaW5nOiAwIDE1cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdH1cbn1cblxuLmN1bHR1cmUtYm90dG9tLWNvbnRlbnQge1xuXHRAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW46IDAgYXV0bztcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0bWF4LXdpZHRoOiA2ODBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3VsdHVyZS1jb250YWN0LWZvcm0ge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwIGF1dG87XG5cdG1hcmdpbi1ib3R0b206IDYwcHg7XG5cdG1heC13aWR0aDogNjgwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFydC1ibG9ja3Mge1xuXHRvdmVyZmxvdzogYXV0bztcbn1cblxuLmFydC1ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbG9hdDogbGVmdDtcblx0cGFkZGluZzogNjBweCAkYmFzZS1zcGFjaW5nO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG5cblx0Ji5pbWFnZSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0fVxufVxuXG4uYXJ0LWltYWdlcyB7XG5cdG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5hcnQtaW1hZ2VzIC53cmFwIHtcblx0QGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEyMDBweCk7XG59XG5cbi5hcnQtY3RhIHtcblx0bWFyZ2luLWJvdHRvbTogNjBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud2hpdGUtcG9wdXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQ6ICNGRkY7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdHdpZHRoOiBhdXRvO1xuXHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRtYXJnaW46IDIwcHggYXV0bztcbn1cbiIsIi5mb290ZXItY3RhIHtcblx0YmFja2dyb3VuZDogJGRhcmstZ3JheTtcblx0Y29sb3I6IHdoaXRlO1xuXHRwYWRkaW5nOiA2MHB4ICRzbWFsbC1zcGFjaW5nO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbWVkaWEoJGxhcmdlLXNjcmVlbi11cCkge1xuXHRcdHBhZGRpbmc6IDYwcHggMDtcblx0fVxuXG5cdC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWN1bHR1cmUtc3ViICYsXG5cdC5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWN1bHR1cmUtZGVzaWduICYge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWNvbnRhY3QgLmNvbnRlbnQge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG4gICAgLmNvbnRhY3Qtc2lkZWJhciB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICBwYWRkaW5nOiAxLjg3NWVtIDA7XG4gICAgfVxuXG4gICAgLmVudHJ5IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cbiAgfVxufVxuXG4uY29udGFjdC1zaWRlYmFyIHtcbiAgLmNvbnRhY3Qtc2lkZWJhci1hZGRyZXNzLFxuICAuY29udGFjdC1zaWRlYmFyLXBob25lLFxuICAuY29udGFjdC1zaWRlYmFyLWVtYWlsLFxuICAuY29udGFjdC1zaWRlYmFyLXR3aXR0ZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi5uZXdzbGV0dGVyLnNob3J0Y29kZSB7XG5cdGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuXHRib3JkZXItcmFkaXVzOiAkYmFzZS1ib3JkZXItcmFkaXVzO1xuXHRtYXJnaW46IDMwcHggMDtcblx0cGFkZGluZzogNjBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdGZvcm0ge1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHR9XG5cblx0aW5wdXRbdHlwZT1cInRleHRcIl0sXG5cdGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG5cdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0aW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcblx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcblx0XHRpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5cdFx0aW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuXHRcdGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XG5cdFx0XHR3aWR0aDogNzAlO1xuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0d2lkdGg6IDMwJTtcblx0XHR9XG5cdH1cbn1cbiIsIi50ZXN0aW1vbmlhbHMtc2hvcnRjb2RlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiAzMHB4O1xufVxuLnRlc3RpbW9uaWFsIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0fVxufVxuXG4udGVzdGltb25pYWxzIC5zbGljay1kb3RzIHtcblx0Ym90dG9tOiAtNDVweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogMDtcbn1cblxuLnRlc3RpbW9uaWFscyAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG5cdGNvbG9yOiAjY2NjICFpbXBvcnRhbnQ7XG59XG4iLCIucmVsYXRlZC1wb3N0cyB7XG5cdGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuXHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRwYWRkaW5nOiAzMHB4O1xufVxuIiwiXG4uc2VhcmNoLXJlc3VsdHMge1xuICAgIC5zZWFyY2gtZm9ybS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMmVtIDAgM2VtO1xuICAgIH1cblxuICAgICNzZWFyY2hmb3JtIHtcbiAgICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc3RvcmUtbGFuZGluZy5wYWdlIHtcbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgICB9XG4gIH1cblxuICAuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIH1cblxuICAuY29udGVudC1zaWRlYmFyLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgfVxuXG4gIC5zdG9yZS1sYW5kaW5nLXNlY3Rpb24uaGVyby1zbGlkZXIge1xuICAgIC5zbGljay1uZXh0IHtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgei1pbmRleDogMTAwMDtcbiAgICB9XG5cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAyNXB4O1xuICAgICAgei1pbmRleDogMTAwMDtcbiAgICB9XG5cbiAgICAuaGVyby1zbGlkZSB7XG4gICAgICBAaW5jbHVkZSBiZ19vdmVybGF5KHdoaXRlLCAwLjcpO1xuICAgICAgQGluY2x1ZGUgYmcoKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4O1xuICAgIH1cblxuICAgIC5oZXJvLWNvbnRlbnQtd3JhcCB7XG4gICAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG5cbiAgICAuaGVyby1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoLTUwJSwgLTUwJSkpO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogODUlO1xuXG4gICAgICAuaGVyby10aXRsZSxcbiAgICAgIC5oZXJvLXN1Yi10aXRsZSxcbiAgICAgIC5jbG9zaW5nLXN1Yi10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuXG4gICAgICAuaGVyby10aXRsZSxcbiAgICAgIC5jbG9zaW5nLXN1Yi10aXRsZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZy8yO1xuICAgICAgICBmb250LXNpemU6ICRoMy1mb250LXNpemUgKiAwLjc7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZXJvLXRpdGxlLWF0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAkc21hbGwtc3BhY2luZy80O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5oZXJvLXN1Yi10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyAqIDIgMDtcbiAgICAgIH1cblxuICAgICAgLnN1Yi10aXRsZS1leHQge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlLXNjcmVlbikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsb3Npbmctc3ViLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAkc21hbGwtc3BhY2luZyAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdG9yZS1sYW5kaW5nLXNlY3Rpb24ucHJvZHVjdC1ibG9ja3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgKiAyIDAgJGJhc2Utc3BhY2luZztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtZWRpdW0tc2NyZWVuLXVwKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgICBwYWRkaW5nLXRvcDogJGJhc2Utc3BhY2luZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1lZGl1bS1zY3JlZW4tdXApIHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvMik7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGJhc2Utc3BhY2luZztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYmxvY2stdGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46ICRzbWFsbC1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWJsb2NrLWJsdXJiIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcgKiAyLjU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtYmxvY2staW5uZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mbGV4aWJsZS1zZWN0aW9uIHtcbiAgJi5zcC10b3AsXG4gICYuc3AtYm90aCB7XG4gICAgcGFkZGluZy10b3A6ICRiYXNlLXNwYWNpbmcgKiAyO1xuXG4gICAgQG1lZGlhICgkbHN1KSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGJhc2Utc3BhY2luZyAqIDQ7XG4gICAgfVxuICB9XG5cbiAgJi5zcC10b3Atc21hbGwsXG4gICYuc3AtYm90aC1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRiYXNlLXNwYWNpbmc7XG5cbiAgICBAbWVkaWEgKCRsc3UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkYmFzZS1zcGFjaW5nICogMjtcbiAgICB9XG4gIH1cblxuICAmLnNwLWJvdHRvbSxcbiAgJi5zcC1ib3RoIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZyAqIDI7XG5cbiAgICBAbWVkaWEgKCRsc3UpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkYmFzZS1zcGFjaW5nICogNDtcbiAgICB9XG4gIH1cblxuICAmLnNwLWJvdHRvbS1zbWFsbCxcbiAgJi5zcC1ib3RoLXNtYWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuICAgIEBtZWRpYSAoJGxzdSkge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRiYXNlLXNwYWNpbmcgKiAyO1xuICAgIH1cbiAgfVxuXG4gICYuc20tdG9wLFxuICAmLnNtLWJvdGgge1xuICAgIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmcgKiAyO1xuXG4gICAgQG1lZGlhICgkbHN1KSB7XG4gICAgICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nICogNDtcbiAgICB9XG4gIH1cblxuICAmLnNtLXRvcC1zbWFsbCxcbiAgJi5zbS1ib3RoLXNtYWxsIHtcbiAgICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nO1xuXG4gICAgQG1lZGlhICgkbHN1KSB7XG4gICAgICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nICogMjtcbiAgICB9XG4gIH1cblxuICAmLnNtLWJvdHRvbSxcbiAgJi5zbS1ib3RoIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nICogMjtcblxuICAgIEBtZWRpYSAoJGxzdSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyAqIDQ7XG4gICAgfVxuICB9XG5cbiAgJi5zbS1ib3R0b20tc21hbGwsXG4gICYuc20tYm90aC1zbWFsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuICAgIEBtZWRpYSAoJGxzdSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyAqIDI7XG4gICAgfVxuICB9XG5cbiAgJi5iZy1saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgfVxufVxuXG4uZmxleGlibGUtc2VjdGlvbi52aWRlbyBpZnJhbWUge1xuICBoZWlnaHQ6IDQwMHB4O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nLzI7XG59XG4iLCIuY29udGVudC1zZWN0aW9uLmZpZnR5LWZpZnR5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAbWVkaWEgKCRsc3UpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmLmxlZnQge1xuICAgICAgLmZpZnR5LWZpZnR5LWltYWdlIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG5cbiAgICAgIC5maWZ0eS1maWZ0eS1jb250ZW50IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpZnR5LWZpZnR5LWltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG1pbi1oZWlnaHQ6IHJlbSgzNTApO1xuICAgIG9yZGVyOiAxO1xuXG4gICAgQG1lZGlhICgkbHN1KSB7XG4gICAgICBtaW4taGVpZ2h0OiByZW0oNTUwKTtcbiAgICAgIG1pbi13aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuXG4gIC5maWZ0eS1maWZ0eS1jb250ZW50IHtcbiAgICBAZXh0ZW5kIC5mbXQwO1xuICAgIEBleHRlbmQgLmxtYjA7XG4gICAgb3JkZXI6IDI7XG4gICAgcGFkZGluZzogcmVtKDI0KTtcblxuICAgIEBtZWRpYSAoJGxzdSkge1xuICAgICAgcGFkZGluZzogcmVtKDgwKSByZW0oNjQpO1xuICAgIH1cbiAgfVxufVxuIiwiLmNvbnRlbnQtYmxvY2tzIHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcgMDtcbn1cblxuLmNvbnRlbnQtYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0ZmxvYXQ6IGxlZnQ7XG5cdHBhZGRpbmc6ICRiYXNlLXNwYWNpbmc7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiBwZXJjZW50YWdlKDEvMyk7XG59XG5cbi5jb250ZW50LWJsb2NrLWltYWdlIHtcblx0bWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHR9XG59XG4iLCIuY3RhIHtcblx0cGFkZGluZzogJGJhc2Utc3BhY2luZyozIDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmLmhhcy1iZyAuY3RhLXRpdGxlIHtcblx0XHRjb2xvcjogd2hpdGU7XG5cdH1cbn1cblxuLnBhZ2UtaWQtNTIxMTkgLmN0YSAuYnV0dG9uIHtcblx0cGFkZGluZzogMjBweCA5MHB4O1xufVxuIiwiLmdhbGxlcnkge1xuXHRtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbn1cbiIsIi5jb250ZW50LXNlY3Rpb24gLndyYXAge1xuXHRwYWRkaW5nOiAwIGVtKDE1KTtcblxuXHRAaW5jbHVkZSBtZWRpYSgkbGFyZ2Utc2NyZWVuLXVwKSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdCo6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXG5cdFx0LmJ1dHRvbiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0fVxuXG5cdH1cbn1cbiIsIi53b29jb21tZXJjZS1wYWdlIHtcbiAgLnNpdGUtaW5uZXIgLndyYXAge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuICAgIHBhZGRpbmctdG9wOiAkYmFzZS1zcGFjaW5nO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYXJ0aWNsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLndyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2l0ZS1pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cblxuICAvLyBBZGQgdG8gQ2FydCBCdXR0b24gLSBncmlkXG4gIC5hZGRfdG9fY2FydF9idXR0b24sXG4gIC5wcm9kdWN0X3R5cGVfZ3JvdXBlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRtZWRpdW0tZ3JheSwgMjAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3Jhdml0YXIgZnJvbSByZXZpZXcuXG4gICNyZXZpZXdzIHtcbiAgICAuYXZhdGFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNvbW1lbnQtdGV4dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLndvb2NvbW1lcmNlLW1lc3NhZ2Uge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRibHVlO1xuICB9XG59XG5cbi53b29jb21tZXJjZSBmb3JtIC5mb3JtLXJvdyBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbn1cbiIsIi53b29jb21tZXJjZSB7XG4gIG1hcmsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAucHJvZHVjdC1jYXRlZ29yeSB7XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogc2hhZGUoJGFjdGlvbi1jb2xvciwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0cyB7XG4gICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nIDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWxvd2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnN0YXItcmF0aW5nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByaWNlIHtcbiAgICAgIGNvbG9yOiAkdGV4dC1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IGVtKDE2cHgpICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtKDEyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogJHNtYWxsLXNwYWNpbmcvNCBhdXRvICRzbWFsbC1zcGFjaW5nIGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkYmFzZS1kdXJhdGlvbiAkYmFzZS10aW1pbmc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd29vLWxpZ2h0LWdyYXk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoJGFjdGlvbi1jb2xvciwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hZGRlZF90b19jYXJ0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nLzIgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByb2R1Y3QtdGl0bGUtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbiIsIi53b29jb21tZXJjZS5zaW5nbGUtcHJvZHVjdCB7XG5cbiAgICAud29vY29tbWVyY2UtbWVzc2FnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRsaWdodC1ncmF5LCA1JSk7XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aW9uLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2hhZGUoJGFjdGlvbi1jb2xvciwgMjAlKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucHJvZHVjdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5zdW1tYXJ5IHtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZy8yO1xuICAgICAgICB9XG5cbiAgICAgICAgLndvb2NvbW1lcmNlLXByb2R1Y3QtcmF0aW5nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtZ3JheTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdWFudGl0eSBpbnB1dC5xdHkge1xuICAgICAgICAgICAgcGFkZGluZzogNy41cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzbWFsbC1zcGFjaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYWRkb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZyAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRzbWFsbC1zcGFjaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkb24tbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGVtKDE4cHgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZy8yICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBhYmJyW3RpdGxlXSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBmb3JtIC5mb3JtLXJvdyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAyMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGVtKDE0cHgpO1xuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc21hbGwtc3BhY2luZy80O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGQgdG8gQ2FydCBCdXR0b24gLSBzaW5nbGVcbiAgICAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3Rpb24tY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzaGFkZSgkYWN0aW9uLWNvbG9yLCAyMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2MtdGFicyB7XG5cbiAgICAgICAgQG1lZGlhKCBtYXgtd2lkdGg6ICRtZWRpdW0tc2NyZWVuICkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gUmVtb3ZlIGFkZCBvbiBtYXJnaW4gdG9wXG5kbC5wcm9kdWN0LWFkZG9uLXRvdGFscyBkdCB7XG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG4iLCIvLyBDYXJ0XG5cbi53b29jb21tZXJjZS1lcnJvciB7XG4gIGxpIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ud29vY29tbWVyY2UtY2FydC53b29jb21tZXJjZS1wYWdlIHtcbiAgLndyYXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLmVudHJ5LWhlYWRlciB7XG4gICAgYS5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogMzUwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNtYWxsLXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvdXBvbiB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0tc2NyZWVuKSB7XG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNtYWxsLXNwYWNpbmcvMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZW50cnkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuY2FydF9pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYmFzZS1zcGFjaW5nO1xuXG4gICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLmNhcnQtY29sbGF0ZXJhbHMgLmNhcnRfdG90YWxzIHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY2hlY2tvdXQtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRhY3Rpb24tY29sb3IsIDIwJSkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnF1YW50aXR5IHtcbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gICAgICBwYWRkaW5nOiA3LjVweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGFibGUgc3R1ZmZcbi53b29jb21tZXJjZSB0YWJsZS5zaG9wX3RhYmxlIHtcbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3b28tbGlnaHQtZ3JheSAhaW1wb3J0YW50O1xuICB9XG5cbiAgdHIge1xuICAgICY6bnRoLWNoaWxkKGV2ZW4pLFxuICAgICYub3JkZXJfaXRlbTpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuY2FydC1zdWJ0b3RhbCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd29vLWxpZ2h0LWdyYXkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICB0aCB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLndvb2NvbW1lcmNlIHRhYmxlLnNob3BfdGFibGUgdGQge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblxuICAmLmFjdGlvbnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gVHdlYWsgdG8gdGhlIGNvdXBvbiBjb2RlIGlucHV0XG4ud29vY29tbWVyY2UgI2NvbnRlbnQgdGFibGUuY2FydCB0ZC5hY3Rpb25zIC5pbnB1dC10ZXh0LFxuLndvb2NvbW1lcmNlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlICNjb250ZW50IHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCxcbi53b29jb21tZXJjZS1wYWdlIHRhYmxlLmNhcnQgdGQuYWN0aW9ucyAuaW5wdXQtdGV4dCB7XG4gIHBhZGRpbmctYm90dG9tOiA3LjVweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogNy41cHggIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtZWRpYSgkbWVkaXVtLXNjcmVlbi11cCkge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gU2hpcHBpbmcgU3R5bGVzXG4jc2hpcHBpbmdfbWV0aG9kIHtcbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2hlY2tvdXQgUGFnZVxuI3BheW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZyoyO1xuXG4gICAgdWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkYXJrLWdyYXkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucGF5bWVudF9ib3g6YWZ0ZXIsXG4gICAgLnBheW1lbnRfYm94OmJlZm9yZSxcbiAgICBsaTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgI3BsYWNlX29yZGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNoYWRlKCRhY3Rpb24tY29sb3IsIDIwJSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuI29yZGVyX3Jldmlld19oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nO1xufVxuXG4ud2NfcGF5bWVudF9tZXRob2RzIHtcbiAgICBib3JkZXItYm90dG9tOiAwcHggIWltcG9ydGFudDtcblxuICAgIC51cHBlci1kZXRhaWxzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNtYWxsLXNwYWNpbmc7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5sb3dlci1kZXRhaWxzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnRfYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4jc2hpcC10by1kaWZmZXJlbnQtYWRkcmVzcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRiYXNlLXNwYWNpbmcqLjc1O1xuICAgIH1cblxuICAgICNzaGlwLXRvLWRpZmZlcmVudC1hZGRyZXNzLWNoZWNrYm94IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDQwJTtcbiAgICB9XG59XG5cblxuI2NnZF9naWZ0X25vdGVfZmllbGQge1xuICAgIGNsZWFyOiBib3RoO1xufVxuIiwiLndvb2NvbW1lcmNlLXBhZ2luYXRpb24ge1xuXG4gICAgdWwsXG4gICAgbGkge1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1udW1iZXJzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRiYXNlLWR1cmF0aW9uICRiYXNlLXRpbWluZztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi53b29jb21tZXJjZS1vcmRlci1yZWNlaXZlZCB7XG5cbiAgICAuc2hvcF90YWJsZS5vcmRlcl9kZXRhaWxzIHtcblxuICAgICAgICAub3JkZXJfaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlcl9pdGVtOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdvby1saWdodC1ncmF5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXJfZGV0YWlscyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmcgIWltcG9ydGFudDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */