/* add body so style sheet can be used on its own.*/
/* Branding for fulltext HTML content when it is displayed within a tab */
/* resets some NLM styles */
.itemFullTextHtml hr.part-rule,
.itemFullTextHtml hr.section-rule {
  color: #666;
  height: 1px;
}
.itemFullTextHtml .li-title,
.itemFullTextHtml .tl-default,
.itemFullTextHtml .tl-lowest-section,
.itemFullTextHtml .tl-section-level,
.itemFullTextHtml .tl-main-part,
.itemFullTextHtml .tl-document,
.itemFullTextHtml h1,
.itemFullTextHtml h2 {
  color: #39392A;
}
.itemFullTextHtml .tl-document,
.itemFullTextHtml h1 {
  font-size: 1.5em;
  text-align: center;
}
.itemFullTextHtml .tl-main-part,
.itemFullTextHtml h2 {
  font-size: 1.1em;
}
.itemFullTextHtml .tl-section-level {
  font-size: 1.2em;
}
.itemFullTextHtml .tl-lowest-section,
.itemFullTextHtml .li-title,
.itemFullTextHtml .tl-default {
  font-size: 1.1em;
}
.itemFullTextHtml .tl-lowest-section {
  padding-top: 10px;
}
.itemFullTextHtml h2 {
  color: gray;
}
.itemFullTextHtml ul.flat,
.itemFullTextHtml ul.flat li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.itemFullTextHtml ul.flat {
  margin-bottom: 13px;
}
.itemFullTextHtml ul.authors li,
.itemFullTextHtml ul.affiliations li,
.itemFullTextHtml ul.keywords li {
  display: inline;
}
.itemFullTextHtml dl.abstract * {
  margin: 0;
  padding: 0;
}
.itemFullTextHtml dl.abstract dd {
  margin-bottom: 10px;
}
.itemFullTextHtml dl.abstract dt {
  float: left;
  font-weight: bold;
  margin-right: 5px;
}
.itemFullTextHtml strong,
.itemFullTextHtml dt {
  color: #39392A;
}
/* Position inline formulae nicely */
.itemFullTextHtml img.inline-formula {
  vertical-align: middle;
}
/* Position other formulae centered on page */
.itemFullTextHtml img.disp-formula {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.itemFullTextHtml .articleSection p sub,
.itemFullTextHtml .articleSection p sup {
  line-height: 0;
}
.itemFullTextHtml .comment {
  display: none;
}
/* additional styles for top branding bar */
.itemFullTextHtml #wrap {
  padding: 15px 100px;
}
.itemFullTextHtml .sectionDivider {
  background-color: #EBEBEB;
  padding: 5px 0px;
  border: 1px solid #ccc;
}
.itemFullTextHtml .top-section-link {
  display: none;
}
.itemFullTextHtml .dropDownMenu {
  float: right;
  border: 1px solid #EBEBEB;
  color: #808080;
  border-top: none;
  display: none;
  padding: 10px 15px;
  margin-left: 5px;
}
.itemFullTextHtml .dropDownMenu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.itemFullTextHtml .dropDownMenu a:link {
  text-decoration: none;
  color: #808080;
}
.itemFullTextHtml .dropDownMenu a:visited {
  text-decoration: none;
  color: #808080;
}
.itemFullTextHtml .dropDownMenu a:hover {
  text-decoration: none;
  color: #0000ff;
}
.itemFullTextHtml .menuButton {
  float: right;
  clear: right;
  font-size: 0.9em;
  color: #167DA2;
  padding: 3px 5px;
  cursor: pointer;
  margin-right: 5px;
  border: 1px solid #ccc;
  background-color: #F7F7F7;
  text-transform: uppercase;
}
.itemFullTextHtml .sectionDivider .title {
  clear: left;
  float: left;
}
.itemFullTextHtml .clearer {
  clear: both;
  line-height: 0;
}
.itemFullTextHtml .figure {
  font-size: 0.8em;
}
.itemFullTextHtml .figure .image {
  float: left;
  clear: left;
  margin-left: 20px;
  text-align: center;
}
.itemFullTextHtml .figure .caption {
  margin-left: 200px;
}
.itemFullTextHtml .figure .image a:link {
  text-decoration: none;
}
.itemFullTextHtml .figure .image a:visited {
  text-decoration: none;
}
.itemFullTextHtml .correspondence {
  margin-bottom: 10px;
}
.itemFullTextHtml .caption .captionLabel {
  font-weight: bold;
}
.itemFullTextHtml .capture-id .tableLabel {
  background-color: #cccccc;
  padding: 5px 0px;
}
.itemFullTextHtml .tableWrap {
  padding: 15px 10px;
}
.itemFullTextHtml img {
  vertical-align: middle;
}
.itemFullTextHtml .article-header-metadata,
.itemFullTextHtml .book-header-metadata {
  display: none;
}
.itemFullTextHtml #article-level-0-front-and-body .article-title-and-authors .articleSection,
.itemFullTextHtml .article-title,
.itemFullTextHtml #article-level-0-front-and-body .article-title-and-authors .authors,
.itemFullTextHtml .article-title-and-authors .au-label,
.itemFullTextHtml .article-title-and-authors .affiliations,
.itemFullTextHtml .book-title-and-authors,
.itemFullTextHtml .correspondence,
.itemFullTextHtml .author-footnote {
  display: none;
}
/* Abstract requested specifically for book */
.itemFullTextHtml .book-abstract {
  display: block;
}
span.references ol.references li {
  list-style-type: none;
  padding-bottom: 4px;
  word-break: break-word;
  overflow-wrap: break-word;
}
span.references ol.references {
  padding-left: 10px;
}
hr.part-rule,
hr.section-rule {
  color: #666;
  height: 1px;
}
.li-title,
.tl-default,
.tl-lowest-section,
.tl-section-level,
.tl-main-part,
.tl-document {
  color: #39392A;
}
.tl-document {
  font-size: 1.5em;
  text-align: center;
}
.tl-main-part {
  font-size: 1.3em;
}
.tl-section-level {
  font-size: 1.2em;
}
.tl-lowest-section,
.li-title,
.tl-default {
  font-size: 1.1em;
}
.tl-lowest-section {
  padding-top: 10px;
}
/* Position inline formulae nicely */
img.inline-formula {
  vertical-align: middle;
}
/* Position other formulae centered on page */
img.disp-formula {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.articleSection p sub,
.articleSection p sup {
  line-height: 0;
}
.articleSection {
  margin-bottom: 10px;
}
.comment {
  display: none;
}
.sectionDivider {
  background-color: #cccccc;
  padding: 5px 0px;
  border-color: 1px solid #ccc;
}
.dropDownMenu {
  float: right;
  border: 1px solid #cccccc;
  color: #808080;
  border-top: none;
  display: none;
  padding: 10px 15px;
  margin-left: 5px;
}
.dropDownMenu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.dropDownMenu a:link {
  text-decoration: none;
  color: #808080;
}
.dropDownMenu a:visited {
  text-decoration: none;
  color: #808080;
}
.dropDownMenu a:hover {
  text-decoration: none;
  color: #0000ff;
}
.sectionDivider .title {
  clear: left;
  float: left;
}
.meta-list .correspondence {
  margin-bottom: 10px;
}
/* Additional over-rides for replacement classes in NLM */
.jp-bold {
  font-weight: bold;
}
.jp-italic {
  font-style: italic;
}
.jp-small {
  font-variant: small-caps;
}
.jp-strike {
  text-decoration: line-through;
}
.jp-sub {
  font-size: 0.83em;
  vertical-align: sub;
}
.jp-sup {
  font-size: 0.83em;
  vertical-align: super;
}
.jp-underline {
  text-decoration: underline;
}
.jp-w100 {
  width: 100%;
}
.jp-w60 {
  width: 60%;
}
.jp-border1 {
  border: solid 1px black;
}
.jp-border4 {
  border: solid 4px black;
}
.jp-td1 {
  padding: 1px;
}
.jp-td5 {
  padding: 5px;
}
/* front-matter */
.fm {
  font-size: 9pt;
  line-height: 1.5;
}
/* back-matter */
.bm {
  font-size: 9pt;
  line-height: 1.5;
}
/* rules */
hr.part-rule {
  color: red;
  width: 50%;
  text-align: center;
  margin-top: 5pt;
  margin-bottom: 5pt;
}
hr.section-rule {
  color: black;
  width: 50%;
  text-align: center;
  margin-top: 5pt;
  margin-bottom: 5pt;
}
/* generated text */
.gen {
  color: gray;
}
/* --------------- Titling levels -------------------- */
/* titling level 1: document title */
.tl-document {
  display: block;
  font-size: 18pt;
  font-weight: bold;
  line-height: 140%;
  text-align: center;
}
/* titling level 2: main document parts */
.tl-main-part {
  display: block;
  font-weight: bold;
  line-height: 130%;
}
/* titling level 3: first-level sections of main parts */
.tl-section-level {
  display: block;
  font-size: 14pt;
  font-weight: bold;
  line-height: 130%;
}
/* titling level 4: lowest designed level */
.tl-lowest-section {
  display: block;
  font-weight: bold;
  line-height: 130%;
}
/* Bug#49339 - tl-default may be second level or third level thanks to the Keton-era content */
/* tl-default at third level - italic */
div > .tl-lowest-section ~ div > .tl-default {
  display: block;
  font-style: italic;
  font-weight: normal;
  line-height: 130%;
  margin-top: 5pt;
}
/* tl-default at second level - bold */
.tl-default {
  display: inline;
  font-weight: bold;
  line-height: 130%;
  margin-top: 5pt;
  font-size: 1em;
  padding-right: 5px;
}
/* text decoration */
.monospace {
  font-family: monospace;
}
.overline {
  text-decoration: overline;
}
.take-note {
  color: red;
}
.au-label {
  vertical-align: super;
  font-size: 7pt;
}
/* Hide the au-label on affiliations, as we display our own label */
.affiliations .au-label {
  display: none;
}
/* We need to ensure that the paragraph is displayed on the same line as the label for article notes */
.article-notes .au-label + p {
  display: inline-block;
}
.fn-label {
  vertical-align: super;
  font-size: 7pt;
}
.label {
  font-weight: bold;
}
.li-title {
  font-weight: bold;
  font-size: 11pt;
  margin-left: 2em;
}
#chapter div > span.tl-lowest-section + p {
  display: inherit;
}
div.article-section > div.article-section ~ div {
  margin-top: 10px;
}
/* start of changes made for bug 36654 being carefull not to mess things up for other content type's*/
#tableContainer .dialogCitationLabel,
#figureContainer .dialogCitationLabel {
  display: none;
}
#chapter .tableSmallImageContainer,
#chapter .tableSmallImageContainer + .tabDesc,
#chapter .citationinfo {
  float: left;
  clear: both;
}
#chapter .table h5.tabTitle {
  margin-bottom: 0;
  /*margin-top:15px;*/
}
#chapter .tableSmallImageContainer + .tabDesc,
#chapter .citationinfo {
  margin: 5px 0;
}
#chapter .singleTableContainer {
  /*border:none;*/
}
/*#chapter .figureCaptionContainer {
    width:auto; 
}*/
.itemFullTextHtml div.bio-para {
  float: left;
}
/* permissions and reprint links in the figures tab */
img[alt="Permissions and Reprints"] {
  border: none;
}
.permissions {
  float: right;
  width: 70%;
}
input[alt="Download as Powerpoint"] {
  padding-left: 0px;
  margin-left: -12px;
}
.click2view {
  width: 140px;
  text-align: center;
}
#pptdownloadForm {
  padding-bottom: 10px;
}
#pptImageLink {
  color: #2459BE;
}
#pptImageLink:hover {
  text-decoration: underline;
  cursor: pointer;
}
.tabTitle {
  text-transform: uppercase;
}
#html-body .label {
  color: #333;
  font-size: 100%;
}
#html-body a:link .label,
#html-body a:active .label,
#html-body a:visited .label {
  color: #428bca;
  font-size: 100%;
}
.affiliation-details .affiliations {
  display: block;
}
.label {
  white-space: normal;
  padding: 0;
}
.article-title-and-authors,
.article-abstract,
.abstract-section-link {
  display: none;
}
.tl-main-part.title a,
.tl-main-part.title a:link,
.tl-main-part.title a:visited,
.tl-main-part.title a:active,
.tl-main-part.title a:hover {
  font-weight: normal;
  text-decoration: none;
  padding: 5px 0px 5px 10px;
  color: #2F2F2F;
  line-height: 1.7em;
}
.capture-id {
  margin: 1em 0;
  text-align: center;
  width: 100%;
}
.articleSection > .articleSection {
  margin: 10px 0;
}
.articleSection > .activemenu {
  position: relative;
  z-index: 100;
}
#article .capture-id {
  margin: 1em 0;
  position: relative;
  text-align: center;
  width: 100%;
}
#article .article-abbreviations .capture-id {
  text-align: left;
}
#article .article-abbreviations .tl-main-part {
  font-size: 16px;
  font-weight: bold;
  width: 60%;
  line-height: 22.85px;
  border-left: 1px solid #2F2F2F;
  border-top: 1px solid #2F2F2F;
  padding-left: 6px;
  border-right: 1px solid #2F2F2F;
}
#article .capture-id > .label {
  position: absolute;
  right: 0;
  top: 0;
}
#multimediadialog .tl-default {
  font-weight: normal;
}
.popover-content {
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
}
.popover-content .image {
  display: none;
}
/* start of figure CSS code! */
.itemFullTextHtml .html-fulltext-responsive-figure {
  width: 100%;
}
.itemFullTextHtml .html-fulltext-responsive-figure .image {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  margin: 0 auto;
  float: none !important;
}
@media (min-width: 768px) {
  .itemFullTextHtml .html-fulltext-responsive-figure .image {
    float: left;
    width: 66.66666667%;
  }
}
.itemFullTextHtml .html-fulltext-responsive-figure .image img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.itemFullTextHtml .html-fulltext-responsive-figure .caption {
  font-size: 12px;
  margin-left: 0;
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
  text-align: center;
  margin: 0 auto;
  float: none !important;
}
@media (min-width: 768px) {
  .itemFullTextHtml .html-fulltext-responsive-figure .caption {
    float: left;
    width: 66.66666667%;
  }
}
.itemFullTextHtml .html-fulltext-responsive-figure .caption .captionText {
  text-align: left;
}
.itemFullTextHtml .html-fulltext-responsive-figure .figure-duplicate-label {
  display: none;
}
/* start Table CSS code! */
table.html-fulltext-inline-table {
  max-width: 100%;
  margin-bottom: 20px;
  border: 1px solid #dddddd;
  overflow-x: auto;
  min-height: 0.01%;
  width: 100%;
}
table.html-fulltext-inline-table > thead > tr > th,
table.html-fulltext-inline-table > tbody > tr > th,
table.html-fulltext-inline-table > tfoot > tr > th,
table.html-fulltext-inline-table > thead > tr > td,
table.html-fulltext-inline-table > tbody > tr > td,
table.html-fulltext-inline-table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}
table.html-fulltext-inline-table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #dddddd;
}
table.html-fulltext-inline-table > caption + thead > tr:first-child > th,
table.html-fulltext-inline-table > colgroup + thead > tr:first-child > th,
table.html-fulltext-inline-table > thead:first-child > tr:first-child > th,
table.html-fulltext-inline-table > caption + thead > tr:first-child > td,
table.html-fulltext-inline-table > colgroup + thead > tr:first-child > td,
table.html-fulltext-inline-table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
table.html-fulltext-inline-table > tbody + tbody {
  border-top: 2px solid #dddddd;
}
table.html-fulltext-inline-table .table {
  background-color: #ffffff;
}
table.html-fulltext-inline-table > thead > tr > th,
table.html-fulltext-inline-table > tbody > tr > th,
table.html-fulltext-inline-table > tfoot > tr > th,
table.html-fulltext-inline-table > thead > tr > td,
table.html-fulltext-inline-table > tbody > tr > td,
table.html-fulltext-inline-table > tfoot > tr > td {
  border: 1px solid #dddddd;
}
table.html-fulltext-inline-table > thead > tr > th,
table.html-fulltext-inline-table > thead > tr > td {
  border-bottom-width: 2px;
}
table.html-fulltext-inline-table > thead > tr > th,
table.html-fulltext-inline-table > tbody > tr > th,
table.html-fulltext-inline-table > tfoot > tr > th,
table.html-fulltext-inline-table > thead > tr > td,
table.html-fulltext-inline-table > tbody > tr > td,
table.html-fulltext-inline-table > tfoot > tr > td {
  padding: 5px;
}
table.html-fulltext-inline-table > tbody > tr:hover {
  background-color: #f5f5f5;
}
@media screen and (max-width: 767px) {
  table.html-fulltext-inline-table {
    width: 100%;
    margin-bottom: 15px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #dddddd;
  }
  table.html-fulltext-inline-table > .table {
    margin-bottom: 0;
  }
  table.html-fulltext-inline-table > .table > thead > tr > th,
  table.html-fulltext-inline-table > .table > tbody > tr > th,
  table.html-fulltext-inline-table > .table > tfoot > tr > th,
  table.html-fulltext-inline-table > .table > thead > tr > td,
  table.html-fulltext-inline-table > .table > tbody > tr > td,
  table.html-fulltext-inline-table > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  table.html-fulltext-inline-table > .table-bordered {
    border: 0;
  }
  table.html-fulltext-inline-table > .table-bordered > thead > tr > th:first-child,
  table.html-fulltext-inline-table > .table-bordered > tbody > tr > th:first-child,
  table.html-fulltext-inline-table > .table-bordered > tfoot > tr > th:first-child,
  table.html-fulltext-inline-table > .table-bordered > thead > tr > td:first-child,
  table.html-fulltext-inline-table > .table-bordered > tbody > tr > td:first-child,
  table.html-fulltext-inline-table > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  table.html-fulltext-inline-table > .table-bordered > thead > tr > th:last-child,
  table.html-fulltext-inline-table > .table-bordered > tbody > tr > th:last-child,
  table.html-fulltext-inline-table > .table-bordered > tfoot > tr > th:last-child,
  table.html-fulltext-inline-table > .table-bordered > thead > tr > td:last-child,
  table.html-fulltext-inline-table > .table-bordered > tbody > tr > td:last-child,
  table.html-fulltext-inline-table > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  table.html-fulltext-inline-table > .table-bordered > tbody > tr:last-child > th,
  table.html-fulltext-inline-table > .table-bordered > tfoot > tr:last-child > th,
  table.html-fulltext-inline-table > .table-bordered > tbody > tr:last-child > td,
  table.html-fulltext-inline-table > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
table.html-fulltext-inline-table th[align="center"],
table.html-fulltext-inline-table td[align="center"] {
  text-align: center;
}
table.html-fulltext-inline-table th[align="right"],
table.html-fulltext-inline-table td[align="right"] {
  text-align: right;
}
table.html-fulltext-inline-table tbody td:not([colspan="1"]) {
  background-color: #f9f9f9;
}
table.html-fulltext-inline-table tfoot tr td {
  background-color: #fff;
  text-align: left;
  border: none;
}
table.html-fulltext-inline-table th[valign="top"],
table.html-fulltext-inline-table td[valign="top"] {
  vertical-align: top !important;
}
table.html-fulltext-inline-table th[valign="middle"],
table.html-fulltext-inline-table td[valign="middle"] {
  vertical-align: middle !important;
}
table.html-fulltext-inline-table th[valign="top"],
table.html-fulltext-inline-table td[valign="top"] {
  vertical-align: top !important;
}
/* Don't display caption when table is shown in fulltext tab pane we are displaying it above! */
.tab-pane .table-container table caption {
  display: none;
}
.is-table-copy {
  width: 100%;
}
.is-table-copy caption {
  padding: 10px;
  border: 1px solid #ccc;
  color: #444;
  background-color: #EBEBEB;
  margin-bottom: 20px;
}
.is-table-copy caption .toggle-table {
  font-size: 14px;
  font-weight: 700;
}
.table-caption-container {
  width: 100%;
  padding: 10px;
  border: 1px solid #ccc;
  color: #444;
  background-color: #EBEBEB;
  margin-bottom: 20px;
  position: relative;
}
.table-caption-container .toggle-table {
  font-size: 14px;
  font-weight: 700;
}
.table-caption-container .table-placeholder-image {
  float: left;
  padding-right: 10px;
  padding-bottom: 10px;
}
.table-caption-container .table-cell + .table-caption-container-inner {
  margin-left: 160px;
}
.table-container {
  overflow: auto;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  line-height: 1.42857143;
  color: #333333;
  background-color: #ffffff;
}
.table-container h5 {
  font-size: 16px;
}
#tableFullscreen input {
  float: left;
  margin: 10px;
}
#tableFullscreen .table-container {
  float: left;
  clear: both;
}
#tableFullscreen div.table-container {
  width: 100%;
}
@media (max-width: 470px) {
  .open-table-fullscreen {
    position: absolute;
    top: 10px;
    right: 10px;
  }
}
@media print {
  .itemFullTextHtml .menuButton,
  .itemFullTextHtml .dropDownMenu {
    display: none;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9mdWxsdGV4dC1odG1sLXRhYi5sZXNzIiwiY3NzL3BsYXRmb3JtL2Jvb3RzdHJhcC9taXhpbnMvZ3JpZC5sZXNzIiwiY3NzL3BsYXRmb3JtL2Jvb3RzdHJhcC9taXhpbnMvaW1hZ2UubGVzcyIsImNzcy9wbGF0Zm9ybS9ib290c3RyYXAvdGFibGVzLmxlc3MiLCJjc3MvYmFzZS9fX3ZhcmlhYmxlcy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLGlCQUFrQixHQUFFO0FBQ3BCLGlCQUFrQixHQUFFO0VBQ2hCLFdBQUE7RUFDQSxXQUFBOztBQUlKLGlCQUFrQjtBQUNsQixpQkFBa0I7QUFDbEIsaUJBQWtCO0FBQ2xCLGlCQUFrQjtBQUNsQixpQkFBa0I7QUFDbEIsaUJBQWtCO0FBQ2xCLGlCQUFrQjtBQUNsQixpQkFBa0I7RUFDZCxjQUFBOztBQUdKLGlCQUFrQjtBQUNsQixpQkFBa0I7RUFDZCxnQkFBQTtFQUNBLGtCQUFBOztBQUdKLGlCQUFrQjtBQUNsQixpQkFBa0I7RUFDZCxnQkFBQTs7QUFHSixpQkFBa0I7RUFDZCxnQkFBQTs7QUFHSixpQkFBa0I7QUFDbEIsaUJBQWtCO0FBQ2xCLGlCQUFrQjtFQUNkLGdCQUFBOztBQUdKLGlCQUFrQjtFQUNkLGlCQUFBOztBQUdKLGlCQUFrQjtFQUNkLFdBQUE7O0FBR0osaUJBQWtCLEdBQUU7QUFDcEIsaUJBQWtCLEdBQUUsS0FBTTtFQUN0QixTQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBOztBQUdKLGlCQUFrQixHQUFFO0VBQ2hCLG1CQUFBOztBQUdKLGlCQUFrQixHQUFFLFFBQVM7QUFDN0IsaUJBQWtCLEdBQUUsYUFBYztBQUNsQyxpQkFBa0IsR0FBRSxTQUFVO0VBQzFCLGVBQUE7O0FBR0osaUJBQWtCLEdBQUUsU0FBVTtFQUMxQixTQUFBO0VBQ0EsVUFBQTs7QUFHSixpQkFBa0IsR0FBRSxTQUFVO0VBQzFCLG1CQUFBOztBQUdKLGlCQUFrQixHQUFFLFNBQVU7RUFDMUIsV0FB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a0JBQUE7SUFDQSxTQUFBO0lBQ0EsV0FBQTs7O0FBV1I7RUFORSxpQkFBa0I7RUFDakIsaUJBQWtCO0lBQ2pCLGFBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qIGFkZCBib2R5IHNvIHN0eWxlIHNoZWV0IGNhbiBiZSB1c2VkIG9uIGl0cyBvd24uKi9cbiBcblxuXG4vKiBCcmFuZGluZyBmb3IgZnVsbHRleHQgSFRNTCBjb250ZW50IHdoZW4gaXQgaXMgZGlzcGxheWVkIHdpdGhpbiBhIHRhYiAqL1xuXG4vKiByZXNldHMgc29tZSBOTE0gc3R5bGVzICovXG4uaXRlbUZ1bGxUZXh0SHRtbCBoci5wYXJ0LXJ1bGUsXG4uaXRlbUZ1bGxUZXh0SHRtbCBoci5zZWN0aW9uLXJ1bGUge1xuICAgIGNvbG9yOiM2NjY7XG4gICAgaGVpZ2h0OjFweDtcbn1cblxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAubGktdGl0bGUsIFxuLml0ZW1GdWxsVGV4dEh0bWwgLnRsLWRlZmF1bHQsIFxuLml0ZW1GdWxsVGV4dEh0bWwgLnRsLWxvd2VzdC1zZWN0aW9uLCBcbi5pdGVtRnVsbFRleHRIdG1sIC50bC1zZWN0aW9uLWxldmVsLCBcbi5pdGVtRnVsbFRleHRIdG1sIC50bC1tYWluLXBhcnQsIFxuLml0ZW1GdWxsVGV4dEh0bWwgLnRsLWRvY3VtZW50LCBcbi5pdGVtRnVsbFRleHRIdG1sIGgxLFxuLml0ZW1GdWxsVGV4dEh0bWwgaDIge1xuICAgIGNvbG9yOiMzOTM5MkE7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIC50bC1kb2N1bWVudCxcbi5pdGVtRnVsbFRleHRIdG1sIGgxIHtcbiAgICBmb250LXNpemU6MS41ZW07XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIC50bC1tYWluLXBhcnQsXG4uaXRlbUZ1bGxUZXh0SHRtbCBoMiB7XG4gICAgZm9udC1zaXplOjEuMWVtO1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAudGwtc2VjdGlvbi1sZXZlbCB7XG4gICAgZm9udC1zaXplOjEuMmVtO1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAudGwtbG93ZXN0LXNlY3Rpb24sXG4uaXRlbUZ1bGxUZXh0SHRtbCAubGktdGl0bGUsXG4uaXRlbUZ1bGxUZXh0SHRtbCAudGwtZGVmYXVsdCB7XG4gICAgZm9udC1zaXplOjEuMWVtO1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAudGwtbG93ZXN0LXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOjEwcHg7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIGgyIHtcbiAgICBjb2xvcjpncmF5O1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCB1bC5mbGF0LFxuLml0ZW1GdWxsVGV4dEh0bWwgdWwuZmxhdCBsaSB7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgdWwuZmxhdHtcbiAgICBtYXJnaW4tYm90dG9tOjEzcHg7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIHVsLmF1dGhvcnMgbGksXG4uaXRlbUZ1bGxUZXh0SHRtbCB1bC5hZmZpbGlhdGlvbnMgbGksXG4uaXRlbUZ1bGxUZXh0SHRtbCB1bC5rZXl3b3JkcyBsaXtcbiAgICBkaXNwbGF5OmlubGluZTtcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgZGwuYWJzdHJhY3QgKiB7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCBkbC5hYnN0cmFjdCBkZCB7XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xufVxuICAgIFxuLml0ZW1GdWxsVGV4dEh0bWwgZGwuYWJzdHJhY3QgZHQge1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6NXB4O1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCBzdHJvbmcsXG4uaXRlbUZ1bGxUZXh0SHRtbCBkdCB7XG4gICAgY29sb3I6IzM5MzkyQTtcbn1cbiAgICAgICAgXG4vKiBQb3NpdGlvbiBpbmxpbmUgZm9ybXVsYWUgbmljZWx5ICovXG4uaXRlbUZ1bGxUZXh0SHRtbCBpbWcuaW5saW5lLWZvcm11bGEge1xuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbn1cbiAgICBcbiAgICAvKiBQb3NpdGlvbiBvdGhlciBmb3JtdWxhZSBjZW50ZXJlZCBvbiBwYWdlICovXG4uaXRlbUZ1bGxUZXh0SHRtbCBpbWcuZGlzcC1mb3JtdWxhIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OmF1dG87XG59XG5cblxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAuYXJ0aWNsZVNlY3Rpb24gcCBzdWIsXG4uaXRlbUZ1bGxUZXh0SHRtbCAuYXJ0aWNsZVNlY3Rpb24gcCBzdXAge1xuICAgIGxpbmUtaGVpZ2h0OjA7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIC5jb21tZW50IHtcbiAgICBkaXNwbGF5Om5vbmU7XG59XG4gICAgXG4vKiBhZGRpdGlvbmFsIHN0eWxlcyBmb3IgdG9wIGJyYW5kaW5nIGJhciAqL1xuLml0ZW1GdWxsVGV4dEh0bWwgI3dyYXB7XG4gICAgcGFkZGluZzoxNXB4IDEwMHB4O1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAuc2VjdGlvbkRpdmlkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6I0VCRUJFQjtcbiAgICBwYWRkaW5nOjVweCAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgLnRvcC1zZWN0aW9uLWxpbmsge1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgLmRyb3BEb3duTWVudSB7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjRUJFQkVCO1xuICAgIGNvbG9yOiM4MDgwODA7XG4gICAgYm9yZGVyLXRvcDpub25lO1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBwYWRkaW5nOjEwcHggMTVweDtcbiAgICBtYXJnaW4tbGVmdDo1cHg7ICAgIFxufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAuZHJvcERvd25NZW51IHVsIHsgXG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xuICAgIGxpc3Qtc3R5bGU6bm9uZTtcbn1cbiAgICBcbi5pdGVtRnVsbFRleHRIdG1sIC5kcm9wRG93bk1lbnUgYTpsaW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBjb2xvcjojODA4MDgwO1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAuZHJvcERvd25NZW51IGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgY29sb3I6IzgwODA4MDtcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgLmRyb3BEb3duTWVudSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBjb2xvcjojMDAwMGZmO1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAubWVudUJ1dHRvbiB7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgY2xlYXI6cmlnaHQ7XG4gICAgZm9udC1zaXplOjAuOWVtO1xuICAgIGNvbG9yOiMxNjdEQTI7XG4gICAgcGFkZGluZzozcHggNXB4O1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIG1hcmdpbi1yaWdodDo1cHg7XG4gICAgYm9yZGVyOjFweCBzb2xpZCAjY2NjO1xuICAgIGJhY2tncm91bmQtY29sb3I6I0Y3RjdGNztcbiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIC5zZWN0aW9uRGl2aWRlciAudGl0bGUge1xuICAgIGNsZWFyOmxlZnQ7XG4gICAgZmxvYXQ6bGVmdDtcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgLmNsZWFyZXIge1xuICAgIGNsZWFyOmJvdGg7XG4gICAgbGluZS1oZWlnaHQ6MDtcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgLmZpZ3VyZSB7XG4gICAgZm9udC1zaXplOjAuOGVtXG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIC5maWd1cmUgLmltYWdlIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGNsZWFyOmxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6MjBweDtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgLmZpZ3VyZSAuY2FwdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6MjAwcHg7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIC5maWd1cmUgLmltYWdlIGE6bGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIC5maWd1cmUgLmltYWdlIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7ICAgXG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIC5jb3JyZXNwb25kZW5jZSB7XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAuY2FwdGlvbiAuY2FwdGlvbkxhYmVsIHtcbiAgICBmb250LXdlaWdodDpib2xkO1xufVxuXG4uaXRlbUZ1bGxUZXh0SHRtbCAuY2FwdHVyZS1pZCAudGFibGVMYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojY2NjY2NjO1xuICAgIHBhZGRpbmc6NXB4IDBweDtcbn1cblxuLml0ZW1GdWxsVGV4dEh0bWwgLnRhYmxlV3JhcCB7XG4gICAgcGFkZGluZzoxNXB4IDEwcHg7XG59XG5cbi5pdGVtRnVsbFRleHRIdG1sIGltZyB7IFxuICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbn0gIFxuICAgICAgICBcbi5pdGVtRnVsbFRleHRIdG1sIC5hcnRpY2xlLWhlYWRlci1tZXRhZGF0YSxcbi5pdGVtRnVsbFRleHRIdG1sIC5ib29rLWhlYWRlci1tZXRhZGF0YSB7XG4gICAgZGlzcGxheTpub25lO1xufVxuIFxuLml0ZW1GdWxsVGV4dEh0bWwgI2FydGljbGUtbGV2ZWwtMC1mcm9udC1hbmQtYm9keSAuYXJ0aWNsZS10aXRsZS1hbmQtYXV0aG9ycyAuYXJ0aWNsZVNlY3Rpb24sXG4uaXRlbUZ1bGxUZXh0SHRtbCAuYXJ0aWNsZS10aXRsZSxcbi5pdGVtRnVsbFRleHRIdG1sICNhcnRpY2xlLWxldmVsLTAtZnJvbnQtYW5kLWJvZHkgLmFydGljbGUtdGl0bGUtYW5kLWF1dGhvcnMgLmF1dGhvcnMsXG4uaXRlbUZ1bGxUZXh0SHRtbCAuYXJ0aWNsZS10aXRsZS1hbmQtYXV0aG9ycyAuYXUtbGFiZWwsXG4uaXRlbUZ1bGxUZXh0SHRtbCAuYXJ0aWNsZS10aXRsZS1hbmQtYXV0aG9ycyAuYWZmaWxpYXRpb25zLFxuLml0ZW1GdWxsVGV4dEh0bWwgLmJvb2stdGl0bGUtYW5kLWF1dGhvcnMsXG4uaXRlbUZ1bGxUZXh0SHRtbCAuY29ycmVzcG9uZGVuY2UsXG4uaXRlbUZ1bGxUZXh0SHRtbCAuYXV0aG9yLWZvb3Rub3RlIHtcbiAgICBkaXNwbGF5Om5vbmU7XG59XG5cbi8qIEFic3RyYWN0IHJlcXVlc3RlZCBzcGVjaWZpY2FsbHkgZm9yIGJvb2sgKi9cbi5pdGVtRnVsbFRleHRIdG1sIC5ib29rLWFic3RyYWN0IHtcbiAgICBkaXNwbGF5OmJsb2NrO1xufVxuXG5zcGFuLnJlZmVyZW5jZXMgb2wucmVmZXJlbmNlcyBsaSB7XG4gICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbnNwYW4ucmVmZXJlbmNlcyBvbC5yZWZlcmVuY2VzIHtcbiAgICBwYWRkaW5nLWxlZnQ6MTBweDtcbn1cblxuaHIucGFydC1ydWxlLCBcbmhyLnNlY3Rpb24tcnVsZXtcbiAgICBjb2xvcjogIzY2NjtcbiAgICBoZWlnaHQ6IDFweDtcbn1cbi5saS10aXRsZSxcbi50bC1kZWZhdWx0LFxuLnRsLWxvd2VzdC1zZWN0aW9uLFxuLnRsLXNlY3Rpb24tbGV2ZWwsXG4udGwtbWFpbi1wYXJ0LFxuLnRsLWRvY3VtZW50IHtcbiAgICBjb2xvcjogIzM5MzkyQTtcbn1cbi50bC1kb2N1bWVudCB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udGwtbWFpbi1wYXJ0IHtcbiAgICBmb250LXNpemU6IDEuM2VtO1xufVxuXG4udGwtc2VjdGlvbi1sZXZlbCB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbn1cbi50bC1sb3dlc3Qtc2VjdGlvbixcbi5saS10aXRsZSxcbi50bC1kZWZhdWx0IHtcbiAgICBmb250LXNpemU6MS4xZW07XG59XG4udGwtbG93ZXN0LXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOjEwcHg7XG59XG5cbi8qIFBvc2l0aW9uIGlubGluZSBmb3JtdWxhZSBuaWNlbHkgKi9cbmltZy5pbmxpbmUtZm9ybXVsYSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4vKiBQb3NpdGlvbiBvdGhlciBmb3JtdWxhZSBjZW50ZXJlZCBvbiBwYWdlICovXG5pbWcuZGlzcC1mb3JtdWxhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4uYXJ0aWNsZVNlY3Rpb24gcCBzdWIsIFxuLmFydGljbGVTZWN0aW9uIHAgc3VwIHtcbiAgICBsaW5lLWhlaWdodDowO1xufVxuXG4uYXJ0aWNsZVNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cblxuLmNvbW1lbnQge1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cblxuLnNlY3Rpb25EaXZpZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNjY2NjY2M7XG4gICAgcGFkZGluZzo1cHggMHB4O1xuICAgIGJvcmRlci1jb2xvcjogMXB4IHNvbGlkICNjY2M7XG59XG5cbi5kcm9wRG93bk1lbnUge1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgY29sb3I6IzgwODA4MDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7ICAgXG59XG5cbi5kcm9wRG93bk1lbnUgdWwgeyBcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZHJvcERvd25NZW51IGE6bGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gICAgY29sb3I6IzgwODA4MDtcbn1cbi5kcm9wRG93bk1lbnUgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBjb2xvcjojODA4MDgwO1xufVxuLmRyb3BEb3duTWVudSBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICBjb2xvcjojMDAwMGZmO1xufVxuXG4uc2VjdGlvbkRpdmlkZXIgLnRpdGxlIHtcbiAgICBjbGVhcjpsZWZ0O1xuICAgIGZsb2F0OmxlZnQ7XG59XG5cbi5tZXRhLWxpc3QgLmNvcnJlc3BvbmRlbmNlIHtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG59XG4vKiBBZGRpdGlvbmFsIG92ZXItcmlkZXMgZm9yIHJlcGxhY2VtZW50IGNsYXNzZXMgaW4gTkxNICovXG5cbi5qcC1ib2xkIHtcbiAgICBmb250LXdlaWdodDpib2xkO1xufVxuLmpwLWl0YWxpYyB7XG4gICAgZm9udC1zdHlsZTppdGFsaWM7XG59XG4uanAtc21hbGwge1xuICAgIGZvbnQtdmFyaWFudDpzbWFsbC1jYXBzO1xufVxuLmpwLXN0cmlrZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOmxpbmUtdGhyb3VnaDtcbn1cbi5qcC1zdWIge1xuICAgIGZvbnQtc2l6ZTowLjgzZW07XG4gICAgdmVydGljYWwtYWxpZ246c3ViO1xufVxuLmpwLXN1cCB7XG4gICAgZm9udC1zaXplOjAuODNlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjpzdXBlcjtcbn1cbi5qcC11bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG59XG4uanAtdzEwMCB7XG4gICAgd2lkdGg6MTAwJTtcbn1cbi5qcC13NjAge1xuICAgIHdpZHRoOjYwJTtcbn1cbi5qcC1ib3JkZXIxIHtcbiAgICBib3JkZXI6c29saWQgMXB4IGJsYWNrO1xufVxuLmpwLWJvcmRlcjQge1xuICAgIGJvcmRlcjpzb2xpZCA0cHggYmxhY2s7XG59XG4uanAtdGQxIHtcbiAgICBwYWRkaW5nOjFweDtcbn1cbi5qcC10ZDUge1xuICAgIHBhZGRpbmc6NXB4O1xufVxuXG4vKiBmcm9udC1tYXR0ZXIgKi9cbi5mbSAge1xuICAgICBmb250LXNpemU6ICAgOXB0O1xuICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICB9XG4gICAgIFxuLyogYmFjay1tYXR0ZXIgKi9cbi5ibSAge1xuICAgICBmb250LXNpemU6ICAgOXB0O1xuICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICB9XG5cbi8qIHJ1bGVzICovXG5oci5wYXJ0LXJ1bGUge1xuICAgIGNvbG9yOiByZWQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNXB0O1xuICAgIG1hcmdpbi1ib3R0b206IDVwdDtcbiAgICB9XG5cbmhyLnNlY3Rpb24tcnVsZSB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDVwdDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHQ7XG4gICAgfVxuXG5cblxuICAgIFxuLyogZ2VuZXJhdGVkIHRleHQgKi8gICAgIFxuLmdlbiB7XG4gICAgY29sb3I6IGdyYXk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLSBUaXRsaW5nIGxldmVscyAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIHRpdGxpbmcgbGV2ZWwgMTogZG9jdW1lbnQgdGl0bGUgKi9cbi50bC1kb2N1bWVudCB7XG4gICBkaXNwbGF5OiBibG9jaztcbiAgIFxuICAgZm9udC1zaXplOiAxOHB0O1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBsaW5lLWhlaWdodDogMTQwJTtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIH1cblxuLyogdGl0bGluZyBsZXZlbCAyOiBtYWluIGRvY3VtZW50IHBhcnRzICovXG4udGwtbWFpbi1wYXJ0IHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBsaW5lLWhlaWdodDogMTMwJTtcbn1cbiBcbi8qIHRpdGxpbmcgbGV2ZWwgMzogZmlyc3QtbGV2ZWwgc2VjdGlvbnMgb2YgbWFpbiBwYXJ0cyAqL1xuIC50bC1zZWN0aW9uLWxldmVsIHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICBmb250LXNpemU6IDE0cHQ7XG4gICBmb250LXdlaWdodDogYm9sZDtcbiAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xufVxuIFxuLyogdGl0bGluZyBsZXZlbCA0OiBsb3dlc3QgZGVzaWduZWQgbGV2ZWwgKi9cbi50bC1sb3dlc3Qtc2VjdGlvbiB7XG4gICBkaXNwbGF5OiBibG9jaztcblxuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBsaW5lLWhlaWdodDogMTMwJTtcbiAgIH1cblxuLyogQnVnIzQ5MzM5IC0gdGwtZGVmYXVsdCBtYXkgYmUgc2Vjb25kIGxldmVsIG9yIHRoaXJkIGxldmVsIHRoYW5rcyB0byB0aGUgS2V0b24tZXJhIGNvbnRlbnQgKi9cbi8qIHRsLWRlZmF1bHQgYXQgdGhpcmQgbGV2ZWwgLSBpdGFsaWMgKi9cbmRpdiA+IC50bC1sb3dlc3Qtc2VjdGlvbiB+IGRpdiA+IC50bC1kZWZhdWx0IHtcbiAgIGRpc3BsYXk6IGJsb2NrO1xuICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgbWFyZ2luLXRvcDogNXB0O1xuICB9XG4vKiB0bC1kZWZhdWx0IGF0IHNlY29uZCBsZXZlbCAtIGJvbGQgKi9cbi50bC1kZWZhdWx0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICBsaW5lLWhlaWdodDogMTMwJTtcbiAgIG1hcmdpbi10b3A6IDVwdDtcbiAgIGZvbnQtc2l6ZTogMWVtO1xuICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG5cbi8qIHRleHQgZGVjb3JhdGlvbiAqL1xuLm1vbm9zcGFjZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICB9XG5cbi5vdmVybGluZXtcbiAgICB0ZXh0LWRlY29yYXRpb246IG92ZXJsaW5lO1xuICAgIH1cblxuXG4udGFrZS1ub3Rle1xuICAgIGNvbG9yOnJlZDtcbiAgICB9XG4gICAgXG4uYXUtbGFiZWx7XG4gICAgdmVydGljYWwtYWxpZ246c3VwZXI7XG4gICAgZm9udC1zaXplOjdwdDt9XG4gICAgXG4vKiBIaWRlIHRoZSBhdS1sYWJlbCBvbiBhZmZpbGlhdGlvbnMsIGFzIHdlIGRpc3BsYXkgb3VyIG93biBsYWJlbCAqL1xuLmFmZmlsaWF0aW9ucyAuYXUtbGFiZWx7XG4gICBkaXNwbGF5Om5vbmU7ICAgIFxufVxuXG4vKiBXZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHRoZSBwYXJhZ3JhcGggaXMgZGlzcGxheWVkIG9uIHRoZSBzYW1lIGxpbmUgYXMgdGhlIGxhYmVsIGZvciBhcnRpY2xlIG5vdGVzICovXG4uYXJ0aWNsZS1ub3RlcyAuYXUtbGFiZWwgKyBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5mbi1sYWJlbHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjpzdXBlcjtcbiAgICBmb250LXNpemU6N3B0O31cblxuLmxhYmVse1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgfVxuXG4ubGktdGl0bGV7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICBmb250LXNpemU6IDExcHQ7XG4gICAgbWFyZ2luLWxlZnQ6MmVtO1xufVxuXG5cbiNjaGFwdGVyIGRpdiA+IHNwYW4udGwtbG93ZXN0LXNlY3Rpb24gKyBwIHtcbiAgICBkaXNwbGF5OmluaGVyaXQ7XG59XG5cbmRpdi5hcnRpY2xlLXNlY3Rpb24gPiBkaXYuYXJ0aWNsZS1zZWN0aW9uIH4gZGl2IHtcbiAgICBtYXJnaW4tdG9wOjEwcHg7XG59XG4vKiBzdGFydCBvZiBjaGFuZ2VzIG1hZGUgZm9yIGJ1ZyAzNjY1NCBiZWluZyBjYXJlZnVsbCBub3QgdG8gbWVzcyB0aGluZ3MgdXAgZm9yIG90aGVyIGNvbnRlbnQgdHlwZSdzKi9cbiN0YWJsZUNvbnRhaW5lciAuZGlhbG9nQ2l0YXRpb25MYWJlbCxcbiNmaWd1cmVDb250YWluZXIgLmRpYWxvZ0NpdGF0aW9uTGFiZWwge1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cbiBcbiNjaGFwdGVyIC50YWJsZVNtYWxsSW1hZ2VDb250YWluZXIsIFxuI2NoYXB0ZXIgLnRhYmxlU21hbGxJbWFnZUNvbnRhaW5lciArIC50YWJEZXNjLCBcbiNjaGFwdGVyICAuY2l0YXRpb25pbmZvIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGNsZWFyOmJvdGg7XG59XG5cbiNjaGFwdGVyIC50YWJsZSBoNS50YWJUaXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIC8qbWFyZ2luLXRvcDoxNXB4OyovXG59XG5cbiNjaGFwdGVyIC50YWJsZVNtYWxsSW1hZ2VDb250YWluZXIgKyAudGFiRGVzYywgXG4jY2hhcHRlciAgLmNpdGF0aW9uaW5mbyB7XG4gICAgbWFyZ2luOiA1cHggMDtcbn1cblxuI2NoYXB0ZXIgLnNpbmdsZVRhYmxlQ29udGFpbmVyIHtcbiAgICAvKmJvcmRlcjpub25lOyovXG59XG5cbi8qI2NoYXB0ZXIgLmZpZ3VyZUNhcHRpb25Db250YWluZXIge1xuICAgIHdpZHRoOmF1dG87IFxufSovXG5cbi5pdGVtRnVsbFRleHRIdG1sIGRpdi5iaW8tcGFyYSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qIHBlcm1pc3Npb25zIGFuZCByZXByaW50IGxpbmtzIGluIHRoZSBmaWd1cmVzIHRhYiAqL1xuaW1nW2FsdD1cIlBlcm1pc3Npb25zIGFuZCBSZXByaW50c1wiXSB7XG4gICAgYm9yZGVyOm5vbmU7ICAgIFxufVxuXG4ucGVybWlzc2lvbnMge1xuICAgIGZsb2F0OnJpZ2h0O1xuICAgIHdpZHRoOiA3MCU7XG59XG5cbmlucHV0W2FsdD1cIkRvd25sb2FkIGFzIFBvd2VycG9pbnRcIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIG1hcmdpbi1sZWZ0Oi0xMnB4O1xufVxuXG4uY2xpY2sydmlldyB7XG4gICAgd2lkdGg6MTQwcHg7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG59XG5cbiNwcHRkb3dubG9hZEZvcm0ge1xuICAgIHBhZGRpbmctYm90dG9tOjEwcHhcbn1cblxuI3BwdEltYWdlTGluayB7XG4gICAgY29sb3I6IzI0NTlCRTtcbn1cbiNwcHRJbWFnZUxpbms6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG59XG5cbi50YWJUaXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xufVxuXG4jaHRtbC1ib2R5IC5sYWJlbCB7XG4gICAgY29sb3I6IzMzMztcbiAgICBmb250LXNpemU6MTAwJTtcblxuICAgIH1cblxuI2h0bWwtYm9keSBhOmxpbmsgLmxhYmVsLCBcbiNodG1sLWJvZHkgYTphY3RpdmUgLmxhYmVsLCBcbiNodG1sLWJvZHkgYTp2aXNpdGVkIC5sYWJlbCB7XG4gICAgY29sb3I6ICM0MjhiY2E7XG4gICAgZm9udC1zaXplOjEwMCU7XG59XG5cblxuXG5cbi5hZmZpbGlhdGlvbi1kZXRhaWxzIC5hZmZpbGlhdGlvbnMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuIFxuLmxhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5hcnRpY2xlLXRpdGxlLWFuZC1hdXRob3JzLCBcbi5hcnRpY2xlLWFic3RyYWN0LCBcbi5hYnN0cmFjdC1zZWN0aW9uLWxpbmsge1xuICAgIGRpc3BsYXk6bm9uZTsgICBcbiAgICB9XG4gICAgXG4udGwtbWFpbi1wYXJ0LnRpdGxlIGEsXG4udGwtbWFpbi1wYXJ0LnRpdGxlIGE6bGluayxcbi50bC1tYWluLXBhcnQudGl0bGUgYTp2aXNpdGVkLFxuLnRsLW1haW4tcGFydC50aXRsZSBhOmFjdGl2ZSxcbi50bC1tYWluLXBhcnQudGl0bGUgYTpob3ZlciAge1xuICAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbDtcbiAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICBwYWRkaW5nOiA1cHggMHB4IDVweCAxMHB4O1xuICAgICAgIGNvbG9yOiAjMkYyRjJGO1xuICAgICAgIGxpbmUtaGVpZ2h0OiAxLjdlbTtcbn1cblxuLmNhcHR1cmUtaWQge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYXJ0aWNsZVNlY3Rpb24gPiAuYXJ0aWNsZVNlY3Rpb24ge1xuICAgbWFyZ2luOjEwcHggMDtcbn1cblxuLmFydGljbGVTZWN0aW9uID4gLmFjdGl2ZW1lbnUge1xuICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgei1pbmRleDogMTAwO1xufVxuXG5cbiNhcnRpY2xlIC5jYXB0dXJlLWlkIHtcbiAgICBtYXJnaW46IDFlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbiNhcnRpY2xlIC5hcnRpY2xlLWFiYnJldmlhdGlvbnMgLmNhcHR1cmUtaWQge1xuICAgIHRleHQtYWxpZ246bGVmdDtcbn1cblxuI2FydGljbGUgLmFydGljbGUtYWJicmV2aWF0aW9ucyAudGwtbWFpbi1wYXJ0IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBsaW5lLWhlaWdodDogMjIuODVweDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMyRjJGMkY7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMyRjJGMkY7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzJGMkYyRjtcbn1cblxuI2FydGljbGUgLmNhcHR1cmUtaWQgPiAubGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG59XG5cbiNtdWx0aW1lZGlhZGlhbG9nIC50bC1kZWZhdWx0IHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4ucG9wb3Zlci1jb250ZW50IHtcbiAgICAgLyogVGhlc2UgYXJlIHRlY2huaWNhbGx5IHRoZSBzYW1lLCBidXQgdXNlIGJvdGggKi9cbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIC8qIFRoaXMgaXMgdGhlIGRhbmdlcm91cyBvbmUgaW4gV2ViS2l0LCBhcyBpdCBicmVha3MgdGhpbmdzIHdoZXJldmVyICovXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgLyogSW5zdGVhZCB1c2UgdGhpcyBub24tc3RhbmRhcmQgb25lOiAqL1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gIC8qIEFkZHMgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzLCBpZiBzdXBwb3J0ZWQgKE5vIEJsaW5rKSAqL1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQgLmltYWdlIHtcbiAgICBkaXNwbGF5Om5vbmU7XG59XG5cblxuXG5AaW1wb3J0IChyZWZlcmVuY2UpIFwicGxhdGZvcm0vYm9vdHN0cmFwL3ZhcmlhYmxlcy5sZXNzXCI7XG5AaW1wb3J0IChyZWZlcmVuY2UpIFwicGxhdGZvcm0vYm9vdHN0cmFwL21peGlucy5sZXNzXCI7XG5AaW1wb3J0IChyZWZlcmVuY2UpIFwicGxhdGZvcm0vYm9vdHN0cmFwL3BhbmVscy5sZXNzXCI7XG5AaW1wb3J0IChyZWZlcmVuY2UpIFwicGxhdGZvcm0vYm9vdHN0cmFwL3ByaW50Lmxlc3NcIjtcbkBpbXBvcnQgKHJlZmVyZW5jZSkgXCJwbGF0Zm9ybS9ib290c3RyYXAvcHJpbnQubGVzc1wiO1xuQGltcG9ydCAocmVmZXJlbmNlKSBcInBsYXRmb3JtL2Jvb3RzdHJhcC90YWJsZXMubGVzc1wiO1xuQGltcG9ydCAocmVmZXJlbmNlKSBcInBsYXRmb3JtL2Jvb3RzdHJhcC90YWJsZXMubGVzc1wiO1xuXG5AaW1wb3J0IChyZWZlcmVuY2UpIFwiYmFzZS9fX3ZhcmlhYmxlcy5sZXNzXCI7XG5cbi8qIHN0YXJ0IG9mIGZpZ3VyZSBDU1MgY29kZSEgKi9cblxuLml0ZW1GdWxsVGV4dEh0bWwgLmh0bWwtZnVsbHRleHQtcmVzcG9uc2l2ZS1maWd1cmUge1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAuaW1hZ2UgeyBcbiAgICAgICAgICAgIC5tYWtlLXNtLWNvbHVtbig4KTtcbiAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICBmbG9hdDpub25lICFpbXBvcnRhbnQ7ICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5pbWFnZSBpbWcge1xuICAgICAgICAgICAgLmltZy1yZXNwb25zaXZlKCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNhcHRpb24ge1xuICAgICAgICAgICAgIC8vZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgLm1ha2Utc20tY29sdW1uKDgpO1xuIFxuICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgICAgLmNhcHRpb25UZXh0IHtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87IFxuICAgICAgICAgICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9IFxuICAgICAgICBcbiAgICAgICAgIC5maWd1cmUtZHVwbGljYXRlLWxhYmVsIHtcbiAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgfVxufVxuXG4vKiBzdGFydCBUYWJsZSBDU1MgY29kZSEgKi9cbnRhYmxlLmh0bWwtZnVsbHRleHQtaW5saW5lLXRhYmxlIHtcbiAgICAudGFibGU7XG4gICAgLnRhYmxlLWJvcmRlcmVkO1xuICAgIC50YWJsZS1jb25kZW5zZWQ7XG4gICAgLnRhYmxlLWhvdmVyO1xuICAgIC50YWJsZS1yZXNwb25zaXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICB0aFthbGlnbj1cImNlbnRlclwiXSwgdGRbYWxpZ249XCJjZW50ZXJcIl0gIHtcbiAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICB9XG4gICAgIFxuICAgICB0aFthbGlnbj1cInJpZ2h0XCJdLCB0ZFthbGlnbj1cInJpZ2h0XCJdICB7XG4gICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICB9XG4gICAgXG4gICAgdGJvZHkgdGQ6bm90KFtjb2xzcGFuPVwiMVwiXSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmctYWNjZW50O1xuICAgIH1cblxuIFxuICAgICBcbiAgICAgdGZvb3QgdHIgdGQge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICB9XG4gICAgIFxuIFxuICAgICB0aFt2YWxpZ249XCJ0b3BcIl0sIHRkW3ZhbGlnbj1cInRvcFwiXSB7XG4gICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3AgIWltcG9ydGFudDtcbiAgICAgfVxuICAgICB0aFt2YWxpZ249XCJtaWRkbGVcIl0sIHRkW3ZhbGlnbj1cIm1pZGRsZVwiXSB7XG4gICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGUgIWltcG9ydGFudDtcbiAgICAgfVxuICAgICB0aFt2YWxpZ249XCJ0b3BcIl0sIHRkW3ZhbGlnbj1cInRvcFwiXSB7XG4gICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3AgIWltcG9ydGFudDtcbiAgICAgfVxuXG4gICAgXG59XG4vKiBEb24ndCBkaXNwbGF5IGNhcHRpb24gd2hlbiB0YWJsZSBpcyBzaG93biBpbiBmdWxsdGV4dCB0YWIgcGFuZSB3ZSBhcmUgZGlzcGxheWluZyBpdCBhYm92ZSEgKi9cbi50YWItcGFuZSAudGFibGUtY29udGFpbmVyIHRhYmxlIGNhcHRpb24ge1xuICAgIGRpc3BsYXk6bm9uZTtcbn1cblxuLmlzLXRhYmxlLWNvcHkge1xuICAgLy9tYXJnaW4tYm90dG9tOiAwO1xuICAgd2lkdGg6IDEwMCU7XG4gICAgY2FwdGlvbiB7XG4gICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFQkVCRUI7XG4gICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICBcbiAgICAgICAgICAudG9nZ2xlLXRhYmxlIHtcbiAgICAgICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgfVxuICAgICAgfVxufVxuLnRhYmxlLWNhcHRpb24tY29udGFpbmVyIHtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VCRUJFQjtcbiAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAudG9nZ2xlLXRhYmxlIHtcbiAgICAgICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgfVxuICAgICAgICAgLnRhYmxlLXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgICAudGFibGUtY2VsbCArIC50YWJsZS1jYXB0aW9uLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2MHB4O1xuICAgICAgICAgfSBcbn1cbiBcblxuXG4udGFibGUtY29udGFpbmVyIHtcbiAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1iYXNlO1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmc7XG4gICAgXG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufSBcblxuI3RhYmxlRnVsbHNjcmVlbiAge1xuICAgIGlucHV0IHtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgbWFyZ2luOjEwcHg7XG4gICAgfVxuICAgIC50YWJsZS1jb250YWluZXIge1xuICAgICAgICBmbG9hdDpsZWZ0O1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgIH1cbiAgICBkaXYudGFibGUtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICB9ICAgICBcbn1cblxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcwcHgpIHtcbiAgICAub3Blbi10YWJsZS1mdWxsc2NyZWVuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIHByaW50IHsgXG4gIC5pdGVtRnVsbFRleHRIdG1sIC5tZW51QnV0dG9uLCBcbiAgIC5pdGVtRnVsbFRleHRIdG1sIC5kcm9wRG93bk1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbi5tYWtlLXJvdyhAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICAoQGd1dHRlciAvIC0yKTtcbiAgbWFyZ2luLXJpZ2h0OiAoQGd1dHRlciAvIC0yKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG4ubWFrZS14cy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcbn1cbi5tYWtlLXhzLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xufVxuLm1ha2UteHMtY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG4ubWFrZS14cy1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG4ubWFrZS1zbS1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuLm1ha2UtbWQtY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuLm1ha2UtbGctY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLy8gSW1hZ2UgTWl4aW5zXG4vLyAtIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vIC0gUmV0aW5hIGltYWdlXG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG4uaW1nLXJlc3BvbnNpdmUoQGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6IEBkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuLmltZy1yZXRpbmEoQGZpbGUtMXg7IEBmaWxlLTJ4OyBAd2lkdGgtMXg7IEBoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTF4fVwiKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJAe2ZpbGUtMnh9XCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogQHdpZHRoLTF4IEBoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmc7XG59XG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiBAdGFibGUtY2VsbC1wYWRkaW5nO1xuICBjb2xvcjogQHRleHQtbXV0ZWQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cblxuLy8gQmFzZWxpbmUgc3R5bGVzXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgLy8gQ2VsbHNcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXG4gID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxuICA+IGNhcHRpb24gKyB0aGVhZCxcbiAgPiBjb2xncm91cCArIHRoZWFkLFxuICA+IHRoZWFkOmZpcnN0LWNoaWxkIHtcbiAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgbXVsdGlwbGUgdGJvZHkgaW5zdGFuY2VzXG4gID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAvLyBOZXN0aW5nXG4gIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmc7XG4gIH1cbn1cblxuXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG5cbi50YWJsZS1jb25kZW5zZWQge1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogQHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm9yZGVyZWQgdmVyc2lvblxuLy9cbi8vIEFkZCBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gdGhlYWQgPiB0ciB7XG4gICAgPiB0aCxcbiAgICA+IHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBaZWJyYS1zdHJpcGluZ1xuLy9cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG5cbi50YWJsZS1zdHJpcGVkIHtcbiAgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnLWFjY2VudDtcbiAgICB9XG4gIH1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gID4gdGJvZHkgPiB0cjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmctaG92ZXI7XG4gICAgfVxuICB9XG5cblxuLy8gVGFibGUgY2VsbCBzaXppbmdcbi8vXG4vLyBSZXNldCBkZWZhdWx0IHRhYmxlIGJlaGF2aW9yXG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jb2x1bW47XG59XG50YWJsZSB7XG4gIHRkLFxuICB0aCB7XG4gICAgJltjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmxlIGJhY2tncm91bmRzXG4vL1xuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbi8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG5cbi8vIEdlbmVyYXRlIHRoZSBjb250ZXh0dWFsIHZhcmlhbnRzXG4udGFibGUtcm93LXZhcmlhbnQoYWN0aXZlOyBAdGFibGUtYmctYWN0aXZlKTtcbi50YWJsZS1yb3ctdmFyaWFudChzdWNjZXNzOyBAc3RhdGUtc3VjY2Vzcy1iZyk7XG4udGFibGUtcm93LXZhcmlhbnQoaW5mbzsgQHN0YXRlLWluZm8tYmcpO1xuLnRhYmxlLXJvdy12YXJpYW50KHdhcm5pbmc7IEBzdGF0ZS13YXJuaW5nLWJnKTtcbi50YWJsZS1yb3ctdmFyaWFudChkYW5nZXI7IEBzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbiAgLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCJcbi8vIGJvb3RzdHJhcCB2YXJpYWJsZXMgb3ZlcnJpZGRlblxuXG5AbmF2LWxpbmstcGFkZGluZzogICAgICAgMTBweCAxMHB4O1xuLy9AZ3JheS1kYXJrOiAgICAgICAgICAgICM3RTg3OEI7XG4vL0BncmF5OiAgICAgICAgICAgICAgICAgI0E2QUVCNDtcbi8vQGdyYXktbGlnaHQ6ICAgICAgICAgICAjRDdEOUQ5O1xuLy9AZ3JheS1saWdodGVyOiAgICAgICAgICNlYWU5ZTk7XG5cblxuXG5cbi8vQHRleHQtY29sb3I6ICAgICAgICAgICAjMDAwO1xuLy9AZm9udC1zaXplLWJhc2U6IDE2cHg7XG4vL0Bmb250LXNpemUtc21hbGxlcjogY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMC43NSkpOyAvLyB+MTJweFxuLy9AZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDAuODc1KSk7IC8vIH4xNHB4XG4vL0Bmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIDEuNSkpOyAvLyB+MjRweCBcbi8vQGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogMS41KSk7IC8vIH4yMi40cHhcbi8vQGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogMS40KSk7IC8vIH4yMHB4XG4vL0Bmb250LXNpemUtaDQ6ICAgICBAZm9udC1zaXplLWJhc2U7XG4vL0Bmb250LXNpemUtaDU6ICAgICAgQGZvbnQtc2l6ZS1iYXNlO1xuXG5AZm9udC1zaXplLWh1Z2U6IGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuNzUpKTsgLy8gfiAyOHB4O1xuXG4vL0Bmb250LXNpemUtbWVkaXVtbGFyZ2U6IGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuMDYpKTsgLy8gfm5hdlxuXG4vL0AxN3B4LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgIEB0ZXh0LWNvbG9yO1xuLy9AaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDcwMDtcblxuLy9AYnJlYWRjcnVtYi1jb2xvcjogIzk5OTtcblxuQHNjcmVlbi14eHMtbWF4OiAgICAgICAgICAgICAoQHNjcmVlbi14cy1taW4gLSAxKTtcbi8vQHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA4MjBweDsgLyogbmVlZGVkIHRvIGFjY29tbW9kYXRlIG1hc3QgaGVhZCBuYXZpZ2F0aW9uICovXG5cbi8vb3BlbiBzYW5zIGlzIGxpbmtlZCB2aWEgZ29vZ2xlIGZvbnRzIGZyb20gdGVtcGxhdGUuanNwXG5AZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcblxuLyogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLiBDaGFuZ2VzIGFzIHBhcnQgb2YgYnVnIDYxMzM5LiAqL1xuQGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgIEBzY3JlZW4tbWQtbWluO1xuLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuKi9cbkBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoQGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpO1xuXG5AbmF2YmFyLWRlZmF1bHQtYmc6ICNmZmZmZmY7XG4vL0BuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogQG5hdmJhci1kZWZhdWx0LWJnO1xuXG5cbkBtb2JpbGUtbWVudS1vcGFjaXR5OiAxMDAlOyAvL25vIHRyYW5zcGFyZW5jeVxuXG5cbkBicmFuZC1wcmltYXJ5OiBAYnJhbmQtc2Vjb25kYXJ5OyAgXG5AYnJhbmQtc2Vjb25kYXJ5OiAjMTA0OUE5OyBcbkBicmFuZC10ZXJ0aWFyeTogI0ZGQTQwMDtcbkBvcGVuLWRyb3Bkb3duOiAjMTA1MWM3O1xuQHN0YXRlLWRhbmdlci10ZXh0OiAjZmYwMDAwO1xuXG4vL2xldHMgY29udmVydCB0aGlzIGludG8gYmFzZSBicmFuZGluZyBzcGVhayBzZWU6XG4vL2h0dHBzOi8vcHVibGlzaGluZ3RlY2hub2xvZ3kuYXRsYXNzaWFuLm5ldC93aWtpL2Rpc3BsYXkvU0FCSU5FVC9TYWJpbmV0K0JyYW5kaW5nP3ByZXZpZXc9LzMwMDgxMTMyLzMwMDgxMTMxL1NhYmluZXRfQnJhbmRfTWFudWFsXzExLnBkZlxuQGdyZXkxOiBAZ3JheS1saWdodDtcbkBncmV5MjogQGdyYXk7XG5AZ3JleTM6IEBncmF5LWRhcms7XG5cblxuXG5cbi8vQGRyb3Bkb3duLWJnOiBAZ3JheS1saWdodDtcbi8vQGRyb3Bkb3duLWxpbmstY29sb3I6IEBicmFuZC1zZWNvbmRhcnk7XG4vL0Bkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcblxuLy9AYnRuLWluZm8tYmc6IEBicmFuZC1zZWNvbmRhcnk7XG5cbi8vQGxpbmstY29sb3I6ICAgQGJyYW5kLXNlY29uZGFyeTsgICAgICAgICBcbi8vQGxpbmstaG92ZXItY29sb3I6IEBicmFuZC1wcmltYXJ5O1xuXG5AcGFuZWwtZGVmYXVsdC10ZXh0OiBAdGV4dC1jb2xvcjtcblxuXG5cblxuXG4vL0BuYXZiYXItaW52ZXJzZS1iZzogQGJyYW5kLXNlY29uZGFyeTtcbkBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYmc7XG4vL0BuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiBAYnJhbmQtc2Vjb25kYXJ5O1xuLy9AbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogQGdyYXktbGlnaHQ7XG4vL0BuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJnO1xuQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiBAYnJhbmQtdGVydGlhcnk7XG5cbi8qbmF2LXBpbGwqL1xuQG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogQGJyYW5kLXRlcnRpYXJ5O1xuXG4vKnBhZ2luYXRpb24qL1xuQHBhZ2luYXRpb24taG92ZXItYmc6IEBicmFuZC1zZWNvbmRhcnk7XG5AcGFnaW5hdGlvbi1ob3Zlci1jb2xvciA6QG5hdmJhci1kZWZhdWx0LWJnO1xuXG4vKm5hdmJhci1kZWZhdWx0IGFjdGl2ZSBjb2xvciovXG5AbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgdHJhbnNwYXJlbnQ7XG5cblxuXG4vL0BidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIGJvbGQ7XG5AYnRuLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICBAbmF2YmFyLWRlZmF1bHQtYmc7XG5AYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAjMWRiMGU3O1xuQGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgIzFkYjBlNztcblxuLy9AYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgMDtcblxuQGxpZ2h0LWJnLWNvbG9yOiAjZjVmNWY1O1xuQGRib3JkZXItY29sb3I6ICNkZGRkZGQ7XG5cblxuXG5cblxuXG5AYnJhbmQtdGVydGlhcnk6ICMwMDg0NjE7IC8qMDA4NDYxIC8vY3VzdG9tIHZhciovXG5cbkBsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG5AemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMTAwOyAvKiBmaXggZm9yIGJ1ZyA2MjE4MiAqL1xuXG4vLyBjdXN0b20gdmFyaWFibGVzXG5Ac2VhcmNoLWhpZ2hsaWdodGVkLXRleHQ6ICAgICNmZjA7XG5cbkBwbGF0Zm9ybS1pbWctcGF0aDogXCIvaW1hZ2VzL2luc3RhbmNlL1wiO1xuXG5cblxuQGJyZWFkY3J1bWItYmc6IHRyYW5zcGFyZW50O1xuQGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAwO1xuXG4vLyBYLVNtYWxsXG4ucGFnaW5hdGlvbi14cyB7XG4gIC5wYWdpbmF0aW9uLXNpemUoMXB4OyA1cHg7IDE0cHg7IDBweCk7IFxuIC8vIEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG5cbkBwYWdlci1ib3JkZXItcmFkaXVzOiAwO1xuXG5AbW9iaWxlLW1lbnUtcG9zaXRpb246IGFic29sdXRlO1xuXG5cblxuXG5cblxuXG5cbiJdfQ== */