/**
 * Brand Color
 *
 */
/**
 * Button Reset
 *
 */
/**
 * Grid, Center Last
 *
 */
/**
 * Margin, No Edge
 * Removes left margin from first item, right margin from last item
 */
/**
 * Icon Position
 *
 */
/**
 * Block Cover
 * Creates a block that covers the full width/height of parent div. Typically used on a :before pseudo element
 */
/**
 * Placeholder Color
 *
 */
/**
 * Clearfix
 *
 */
/**
 * Font Sizes
 *
**/
/**
 * Columns
 *
 */
/**
 * Columns, Mobile
 *
 */
/**
 * Columns, Tablet
 *
 */
/**
 * Columns, Tablet Up
 *
 */
/**
 * Columns, Desktop
 *
 */
a, a svg {
  transition: all 0.1s ease-in-out; }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  overflow-x: hidden; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/* Box Sizing
--------------------------------------------- */
html,
input[type="search"] {
  box-sizing: border-box; }

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

body {
  direction: ltr; }

body.rtl {
  direction: rtl; }

/* Wrap
--------------------------------------------- */
.wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px; }
  .wrap:after {
    content: "";
    display: table;
    clear: both; }

.site-inner {
  padding: 36px 0; }
  @media (min-width: 768px) {
    .site-inner {
      padding: 48px 0; } }
  .singular.content .site-inner > .wrap {
    max-width: 800px; }

/* Screen Reader Text
--------------------------------------------- */
.genesis-skip-link {
  display: none; }

.screen-reader-text,
.screen-reader-text span,
.screen-reader-shortcut {
  position: absolute !important;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  width: 1px;
  border: 0;
  overflow: hidden; }

.screen-reader-text:focus,
.screen-reader-shortcut:focus {
  clip: auto !important;
  height: auto;
  width: auto;
  display: block;
  font-size: 1em;
  font-weight: bold;
  padding: 15px 23px 14px;
  color: #333;
  background: #fff;
  z-index: 100000;
  /* Above WP toolbar. */
  text-decoration: none;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); }

/* Sidebar Layouts
--------------------------------------------- */
@media (max-width: 991px) {
  .sidebar-primary {
    display: none; } }

@media (min-width: 992px) {
  .content-sidebar .site-main {
    float: left;
    width: 65.75342%; }
  .content-sidebar .sidebar-primary {
    float: right;
    width: 28.68151%; }
  @supports (display: grid) {
    .content-sidebar .content-area {
      display: grid;
      grid-template-columns: 1fr 300px;
      grid-column-gap: 32px; }
    .content-sidebar .site-main {
      float: none;
      width: 100%;
      max-width: 768px; }
    .content-sidebar .sidebar-primary {
      float: none;
      width: 100%; } } }

/* Forms
--------------------------------------------- */
input, select, textarea {
  background: #fff;
  border: 1px solid #E0E0E0;
  border-radius: 4px;
  color: #424242;
  font-size: 18px;
  line-height: 24px;
  padding: 14px 16px;
  width: 100%; }

select {
  line-height: 54px;
  height: 54px; }

textarea {
  width: 100%; }

::-moz-placeholder {
  color: #BDBDBD;
  opacity: 1; }

::-ms-input-placeholder {
  color: #BDBDBD; }

::-webkit-input-placeholder {
  color: #BDBDBD; }

input:focus::-webkit-input-placeholder,
input:focus::-moz-placeholder,
input:focus:-ms-input-placeholder,
textarea:focus::-webkit-input-placeholder,
textarea:focus::-moz-placeholder,
textarea:focus:-ms-input-placeholder {
  color: transparent; }

/* Search Form
--------------------------------------------- */
.search-form {
  border: 1px solid #E0E0E0;
  max-width: 400px;
  position: relative;
  overflow: hidden; }
  .search-form .search-field {
    border: none;
    padding-right: 44px;
    width: 100%; }
  .search-form .search-submit {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
    min-width: 0;
    width: 44px;
    height: 44px;
    line-height: 0;
    text-align: center;
    position: absolute;
    top: 50%;
    margin-top: -22px;
    right: 0; }
    .search-form .search-submit svg {
      fill: #757575;
      width: 20px;
      height: 20px; }
      .search-form .search-submit svg:hover {
        fill: #9f392f; }

/* Typographical Elements
--------------------------------------------- */
body {
  color: #424242;
  font-family: "arial", "arial", sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.55; }
  @media (min-width: 768px) {
    body {
      font-size: 22px; } }
  @media print {
    body {
      font-family: sans-serif; } }

a {
  color: #9f392f;
  text-decoration: underline; }
  a:hover {
    text-decoration: none; }

strong {
  font-weight: 700; }

ol,
ul {
  margin: 0;
  padding: 0; }

code,
pre {
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
  font-size: 12px; }

code {
  padding: 2px 4px;
  white-space: nowrap; }

pre {
  display: block;
  padding: 9.5px;
  margin: 0 0 10px;
  line-height: 18px;
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre;
  white-space: pre-wrap; }

pre code {
  padding: 0;
  color: inherit;
  white-space: pre;
  white-space: pre-wrap;
  background-color: transparent;
  border: 0; }

cite {
  font-style: normal; }

.clearfix:after {
  content: "";
  display: table;
  clear: both; }

/* Paragraph
--------------------------------------------- */
p {
  margin: 0 0 16px;
  padding: 0; }
  p.large, p.has-large-font-size {
    font-size: 21px; }
    @media (min-width: 768px) {
      p.large, p.has-large-font-size {
        font-size: 24px; } }
  p.has-normal-font-size {
    font-size: 18px; }
    @media (min-width: 768px) {
      p.has-normal-font-size {
        font-size: 20px; } }
  p.small, p.has-small-font-size {
    font-size: 14px; }

/* Headings
--------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #212121;
  font-family: "Suez One", serif;
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 16px; }
  h1 a,
  h2 a,
  h3 a,
  h4 a,
  h5 a,
  h6 a {
    color: #212121; }
    h1 a:hover,
    h2 a:hover,
    h3 a:hover,
    h4 a:hover,
    h5 a:hover,
    h6 a:hover {
      color: #9f392f;
      text-decoration: none; }
  h1:focus,
  h2:focus,
  h3:focus,
  h4:focus,
  h5:focus,
  h6:focus {
    outline: none; }

h1 {
  font-size: 34px; }
  @media (min-width: 768px) {
    h1 {
      font-size: 42px; } }
  @media (min-width: 992px) {
    h1 {
      font-size: 46px; } }

h2 {
  font-size: 26px; }
  @media (min-width: 768px) {
    h2 {
      font-size: 32px; } }
  @media (min-width: 992px) {
    h2 {
      font-size: 36px; } }

h3 {
  font-size: 22px; }
  @media (min-width: 768px) {
    h3 {
      font-size: 26px; } }
  @media (min-width: 992px) {
    h3 {
      font-size: 28px; } }

h4, h5, h6 {
  font-size: 18px; }
  @media (min-width: 768px) {
    h4, h5, h6 {
      font-size: 22px; } }

/* Button
--------------------------------------------- */
.wp-block-button__link {
  border: 2px solid #782b23;
  border-radius: 3px;
  font-size: 20px;
  font-weight: 700;
  line-height: 32px;
  padding: 16px 32px;
  text-decoration: none; }
  .is-style-full .wp-block-button__link, .wp-block-button__link.full {
    display: block;
    width: 100%; }
  .wp-block-button__link:not(.has-text-color) {
    color: white; }
    .wp-block-button__link:not(.has-text-color):hover {
      color: white; }
  .wp-block-button__link:not(.has-background) {
    background-color: #9f392f; }
    .wp-block-button__link:not(.has-background):hover, .wp-block-button__link:not(.has-background):focus {
      background-color: #782b23; }
  .wp-block-button__link.has-main-color:hover, .wp-block-button__link.has-main-color:focus {
    color: #9f392f; }
  .wp-block-button__link.has-main-background-color:hover, .wp-block-button__link.has-main-background-color:focus {
    background-color: #782b23; }
  .wp-block-button__link.has-secondary-color:hover, .wp-block-button__link.has-secondary-color:focus {
    color: #f17a22; }
  .wp-block-button__link.has-secondary-background-color:hover, .wp-block-button__link.has-secondary-background-color:focus {
    background-color: #d3610d; }
  .wp-block-button__link.has-third-color:hover, .wp-block-button__link.has-third-color:focus {
    color: #9f392f; }
  .wp-block-button__link.has-third-background-color:hover, .wp-block-button__link.has-third-background-color:focus {
    background-color: #782b23; }
  .wp-block-button__link.has-grey-color:hover, .wp-block-button__link.has-grey-color:focus {
    color: #FAFAFA; }
  .wp-block-button__link.has-grey-background-color:hover, .wp-block-button__link.has-grey-background-color:focus {
    background-color: #e1e1e1; }

/* Blockquote
--------------------------------------------- */
blockquote,
blockquote.wp-block-quote {
  background: transparent url(../icons/utility/quote.svg) no-repeat top left;
  background-size: 36px auto;
  padding-top: 47px;
  text-align: left; }
  .rtl blockquote, .rtl
  blockquote.wp-block-quote {
    text-align: right; }
  blockquote p,
  blockquote.wp-block-quote p {
    color: #424242;
    font-size: 24px;
    font-style: normal;
    font-weight: 400; }
  blockquote cite,
  blockquote .wp-block-quote__citation,
  blockquote.wp-block-quote cite,
  blockquote.wp-block-quote .wp-block-quote__citation {
    color: #424242;
    display: block;
    font-size: 16px;
    font-weight: 700;
    margin-top: 12px;
    opacity: .5;
    text-transform: uppercase; }
  blockquote p:last-of-type,
  blockquote.wp-block-quote p:last-of-type {
    margin-bottom: 0; }

/* Separator
--------------------------------------------- */
.wp-block-separator,
hr {
  background: transparent;
  border: none;
  width: 100%;
  height: 32px;
  position: relative; }
  .wp-block-separator::before,
  hr::before {
    background: #E0E0E0;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    margin-top: -.5px; }

/* Image
--------------------------------------------- */
img {
  display: block;
  max-width: 100%;
  height: auto; }
  img.alignleft {
    float: left;
    margin: 0 20px 20px 0; }
  img.alignright {
    float: right;
    margin: 0 0 20px 20px; }
  img.aligncenter {
    margin-left: auto;
    margin-right: auto; }

.wp-block-image figcaption {
  color: #757575;
  text-align: left;
  font-size: 14px;
  font-style: normal; }

/* Tables
--------------------------------------------- */
.wp-block-table {
  border-collapse: collapse;
  width: 100%; }
  .wp-block-table td, .wp-block-table th {
    padding: .5em;
    border: 1px solid; }

/* Color Options
--------------------------------------------- */
.has-main-color {
  color: #9f392f; }

.has-main-background-color {
  background-color: #9f392f; }

.has-secondary-color {
  color: #f17a22; }

.has-secondary-background-color {
  background-color: #f17a22; }

.has-third-color {
  color: #9f392f; }

.has-third-background-color {
  background-color: #9f392f; }

.has-grey-color {
  color: #FAFAFA; }

.has-grey-background-color {
  background-color: #FAFAFA; }

/* Group
--------------------------------------------- */
.wp-block-group {
  padding: 40px 16px; }
  @media (min-width: 768px) {
    .wp-block-group {
      padding: 60px 16px; } }
  @media (min-width: 992px) {
    .wp-block-group {
      padding: 70px 16px; } }
  .wp-block-group .wp-block-group__inner-container {
    max-width: 768px;
    margin: 0 auto; }
    .wp-block-group .wp-block-group__inner-container:after {
      content: "";
      display: table;
      clear: both; }
    .wp-block-group .wp-block-group__inner-container > *:last-child {
      margin-bottom: 0; }
  .wp-block-group.has-background:not(.has-grey-background-color) {
    color: #fff; }
    .wp-block-group.has-background:not(.has-grey-background-color) h1, .wp-block-group.has-background:not(.has-grey-background-color) h2, .wp-block-group.has-background:not(.has-grey-background-color) h3, .wp-block-group.has-background:not(.has-grey-background-color) h4, .wp-block-group.has-background:not(.has-grey-background-color) h5, .wp-block-group.has-background:not(.has-grey-background-color) h6, .wp-block-group.has-background:not(.has-grey-background-color) p {
      color: #fff; }

/* WPForms
--------------------------------------------- */
div.wpforms-container .wpforms-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 16px;
  padding: 0; }
  @media (min-width: 768px) {
    div.wpforms-container .wpforms-title {
      font-size: 32px; } }

div.wpforms-container .wpforms-description {
  margin: 0 0 16px;
  padding: 0; }

div.wpforms-container .wpforms-field {
  padding: 0;
  margin-bottom: 32px; }

div.wpforms-container .wpforms-field-label {
  font-size: 16px; }

div.wpforms-container .wpforms-recaptcha-container {
  padding: 0; }
  @media (min-width: 768px) {
    div.wpforms-container .wpforms-recaptcha-container {
      margin-bottom: -78px; } }

div.wpforms-container .wpforms-submit-container {
  padding: 0;
  margin-top: 32px;
  text-align: right; }

div.wpforms-container.one-line:after {
  content: "";
  display: table;
  clear: both; }

@media (min-width: 768px) {
  div.wpforms-container.one-line .wpforms-field-container {
    display: table;
    width: calc(100% - 110px);
    float: left; }
    div.wpforms-container.one-line .wpforms-field-container .wpforms-field {
      display: table-cell;
      padding-right: 16px;
      margin: 0; }
  div.wpforms-container.one-line .wpforms-submit-container {
    float: right;
    width: 110px;
    clear: none;
    margin: 0; } }

/* Shared Counts
--------------------------------------------- */
.shared-counts-wrap.style-icon svg {
  fill: #BDBDBD;
  width: 24px;
  height: 24px; }

.shared-counts-wrap.style-icon .shared-counts-button {
  line-height: 0;
  padding: 10px; }
  .shared-counts-wrap.style-icon .shared-counts-button:hover svg {
    fill: #9f392f; }
  .shared-counts-wrap.style-icon .shared-counts-button:not(.included_total) .shared-counts-label,
  .shared-counts-wrap.style-icon .shared-counts-button:not(.included_total) .shared-counts-count {
    display: none; }

@supports (display: grid) {
  .shared-counts-wrap.style-button {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 16px; }
    @media (min-width: 768px) {
      .shared-counts-wrap.style-button {
        grid-template-columns: repeat(4, 1fr); } } }

.shared-counts-wrap.style-button h3 {
  color: #616161;
  text-transform: uppercase;
  font-weight: 600;
  text-align: center;
  grid-column: 1 / -1; }

.shared-counts-wrap.style-button .shared-counts-button {
  background: #9E9E9E;
  border-radius: 3px;
  color: #fff;
  display: block;
  font-size: 16px;
  font-weight: 600;
  padding: 18px;
  text-align: center;
  text-decoration: none;
  margin-bottom: 15px; }
  .shared-counts-wrap.style-button .shared-counts-button:hover {
    background: #616161; }
  .shared-counts-wrap.style-button .shared-counts-button svg {
    fill: #fff;
    width: 24px;
    height: 24px;
    vertical-align: middle;
    margin-right: 10px; }
  .shared-counts-wrap.style-button .shared-counts-button.facebook {
    background: #3B5998; }
    .shared-counts-wrap.style-button .shared-counts-button.facebook:hover {
      background: #2d4373; }
  .shared-counts-wrap.style-button .shared-counts-button.pinterest {
    background: #CB2027; }
    .shared-counts-wrap.style-button .shared-counts-button.pinterest:hover {
      background: #9f191f; }
  .shared-counts-wrap.style-button .shared-counts-button.twitter {
    background: #00B6F1; }
    .shared-counts-wrap.style-button .shared-counts-button.twitter:hover {
      background: #008fbe; }

.shared-counts-wrap.style-button .shared-counts-count {
  display: none; }

/* Site Header
---------------------------------------------------------------------------------------------------- */
.site-header {
  background: #9f392f;
  border-bottom: 1px solid #E0E0E0;
  position: relative;
  min-height: 49px; }
  .site-header .wrap {
    max-width: 100%; }

.title-area {
  float: left;
  width: 100%;
  max-width: 300px;
  text-align: left;
  margin: 0 auto; }
  .rtl .title-area {
    float: right;
    text-align: right; }
  .title-area h1.site-title,
  .title-area p.site-title {
    margin: 0;
    font-size: 24px;
    line-height: 30px;
    font-family: "Suez One", serif;
    padding: 8px; }
    .title-area h1.site-title a,
    .title-area p.site-title a {
      color: #F5F5F5;
      text-decoration: none;
      font-weight: 400; }
  @media (max-width: 768px) {
    .title-area .site-title a {
      padding-bottom: 0;
      height: 48px;
      background-size: auto 42px; } }

/* Admin Bar
--------------------------------------------- */
@media (min-width: 783px) {
  .admin-bar .site-container {
    padding-top: 32px; } }

@media (max-width: 782px) {
  #wpadminbar {
    display: none !important; } }

/* Persistent Header
--------------------------------------------- */
/* Navigation
---------------------------------------------------------------------------------------------------- */
.nav-menu > * {
  line-height: 0; }

.nav-menu ul {
  clear: both;
  line-height: 1;
  margin: 0;
  width: 100%; }

.nav-menu .menu-item {
  list-style: none;
  position: relative; }
  .nav-menu .menu-item a {
    border: none;
    color: #FAFAFA;
    display: block;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
    padding: 13px 18px;
    position: relative;
    text-decoration: none; }
  .nav-menu .menu-item:hover > a {
    background: #424242; }
  .nav-menu .menu-item.current-menu-item > a,
  .nav-menu .menu-item.current-menu-ancestor > a {
    color: #000; }

.nav-menu .submenu-expand {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  outline: none;
  cursor: pointer;
  position: absolute;
  line-height: 0;
  top: 50%;
  transform: translateY(-50%);
  left: 0px; }
  .rtl .nav-menu .submenu-expand {
    left: auto;
    right: 0px; }
  .nav-menu .submenu-expand svg {
    fill: #757575; }

@media (max-width: 768px) {
  .nav-menu .nav-secondary .menu-item.search {
    padding: 4px 16px 16px; } }

@media (min-width: 769px) {
  .nav-menu .nav-secondary .menu-item.search {
    margin: 5px 0 0 8px; }
    .nav-menu .nav-secondary .menu-item.search .search-field {
      padding-top: 8px;
      padding-bottom: 8px;
      width: 268px; } }

.nav-menu .nav-primary {
  position: relative; }
  .nav-menu .nav-primary .menu-item.search {
    line-height: 0; }
    .nav-menu .nav-primary .menu-item.search button {
      padding: 12px; }
    @media (max-width: 768px) {
      .nav-menu .nav-primary .menu-item.search {
        display: none; } }

.nav-menu .language {
  position: absolute;
  right: 0;
  display: flex; }
  .rtl .nav-menu .language {
    left: -50px;
    right: unset; }
  @media (max-width: 768px) {
    .nav-menu .language {
      position: static !important;
      float: right; }
      .rtl .nav-menu .language {
        float: left; } }

@media (min-width: 769px) {
  .nav-menu {
    float: right;
    width: calc(100% - 332px);
    display: flex;
    flex-flow: column-reverse nowrap; }
    .nav-menu .nav-primary,
    .nav-menu .nav-secondary {
      display: flex;
      justify-content: flex-start; }
    .nav-menu .nav-primary + .nav-secondary {
      margin-bottom: 16px; }
    .nav-menu .menu {
      display: inline-block;
      width: auto;
      margin-right: -110px; }
    .nav-menu .menu-item {
      float: left; }
      .rtl .nav-menu .menu-item {
        float: right; }
      .nav-menu .menu-item:hover > .sub-menu {
        left: auto;
        opacity: 1; }
    .nav-menu .sub-menu {
      background: #F5F5F5;
      left: -9999px;
      opacity: 0;
      position: absolute;
      width: 215px;
      z-index: 99; }
      .rtl .nav-menu .sub-menu {
        right: -9999px;
        left: auto; }
      .nav-menu .sub-menu .menu-item {
        float: none; }
        .nav-menu .sub-menu .menu-item:hover > a {
          background: #EEEEEE; }
      .nav-menu .sub-menu .sub-menu {
        margin: -48px 0 0 215px; } }

@media (max-width: 768px) {
  .nav-menu {
    display: none; }
    .nav-menu.active {
      background: #EEEEEE;
      border-top: 1px solid #E0E0E0;
      display: block;
      margin: 0 -48px;
      max-width: calc(100% + 96px); }
    .nav-menu .menu > .menu-item > a {
      padding: 11px 18px; }
    .nav-menu .submenu-expand {
      top: 0;
      left: 0;
      transform: none;
      width: 44px;
      height: 44px; }
      .rtl .nav-menu .submenu-expand {
        right: 0;
        left: auto; }
      .nav-menu .submenu-expand svg {
        width: 12px;
        height: 12px; }
      .nav-menu .submenu-expand:not(.expanded) {
        transform: rotate(180deg); }
      .nav-menu .submenu-expand.expanded + .sub-menu {
        display: block; }
    .nav-menu .sub-menu {
      display: none;
      padding-right: 40px; }
      .rtl .nav-menu .sub-menu {
        padding-left: 40px;
        padding-righy: 0; } }

/* Toggles
--------------------------------------------- */
.search-toggle,
.menu-toggle {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  outline: none;
  cursor: pointer;
  line-height: 0;
  text-align: center; }
  .search-toggle .close,
  .menu-toggle .close {
    display: none; }
  .search-toggle:hover, .search-toggle.active,
  .menu-toggle:hover,
  .menu-toggle.active {
    background: transparent; }
  .search-toggle.active .close,
  .menu-toggle.active .close {
    display: inline; }
  .search-toggle.active .open,
  .menu-toggle.active .open {
    display: none; }

@media (max-width: 768px) {
  .site-header .wrap {
    padding: 0 8px; } }

.site-header .wrap > .menu-toggle,
.site-header .wrap > .search-toggle {
  position: absolute;
  top: 0;
  width: 48px;
  height: 48px;
  bottom: 0;
  margin: auto; }
  @media (min-width: 769px) {
    .site-header .wrap > .menu-toggle,
    .site-header .wrap > .search-toggle {
      display: none; } }

.site-header .wrap > .menu-toggle {
  right: 0; }
  .rtl .site-header .wrap > .menu-toggle {
    left: 0;
    right: auto; }

.site-header .wrap > .search-toggle {
  right: 0; }
  .rtl .site-header .wrap > .search-toggle {
    left: 0;
    right: auto; }

/* Header Search
--------------------------------------------- */
.header-search {
  background: #EEEEEE;
  overflow: hidden;
  padding: 16px;
  width: 100%; }
  @media (min-width: 768px) {
    .header-search {
      position: absolute;
      bottom: -82px;
      right: 0; }
      .header-search .search-form {
        margin: 0 auto; } }
  @media (max-width: 768px) {
    .header-search {
      margin: 0 -48px;
      width: calc(100% + 96px); } }
  .header-search:not(.active) {
    display: none; }

.hamburger {
  display: none;
  z-index: 9999;
  position: absolute;
  right: 0;
  margin: 15px;
  color: #fff; }
  .rtl .hamburger {
    left: 0;
    right: unset; }
  @media (max-width: 768px) {
    .hamburger {
      display: block; } }

.show {
  display: block; }

/* Post Summary
---------------------------------------------------------------------------------------------------- */
.post-summary {
  margin-bottom: 32px; }

.post-summary__title {
  font-size: 18px;
  font-weight: 400;
  margin: 0; }
  .post-summary__title a {
    color: #212121;
    text-decoration: none; }
    .post-summary__title a:hover {
      color: #9f392f; }

.post-summary__image {
  display: block; }
  @media (min-width: 769px) {
    .post-summary__image {
      margin-bottom: 12px; } }

.entry-category {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 4px; }
  .entry-category a {
    color: #616161;
    text-decoration: none; }
    .entry-category a:hover {
      color: #9f392f; }

.archive .site-main h1 {
  text-align: center; }

.archive .site-main .block-area,
.archive .site-main .no-results {
  grid-column: 1 / -1;
  margin-bottom: 48px; }

@media (min-width: 769px) and (max-width: 991px) {
  .archive .site-main > article {
    float: left;
    margin-left: 2.73973%;
    width: 22.94521%; }
    .archive .site-main > article:nth-of-type(4n+1) {
      clear: both;
      margin-left: 0; }
  @supports (display: grid) {
    .archive .site-main {
      display: grid;
      grid-column-gap: 32px;
      grid-template-columns: repeat(4, 1fr); }
      .archive .site-main > article {
        margin-left: 0;
        width: 100%; }
      .archive .site-main header, .archive .site-main nav, .archive .site-main aside, .archive .site-main footer {
        grid-column: 1 / -1; } } }

@media (min-width: 992px) {
  .archive .site-main > article {
    float: left;
    margin-left: 2.73973%;
    width: 14.38356%; }
    .archive .site-main > article:nth-of-type(6n+1) {
      clear: both;
      margin-left: 0; }
  @supports (display: grid) {
    .archive .site-main {
      display: grid;
      grid-column-gap: 32px;
      grid-template-columns: repeat(6, 1fr); }
      .archive .site-main > article {
        margin-left: 0;
        width: 100%; }
      .archive .site-main header, .archive .site-main nav, .archive .site-main aside, .archive .site-main footer {
        grid-column: 1 / -1; } } }

/* Archive Header
--------------------------------------------- */
.archive-description {
  text-align: center;
  width: 100%;
  max-width: 768px;
  margin: 0 auto 32px; }
  .archive-description > *:last-child {
    margin-bottom: 0; }
  .archive-description .search-form {
    margin: 0 auto; }

.author-archive-description .avatar {
  border-radius: 50%;
  display: block;
  margin: 0 auto 16px; }

@media (min-width: 768px) {
  .author-archive-description h3:last-child {
    margin-top: 48px; } }

.author-title {
  color: #616161;
  font-size: 18px;
  font-weight: 700;
  text-transform: uppercase; }
  @media (min-width: 768px) {
    .author-title {
      font-size: 20px; } }

/* Entry Navigation
--------------------------------------------- */
.pagination {
  border-top: 1px solid #E0E0E0;
  font-size: 16px;
  text-align: center;
  padding-top: 22px; }
  .pagination ul {
    margin: 0; }
    .pagination ul li {
      list-style-type: none;
      display: inline-block; }
      .pagination ul li a {
        color: #424242;
        border-radius: 50%;
        display: block;
        font-weight: 400;
        text-decoration: none;
        width: 29px;
        height: 29px;
        line-height: 29px;
        text-align: center; }
      .pagination ul li.pagination-next a,
      .pagination ul li.pagination-previous a {
        width: auto; }
      .pagination ul li:hover > a {
        color: #9f392f; }
      .pagination ul li.active > a {
        background: #9f392f;
        color: #fff;
        font-weight: 700; }

/* Singular
---------------------------------------------------------------------------------------------------- */
/* Entry Content
--------------------------------------------- */
.entry-content ul, .entry-content ol {
  padding-left: 1.5rem; }
  .entry-content ul li, .entry-content ol li {
    padding-bottom: .5rem; }
    .entry-content ul li:last-child, .entry-content ol li:last-child {
      padding-bottom: 0; }
    .entry-content ul li ul, .entry-content ul li ol, .entry-content ol li ul, .entry-content ol li ol {
      padding-top: .5rem; }
  .entry-content ul.wp-block-gallery, .entry-content ol.wp-block-gallery {
    padding-left: 0; }
    .entry-content ul.wp-block-gallery li, .entry-content ol.wp-block-gallery li {
      padding-bottom: 0; }

.entry-content > *,
.block-area > * {
  margin: 20px 0;
  max-width: 100%; }
  .entry-content > *:first-child,
  .block-area > *:first-child {
    margin-top: 0; }
  .entry-content > *:last-child,
  .block-area > *:last-child {
    margin-bottom: 0; }
  .full-width-content .entry-content > *.alignwide,
  .content .entry-content > *.alignwide, .full-width-content
  .block-area > *.alignwide,
  .content
  .block-area > *.alignwide {
    margin: calc(2 * 20px) calc(50% - 50vw);
    max-width: 100vw;
    width: auto; }
    @media (min-width: 768px) {
      .full-width-content .entry-content > *.alignwide,
      .content .entry-content > *.alignwide, .full-width-content
      .block-area > *.alignwide,
      .content
      .block-area > *.alignwide {
        margin: calc(2 * 20px) calc(25% - 25vw); } }
  .full-width-content .entry-content > *.alignfull,
  .content .entry-content > *.alignfull, .full-width-content
  .block-area > *.alignfull,
  .content
  .block-area > *.alignfull {
    margin: calc(2 * 20px) calc(50% - 50vw);
    max-width: 100vw;
    width: 100vw; }
  .entry-content > *.alignleft,
  .block-area > *.alignleft {
    /*rtl:ignore*/
    float: left;
    margin: 0 20px 20px 0; }
  .entry-content > *.alignright,
  .block-area > *.alignright {
    /*rtl:ignore*/
    float: right;
    margin: 0 0 20px 20px; }
  .entry-content > *.aligncenter,
  .block-area > *.aligncenter {
    margin-left: auto;
    margin-right: auto; }
  .entry-content > *.wp-block-quote, .entry-content > *.post-listing-block,
  .block-area > *.wp-block-quote,
  .block-area > *.post-listing-block {
    margin-top: calc(2 * 20px);
    margin-bottom: calc(2 * 20px); }
  .entry-content > *.wp-block-search,
  .block-area > *.wp-block-search {
    max-width: 568px;
    margin-left: auto;
    margin-right: auto; }

.entry-content > .alignfull:first-child {
  margin-top: -36px; }
  @media (min-width: 768px) {
    .entry-content > .alignfull:first-child {
      margin-top: -48px; } }

.entry-content > .alignfull:last-child {
  margin-bottom: -36px; }
  @media (min-width: 768px) {
    .entry-content > .alignfull:last-child {
      margin-bottom: -48px; } }

/* Entry Meta
--------------------------------------------- */
.entry-author {
  font-size: 14px; }
  .entry-author .avatar {
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    margin-right: 4px; }
  .entry-author a {
    color: #424242;
    text-decoration: none; }
    .entry-author a:hover {
      color: #9f392f; }

.breadcrumb {
  font-size: 16px;
  margin-bottom: 24px; }
  .breadcrumb a {
    color: #424242; }
    .breadcrumb a:hover {
      color: #9f392f; }
  .single .breadcrumb {
    border-top: 1px solid #E0E0E0;
    padding-top: 32px;
    text-align: center; }

.author-box {
  position: relative;
  padding-left: 120px;
  min-height: 120px; }
  .archive .author-box {
    grid-column: 1 / -1;
    max-width: 768px;
    margin: 0 auto 32px; }
  .author-box .author-box-title {
    font-size: 22px; }
    @media (min-width: 768px) {
      .author-box .author-box-title {
        font-size: 28px; } }
  .author-box .avatar {
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0; }

/* Single Post
--------------------------------------------- */
.singular .site-inner {
  padding: 0;
  min-height: calc(100vh - 171px); }

.singular .entry-header {
  margin-bottom: 18px;
  width: 100vw;
  background: #9f392f;
  margin-left: calc(50% - 50vw);
  background: none;
  padding: 40px;
  text-align: center; }
  .singular .entry-header h1,
  .singular .entry-header h2 {
    max-width: 1200px;
    margin: 0 auto;
    color: #fff;
    text-align: right;
    background: none;
    text-decoration: underline;
    color: #424242;
    text-align: center; }
  @media (min-width: 768px) {
    .singular .entry-header {
      margin-bottom: 48px;
      overflow: hidden; }
      .singular .entry-header .entry-author {
        float: left;
        margin: 0; }
      .singular .entry-header .shared-counts-wrap {
        float: right; } }
  .singular .entry-header *:last-child {
    margin-bottom: 0; }

.rtl.singular .entry-header {
  margin-left: auto;
  margin-right: calc(50% - 50vw); }

.after-entry > * {
  margin: 24px 0; }
  @media (min-width: 768px) {
    .after-entry > * {
      margin: 42px 0; } }

.after-entry .publish-date {
  font-size: 16px;
  text-align: center; }

@supports (display: grid) {
  @media (min-width: 768px) {
    .related-posts {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-column-gap: 16px; }
      .related-posts header {
        grid-column: 1 / -1; } } }

/* Comments
--------------------------------------------- */
.entry-comments .comment-list {
  margin: 0 0 32px; }
  .entry-comments .comment-list li {
    list-style-type: none;
    border: 1px solid #EEEEEE; }
    .entry-comments .comment-list li article {
      padding: 16px;
      position: relative; }
    .entry-comments .comment-list li.staff > article {
      background: rgba(159, 57, 47, 0.05);
      border-left: 2px solid #9f392f; }
  .entry-comments .comment-list > li {
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 15px; }
  .entry-comments .comment-list .comment-author {
    color: #424242;
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    font-family: "Suez One", serif;
    font-size: 18px; }
    @media (min-width: 768px) {
      .entry-comments .comment-list .comment-author {
        font-size: 22px; } }
    .entry-comments .comment-list .comment-author a {
      color: #424242;
      text-decoration: none; }
      .entry-comments .comment-list .comment-author a:hover {
        color: #9f392f; }
    .entry-comments .comment-list .comment-author .says {
      display: none; }
  .entry-comments .comment-list .comment-edit-link {
    display: none; }
  .entry-comments .comment-list .comment-meta {
    font-size: 14px;
    color: #9E9E9E;
    vertical-align: middle; }
    .entry-comments .comment-list .comment-meta a {
      color: #9E9E9E;
      font-weight: 400;
      text-decoration: none; }
      .entry-comments .comment-list .comment-meta a:hover {
        color: #9f392f; }
  .entry-comments .comment-list .comment-content p:last-child {
    margin: 0; }
  .entry-comments .comment-list .comment-reply-link {
    position: absolute;
    top: 16px;
    left: 16px;
    font-size: 16px;
    text-transform: uppercase;
    text-decoration: none; }
    .rtl .entry-comments .comment-list .comment-reply-link {
      right: 16px;
      left: auto; }
  .entry-comments .comment-list ul.children {
    margin: 0; }
    .entry-comments .comment-list ul.children li {
      border-top: 1px solid #E0E0E0; }

.nav-links:after {
  content: "";
  display: table;
  clear: both; }

.nav-links .nav-previous {
  float: left; }
  .rtl .nav-links .nav-previous {
    float: right; }

.nav-links .nav-next {
  float: right; }
  .rtl .nav-links .nav-next {
    float: left; }

.comment-navigation a {
  font-size: 20px;
  text-transform: uppercase;
  text-decoration: none; }

.comment-respond {
  margin: 30px 0; }
  @media (min-width: 768px) {
    .comment-respond {
      margin: 60px 0; } }
  .comment-respond label {
    display: block;
    margin-right: 12px; }
    .comment-respond label[for="subscribe"], .comment-respond label[for="wp-comment-cookies-consent"] {
      display: inline-block; }
  @media (min-width: 768px) {
    .comment-respond .comment-form-author,
    .comment-respond .comment-form-email {
      float: left;
      width: calc(50% - 16px); }
    .comment-respond .comment-form-email {
      margin-left: 32px; }
    .comment-respond input[type="submit"] {
      width: auto; } }

/* Footer Widgets
---------------------------------------------------------------------------------------------------- */
.footer-widgets {
  background: #9f392f;
  padding: 40px 0 10px;
  position: relative; }
  .footer-widgets ul {
    margin-bottom: 30px; }
  .footer-widgets li {
    list-style-type: none;
    margin-bottom: 12px; }
  .footer-widgets .widget-title {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase; }
  .footer-widgets a {
    color: #fff;
    text-decoration: none; }
    .footer-widgets a:hover {
      text-decoration: underline; }
    .footer-widgets a svg {
      fill: #fff;
      width: 20px;
      height: 20px;
      margin-right: 12px; }
  @media (max-width: 767px) {
    .footer-widgets .social-links li {
      display: inline-block;
      margin: 0; }
    .footer-widgets .social-links .label {
      display: none; }
    .footer-widgets .footer-widgets-1 {
      float: left;
      width: calc(50% - 8px); }
    .footer-widgets .footer-widgets-2 {
      float: right;
      width: calc(50% - 8px); }
    .footer-widgets .footer-widgets-3 {
      overflow: hidden;
      width: 100%; } }
  @media (min-width: 768px) {
    .footer-widgets .wrap > div {
      float: left;
      margin-left: 2.73973%;
      width: 31.50685%; }
      .footer-widgets .wrap > div:nth-of-type(3n+1) {
        clear: both;
        margin-left: 0; }
    @supports (display: grid) {
      .footer-widgets .wrap {
        display: grid;
        grid-column-gap: 32px;
        grid-template-columns: repeat(3, 1fr); }
        .footer-widgets .wrap > div {
          margin-left: 0;
          width: 100%; }
        .footer-widgets .wrap header, .footer-widgets .wrap nav, .footer-widgets .wrap aside, .footer-widgets .wrap footer {
          grid-column: 1 / -1; } } }

/* Site Footer
---------------------------------------------------------------------------------------------------- */
.site-footer {
  background: #9f392f;
  color: rgba(255, 255, 255, 0.75);
  font-size: 14px;
  padding: 32px 0;
  text-align: center;
  margin-top: 50px;
  padding-left: 0; }
  .site-footer ul#footer-menu {
    list-style-type: disc;
    display: flex;
    justify-content: space-between;
    width: 65%;
    margin: 0 auto;
    font-size: 25px;
    margin-bottom: 20px; }
    @media (max-width: 600px) {
      .site-footer ul#footer-menu {
        width: 90%;
        font-size: 11px; } }
    .site-footer ul#footer-menu li:first-child {
      list-style-type: none; }
    .site-footer ul#footer-menu li {
      padding-right: 12px; }
      @media (max-width: 600px) {
        .site-footer ul#footer-menu li {
          padding-right: 1px; } }
      .site-footer ul#footer-menu li a {
        text-decoration: none; }
  .site-footer .wrap > *:last-child {
    margin-bottom: 0; }
  .site-footer a {
    color: rgba(255, 255, 255, 0.75); }
    .site-footer a:hover {
      color: white; }
  .site-footer .footer-links a + a {
    margin-left: 12px; }
  .site-footer .cafemedia {
    text-transform: uppercase; }
  .site-footer .backtotop {
    background: rgba(0, 0, 0, 0.75);
    border-radius: 3px;
    display: inline-block;
    line-height: 20px;
    padding: 10px;
    text-decoration: none; }
    .site-footer .backtotop svg {
      fill: #fff;
      margin-left: 4px;
      vertical-align: middle; }
    .site-footer .backtotop:hover {
      background: black; }
  @media (min-width: 768px) {
    .site-footer {
      text-align: center; }
      .rtl .site-footer {
        text-align: center; }
      .site-footer .footer-left {
        float: left; }
        .site-footer .footer-left > *:last-child {
          margin-bottom: 0; }
      .site-footer .copyright,
      .site-footer .footer-links {
        display: inline-block;
        margin-right: 20px; }
      .site-footer .backtotop {
        float: right; } }

.home-content-wrap {
  background-image: url(../../assets/images/home-frame.gif);
  width: 100%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto; }
  .home-content-wrap * {
    margin: 0 auto; }
  .home-content-wrap .home-content-inner {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    height: fit-content; }
    .home-content-wrap .home-content-inner * {
      margin-bottom: 3%; }
    .home-content-wrap .home-content-inner img:nth-child(2) {
      width: 40%; }
    .home-content-wrap .home-content-inner img:nth-child(3) {
      width: 34%; }
    .home-content-wrap .home-content-inner img:nth-child(4) {
      width: 13%; }
    .home-content-wrap .home-content-inner .buttons-wrap {
      display: flex;
      width: 50%; }
      .home-content-wrap .home-content-inner .buttons-wrap a {
        width: 100%; }
        .home-content-wrap .home-content-inner .buttons-wrap a img {
          width: 100%; }
      .home-content-wrap .home-content-inner .buttons-wrap a:nth-child(2) img {
        margin-top: 2%; }

body {
  background-image: url(../images/bg2.jpg);
  background-size: 88% auto;
  background-position: top;
  background-repeat: no-repeat;
  background-color: #fdf8f2; }

.search-person-form-wrap form {
  text-align: center;
  border-bottom: 2px solid;
  padding-bottom: 25px;
  margin-bottom: 25px; }
  .search-person-form-wrap form .search-form-inner {
    display: flex;
    justify-content: space-between;
    text-align: left; }
    @media (max-width: 600px) {
      .search-person-form-wrap form .search-form-inner {
        flex-direction: column; } }
    .rtl .search-person-form-wrap form .search-form-inner {
      text-align: right; }
    .search-person-form-wrap form .search-form-inner .form-section {
      width: 30%; }
      @media (max-width: 600px) {
        .search-person-form-wrap form .search-form-inner .form-section {
          width: 100%; } }
    .search-person-form-wrap form .search-form-inner .second-section {
      border-left: 2px solid;
      border-right: 2px solid;
      padding: 0 34px; }
      @media (max-width: 600px) {
        .search-person-form-wrap form .search-form-inner .second-section {
          border-right: none;
          border-left: none;
          padding: 17px 0;
          margin: 17px 0; } }
  @media (max-width: 600px) and (max-width: 600px) {
    .search-person-form-wrap form .search-form-inner .second-section {
      border-left: none;
      border-right: none; }
      .search-person-form-wrap form .search-form-inner .second-section::before {
        content: "";
        width: 50px;
        border-top: 4px solid;
        display: block;
        margin: 0 auto;
        margin-bottom: 6px; }
      .search-person-form-wrap form .search-form-inner .second-section::after {
        content: "";
        width: 50px;
        border-top: 4px solid;
        display: block;
        margin: 0 auto;
        margin-top: 20px; } }
      .search-person-form-wrap form .search-form-inner .second-section .label-input .from-to-box {
        display: flex; }
      .search-person-form-wrap form .search-form-inner .second-section .label-input .from {
        display: flex; }
        @media (max-width: 600px) {
          .search-person-form-wrap form .search-form-inner .second-section .label-input .from {
            display: block; } }
      .search-person-form-wrap form .search-form-inner .second-section .label-input .to {
        display: flex; }
        @media (max-width: 600px) {
          .search-person-form-wrap form .search-form-inner .second-section .label-input .to {
            display: block; } }
  .search-person-form-wrap form input[type="submit"] {
    width: 200px;
    margin: 0 auto;
    margin-top: 50px; }
  .search-person-form-wrap form .select2-container .select2-selection--single {
    padding: 14px 0;
    height: 54px;
    border: none; }

.search-person-form-wrap .results-box {
  display: flex;
  flex-wrap: wrap;
  text-align: center;
  position: relative;
  margin-bottom: 70px; }
  .search-person-form-wrap .results-box .person-result {
    width: 33%; }
    @media (max-width: 600px) {
      .search-person-form-wrap .results-box .person-result {
        width: 50%; } }
  .search-person-form-wrap .results-box .load-more {
    position: absolute;
    bottom: -86px;
    left: 0;
    right: 0;
    background: #9f392f;
    color: #fff;
    width: 180px;
    margin: auto;
    padding: 11px;
    border-radius: 8px;
    cursor: pointer; }
  .search-person-form-wrap .results-box .load-more-spinner {
    width: 30px;
    height: 0;
    display: none;
    position: absolute;
    top: unset;
    bottom: -38px;
    right: 0;
    margin: auto;
    left: 0; }

.search-person-form-wrap .submit-wrap {
  position: relative; }

.search-person-form-wrap .lds-dual-ring {
  width: 30px;
  height: 0;
  display: none;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto; }

.search-person-form-wrap .lds-dual-ring:after {
  content: " ";
  display: block;
  width: 34px;
  height: 34px;
  margin: 8px;
  border-radius: 50%;
  border: 4px solid #fff;
  border-color: #9f392f transparent #9f392f transparent;
  animation: lds-dual-ring 1.2s linear infinite; }

@keyframes lds-dual-ring {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.single h1.entry-title {
  color: #9f392f; }

.single-person-container .person-top-info {
  border-bottom: 5px solid;
  padding-bottom: 20px;
  margin-bottom: 20px; }
  .single-person-container .person-top-info .top-info-columns {
    display: flex; }
    @media (max-width: 600px) {
      .single-person-container .person-top-info .top-info-columns {
        flex-direction: column;
        text-align: center; } }
    .single-person-container .person-top-info .top-info-columns .top-info-column {
      width: 33%;
      padding: 0 2%; }
      @media (max-width: 600px) {
        .single-person-container .person-top-info .top-info-columns .top-info-column {
          width: 100%; } }
      .single-person-container .person-top-info .top-info-columns .top-info-column span {
        font-weight: 600;
        color: #9f392f; }
    .single-person-container .person-top-info .top-info-columns .top-info-column:nth-child(2) {
      border-left: 5px solid;
      border-right: 5px solid; }
      @media (max-width: 600px) {
        .single-person-container .person-top-info .top-info-columns .top-info-column:nth-child(2) {
          border-left: none;
          border-right: none; }
          .single-person-container .person-top-info .top-info-columns .top-info-column:nth-child(2)::before {
            content: "";
            width: 50px;
            border-top: 4px solid;
            display: block;
            margin: 0 auto;
            margin-bottom: 6px; }
          .single-person-container .person-top-info .top-info-columns .top-info-column:nth-child(2)::after {
            content: "";
            width: 50px;
            border-top: 4px solid;
            display: block;
            margin: 0 auto;
            margin-bottom: 6px; } }
  .single-person-container .person-top-info .person-images-inner {
    display: grid;
    grid-template-columns: 33% 33% 33%;
    margin-top: 70px;
    direction: rtl; }
    @media (max-width: 600px) {
      .single-person-container .person-top-info .person-images-inner {
        display: block; } }
    .single-person-container .person-top-info .person-images-inner .section {
      margin: 0 auto; }
      @media (max-width: 600px) {
        .single-person-container .person-top-info .person-images-inner .section {
          justify-content: center; } }
    .single-person-container .person-top-info .person-images-inner .right-section,
    .single-person-container .person-top-info .person-images-inner .left-section {
      position: relative; }
      @media (max-width: 600px) {
        .single-person-container .person-top-info .person-images-inner .right-section,
        .single-person-container .person-top-info .person-images-inner .left-section {
          display: none; } }
    .single-person-container .person-top-info .person-images-inner .line-wrap {
      display: flex;
      justify-content: center;
      flex-direction: column;
      margin: 0 20px; }
      .single-person-container .person-top-info .person-images-inner .line-wrap .line {
        border: 2px solid;
        width: 30px;
        background: #000; }
    .single-person-container .person-top-info .person-images-inner .tree-branch-wrap {
      position: absolute;
      top: 65px;
      margin: 0 10px; }
    .single-person-container .person-top-info .person-images-inner .parents-right,
    .single-person-container .person-top-info .person-images-inner .parents-left {
      height: fit-content;
      margin-top: 50px; }
    .single-person-container .person-top-info .person-images-inner .parents-right {
      display: flex;
      flex-direction: column;
      justify-content: center;
      text-align: left;
      margin-left: 70px; }
    .single-person-container .person-top-info .person-images-inner .parent-father {
      margin-bottom: 17px; }
    .single-person-container .person-top-info .person-images-inner .parents-left {
      display: flex;
      flex-direction: column;
      justify-content: center;
      margin-right: 70px; }
    .single-person-container .person-top-info .person-images-inner .section {
      display: flex; }
    .single-person-container .person-top-info .person-images-inner .right-section,
    .single-person-container .person-top-info .person-images-inner .left-section {
      min-width: 400px; }
      @media (max-width: 600px) {
        .single-person-container .person-top-info .person-images-inner .right-section,
        .single-person-container .person-top-info .person-images-inner .left-section {
          min-width: unset;
          display: none; } }
    .single-person-container .person-top-info .person-images-inner .right-section {
      justify-content: flex-end; }
    .single-person-container .person-top-info .person-images-inner .left-section {
      justify-content: flex-start; }
    .single-person-container .person-top-info .person-images-inner .person-image {
      max-width: 140px;
      text-align: center;
    position: relative;
    margin-left: 10px;
    }
      .single-person-container .person-top-info .person-images-inner .person-image img.frame {
        position: absolute;
        height: 186px;
        right: -8px;
        top: -10px;
        max-width: unset;
        width: 116%; }
      .single-person-container .person-top-info .person-images-inner .person-image p.person-name, 
      .single-person-container .person-top-info .person-images-inner .person-image a {
        margin-top: 10px;
    }
  .single-person-container .person-top-info .another-spouse {
    display: flex;
    margin-top: 30px;
    direction: rtl; }
    .single-person-container .person-top-info .another-spouse div {
      width: 25%; }
    .single-person-container .person-top-info .another-spouse .another-spouse-inner {
      display: flex;
      text-align: center;
      margin-right: 36px; }
      .single-person-container .person-top-info .another-spouse .another-spouse-inner p {
        width: 50%;
        padding-top: 13px; }
      .single-person-container .person-top-info .another-spouse .another-spouse-inner a {
        width: 50%; }

.single-person-container .person-bottom-info .children {
  display: flex;
  margin: 30px 0 50px; }
  .single-person-container .person-bottom-info .children .children-box .children-inner {
    display: flex;
    flex-wrap: wrap; }
    .single-person-container .person-bottom-info .children .children-box .children-inner .child {
      text-align: center;
      margin: 0 20px; }
      @media (max-width: 600px) {
        .single-person-container .person-bottom-info .children .children-box .children-inner .child {
          margin: 0 10px; } }
      .single-person-container .person-bottom-info .children .children-box .children-inner .child img {
        margin: 0 auto;
        width: 100px; }

@media (max-width: 600px) {
  .single-person-container .person-bottom-info .person-content-wrap {
    display: flex;
    flex-direction: column-reverse; } }

.single-person-container .person-bottom-info .image-desc {
  max-width: 446px;
  text-align: center;
  font-size: 15px; }

.single-person-container .person-bottom-info .images-wrap {
  float: left; }
  @media (max-width: 600px) {
    .single-person-container .person-bottom-info .images-wrap {
      margin-top: 20px; } }
  .single-person-container .person-bottom-info .images-wrap .gallery-image-wrap {
    margin-right: 20px; }
    .single-person-container .person-bottom-info .images-wrap .gallery-image-wrap img {
      margin: 0 auto; }

.single-person-container .stories-wrap {
  margin-top: 80px;
  width: fit-content;
  border-image: url(../images/more-info-frame.png) 30 round;
  padding: 15px;
  border-style: solid;
  border-width: 20px;
  border-image-slice: 66;
  max-width: 60%; }
  .single-person-container .stories-wrap h2 {
    text-decoration: underline; }

.source {
  display: flex;
  margin: 15px 0; }
  .source span {
    padding-top: 8px; }

.milestones_sources-wrap {
  margin-top: 80px; }

h2.bibliography {
  margin-top: 100px; }

.bibliography {
  display: flex;
  margin: 15px 0; }
  .bibliography span {
    padding-top: 8px; }

h2 {
  text-decoration: underline; }

.archive .wp-block-separator::before,
.archive hr::before {
  background: #000000;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 50%;
  margin-top: -0.5px; }

.archive nav.pagination {
  margin: 0 auto; }

.archive .post-summary {
  text-align: center; }
  .archive .post-summary img {
    margin: 0 auto; }

.archive .post-summary__content {
  font-weight: 400; }

.archive .taxonomy-item-wrap {
  text-align: center; }
  .archive .taxonomy-item-wrap article {
    margin-bottom: 0; }

.archive .site-inner .placeholder {
  margin-bottom: 13px; }

.archive .term-description {
  margin-bottom: 63px; }

.archive main.site-main {
  display: block; }
  .archive main.site-main .lists-wrap {
    display: flex;
    margin-top: 80px; }
    @media (max-width: 768px) {
      .archive main.site-main .lists-wrap {
        flex-direction: column; } }
    .archive main.site-main .lists-wrap h2 {
      font-size: 26px;
      text-align: center; }
      @media (max-width: 768px) {
        .archive main.site-main .lists-wrap h2 {
          font-size: 20px; } }
    .archive main.site-main .lists-wrap .inner-list-wrap:nth-child(2) {
      border-right: 2px solid; }
      @media (max-width: 768px) {
        .archive main.site-main .lists-wrap .inner-list-wrap:nth-child(2) {
          border-right: none;
          border-top: 2px solid; } }
    .archive main.site-main .lists-wrap .inner-list-wrap {
      flex-basis: 100%; }
      .two-lists .archive main.site-main .lists-wrap .inner-list-wrap {
        flex-basis: 50%; }
      .archive main.site-main .lists-wrap .inner-list-wrap .persons-list {
        display: flex;
        flex-wrap: wrap; }
        .archive main.site-main .lists-wrap .inner-list-wrap .persons-list .post-summary {
          text-align: center;
          width: 25%; }
          .archive main.site-main .lists-wrap .inner-list-wrap .persons-list .post-summary .post-summary__title {
            font-size: 18px; }
            @media (max-width: 768px) {
              .archive main.site-main .lists-wrap .inner-list-wrap .persons-list .post-summary .post-summary__title {
                font-size: 14px; } }
          .archive main.site-main .lists-wrap .inner-list-wrap .persons-list .post-summary .person-comment {
            font-size: 16px;
            font-weight: 600;
            color: #9f392f; }
            @media (max-width: 768px) {
              .archive main.site-main .lists-wrap .inner-list-wrap .persons-list .post-summary .person-comment {
                font-size: 13px; } }
  .archive main.site-main .two-lists .post-summary {
    width: 100% !important; }
  .archive main.site-main p.tax-highlight {
    font-weight: bold;
    color: #6d8aa6;
    font-size: 22px; }
  .archive main.site-main .images-wrap {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: center; }
    .archive main.site-main .images-wrap .gallery-image-wrap {
      width: 33%; }

.groups-list-wrap .groups-list {
  display: grid;
  grid-template-rows: repeat(8, 10%);
  grid-auto-flow: column;
  /*  @include media("<=my_size") {
      grid-template-columns: 50% 50%;
    } */ }
  .groups-list-wrap .groups-list .group {
    width: 100%;
    margin: 12px 0; }

.contact-content label {
  display: none; }

.contact-content .gform_footer {
  text-align: center; }
  .contact-content .gform_footer .button {
    background-color: #92b6c7;
    width: 50%; }

.contact-content .validation_error {
  display: none; }

.contact-content li {
  margin: 0 !important;
  padding-bottom: 0.3rem !important; }

.places-list {
  display: flex;
  flex-wrap: wrap; }
  .places-list .place {
    width: 33%;
    text-align: center;
    margin: 10px 0; }
    @media (max-width: 600px) {
      .places-list .place {
        width: 50%; } }

.works-item {
  display: grid;
  grid-template-columns: 14% 50%; }
  .works-item span {
    font-weight: bold; }

.single-work span {
  font-weight: bold;
  color: #4c83b3; }

.single-work .images-wrap {
  display: flex;
  flex-wrap: wrap;
  margin-top: 15px; }
  .single-work .images-wrap .gallery-image-wrap {
    margin: 5px 20px; }

/**
 * Gravity Forms Styles
 *
 * Version: 1.0.0
 * License: MIT - http://wpsitecare.mit-license.org/
 */
/*
Gravity Forms
----------------------------------------------------------------------------- */
.gform_wrapper {
  text-align: left;
  /*
	.gfield {
		clear: both;
	}

	.gfield_label {
		clear: both;
		display: inline-block;
		font-weight: 600;
		margin: $gravity-margin-small 0;

		@include min-screen( $gravity-small-screen ) {
			margin-top: $gravity-margin-medium;
		}
	}

	.gfield_description {
		font-size: $gravity-medium-font-size;
	}

	.gfield_required {
		color: $gravity-red;
		padding-left: 2px;
	}

	.field_description_above {

		.gfield_description {
			margin-bottom: $gravity-margin-small;

			@include min-screen( $gravity-small-screen ) {
				margin-bottom: $gravity-margin-medium;
			}
		}
	}

	.ginput_container {

		.small {
			width: 25%;
		}

		.medium {
			width: 50%;
		}

		.large {
			width: 100%;
		}
	}

	.gform_footer {
		margin-top: $gravity-margin;
	}
	*/ }
  .gform_wrapper input[type="email"] {
    text-align: left;
    direction: ltr; }
  .gform_wrapper input[type="submit"] {
    background-color: #00661a;
    color: #fff; }
  .rtl .gform_wrapper {
    text-align: right; }
  .gform_wrapper ul {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column; }
    .gform_wrapper ul li {
      list-style-type: none;
      margin: 16px 0 0; }
  .gform_wrapper .gform_title,
  .gform_wrapper .gsection_title {
    font-size: 18px; }
  .gform_wrapper .gform_fields {
    padding: 0; }

.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio {
  margin-top: 0; }
  .gform_wrapper .gfield_checkbox li,
  .gform_wrapper .gfield_radio li {
    align-items: center;
    display: flex;
    line-height: 1;
    margin: 0 0 8px; }
    .gform_wrapper .gfield_checkbox li input,
    .gform_wrapper .gfield_radio li input {
      width: auto;
      margin-right: 8px; }
      .rtl .gform_wrapper .gfield_checkbox li input, .rtl
      .gform_wrapper .gfield_radio li input {
        margin-right: 0;
        margin-left: 8px; }
    .gform_wrapper .gfield_checkbox li label,
    .gform_wrapper .gfield_radio li label {
      font-size: 80%; }

.gform_wrapper .ginput_complex {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
  grid-gap: 2%; }
  .gform_wrapper .ginput_complex span label {
    font-size: 80%; }

.gform_wrapper .gfield_error {
  background: #fff;
  border-left: 5px solid #dc2521;
  padding: 15px 15px 10px; }
  .rtl .gform_wrapper .gfield_error {
    border-left: 0px;
    border-right: 5px solid #dc2521; }
  .gform_wrapper .gfield_error > label {
    color: #dc2521; }
  .gform_wrapper .gfield_error input[type="color"],
  .gform_wrapper .gfield_error input[type="date"],
  .gform_wrapper .gfield_error input[type="datetime"],
  .gform_wrapper .gfield_error input[type="datetime-local"],
  .gform_wrapper .gfield_error input[type="email"],
  .gform_wrapper .gfield_error input[type="month"],
  .gform_wrapper .gfield_error input[type="number"],
  .gform_wrapper .gfield_error input[type="password"],
  .gform_wrapper .gfield_error input[type="search"],
  .gform_wrapper .gfield_error input[type="tel"],
  .gform_wrapper .gfield_error input[type="text"],
  .gform_wrapper .gfield_error input[type="time"],
  .gform_wrapper .gfield_error input[type="url"],
  .gform_wrapper .gfield_error input[type="week"],
  .gform_wrapper .gfield_error input,
  .gform_wrapper .gfield_error select,
  .gform_wrapper .gfield_error textarea {
    border-color: #dc2521; }
    .gform_wrapper .gfield_error input[type="color"]::placeholder,
    .gform_wrapper .gfield_error input[type="date"]::placeholder,
    .gform_wrapper .gfield_error input[type="datetime"]::placeholder,
    .gform_wrapper .gfield_error input[type="datetime-local"]::placeholder,
    .gform_wrapper .gfield_error input[type="email"]::placeholder,
    .gform_wrapper .gfield_error input[type="month"]::placeholder,
    .gform_wrapper .gfield_error input[type="number"]::placeholder,
    .gform_wrapper .gfield_error input[type="password"]::placeholder,
    .gform_wrapper .gfield_error input[type="search"]::placeholder,
    .gform_wrapper .gfield_error input[type="tel"]::placeholder,
    .gform_wrapper .gfield_error input[type="text"]::placeholder,
    .gform_wrapper .gfield_error input[type="time"]::placeholder,
    .gform_wrapper .gfield_error input[type="url"]::placeholder,
    .gform_wrapper .gfield_error input[type="week"]::placeholder,
    .gform_wrapper .gfield_error input::placeholder,
    .gform_wrapper .gfield_error select::placeholder,
    .gform_wrapper .gfield_error textarea::placeholder {
      color: #dc2521;
      opacity: 0.7; }

.gform_wrapper .hidden_label .gfield_label {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute;
  width: 1px; }

.gform_wrapper .gform_validation_container {
  display: none;
  left: -9000px;
  position: absolute; }
  .rtl .gform_wrapper .gform_validation_container {
    right: -9000px;
    left: auto; }

.gform_wrapper ul.gfields_wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(50px, 1fr));
  grid-gap: 2%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInBhcnRpYWxzL19iYXNlLnNjc3MiLCJtb2R1bGVzL19icmFuZC1jb2xvci5zY3NzIiwibW9kdWxlcy9faGVscGVycy5zY3NzIiwidmVuZG9yL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJtb2R1bGVzL19iYXNlLXN0eWxlcy5zY3NzIiwicGFydGlhbHMvX3Jlc2V0LnNjc3MiLCJwYXJ0aWFscy9fbGF5b3V0LnNjc3MiLCJwYXJ0aWFscy9fZm9ybS5zY3NzIiwicGFydGlhbHMvX2Jsb2Nrcy1iYXNlLnNjc3MiLCJwYXJ0aWFscy9fYmxvY2tzLWNvcmUuc2NzcyIsInBhcnRpYWxzL19ibG9ja3MtcGx1Z2luLnNjc3MiLCJwYXJ0aWFscy9fYmxvY2tzLWN1c3RvbS5zY3NzIiwicGFydGlhbHMvX3NpdGUtaGVhZGVyLnNjc3MiLCJwYXJ0aWFscy9fbmF2aWdhdGlvbi5zY3NzIiwicGFydGlhbHMvX3Bvc3Qtc3VtbWFyeS5zY3NzIiwicGFydGlhbHMvX2FyY2hpdmUuc2NzcyIsInBhcnRpYWxzL19zaW5ndWxhci5zY3NzIiwicGFydGlhbHMvX2VudHJ5LWNvbnRlbnQuc2NzcyIsInBhcnRpYWxzL19zaXRlLWZvb3Rlci5zY3NzIiwicGFydGlhbHMvX2Zyb250cGFnZS5zY3NzIiwicGFydGlhbHMvX2dsb2JhbC5zY3NzIiwicGFydGlhbHMvX3NlYXJjaC10ZW1wbGF0ZS5zY3NzIiwicGFydGlhbHMvX3NpbmdsZS1wZXJzb24uc2NzcyIsInBhcnRpYWxzL190YXhvbm9teS5zY3NzIiwicGFydGlhbHMvX3NvdXJjZXMuc2NzcyIsInBhcnRpYWxzL19jb250YWN0LnNjc3MiLCJwYXJ0aWFscy9fcGxhY2VzLnNjc3MiLCJwYXJ0aWFscy9fd29yay5zY3NzIiwiZ3Jhdml0eS9ncmF2aXR5LnNjc3MiLCJncmF2aXR5L3ZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJncmF2aXR5L3ZhcmlhYmxlcy9fbGF5b3V0LnNjc3MiLCJncmF2aXR5L3ZhcmlhYmxlcy9fdHlwb2dyYXBoeS5zY3NzIiwiZ3Jhdml0eS9wYXJ0aWFscy9fYmFzZS5zY3NzIiwiZ3Jhdml0eS9wYXJ0aWFscy9fY2hlY2stcmFkaW8uc2NzcyIsImdyYXZpdHkvcGFydGlhbHMvX2NvbXBsZXguc2NzcyIsImdyYXZpdHkvcGFydGlhbHMvX2Vycm9ycy5zY3NzIiwiZ3Jhdml0eS9wYXJ0aWFscy9faGlkZGVuLnNjc3MiLCJncmF2aXR5L3BhcnRpYWxzL193cmFwLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcInBhcnRpYWxzL2Jhc2VcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL3Jlc2V0XCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9sYXlvdXRcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL2Zvcm1cIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL2Jsb2Nrcy1iYXNlXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9ibG9ja3MtY29yZVwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvYmxvY2tzLXBsdWdpblwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvYmxvY2tzLWN1c3RvbVwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvc2l0ZS1oZWFkZXJcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL25hdmlnYXRpb25cIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL3Bvc3Qtc3VtbWFyeVwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvYXJjaGl2ZVwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvc2luZ3VsYXJcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL3NpdGUtZm9vdGVyXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9mcm9udHBhZ2VcIjtcclxuQGltcG9ydCBcInBhcnRpYWxzL2dsb2JhbFwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvc2VhcmNoLXRlbXBsYXRlXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy9zaW5nbGUtcGVyc29uXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy90YXhvbm9teVwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvc291cmNlc1wiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvY29udGFjdFwiO1xyXG5AaW1wb3J0IFwicGFydGlhbHMvcGxhY2VzXCI7XHJcbkBpbXBvcnQgXCJwYXJ0aWFscy93b3JrXCI7XHJcblxyXG5cclxuQGltcG9ydCBcImdyYXZpdHkvZ3Jhdml0eVwiOyIsIi8vIENvbG9yc1xuJHdoaXRlOiAjZmZmO1xuJGdyZXlfMTogI0ZBRkFGQTtcbiRncmV5XzI6ICNGNUY1RjU7XG4kZ3JleV8zOiAjRUVFRUVFO1xuJGdyZXlfNDogI0UwRTBFMDtcbiRncmV5XzU6ICNCREJEQkQ7XG4kZ3JleV82OiAjOUU5RTlFO1xuJGdyZXlfNzogIzc1NzU3NTtcbiRncmV5Xzg6ICM2MTYxNjE7XG4kZ3JleV85OiAjNDI0MjQyO1xuJGdyZXlfMTA6ICMyMTIxMjE7XG4kYmxhY2s6ICMwMDA7XG5cbi8vIEJyYW5kIENvbG9yc1xuJGJyYW5kX2NvbG9yczogKCdtYWluJyA6IzlmMzkyZixcbiAgJ3NlY29uZGFyeSc6ICNmMTdhMjIsXG4gICd0aGlyZCcgOiAjOWYzOTJmLFxuICAnZ3JleSc6ICRncmV5XzEpO1xuQGltcG9ydCBcIi4uL21vZHVsZXMvYnJhbmQtY29sb3JcIjtcblxuJGZhY2Vib29rOiAjM0I1OTk4O1xuJHR3aXR0ZXI6ICMwMEI2RjE7XG4kcGludGVyZXN0OiAjQ0IyMDI3O1xuXG4kYmFzZS1jb2xvcjogJGdyZXlfOTtcbiRoaWdobGlnaHQ6IGJyYW5kLWNvbG9yKCd0aGlyZCcpO1xuJGJvcmRlci1jb2xvcjogJGdyZXlfNDtcblxuLy8gRm9udHNcbi8vJHNlcmlmOiBDb25zdGFudGlhLCBcIkx1Y2lkYSBCcmlnaHRcIiwgTHVjaWRhYnJpZ2h0LCBcIkx1Y2lkYSBTZXJpZlwiLCBMdWNpZGEsIFwiRGVqYVZ1IFNlcmlmXCIsIFwiQml0c3RyZWFtIFZlcmEgU2VyaWZcIiwgXCJMaWJlcmF0aW9uIFNlcmlmXCIsIEdlb3JnaWEsIHNlcmlmO1xuLy8kc2Fucy1zZXJpZjogLWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsXCJTZWdvZSBVSVwiLFJvYm90byxPeHlnZW4tU2FucyxVYnVudHUsQ2FudGFyZWxsLFwiSGVsdmV0aWNhIE5ldWVcIixzYW5zLXNlcmlmO1xuJHNlcmlmOiAnU3VleiBPbmUnLFxuc2VyaWY7XG4kc2Fucy1zZXJpZjogJ2FyaWFsJyxcbidhcmlhbCcsXG5zYW5zLXNlcmlmO1xuXG4vLyBDb250ZW50XG4kY29udGVudC13aWR0aDogNzY4cHg7XG4kYmxvY2stbWFyZ2luOiAyMHB4O1xuXG4vLyBHcmlkXG4kZ3JpZDogZ3JpZDtcbiRncmlkLXdpZHRoOiAxMTY4cHg7XG4kZ3JpZC1nYXA6IDMycHg7XG4kYmFzZS1tYXJnaW46IDE2cHg7XG4kd3JhcF9lZGdlOiAkYmFzZS1tYXJnaW47XG4kbWFyZ2luXzJ4OiAkYmFzZS1tYXJnaW4gKiAyO1xuJG1hcmdpbl80eDogJGJhc2UtbWFyZ2luICogNDtcblxuLy8gU2l0ZSBIZWFkZXJcbiRsb2dvX3dpZHRoOiAzMDBweDtcbiRtZW51X3dpZHRoOiAkbG9nb193aWR0aCskZ3JpZC1nYXA7XG4kcGVyc2lzdGFudF9tb2JpbGU6IGZhbHNlOyAvLyA0OXB4XG4kcGVyc2lzdGVudF9kZXNrdG9wOiBmYWxzZTsgLy8gNDlweFxuXG5cbi8vIEluY2x1ZGUgTWVkaWFcbiRicmVha3BvaW50czogKCdwaG9uZScgOiAzNjBweCxcbiAgJ3NtYWxsJyA6IDc2OHB4LFxuICAndGFibGV0JyA6IDc2OHB4LCAvLyByZXF1aXJlZCBmb3IgaW5jbHVkZS1tZWRpYVxuICAnbW9iaWxlX21lbnUnIDogNzY4cHgsXG4gICdteV9zaXplJyA6IDYwMHB4LFxuICAnbWVkaXVtJyA6IDk5MnB4LFxuICAnbGFyZ2UnIDogMTIwMHB4LFxuICAnZGVza3RvcCc6ICRncmlkLXdpZHRoICsgJGdyaWQtZ2FwLCAvLyByZXF1aXJlZCBmb3IgaW5jbHVkZS1tZWRpYVxuICAnY29udGVudC13aWR0aCc6ICRjb250ZW50LXdpZHRoICsgJGdyaWQtZ2FwLFxuKTtcblxuQGltcG9ydCBcIi4uL21vZHVsZXMvaGVscGVyc1wiO1xuQGltcG9ydCBcIi4uL3ZlbmRvci9faW5jbHVkZS1tZWRpYVwiO1xuQGltcG9ydCBcIi4uL21vZHVsZXMvYmFzZS1zdHlsZXNcIjsiLCIvKipcbiAqIEJyYW5kIENvbG9yXG4gKlxuICovXG5AZnVuY3Rpb24gYnJhbmQtY29sb3IoICRrZXksICR2YXJpYW50OiBudWxsICkge1xuXHRAaWYgbWFwLWhhcy1rZXkoICRicmFuZF9jb2xvcnMsICRrZXkgKSB7XG5cdFx0JGNvbG9yOiBtYXAtZ2V0KCAkYnJhbmRfY29sb3JzLCAka2V5ICk7XG5cdFx0QGlmICggJ2xpZ2h0ZW4nID09ICR2YXJpYW50ICkge1xuXHRcdFx0JGxpZ2h0ZW5fa2V5OiAka2V5ICsgJ19saWdodGVuJztcblx0XHRcdEBpZiBtYXAtaGFzLWtleSggJGJyYW5kX2NvbG9ycywgJGxpZ2h0ZW5fa2V5ICkge1xuXHRcdFx0XHQkY29sb3I6ICN7bWFwLWdldCggJGJyYW5kX2NvbG9ycywgJGxpZ2h0ZW5fa2V5ICl9O1xuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdCRjb2xvcjogbGlnaHRlbiggJGNvbG9yLCAxMCUgKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0QGVsc2UgaWYoICdkYXJrZW4nID09ICR2YXJpYW50ICkge1xuXHRcdFx0JGRhcmtlbl9rZXk6ICRrZXkgKyAnX2Rhcmtlbic7XG5cdFx0XHRAaWYgbWFwLWhhcy1rZXkoICRicmFuZF9jb2xvcnMsICRkYXJrZW5fa2V5ICkge1xuXHRcdFx0XHQkY29sb3I6ICN7bWFwLWdldCggJGJyYW5kX2NvbG9ycywgJGRhcmtlbl9rZXkgKX07XG5cdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0JGNvbG9yOiBkYXJrZW4oICRjb2xvciwgMTAlICk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdEByZXR1cm4gJGNvbG9yO1xuXHR9IEBlbHNlIHtcblx0XHRAZXJyb3IgXCJUaGUgI3ska2V5fSBjb2xvciBjb3VsZCBub3QgYmUgZm91bmQgaW4gJGJyYW5kX2NvbG9yc1wiO1xuXHR9XG59XG4iLCIvKipcbiAqIEJ1dHRvbiBSZXNldFxuICpcbiAqL1xuQG1peGluIGJ1dHRvbi1yZXNldCgpIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0cGFkZGluZzogMDtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKipcbiAqIEdyaWQsIENlbnRlciBMYXN0XG4gKlxuICovXG5AbWl4aW4gZ3JpZC1jZW50ZXItbGFzdCggJGNvbHVtbnMgKSB7XG5cdCR0b3RhbF9jb2x1bW5zOiAkY29sdW1ucyAqIDI7XG5cdCRzcGFuOiAkdG90YWxfY29sdW1ucyAvICRjb2x1bW5zO1xuXHQkb2Zmc2V0OiAkY29sdW1ucyAtIDE7XG5cdCRudGgtY2hpbGQ6IGlmKCAkY29sdW1ucyAlIDIgPT0gMCwgJ29kZCcsICdldmVuJyApO1xuXG5cdGRpc3BsYXk6IGdyaWQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCAkdG90YWxfY29sdW1ucywgMWZyICk7XG5cblx0JiA+ICoge1xuXHRcdGdyaWQtY29sdW1uOiBzcGFuICRzcGFuO1xuXG5cdFx0JjpudGgtbGFzdC1jaGlsZCgjeyRvZmZzZXR9KTpudGgtY2hpbGQoI3skbnRoLWNoaWxkfSkge1xuXHRcdFx0Z3JpZC1jb2x1bW46ICRzcGFuIC8gc3BhbiAkc3Bhbjtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBNYXJnaW4sIE5vIEVkZ2VcbiAqIFJlbW92ZXMgbGVmdCBtYXJnaW4gZnJvbSBmaXJzdCBpdGVtLCByaWdodCBtYXJnaW4gZnJvbSBsYXN0IGl0ZW1cbiAqL1xuQG1peGluIG1hcmdpbi1uby1lZGdlKCAkbWFyZ2luICkge1xuICBtYXJnaW46ICRtYXJnaW47XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG59XG5cbi8qKlxuICogSWNvbiBQb3NpdGlvblxuICpcbiAqL1xuQG1peGluIGljb24tcG9zaXRpb24oICRpY29uX3NpemUsICRjb250YWluZXJfc2l6ZTogbnVsbCApIHtcblx0d2lkdGg6ICRpY29uX3NpemU7XG5cdGhlaWdodDogJGljb25fc2l6ZTtcblxuICAgIEBpZiAoICRjb250YWluZXJfc2l6ZSApIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyggKCAjeyRjb250YWluZXJfc2l6ZX0gLSAjeyRpY29uX3NpemV9ICkgLyAyICk7XG4gICAgfVxufVxuXG4vKipcbiAqIEJsb2NrIENvdmVyXG4gKiBDcmVhdGVzIGEgYmxvY2sgdGhhdCBjb3ZlcnMgdGhlIGZ1bGwgd2lkdGgvaGVpZ2h0IG9mIHBhcmVudCBkaXYuIFR5cGljYWxseSB1c2VkIG9uIGEgOmJlZm9yZSBwc2V1ZG8gZWxlbWVudFxuICovXG5AbWl4aW4gYmxvY2stY292ZXIoKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qKlxuICogUGxhY2Vob2xkZXIgQ29sb3JcbiAqXG4gKi9cbkBtaXhpbiBwbGFjZWhvbGRlci1jb2xvciggJGNvbG9yICkge1xuXG4gIDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIFx0Y29sb3I6ICRjb2xvcjtcbiAgXHRvcGFjaXR5OiAxO1xuICB9XG5cbiAgOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBcdGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBcdGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICBpbnB1dDpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgaW5wdXQ6Zm9jdXM6Oi1tb3otcGxhY2Vob2xkZXIsXG4gIGlucHV0OmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgdGV4dGFyZWE6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIHRleHRhcmVhOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyLFxuICB0ZXh0YXJlYTpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBcdGNvbG9yOnRyYW5zcGFyZW50O1xuICB9XG5cbn1cblxuLyoqXG4gKiBDbGVhcmZpeFxuICpcbiAqL1xuQG1peGluIGNsZWFyZml4KCkge1xuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59XG5cbi8qKlxuICogRm9udCBTaXplc1xuICpcbioqL1xuQG1peGluIGZvbnQtc2l6ZXMoICRiYXNlOiBudWxsLCAkdGFibGV0OiBudWxsLCAkbWVkaXVtOiBudWxsLCAkbGFyZ2U6IG51bGwgKSB7XG5cbiAgICBAaWYgKCAkYmFzZSApIHtcbiAgICAgICAgZm9udC1zaXplOiAkYmFzZTtcbiAgICB9XG5cbiAgICBAaWYoICR0YWJsZXQgKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkdGFibGV0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmKCAkbWVkaXVtICkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiggJGxhcmdlICkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRsYXJnZTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKipcbiAqIENvbHVtbnNcbiAqXG4gKi9cbkBtaXhpbiBjb2x1bW5zKCAkY29sdW1ucywgJGdyaWRfaXRlbV9lbGVtZW50OiBhcnRpY2xlLCAkZ2FwOiBudWxsICkge1xuXG5cdEBpZiggJGdhcCA9PSBudWxsICkge1xuXHRcdCRnYXA6ICRncmlkLWdhcDtcblx0fVxuXG5cdCYgPiAjeyRncmlkX2l0ZW1fZWxlbWVudH0ge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbi1sZWZ0OiAkZ2FwIC8gJGdyaWQtd2lkdGggKiAxMDAlO1xuXHRcdHdpZHRoOiAoICggJGdyaWQtd2lkdGggLSAkZ2FwICogKCAkY29sdW1ucyAtIDEgKSApIC8gJGNvbHVtbnMgKSAvICRncmlkLXdpZHRoICogMTAwJTtcblxuXHRcdCY6bnRoLW9mLXR5cGUoI3skY29sdW1uc31uKzEpIHtcblx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0fVxuXHR9XG5cblx0QHN1cHBvcnRzKCBkaXNwbGF5OiBncmlkICkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC1jb2x1bW4tZ2FwOiAkZ2FwO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCAkY29sdW1ucywgMWZyICk7XG5cblx0XHQmID4gI3skZ3JpZF9pdGVtX2VsZW1lbnR9IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0aGVhZGVyLCBuYXYsIGFzaWRlLCBmb290ZXIge1xuXHRcdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBDb2x1bW5zLCBNb2JpbGVcbiAqXG4gKi9cbkBtaXhpbiBjb2x1bW5zLW1vYmlsZSggJGNvbHVtbnMsICRncmlkX2l0ZW1fZWxlbWVudDogYXJ0aWNsZSwgJGdhcDogbnVsbCApIHtcblxuXHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdEBpbmNsdWRlIGNvbHVtbnMoICRjb2x1bW5zLCRncmlkX2l0ZW1fZWxlbWVudCwgJGdhcCApO1xuXHR9XG59XG5cbi8qKlxuICogQ29sdW1ucywgVGFibGV0XG4gKlxuICovXG5AbWl4aW4gY29sdW1ucy10YWJsZXQoICRjb2x1bW5zLCAkZ3JpZF9pdGVtX2VsZW1lbnQ6IGFydGljbGUsICRnYXA6IG51bGwgKSB7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiLCBcIjxtZWRpdW1cIikge1xuXHRcdEBpbmNsdWRlIGNvbHVtbnMoICRjb2x1bW5zLCAkZ3JpZF9pdGVtX2VsZW1lbnQsICRnYXAgKTtcblx0fVxuXG59XG5cbi8qKlxuICogQ29sdW1ucywgVGFibGV0IFVwXG4gKlxuICovXG5AbWl4aW4gY29sdW1ucy10YWJsZXQtdXAoICRjb2x1bW5zLCAkZ3JpZF9pdGVtX2VsZW1lbnQ6IGFydGljbGUsICRnYXA6IG51bGwgKSB7XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0QGluY2x1ZGUgY29sdW1ucyggJGNvbHVtbnMsICRncmlkX2l0ZW1fZWxlbWVudCwgJGdhcCApO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBDb2x1bW5zLCBEZXNrdG9wXG4gKlxuICovXG5AbWl4aW4gY29sdW1ucy1kZXNrdG9wKCAkY29sdW1ucywgJGdyaWRfaXRlbV9lbGVtZW50OiBhcnRpY2xlLCAkZ2FwOiBudWxsICkge1xuXHRAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcblx0XHRAaW5jbHVkZSBjb2x1bW5zKCAkY29sdW1ucywgJGdyaWRfaXRlbV9lbGVtZW50LCAkZ2FwICk7XG5cdH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOFxuLy9cbi8vICAgICAgICAgICAgICAgIGh0dHA6Ly9pbmNsdWRlLW1lZGlhLmNvbVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcblxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lJzogMzIwcHgsXG4gICd0YWJsZXQnOiA3NjhweCxcbiAgJ2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwXG4pICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBEZWZpbmVzIHdoZXRoZXIgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBhdmFpbGFibGUsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgc2VwYXJhdGUgc3R5bGVzaGVldHNcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGlzYWJsZXMgc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAuZm9vIHtcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgZG9lcyBub3QgaW50ZXJjZXB0IHRoZSBkZXNrdG9wIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xuXG4vLy9cbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXG4vLy8gYXJlIG5vdCBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3NjcmVlbicpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdyZXRpbmEyeCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBsb2coJy4uJykge31gIG9yIGAkXzogbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBsb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBsb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU3BhY2VBcm91bmRPcGVyYXRvclxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuICAgIEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAgICAgQHJldHVybiAkb3BlcmF0b3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAvLyByZWx5IG9uIHRoZSBgbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBsb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAkXzogbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gIH0gQGVsc2Uge1xuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG4gIH1cblxuICBAaWYgJG9wZXJhdG9yID09ICc+JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG4gIH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG4gICAgJHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuICBAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9XG4vLy9cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XG4gICAgJF86IGxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcbiAgfVxuXG4gICRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xuICAkcmVzdWx0OiAwO1xuICAkZGlnaXRzOiAwO1xuICAkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XG4gICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xuXG4gIEBpZiBub3QgaW5kZXgobWFwLWtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gYmFzZS1zdHlsZSB7XG5cdGNvbG9yOiAkYmFzZS1jb2xvcjtcblx0Zm9udC1mYW1pbHk6ICRzYW5zLXNlcmlmO1xuXHRAaW5jbHVkZSBmb250LXNpemVzKCAxOHB4LCAyMnB4ICk7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjU1O1xuXG5cdEBtZWRpYSBwcmludCB7XG5cdFx0Zm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG5cdH1cbn1cblxuJXRyYW5zaXRpb24ge1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuJWFsdF9saW5rIHtcblx0Y29sb3I6ICRiYXNlLWNvbG9yO1xuXHRmb250LXdlaWdodDogNDAwO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkaGlnaGxpZ2h0O1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxufVxuXG5cbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogQm94IFNpemluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmh0bWwsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5e1xuXHRkaXJlY3Rpb246bHRyO1xufVxuYm9keS5ydGx7XG5cdGRpcmVjdGlvbjpydGw7XG59XG4vKiBXcmFwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndyYXAge1xuICAgIG1heC13aWR0aDogbWFwLWdldCggJGJyZWFrcG9pbnRzLCAnZGVza3RvcCcgKTtcbiAgICBtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZy1sZWZ0OiAgKCRncmlkLWdhcCAvIDIpO1xuXHRwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ2FwIC8gMik7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4uc2l0ZS1pbm5lciB7XG5cdHBhZGRpbmc6IDM2cHggMDtcblx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0cGFkZGluZzogNDhweCAwO1xuXHR9XG5cblx0LnNpbmd1bGFyLmNvbnRlbnQgJiA+IC53cmFwIHtcblx0XHRtYXgtd2lkdGg6IG1hcC1nZXQoICRicmVha3BvaW50cywgJ2NvbnRlbnQtd2lkdGgnICk7XG5cdH1cbn1cblxuLyogU2NyZWVuIFJlYWRlciBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmdlbmVzaXMtc2tpcC1saW5rIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCxcbi5zY3JlZW4tcmVhZGVyLXRleHQgc3Bhbixcbi5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0IHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMXB4O1xuXHRib3JkZXI6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMsXG4uc2NyZWVuLXJlYWRlci1zaG9ydGN1dDpmb2N1cyAge1xuXHRjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0bztcblx0d2lkdGg6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDFlbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuXHRjb2xvcjogIzMzMztcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0ei1pbmRleDogMTAwMDAwOyAvKiBBYm92ZSBXUCB0b29sYmFyLiAqL1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwwLDAsLjYpO1xufVxuXG4vKiBTaWRlYmFyIExheW91dHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW5jbHVkZSBtZWRpYShcIjxtZWRpdW1cIikge1xuXG5cdC5zaWRlYmFyLXByaW1hcnkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoXCI+PW1lZGl1bVwiKSB7XG5cblx0LmNvbnRlbnQtc2lkZWJhciB7XG5cblx0XHQuc2l0ZS1tYWluIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0d2lkdGg6IDc2OHB4IC8gMTE2OHB4ICogMTAwJTtcblx0XHR9XG5cblx0XHQuc2lkZWJhci1wcmltYXJ5IHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdHdpZHRoOiAzMzVweCAvIDExNjhweCAqIDEwMCU7XG5cdFx0fVxuXG5cdFx0QHN1cHBvcnRzKCBkaXNwbGF5OiAkZ3JpZCApIHtcblx0XHRcdC5jb250ZW50LWFyZWEge1xuXHRcdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzMDBweDtcblx0XHRcdFx0Z3JpZC1jb2x1bW4tZ2FwOiAkZ3JpZC1nYXA7XG5cdFx0XHR9XG5cblx0XHRcdC5zaXRlLW1haW4ge1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1heC13aWR0aDogJGNvbnRlbnQtd2lkdGg7XG5cdFx0XHR9XG5cblx0XHRcdC5zaWRlYmFyLXByaW1hcnkge1xuXHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKiBGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmlucHV0LCBzZWxlY3QsIHRleHRhcmVhIHtcblx0YmFja2dyb3VuZDogJHdoaXRlO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGNvbG9yOiAkYmFzZS1jb2xvcjtcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRsaW5lLWhlaWdodDogMjRweDtcblx0cGFkZGluZzogMTRweCAxNnB4O1xuXHR3aWR0aDogMTAwJTtcbn1cblxuc2VsZWN0IHtcblx0bGluZS1oZWlnaHQ6IDU0cHg7XG5cdGhlaWdodDogNTRweFxufVxuXG50ZXh0YXJlYSB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5AaW5jbHVkZSBwbGFjZWhvbGRlci1jb2xvciggJGdyZXlfNSApO1xuXG4vKiBTZWFyY2ggRm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zZWFyY2gtZm9ybSB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdG1heC13aWR0aDogNDAwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQuc2VhcmNoLWZpZWxkIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZy1yaWdodDogNDRweDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5zZWFyY2gtc3VibWl0IHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0bWluLXdpZHRoOiAwO1xuXHRcdHdpZHRoOiA0NHB4O1xuXHRcdGhlaWdodDogNDRweDtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0yMnB4O1xuXHRcdHJpZ2h0OiAwO1xuXG5cdFx0c3ZnIHtcblx0XHRcdGZpbGw6ICRncmV5Xzc7XG5cdFx0XHRAaW5jbHVkZSBpY29uLXBvc2l0aW9uKCAyMHB4ICk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRmaWxsOiAkaGlnaGxpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG4iLCIvKiBUeXBvZ3JhcGhpY2FsIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYm9keSB7XG5cdEBpbmNsdWRlIGJhc2Utc3R5bGUoKTtcbn1cblxuYSB7XG5cdGNvbG9yOiAkaGlnaGxpZ2h0O1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0QGV4dGVuZCAldHJhbnNpdGlvbjtcblxuXHQmOmhvdmVyIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHRzdmcge1xuXHRcdEBleHRlbmQgJXRyYW5zaXRpb247XG5cdH1cbn1cblxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxub2wsXG51bCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuY29kZSxcbnByZSB7XG5cdGZvbnQtZmFtaWx5OiBNb25hY28sIE1lbmxvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5cdGZvbnQtc2l6ZTogMTJweDtcbn1cblxuY29kZSB7XG5cdHBhZGRpbmc6IDJweCA0cHg7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbnByZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiA5LjVweDtcblx0bWFyZ2luOiAwIDAgMTBweDtcblx0bGluZS1oZWlnaHQ6IDE4cHg7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXHR3aGl0ZS1zcGFjZTogcHJlO1xuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbnByZSBjb2RlIHtcblx0cGFkZGluZzogMDtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlcjogMDtcbn1cblxuY2l0ZSB7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmNsZWFyZml4IHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8qIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbnAge1xuXHRtYXJnaW46IDAgMCAkYmFzZS1tYXJnaW47XG5cdHBhZGRpbmc6IDA7XG5cblx0Ji5sYXJnZSxcblx0Ji5oYXMtbGFyZ2UtZm9udC1zaXplIHtcbiAgICBcdEBpbmNsdWRlIGZvbnQtc2l6ZXMoIDIxcHgsIDI0cHggKTtcblx0fVxuXG5cdCYuaGFzLW5vcm1hbC1mb250LXNpemUge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZXMoIDE4cHgsIDIwcHggKTtcblx0fVxuXG5cdCYuc21hbGwsXG5cdCYuaGFzLXNtYWxsLWZvbnQtc2l6ZSB7XG5cdCAgICBmb250LXNpemU6IDE0cHg7XG5cdH1cbn1cblxuLyogSGVhZGluZ3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRjb2xvcjogJGdyZXlfMTA7XG5cdGZvbnQtZmFtaWx5OiAkc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdG1hcmdpbjogMCAwIDE2cHg7XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRncmV5XzEwO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGhpZ2hsaWdodDtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHR9XG59XG5cbmgxIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemVzKCAzNHB4LCA0MnB4LCA0NnB4ICk7XG59XG5cbmgyIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemVzKCAyNnB4LCAzMnB4LCAzNnB4ICk7XG59XG5cbmgzIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemVzKCAyMnB4LCAyNnB4LCAyOHB4ICk7XG59XG5cbmg0LCBoNSwgaDYge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZXMoIDE4cHgsIDIycHggKTtcbn1cbiIsIi8qIEJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRkZWZhdWx0OiBudGgoIG50aCggJGJyYW5kX2NvbG9ycywgMSApLCAxICk7IC8vIGZpcnN0IGNvbG9yIGluICRicmFuZF9jb2xvcnMgYXJyYXlcblxuLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG5cdGJvcmRlcjogMnB4IHNvbGlkIGJyYW5kLWNvbG9yKCAkZGVmYXVsdCwgJ2RhcmtlbicgKTtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRwYWRkaW5nOiAxNnB4IDMycHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHQuaXMtc3R5bGUtZnVsbCAmLFxuXHQmLmZ1bGwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cblx0Jjpub3QoLmhhcy10ZXh0LWNvbG9yKSB7XG5cdFx0Y29sb3I6IHdoaXRlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Jjpub3QoLmhhcy1iYWNrZ3JvdW5kKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogYnJhbmQtY29sb3IoICRkZWZhdWx0ICk7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogYnJhbmQtY29sb3IoICRkZWZhdWx0LCAnZGFya2VuJyApO1xuXHRcdH1cblx0fVxuXG5cdEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJyYW5kX2NvbG9ycyB7XG5cblx0XHQmLmhhcy0jeyRuYW1lfS1jb2xvcjpob3Zlcixcblx0XHQmLmhhcy0jeyRuYW1lfS1jb2xvcjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJGNvbG9yO1xuXHRcdH1cblxuXHRcdCYuaGFzLSN7JG5hbWV9LWJhY2tncm91bmQtY29sb3I6aG92ZXIsXG5cdFx0Ji5oYXMtI3skbmFtZX0tYmFja2dyb3VuZC1jb2xvcjpmb2N1cyB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBicmFuZC1jb2xvciggJG5hbWUsICdkYXJrZW4nICk7XG5cdFx0fVxuXHR9XG5cbn1cblxuLyogQmxvY2txdW90ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmJsb2NrcXVvdGUsXG5ibG9ja3F1b3RlLndwLWJsb2NrLXF1b3RlIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uL2ljb25zL3V0aWxpdHkvcXVvdGUuc3ZnKSBuby1yZXBlYXQgdG9wIGxlZnQ7XG5cdGJhY2tncm91bmQtc2l6ZTogMzZweCBhdXRvO1xuXHRwYWRkaW5nLXRvcDogMzZweCArIDExcHg7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdC5ydGwgJiB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0fVxuXG5cdHAge1xuXHRcdGNvbG9yOiAkYmFzZS1jb2xvcjtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdH1cblxuXHRjaXRlLFxuXHQud3AtYmxvY2stcXVvdGVfX2NpdGF0aW9uIHtcblx0XHRjb2xvcjogJGJhc2UtY29sb3I7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bWFyZ2luLXRvcDogMTJweDtcblx0XHRvcGFjaXR5OiAuNTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR9XG5cbiAgICBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG59XG5cbi8qIFNlcGFyYXRvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay1zZXBhcmF0b3IsXG5ociB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDMycHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGJhY2tncm91bmQ6ICRib3JkZXItY29sb3I7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi10b3A6IC0uNXB4O1xuXHR9XG59XG5cbi8qIEltYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuaW1nIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1heC13aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xuXG5cdCYuYWxpZ25sZWZ0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDAgJGJsb2NrLW1hcmdpbiAkYmxvY2stbWFyZ2luIDA7XG5cdH1cblxuXHQmLmFsaWducmlnaHQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW46IDAgMCAkYmxvY2stbWFyZ2luICRibG9jay1tYXJnaW47XG5cdH1cblxuXHQmLmFsaWduY2VudGVyIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxufVxuXG4ud3AtYmxvY2staW1hZ2UgZmlnY2FwdGlvbiB7XG5cdGNvbG9yOiAkZ3JleV83O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogVGFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndwLWJsb2NrLXRhYmxlICB7XG5cbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG5cdHRkLCB0aCB7XG5cdFx0cGFkZGluZzogLjVlbTtcblx0ICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuXHR9XG59XG5cbi8qIENvbG9yIE9wdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AZWFjaCAkbmFtZSwgJGNvbG9yIGluICRicmFuZF9jb2xvcnMge1xuXG5cdC5oYXMtI3skbmFtZX0tY29sb3Ige1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cblxuXHQuaGFzLSN7JG5hbWV9LWJhY2tncm91bmQtY29sb3Ige1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblx0fVxufVxuXG4vKiBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi53cC1ibG9jay1ncm91cCB7XG5cdHBhZGRpbmc6IDQwcHggMTZweDtcblxuXHRAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblx0XHRwYWRkaW5nOiA2MHB4IDE2cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYShcIj49bWVkaXVtXCIpIHtcblx0XHRwYWRkaW5nOiA3MHB4IDE2cHg7XG5cdH1cblxuXHQud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAkY29udGVudF93aWR0aDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRcdCYgPiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQvLyBEYXJrIGJhY2tncm91bmRcblx0Ji5oYXMtYmFja2dyb3VuZDpub3QoLmhhcy1ncmV5LWJhY2tncm91bmQtY29sb3IpIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0aDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCB7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0fVxufVxuIiwiLyogV1BGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbmRpdi53cGZvcm1zLWNvbnRhaW5lciB7XG5cblx0LndwZm9ybXMtdGl0bGUge1xuXHQgICAgQGluY2x1ZGUgZm9udC1zaXplcyggMjRweCwgMzJweCApO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRtYXJnaW46IDAgMCAxNnB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxuXHQud3Bmb3Jtcy1kZXNjcmlwdGlvbiB7XG5cdFx0bWFyZ2luOiAwIDAgMTZweDtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cblx0LndwZm9ybXMtZmllbGQge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcblx0fVxuXG5cdC53cGZvcm1zLWZpZWxkLWxhYmVsIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblxuXHQud3Bmb3Jtcy1yZWNhcHRjaGEtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAtNzhweDtcblx0XHR9XG5cdH1cblxuXHQud3Bmb3Jtcy1zdWJtaXQtY29udGFpbmVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbi10b3A6IDMycHg7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuXHQmLm9uZS1saW5lIHtcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cblx0XHRcdC53cGZvcm1zLWZpZWxkLWNvbnRhaW5lciB7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpO1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblxuXHRcdFx0XHQud3Bmb3Jtcy1maWVsZCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1zdWJtaXQtY29udGFpbmVyIHtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHR3aWR0aDogMTEwcHg7XG5cdFx0XHRcdGNsZWFyOiBub25lO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIFNoYXJlZCBDb3VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2hhcmVkLWNvdW50cy13cmFwIHtcblxuXHQmLnN0eWxlLWljb24ge1xuXG5cdFx0c3ZnIHtcblx0XHRcdGZpbGw6ICRncmV5XzU7XG5cdFx0XHRAaW5jbHVkZSBpY29uLXBvc2l0aW9uKCAyNHB4ICk7XG5cdFx0fVxuXG5cdFx0LnNoYXJlZC1jb3VudHMtYnV0dG9uIHtcblx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdFx0cGFkZGluZzogMTBweDtcblxuXHRcdFx0Jjpob3ZlciBzdmcge1xuXHRcdFx0XHRmaWxsOiAkaGlnaGxpZ2h0O1xuXHRcdFx0fVxuXG5cdFx0XHQmOm5vdCguaW5jbHVkZWRfdG90YWwpIHtcblx0XHRcdFx0LnNoYXJlZC1jb3VudHMtbGFiZWwsXG5cdFx0XHRcdC5zaGFyZWQtY291bnRzLWNvdW50IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5zdHlsZS1idXR0b24ge1xuXG5cdFx0QHN1cHBvcnRzKCBkaXNwbGF5OiAkZ3JpZCApIHtcblx0XHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCggMiwgMWZyICk7XG5cdFx0XHRncmlkLWNvbHVtbi1nYXA6IDE2cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCggNCwgMWZyICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aDMge1xuXHRcdFx0Y29sb3I6ICRncmV5Xzg7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGdyaWQtY29sdW1uOiAxIC8gLTE7XG5cdFx0fVxuXG5cdFx0LnNoYXJlZC1jb3VudHMtYnV0dG9uIHtcblx0XHRcdGJhY2tncm91bmQ6ICRncmV5XzY7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0cGFkZGluZzogMThweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleV84O1xuXHRcdFx0fVxuXG5cdFx0XHRzdmcge1xuXHRcdFx0XHRmaWxsOiAkd2hpdGU7XG5cdFx0XHRcdEBpbmNsdWRlIGljb24tcG9zaXRpb24oIDI0cHggKTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLmZhY2Vib29rIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGZhY2Vib29rO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbiggJGZhY2Vib29rLCAxMCUgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnBpbnRlcmVzdCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRwaW50ZXJlc3Q7XG5cblx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCAkcGludGVyZXN0LCAxMCUgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLnR3aXR0ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkdHdpdHRlcjtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBkYXJrZW4oICR0d2l0dGVyLCAxMCUgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zaGFyZWQtY291bnRzLWNvdW50IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVx0XHRcblx0fVxufVxuIiwiIiwiLyogU2l0ZSBIZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnNpdGUtaGVhZGVyIHtcclxuXHRiYWNrZ3JvdW5kOiBicmFuZC1jb2xvcignbWFpbicpO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiA0OXB4O1xyXG5cclxuXHQud3JhcCB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG4udGl0bGUtYXJlYSB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiAkbG9nb193aWR0aDtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cclxuXHQucnRsICYge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHJcblx0aDEuc2l0ZS10aXRsZSxcclxuXHRwLnNpdGUtdGl0bGUge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDMwcHg7XHJcblx0XHRmb250LWZhbWlseTogJHNlcmlmO1xyXG5cdFx0cGFkZGluZzogOHB4O1xyXG5cclxuXHRcdGEge1xyXG5cdFx0XHRjb2xvcjogJGdyZXlfMjtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKFwiPD1tb2JpbGVfbWVudVwiKSB7XHJcblx0XHJcblxyXG5cdFx0LnNpdGUtdGl0bGUgYSB7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdFx0XHRoZWlnaHQ6IDQ4cHg7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogYXV0byA0MnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG59XHJcblxyXG5cclxuLyogQWRtaW4gQmFyXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQGluY2x1ZGUgbWVkaWEoXCI+NzgycHhcIikge1xyXG5cdC5hZG1pbi1iYXIgLnNpdGUtY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmctdG9wOiAzMnB4O1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoXCI8PTc4MnB4XCIpIHtcclxuXHQjd3BhZG1pbmJhciB7XHJcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcblxyXG4vKiBQZXJzaXN0ZW50IEhlYWRlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbkBpZigkcGVyc2lzdGVudF9kZXNrdG9wKSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoXCI+bW9iaWxlX21lbnVcIikge1xyXG5cclxuXHRcdC5zaXRlLWNvbnRhaW5lciB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAkcGVyc2lzdGVudF9kZXNrdG9wO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zaXRlLWhlYWRlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ei1pbmRleDogOTk5O1xyXG5cdFx0XHRoZWlnaHQ6ICRwZXJzaXN0ZW50X2Rlc2t0b3A7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+NzgycHhcIikge1xyXG5cdFx0XHQuYWRtaW4tYmFyIHtcclxuXHJcblx0XHRcdFx0LnNpdGUtY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAzMnB4ICsgJHBlcnNpc3RlbnRfZGVza3RvcDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5zaXRlLWhlYWRlciB7XHJcblx0XHRcdFx0XHR0b3A6IDMycHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5AaWYoJHBlcnNpc3RhbnRfbW9iaWxlKSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoXCI8PW1vYmlsZV9tZW51XCIpIHtcclxuXHJcblx0XHQuc2l0ZS1jb250YWluZXIge1xyXG5cdFx0XHRwYWRkaW5nLXRvcDogJHBlcnNpc3RhbnRfbW9iaWxlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5zaXRlLWhlYWRlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ei1pbmRleDogOTk5O1xyXG5cclxuXHRcdFx0b3ZlcmZsb3c6IHNjcm9sbDtcclxuXHRcdFx0bWF4LWhlaWdodDogMTAwdmg7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+NzgycHhcIikge1xyXG5cdFx0XHQuYWRtaW4tYmFyIHtcclxuXHJcblx0XHRcdFx0LnNpdGUtY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAzMnB4ICsgJHBlcnNpc3RhbnRfbW9iaWxlO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnNpdGUtaGVhZGVyIHtcclxuXHRcdFx0XHRcdHRvcDogMzJweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0fVxyXG59IiwiLyogTmF2aWdhdGlvblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ubmF2LW1lbnUge1xyXG5cclxuXHQmPioge1xyXG5cdFx0bGluZS1oZWlnaHQ6IDA7XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRjbGVhcjogYm90aDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQubWVudS1pdGVtIHtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGJvcmRlcjogbm9uZTtcclxuXHRcdFx0Y29sb3I6ICRncmV5XzE7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG5cdFx0XHRwYWRkaW5nOiAxM3B4IDE4cHg7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXI+YSB7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRncmV5Xzk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtaXRlbT5hLFxyXG5cdFx0Ji5jdXJyZW50LW1lbnUtYW5jZXN0b3I+YSB7XHJcblx0XHRcdGNvbG9yOiAjMDAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnN1Ym1lbnUtZXhwYW5kIHtcclxuXHRcdEBpbmNsdWRlIGJ1dHRvbi1yZXNldDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0XHRsZWZ0OiAwcHg7XHJcblxyXG5cdFx0LnJ0bCAmIHtcclxuXHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0cmlnaHQ6IDBweDtcclxuXHRcdH1cclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRmaWxsOiAkZ3JleV83O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm5hdi1zZWNvbmRhcnkge1xyXG5cdFx0Lm1lbnUtaXRlbS5zZWFyY2gge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9bW9iaWxlX21lbnVcIikge1xyXG5cdFx0XHRcdHBhZGRpbmc6IDRweCAxNnB4IDE2cHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPm1vYmlsZV9tZW51XCIpIHtcclxuXHRcdFx0XHRtYXJnaW46IDVweCAwIDAgOHB4O1xyXG5cclxuXHRcdFx0XHQuc2VhcmNoLWZpZWxkIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA4cHg7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogOHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDI2OHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm5hdi1wcmltYXJ5IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQubWVudS1pdGVtLnNlYXJjaCB7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xyXG5cclxuXHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAxMnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIjw9bW9iaWxlX21lbnVcIikge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5sYW5ndWFnZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogMDtcclxuXHJcblx0XHQucnRsICYge1xyXG5cdFx0XHRsZWZ0OiAtNTBweDtcclxuXHRcdFx0cmlnaHQ6IHVuc2V0O1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PTc2OHB4XCIpIHtcclxuXHRcdFx0cG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdC5ydGwgJiB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoXCI+bW9iaWxlX21lbnVcIikge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtICN7JG1lbnVfd2lkdGh9KTtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlIG5vd3JhcDtcclxuXHJcblx0XHQubmF2LXByaW1hcnksXHJcblx0XHQubmF2LXNlY29uZGFyeSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHRcdH1cclxuXHJcblx0XHQubmF2LXByaW1hcnkrLm5hdi1zZWNvbmRhcnkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQubWVudSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdG1hcmdpbi1yaWdodDogLTExMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5tZW51LWl0ZW0ge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHJcblx0XHRcdC5ydGwgJiB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHJcblx0XHRcdFx0Jj4uc3ViLW1lbnUge1xyXG5cdFx0XHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnN1Yi1tZW51IHtcclxuXHRcdFx0YmFja2dyb3VuZDogJGdyZXlfMjtcclxuXHRcdFx0bGVmdDogLTk5OTlweDtcclxuXHJcblx0XHRcdC5ydGwgJiB7XHJcblx0XHRcdFx0cmlnaHQ6IC05OTk5cHg7XHJcblx0XHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0b3BhY2l0eTogMDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR3aWR0aDogMjE1cHg7XHJcblx0XHRcdHotaW5kZXg6IDk5O1xyXG5cclxuXHRcdFx0Lm1lbnUtaXRlbSB7XHJcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXI+YSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleV8zO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnN1Yi1tZW51IHtcclxuXHRcdFx0XHRtYXJnaW46IC00OHB4IDAgMCAyMTVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoXCI8PW1vYmlsZV9tZW51XCIpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblxyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAkZ3JleV8zO1xyXG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCAtNDhweDtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA5NnB4KTtcclxuXHRcdH1cclxuXHJcblx0XHQubWVudT4ubWVudS1pdGVtPmEge1xyXG5cdFx0XHRwYWRkaW5nOiAxMXB4IDE4cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnN1Ym1lbnUtZXhwYW5kIHtcclxuXHRcdFx0dG9wOiAwO1xyXG5cclxuXHRcdFx0bGVmdDogMDtcclxuXHJcblx0XHRcdC5ydGwgJiB7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0bGVmdDogYXV0bztcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dHJhbnNmb3JtOiBub25lO1xyXG5cdFx0XHRAaW5jbHVkZSBpY29uLXBvc2l0aW9uKDQ0cHgpO1xyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBpY29uLXBvc2l0aW9uKDEycHgpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm5vdCguZXhwYW5kZWQpIHtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmV4cGFuZGVkIHtcclxuXHJcblx0XHRcdFx0Jisuc3ViLW1lbnUge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnN1Yi1tZW51IHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogNDBweDtcclxuXHJcblx0XHRcdC5ydGwgJiB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiA0MHB4O1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHk6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8qIFRvZ2dsZXNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uc2VhcmNoLXRvZ2dsZSxcclxuLm1lbnUtdG9nZ2xlIHtcclxuXHJcblx0QGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xyXG5cdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0LmNsb3NlIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyLFxyXG5cdCYuYWN0aXZlIHtcclxuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdH1cclxuXHJcblx0Ji5hY3RpdmUge1xyXG5cclxuXHRcdC5jbG9zZSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHRcdH1cclxuXHJcblx0XHQub3BlbiB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uc2l0ZS1oZWFkZXIgLndyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKFwiPD1tb2JpbGVfbWVudVwiKSB7XHJcblx0XHRwYWRkaW5nOiAwIDhweDtcclxuXHR9XHJcblxyXG5cdCY+Lm1lbnUtdG9nZ2xlLFxyXG5cdCY+LnNlYXJjaC10b2dnbGUge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAwO1xyXG5cdFx0d2lkdGg6IDQ4cHg7XHJcblx0XHRoZWlnaHQ6IDQ4cHg7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRtYXJnaW46IGF1dG87XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+bW9iaWxlX21lbnVcIikge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jj4ubWVudS10b2dnbGUge1xyXG5cdFx0cmlnaHQ6IDA7XHJcblxyXG5cdFx0LnJ0bCAmIHtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0cmlnaHQ6IGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmPi5zZWFyY2gtdG9nZ2xlIHtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cclxuXHRcdC5ydGwgJiB7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHJpZ2h0OiBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogSGVhZGVyIFNlYXJjaFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5oZWFkZXItc2VhcmNoIHtcclxuXHRiYWNrZ3JvdW5kOiAkZ3JleV8zO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cGFkZGluZzogMTZweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IC04MnB4O1xyXG5cdFx0cmlnaHQ6IDA7XHJcblxyXG5cdFx0LnNlYXJjaC1mb3JtIHtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYShcIjw9bW9iaWxlX21lbnVcIikge1xyXG5cdFx0bWFyZ2luOiAwIC00OHB4O1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSArIDk2cHgpO1xyXG5cdH1cclxuXHJcblx0Jjpub3QoLmFjdGl2ZSkge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG59XHJcblxyXG4uaGFtYnVyZ2VyIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cclxuXHR6LWluZGV4OiA5OTk5O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogMDtcclxuXHRcclxuXHRtYXJnaW46IDE1cHg7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0LnJ0bCAme1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHJpZ2h0OiB1bnNldDtcclxuXHJcblx0fVxyXG5cdFxyXG5cclxuXHRAaW5jbHVkZSBtZWRpYShcIjw9NzY4cHhcIikge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG59XHJcblxyXG4uc2hvdyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn0iLCIvKiBQb3N0IFN1bW1hcnlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnBvc3Qtc3VtbWFyeSB7XG5cdG1hcmdpbi1ib3R0b206ICRncmlkLWdhcDtcbn1cblxuLnBvc3Qtc3VtbWFyeV9fdGl0bGUge1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdG1hcmdpbjogMDtcblxuXHRhIHtcblx0XHRjb2xvcjogJGdyZXlfMTA7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGhpZ2hsaWdodDtcblx0XHR9XG5cdH1cbn1cblxuLnBvc3Qtc3VtbWFyeV9faW1hZ2Uge1xuXHRkaXNwbGF5OiBibG9jaztcblx0QGluY2x1ZGUgbWVkaWEoXCI+c21hbGxcIikge1xuXHRcdG1hcmdpbi1ib3R0b206IDEycHg7XG5cdH1cbn1cblxuLmVudHJ5LWNhdGVnb3J5IHtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG5cblx0YSB7XG5cdFx0Y29sb3I6ICRncmV5Xzg7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGhpZ2hsaWdodDtcblx0XHR9XG5cdH1cbn1cbiIsIi5hcmNoaXZlIHtcclxuXHJcblx0LnNpdGUtbWFpbiB7XHJcbmgxe1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cdFx0LmJsb2NrLWFyZWEsXHJcblx0XHQubm8tcmVzdWx0cyB7XHJcblx0XHRcdGdyaWQtY29sdW1uOiAxIC8gLTE7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDQ4cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+c21hbGxcIiwgXCI8bWVkaXVtXCIpIHtcclxuXHRcdFx0QGluY2x1ZGUgY29sdW1ucyg0KTtcclxuXHRcdH0gXHJcbiBcclxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPj1tZWRpdW1cIikge1xyXG5cdFx0XHRAaW5jbHVkZSBjb2x1bW5zKDYpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLyogQXJjaGl2ZSBIZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uYXJjaGl2ZS1kZXNjcmlwdGlvbiB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogJGNvbnRlbnQtd2lkdGg7XHJcblx0bWFyZ2luOiAwIGF1dG8gJGdyaWQtZ2FwO1xyXG5cclxuXHQmID4gKjpsYXN0LWNoaWxkIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHQuc2VhcmNoLWZvcm0ge1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0fVxyXG5cclxufVxyXG5cclxuLmF1dGhvci1hcmNoaXZlLWRlc2NyaXB0aW9uIHtcclxuXHJcblx0LmF2YXRhciB7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogMCBhdXRvIDE2cHg7XHJcblx0fVxyXG5cclxuXHRoMzpsYXN0LWNoaWxkIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiA0OHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmF1dGhvci10aXRsZSB7XHJcblx0Y29sb3I6ICRncmV5Xzg7XHJcblx0QGluY2x1ZGUgZm9udC1zaXplcyggMThweCwgMjBweCApO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLyogRW50cnkgTmF2aWdhdGlvblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5wYWdpbmF0aW9uIHtcclxuXHRib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHBhZGRpbmctdG9wOiAyMnB4O1xyXG5cclxuXHR1bCB7XHJcblx0XHRtYXJnaW46IDA7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkYmFzZS1jb2xvcjtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0d2lkdGg6IDI5cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyOXB4O1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5wYWdpbmF0aW9uLW5leHQgYSxcclxuXHRcdFx0Ji5wYWdpbmF0aW9uLXByZXZpb3VzIGEge1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyID4gYSB7XHJcblx0XHRcdFx0Y29sb3I6ICRoaWdobGlnaHQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuYWN0aXZlID4gYSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogJGhpZ2hsaWdodDtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyogU2luZ3VsYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogRW50cnkgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5lbnRyeS1jb250ZW50IHtcblx0QGltcG9ydCBcImVudHJ5LWNvbnRlbnRcIjtcbn1cblxuLmVudHJ5LWNvbnRlbnQgPiAqLFxuLmJsb2NrLWFyZWEgPiAqIHtcblx0bWFyZ2luOiAkYmxvY2stbWFyZ2luIDA7XG5cdG1heC13aWR0aDogMTAwJTtcblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG5cblx0LmZ1bGwtd2lkdGgtY29udGVudCAmLFxuXHQuY29udGVudCAmIHtcblx0XHQmLmFsaWdud2lkZSB7XG5cdFx0XHRtYXJnaW46IGNhbGMoMiAqICN7JGJsb2NrLW1hcmdpbn0pIGNhbGMoNTAlIC0gNTB2dyk7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMHZ3O1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0XHRtYXJnaW46IGNhbGMoMiAqICN7JGJsb2NrLW1hcmdpbn0pIGNhbGMoMjUlIC0gMjV2dyk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji5hbGlnbmZ1bGwge1xuXHRcdFx0bWFyZ2luOiBjYWxjKDIgKiAjeyRibG9jay1tYXJnaW59KSBjYWxjKDUwJSAtIDUwdncpO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDB2dztcblx0XHRcdHdpZHRoOiAxMDB2dztcblx0XHR9XG5cdH1cblxuXHQmLmFsaWdubGVmdCB7XG5cdFx0LypydGw6aWdub3JlKi9cblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDAgJGJsb2NrLW1hcmdpbiAkYmxvY2stbWFyZ2luIDA7XG5cdH1cblxuXHQmLmFsaWducmlnaHQge1xuXHRcdC8qcnRsOmlnbm9yZSovXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbjogMCAwICRibG9jay1tYXJnaW4gJGJsb2NrLW1hcmdpbjtcblx0fVxuXG5cdCYuYWxpZ25jZW50ZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxuXG5cdCYud3AtYmxvY2stcXVvdGUsXG5cdCYucG9zdC1saXN0aW5nLWJsb2NrIHtcblx0XHRtYXJnaW4tdG9wOiBjYWxjKDIgKiAjeyRibG9jay1tYXJnaW59KTtcblx0XHRtYXJnaW4tYm90dG9tOiBjYWxjKDIgKiAjeyRibG9jay1tYXJnaW59KTtcblx0fVxuXG5cdCYud3AtYmxvY2stc2VhcmNoIHtcblx0XHRtYXgtd2lkdGg6IDU2OHB4O1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxufVxuXG4uZW50cnktY29udGVudCA+IC5hbGlnbmZ1bGwge1xuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAtMzZweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0bWFyZ2luLXRvcDogLTQ4cHg7XG5cdFx0fVxuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAtMzZweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogLTQ4cHg7XG5cdFx0fVxuXHR9XG59XG5cbi8qIEVudHJ5IE1ldGFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uZW50cnktYXV0aG9yIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXG5cdC5hdmF0YXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkYmFzZS1jb2xvcjtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkaGlnaGxpZ2h0O1xuXHRcdH1cblx0fVxufVxuXG4uYnJlYWRjcnVtYiB7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogMjRweDtcblxuXHRhIHtcblx0XHRjb2xvcjogJGJhc2UtY29sb3I7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAkaGlnaGxpZ2h0O1xuXHRcdH1cblx0fVxuXG5cdC5zaW5nbGUgJiB7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdFx0cGFkZGluZy10b3A6IDMycHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbi5hdXRob3ItYm94IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuXHRtaW4taGVpZ2h0OiAxMjBweDtcblxuXHQuYXJjaGl2ZSAmIHtcblx0XHRncmlkLWNvbHVtbjogMSAvIC0xO1xuXHRcdG1heC13aWR0aDogJGNvbnRlbnQtd2lkdGg7XG5cdFx0bWFyZ2luOiAwIGF1dG8gJGdyaWQtZ2FwO1xuXHR9XG5cblx0LmF1dGhvci1ib3gtdGl0bGUge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZXMoMjJweCwgMjhweCk7XG5cdH1cblxuXHQuYXZhdGFyIHtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHR9XG59XG5cbi8qIFNpbmdsZSBQb3N0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLnNpbmd1bGFyIHtcblx0LnNpdGUtaW5uZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWluLWhlaWdodDogY2FsYygxMDB2aCAtIDE3MXB4KTtcblx0fVxuXG5cdC5lbnRyeS1oZWFkZXIge1xuXHRcdC8vZGlzcGxheTogbm9uZTtcblxuXHRcdG1hcmdpbi1ib3R0b206IDE4cHg7XG5cdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdGJhY2tncm91bmQ6IGJyYW5kLWNvbG9yKFwibWFpblwiKTtcblx0XHRtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcblx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXG5cdFx0cGFkZGluZzogNDBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRoMSxcblx0XHRoMiB7XG5cdFx0XHRtYXgtd2lkdGg6IDEyMDBweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0Y29sb3I6ICM0MjQyNDI7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXHRcblx0XHRAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQ4cHg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHQuZW50cnktYXV0aG9yIHtcblx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblxuXHRcdFx0LnNoYXJlZC1jb3VudHMtd3JhcCB7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQqOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuLnJ0bC5zaW5ndWxhciAuZW50cnktaGVhZGVyIHtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogY2FsYyg1MCUgLSA1MHZ3KTtcbn1cblxuLmFmdGVyLWVudHJ5IHtcblx0JiA+ICoge1xuXHRcdG1hcmdpbjogMjRweCAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0XHRtYXJnaW46IDQycHggMDtcblx0XHR9XG5cdH1cblxuXHQucHVibGlzaC1kYXRlIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbi5yZWxhdGVkLXBvc3RzIHtcblx0QHN1cHBvcnRzIChkaXNwbGF5OiAkZ3JpZCkge1xuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cdFx0XHRncmlkLWNvbHVtbi1nYXA6IDE2cHg7XG5cblx0XHRcdGhlYWRlciB7XG5cdFx0XHRcdGdyaWQtY29sdW1uOiAxIC8gLTE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmVudHJ5LWNvbW1lbnRzIHtcblx0LmNvbW1lbnQtbGlzdCB7XG5cdFx0bWFyZ2luOiAwIDAgJG1hcmdpbl8yeDtcblxuXHRcdGxpIHtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRncmV5XzM7XG5cblx0XHRcdGFydGljbGUge1xuXHRcdFx0XHRwYWRkaW5nOiAkYmFzZS1tYXJnaW47XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblxuXHRcdFx0Ji5zdGFmZiA+IGFydGljbGUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRoaWdobGlnaHQsIDAuMDUpO1xuXHRcdFx0XHRib3JkZXItbGVmdDogMnB4IHNvbGlkICRoaWdobGlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0JiA+IGxpIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdH1cblxuXHRcdC5jb21tZW50LWF1dGhvciB7XG5cdFx0XHRjb2xvcjogJGJhc2UtY29sb3I7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRzZXJpZjtcblx0XHRcdEBpbmNsdWRlIGZvbnQtc2l6ZXMoMThweCwgMjJweCk7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGJhc2UtY29sb3I7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRjb2xvcjogJGhpZ2hsaWdodDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuc2F5cyB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNvbW1lbnQtZWRpdC1saW5rIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmNvbW1lbnQtbWV0YSB7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRjb2xvcjogJGdyZXlfNjtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRjb2xvcjogJGdyZXlfNjtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkaGlnaGxpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNvbW1lbnQtY29udGVudCB7XG5cdFx0XHRwOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNvbW1lbnQtcmVwbHktbGluayB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDE2cHg7XG5cdFx0XHRsZWZ0OiAxNnB4O1xuXG5cdFx0XHQucnRsICYge1xuXHRcdFx0XHRyaWdodDogMTZweDtcblx0XHRcdFx0bGVmdDogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cblx0XHR1bC5jaGlsZHJlbiB7XG5cdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5uYXYtbGlua3Mge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcblxuXHQubmF2LXByZXZpb3VzIHtcblx0XHRmbG9hdDogbGVmdDtcblxuXHRcdC5ydGwgJiB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0Lm5hdi1uZXh0IHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cblx0XHQucnRsICYge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXHR9XG59XG5cbi5jb21tZW50LW5hdmlnYXRpb24ge1xuXHRhIHtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cbn1cblxuLmNvbW1lbnQtcmVzcG9uZCB7XG5cdG1hcmdpbjogMzBweCAwO1xuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdG1hcmdpbjogNjBweCAwO1xuXHR9XG5cblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1yaWdodDogMTJweDtcblxuXHRcdCZbZm9yPVwic3Vic2NyaWJlXCJdLFxuXHRcdCZbZm9yPVwid3AtY29tbWVudC1jb29raWVzLWNvbnNlbnRcIl0ge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdC5jb21tZW50LWZvcm0tYXV0aG9yLFxuXHRcdC5jb21tZW50LWZvcm0tZW1haWwge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTtcblx0XHR9XG5cblx0XHQuY29tbWVudC1mb3JtLWVtYWlsIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAzMnB4O1xuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0fVxuXHR9XG59XG4iLCJ1bCwgb2wge1xuXHRwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcblxuXHRsaSB7XG5cdFx0cGFkZGluZy1ib3R0b206IC41cmVtO1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdHVsLCBvbCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogLjVyZW07XG5cdFx0fVxuXHR9XG5cblx0Ji53cC1ibG9jay1nYWxsZXJ5IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cblx0XHRsaSB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qIEZvb3RlciBXaWRnZXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5mb290ZXItd2lkZ2V0cyB7XG5cdGJhY2tncm91bmQ6IGJyYW5kLWNvbG9yKFwibWFpblwiKTtcblx0cGFkZGluZzogNDBweCAwIDEwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHR1bCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0fVxuXG5cdGxpIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0fVxuXG5cdC53aWRnZXQtdGl0bGUge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0ZmlsbDogJHdoaXRlO1xuXHRcdFx0QGluY2x1ZGUgaWNvbi1wb3NpdGlvbigyMHB4KTtcblx0XHRcdG1hcmdpbi1yaWdodDogMTJweDtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuXHRcdC5zb2NpYWwtbGlua3MgbGkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdC5zb2NpYWwtbGlua3MgLmxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0LmZvb3Rlci13aWRnZXRzLTEge1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSA4cHgpO1xuXHRcdH1cblxuXHRcdC5mb290ZXItd2lkZ2V0cy0yIHtcblx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDhweCk7XG5cdFx0fVxuXG5cdFx0LmZvb3Rlci13aWRnZXRzLTMge1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdC53cmFwIHtcblx0XHRcdEBpbmNsdWRlIGNvbHVtbnMoMywgXCJkaXZcIik7XG5cdFx0fVxuXHR9XG59XG5cbi8qIFNpdGUgRm9vdGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zaXRlLWZvb3RlciB7XG5cdGJhY2tncm91bmQ6IGJyYW5kLWNvbG9yKFwibWFpblwiKTtcblx0Y29sb3I6IHJnYmEoJHdoaXRlLCAwLjc1KTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRwYWRkaW5nOiAzMnB4IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogNTBweDtcblx0cGFkZGluZy1sZWZ0OiAwO1xuXG5cdHVsI2Zvb3Rlci1tZW51IHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0d2lkdGg6IDY1JTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRmb250LXNpemU6IDI1cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XG5cdFx0XHR3aWR0aDogOTAlO2ZvbnQtc2l6ZTogMTFweDtcblx0XHR9XG5cdFx0bGk6Zmlyc3QtY2hpbGQge1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdH1cblx0XHRsaSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8PW15X3NpemVcIikge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcHg7XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQud3JhcCA+ICo6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC43NSk7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiByZ2JhKCR3aGl0ZSwgMSk7XG5cdFx0fVxuXHR9XG5cblx0LmZvb3Rlci1saW5rcyBhICsgYSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDEycHg7XG5cdH1cblxuXHQuY2FmZW1lZGlhIHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR9XG5cblx0LmJhY2t0b3RvcCB7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNzUpO1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bGluZS1oZWlnaHQ6IDIwcHg7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRzdmcge1xuXHRcdFx0ZmlsbDogJHdoaXRlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDRweDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMSk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdC5ydGwgJiB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmZvb3Rlci1sZWZ0IHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXG5cdFx0XHQmID4gKjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY29weXJpZ2h0LFxuXHRcdC5mb290ZXItbGlua3Mge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHRcdH1cblxuXHRcdC5iYWNrdG90b3Age1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdH1cblx0fVxufVxuIiwiLmhvbWUtY29udGVudC13cmFwIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9hc3NldHMvaW1hZ2VzL2hvbWUtZnJhbWUuZ2lmKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgICoge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmhvbWUtY29udGVudC1pbm5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAqIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMyU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgXHJcbiAgICAgICAgaW1nOm50aC1jaGlsZCgyKXtcclxuICAgICAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nOm50aC1jaGlsZCgzKXtcclxuICAgICAgICAgICAgd2lkdGg6IDM0JTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nOm50aC1jaGlsZCg0KXtcclxuICAgICAgICAgICAgd2lkdGg6IDEzJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5idXR0b25zLXdyYXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICBhe1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpbWd7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGE6bnRoLWNoaWxkKDIpe1xyXG4gICAgICAgICAgICAgICAgaW1ne1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsImJvZHkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9iZzIuanBnKTtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogODglIGF1dG87ICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZjhmMjtcclxuXHJcbn0iLCIuc2VhcmNoLXBlcnNvbi1mb3JtLXdyYXAge1xyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG5cclxuICAgICAgICAuc2VhcmNoLWZvcm0taW5uZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucnRsICYge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5mb3JtLXNlY3Rpb24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zZWNvbmQtc2VjdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDM0cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PW15X3NpemVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxN3B4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxN3B4IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1teV9zaXplXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubGFiZWwtaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgICAgIC5mcm9tLXRvLWJveCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAuZnJvbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLnRvIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PW15X3NpemVcIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTRweCAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDU0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc3VsdHMtYm94IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG4gICAgICAgIC5wZXJzb24tcmVzdWx0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1teV9zaXplXCIpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmxvYWQtbW9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAtODZweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5ZjM5MmY7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMTFweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb2FkLW1vcmUtc3Bpbm5lcntcclxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgdG9wOiB1bnNldDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMzhweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnN1Ym1pdC13cmFwIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmxkcy1kdWFsLXJpbmcge1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAubGRzLWR1YWwtcmluZzphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDM0cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgIG1hcmdpbjogOHB4O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogIzlmMzkyZiB0cmFuc3BhcmVudCAjOWYzOTJmIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGFuaW1hdGlvbjogbGRzLWR1YWwtcmluZyAxLjJzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgIH1cclxuXHJcbiAgICBAa2V5ZnJhbWVzIGxkcy1kdWFsLXJpbmcge1xyXG4gICAgICAgIDAlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAxMDAlIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLnNpbmdsZSBoMS5lbnRyeS10aXRsZSB7XHJcbiAgY29sb3I6ICM5ZjM5MmY7XHJcbn1cclxuLnNpbmdsZS1wZXJzb24tY29udGFpbmVyIHtcclxuICAucGVyc29uLXRvcC1pbmZvIHtcclxuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAudG9wLWluZm8tY29sdW1ucyB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50b3AtaW5mby1jb2x1bW4ge1xyXG4gICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgcGFkZGluZzogMCAyJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PW15X3NpemVcIikge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICBjb2xvcjogIzlmMzkyZjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50b3AtaW5mby1jb2x1bW46bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XHJcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuXHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wZXJzb24taW1hZ2VzLWlubmVyIHtcclxuICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMyUgMzMlIDMzJTtcclxuICAgICAgbWFyZ2luLXRvcDogNzBweDtcclxuICAgICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWN0aW9uIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yaWdodC1zZWN0aW9uLFxyXG4gICAgICAubGVmdC1zZWN0aW9uIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PW15X3NpemVcIikge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5saW5lLXdyYXAge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuXHJcbiAgICAgICAgLmxpbmUge1xyXG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQ7XHJcbiAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAudHJlZS1icmFuY2gtd3JhcCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNjVweDtcclxuICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnBhcmVudHMtcmlnaHQsXHJcbiAgICAgIC5wYXJlbnRzLWxlZnQge1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnBhcmVudHMtcmlnaHQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucGFyZW50LWZhdGhlciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnBhcmVudHMtbGVmdCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNzBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNlY3Rpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yaWdodC1zZWN0aW9uLFxyXG4gICAgICAubGVmdC1zZWN0aW9uIHtcclxuICAgICAgICBtaW4td2lkdGg6IDQwMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9bXlfc2l6ZVwiKSB7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5yaWdodC1zZWN0aW9uIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubGVmdC1zZWN0aW9uIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5wZXJzb24taW1hZ2Uge1xyXG4gICAgICAgIG1heC13aWR0aDogMTQwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGltZy5mcmFtZSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFub3RoZXItc3BvdXNlIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgZGlyZWN0aW9uOiBydGw7XHJcblxyXG4gICAgICBkaXYge1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hbm90aGVyLXNwb3VzZS1pbm5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNnB4O1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTNweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wZXJzb24tYm90dG9tLWluZm8ge1xyXG4gICAgLmNoaWxkcmVuIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgbWFyZ2luOiAzMHB4IDAgNTBweDtcclxuXHJcbiAgICAgIC5jaGlsZHJlbi1ib3gge1xyXG4gICAgICAgIC5jaGlsZHJlbi1pbm5lciB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgICAgICAgIC5jaGlsZCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1teV9zaXplXCIpIHtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PW15X3NpemVcIikge1xyXG4gICAgICAucGVyc29uLWNvbnRlbnQtd3JhcCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbWFnZS1kZXNjIHtcclxuICAgICAgbWF4LXdpZHRoOiA0NDZweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmltYWdlcy13cmFwIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD1teV9zaXplXCIpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5nYWxsZXJ5LWltYWdlLXdyYXAge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN0b3JpZXMtd3JhcCB7XHJcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgYm9yZGVyLWltYWdlOiB1cmwoLi4vaW1hZ2VzL21vcmUtaW5mby1mcmFtZS5wbmcpIDMwIHJvdW5kO1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDIwcHg7XHJcbiAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDY2O1xyXG4gICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICBoMiB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uc291cmNlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbjogMTVweCAwO1xyXG4gIHNwYW4ge1xyXG4gICAgcGFkZGluZy10b3A6IDhweDtcclxuICB9XHJcbn1cclxuXHJcbi5taWxlc3RvbmVzX3NvdXJjZXMtd3JhcCB7XHJcbiAgbWFyZ2luLXRvcDogODBweDtcclxufVxyXG5cclxuaDIuYmlibGlvZ3JhcGh5IHtcclxuICBtYXJnaW4tdG9wOiAxMDBweDtcclxufVxyXG4uYmlibGlvZ3JhcGh5IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIG1hcmdpbjogMTVweCAwO1xyXG4gIHNwYW4ge1xyXG4gICAgcGFkZGluZy10b3A6IDhweDtcclxuICB9XHJcbn1cclxuaDIge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcbiIsIi5hcmNoaXZlIHtcclxuICAud3AtYmxvY2stc2VwYXJhdG9yOjpiZWZvcmUsXHJcbiAgaHI6OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbWFyZ2luLXRvcDogLTAuNXB4O1xyXG4gIH1cclxuXHJcbiAgbmF2LnBhZ2luYXRpb24ge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG4gIC5wb3N0LXN1bW1hcnkge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICAucG9zdC1zdW1tYXJ5X19jb250ZW50IHtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG4gIC50YXhvbm9teS1pdGVtLXdyYXAge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGFydGljbGUge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpdGUtaW5uZXIgLnBsYWNlaG9sZGVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XHJcbiAgfVxyXG4gIC50ZXJtLWRlc2NyaXB0aW9uIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDYzcHg7XHJcbiAgfVxyXG4gIG1haW4uc2l0ZS1tYWluIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLmxpc3RzLXdyYXAge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI8PTc2OHB4XCIpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuICAgICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PTc2OHB4XCIpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmlubmVyLWxpc3Qtd3JhcDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD03NjhweFwiKSB7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgICBib3JkZXItdG9wOjJweCBzb2xpZDtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgICAuaW5uZXItbGlzdC13cmFwIHtcclxuICAgICAgICBmbGV4LWJhc2lzOjEwMCU7XHJcblxyXG4gICAgICAgIC50d28tbGlzdHMgJntcclxuICAgICAgICAgIGZsZXgtYmFzaXM6IDUwJTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wZXJzb25zLWxpc3Qge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgIC5wb3N0LXN1bW1hcnkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOjI1JTtcclxuICAgICAgICAgICAgLnBvc3Qtc3VtbWFyeV9fdGl0bGUge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9NzY4cHhcIikge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGVyc29uLWNvbW1lbnQge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjOWYzOTJmO1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPD03NjhweFwiKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAudHdvLWxpc3Rze1xyXG4gICAgICAucG9zdC1zdW1tYXJ5IHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcC50YXgtaGlnaGxpZ2h0IHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGNvbG9yOiAjNmQ4YWE2O1xyXG4gICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2VzLXdyYXAge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgLmdhbGxlcnktaW1hZ2Utd3JhcCB7XHJcbiAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uZ3JvdXBzLWxpc3Qtd3JhcCB7XHJcbiAgLmdyb3Vwcy1saXN0IHtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg4LDEwJSk7XHJcbiAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xyXG4gICAvKiAgQGluY2x1ZGUgbWVkaWEoXCI8PW15X3NpemVcIikge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XHJcbiAgICB9ICovXHJcbiAgICAuZ3JvdXAge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luOiAxMnB4IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiIsIi5jb250YWN0LWNvbnRlbnQge1xyXG4gICAgXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5nZm9ybV9mb290ZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzkyYjZjNztcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmFsaWRhdGlvbl9lcnJvcntcclxuZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIGxpe1xyXG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyAgIFxyXG4gICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zcmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLnBsYWNlcy1saXN0e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC5wbGFjZSB7XHJcbiAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8PW15X3NpemVcIikge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAlO1xyXG5cclxuICBcclxuICAgICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIud29ya3MtaXRlbXtcclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE0JSA1MCU7XHJcbiAgICBzcGFue1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxufVxyXG4uc2luZ2xlLXdvcmt7XHJcbiAgc3BhbntcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBjb2xvcjogIzRjODNiMztcclxuICB9XHJcbiAgLmltYWdlcy13cmFwe1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICBcclxuICAgIC5nYWxsZXJ5LWltYWdlLXdyYXAge1xyXG4gICAgICBtYXJnaW46IDVweCAyMHB4O1xyXG4gIH1cclxuICB9XHJcbn1cclxuIiwiLyoqXG4gKiBHcmF2aXR5IEZvcm1zIFN0eWxlc1xuICpcbiAqIFZlcnNpb246IDEuMC4wXG4gKiBMaWNlbnNlOiBNSVQgLSBodHRwOi8vd3BzaXRlY2FyZS5taXQtbGljZW5zZS5vcmcvXG4gKi9cblxuLy8gQGltcG9ydCBcInZhcmlhYmxlcy9wcmVcIjtcbkBpbXBvcnQgXCJ2YXJpYWJsZXMvY29sb3JzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzL2xheW91dFwiO1xuQGltcG9ydCBcInZhcmlhYmxlcy90eXBvZ3JhcGh5XCI7XG5cbi8qXG5HcmF2aXR5IEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwicGFydGlhbHMvYmFzZVwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2NoZWNrLXJhZGlvXCI7XG5AaW1wb3J0IFwicGFydGlhbHMvY29tcGxleFwiO1xuQGltcG9ydCBcInBhcnRpYWxzL2Vycm9yc1wiO1xuQGltcG9ydCBcInBhcnRpYWxzL2hpZGRlblwiO1xuQGltcG9ydCBcInBhcnRpYWxzL3dyYXBcIjtcblxuXG5cbi8vIEBpbXBvcnQgXCJwYXJ0aWFscy9wcm9ncmVzc1wiO1xuLy8gQGltcG9ydCBcInBhcnRpYWxzL3RleHRhcmVhXCI7XG4vLyBAaW1wb3J0IFwicGFydGlhbHMvc2VsZWN0XCI7XG4vLyBAaW1wb3J0IFwicGFydGlhbHMvbnVtYmVyc1wiO1xuXG5cbi8vIEBpbXBvcnQgXCJwYXJ0aWFscy9zZWN0aW9uXCI7XG5cblxuXG5cbi8vIEBpbXBvcnQgXCJwYXJ0aWFscy9kYXRlXCI7XG4vLyBAaW1wb3J0IFwicGFydGlhbHMvZGF0ZXBpY2tlclwiO1xuLy8gQGltcG9ydCBcInBhcnRpYWxzL3VwbG9hZFwiO1xuLy8gQGltcG9ydCBcInBhcnRpYWxzL3RhYmxlc1wiO1xuLy8gQGltcG9ydCBcInBhcnRpYWxzL3ByaWNpbmdcIjtcblxuXG4iLCIvLyBHcmF2aXR5IEZvcm1zIENvbG9yc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRncmF2aXR5LWJsYWNrOiAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZ3Jhdml0eS1vZmYtYmxhY2s6ICAjMWMxZTFmICFkZWZhdWx0O1xuJGdyYXZpdHktZ3JheTogICAgICAgIzY2NiAhZGVmYXVsdDtcbiRncmF2aXR5LWxpZ2h0LWdyYXk6ICNhNGE1YTUgIWRlZmF1bHQ7XG4kZ3Jhdml0eS1saWdodC1mb2c6ICAjZjNmM2Y0ICFkZWZhdWx0O1xuJGdyYXZpdHktbWVkaXVtLWZvZzogI2UwZTBlMCAhZGVmYXVsdDtcbiRncmF2aXR5LWZvZzogICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kZ3Jhdml0eS13aGl0ZTogICAgICAjZmZmICFkZWZhdWx0O1xuXG4kZ3Jhdml0eS1ibHVlOiAgICAgICAjMDA3MmJjICFkZWZhdWx0O1xuJGdyYXZpdHkteWVsbG93OiAgICAgI2ZmZjJhYSAhZGVmYXVsdDtcbiRncmF2aXR5LWdyZWVuOiAgICAgICM5NGRjMjEgIWRlZmF1bHQ7XG4kZ3Jhdml0eS1vcmFuZ2U6ICAgICAjZGM3MDIxICFkZWZhdWx0O1xuJGdyYXZpdHktcmVkOiAgICAgICAgI2RjMjUyMSAhZGVmYXVsdDtcbiRncmF2aXR5LWRhcmtncmVlbjogICMwMDY2MWEgIWRlZmF1bHQ7XG4iLCIvLyBHcmF2aXR5IEZvcm1zIExheW91dCBPcHRpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGdyYXZpdHktc21hbGwtc2NyZWVuOiAgICAgIDg0MHB4ICFkZWZhdWx0O1xuJGdyYXZpdHktbWFyZ2luOiAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGdyYXZpdHktbWFyZ2luLW1lZGl1bTogICAgICAxM3B4ICFkZWZhdWx0O1xuJGdyYXZpdHktbWFyZ2luLXNtYWxsOiAgICAgICAgOHB4ICFkZWZhdWx0O1xuJGdyYXZpdHktZm9ybS1pbnB1dC1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuIiwiLy8gQmFzZSBGb250IFNpemVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGdyYXZpdHktbWVkaXVtLWZvbnQtc2l6ZTogIDE2cHggIWRlZmF1bHQ7XG4kZ3Jhdml0eS1zbWFsbC1mb250LXNpemU6ICAgMTJweCAhZGVmYXVsdDtcbiRncmF2aXR5LXRpdGxlLWZvbnQtc2l6ZTogICAxOHB4ICFkZWZhdWx0O1xuIiwiXG5cbi5nZm9ybV93cmFwcGVyIHtcblxuXHRpbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0ZGlyZWN0aW9uOiBsdHI7XG5cdH1cblxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3Jhdml0eS1kYXJrZ3JlZW47XG5cdFx0Y29sb3I6ICRncmF2aXR5LXdoaXRlO1xuXHR9XG5cblx0XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0LnJ0bCAmIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG5cblxuXG5cblx0dWwge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdGxpIHtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdG1hcmdpbjogJGdyYXZpdHktbWFyZ2luIDAgMDtcblx0XHR9XG5cdH1cblxuXHQuZ2Zvcm1fdGl0bGUsXG5cdC5nc2VjdGlvbl90aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAkZ3Jhdml0eS10aXRsZS1mb250LXNpemU7XG5cdH1cblx0XG5cdFxuXHQuZ2Zvcm1fZmllbGRzIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG4vKlxuXHQuZ2ZpZWxkIHtcblx0XHRjbGVhcjogYm90aDtcblx0fVxuXG5cdC5nZmllbGRfbGFiZWwge1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdG1hcmdpbjogJGdyYXZpdHktbWFyZ2luLXNtYWxsIDA7XG5cblx0XHRAaW5jbHVkZSBtaW4tc2NyZWVuKCAkZ3Jhdml0eS1zbWFsbC1zY3JlZW4gKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAkZ3Jhdml0eS1tYXJnaW4tbWVkaXVtO1xuXHRcdH1cblx0fVxuXG5cdC5nZmllbGRfZGVzY3JpcHRpb24ge1xuXHRcdGZvbnQtc2l6ZTogJGdyYXZpdHktbWVkaXVtLWZvbnQtc2l6ZTtcblx0fVxuXG5cdC5nZmllbGRfcmVxdWlyZWQge1xuXHRcdGNvbG9yOiAkZ3Jhdml0eS1yZWQ7XG5cdFx0cGFkZGluZy1sZWZ0OiAycHg7XG5cdH1cblxuXHQuZmllbGRfZGVzY3JpcHRpb25fYWJvdmUge1xuXG5cdFx0LmdmaWVsZF9kZXNjcmlwdGlvbiB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAkZ3Jhdml0eS1tYXJnaW4tc21hbGw7XG5cblx0XHRcdEBpbmNsdWRlIG1pbi1zY3JlZW4oICRncmF2aXR5LXNtYWxsLXNjcmVlbiApIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJGdyYXZpdHktbWFyZ2luLW1lZGl1bTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZ2lucHV0X2NvbnRhaW5lciB7XG5cblx0XHQuc21hbGwge1xuXHRcdFx0d2lkdGg6IDI1JTtcblx0XHR9XG5cblx0XHQubWVkaXVtIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXG5cdFx0LmxhcmdlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdC5nZm9ybV9mb290ZXIge1xuXHRcdG1hcmdpbi10b3A6ICRncmF2aXR5LW1hcmdpbjtcblx0fVxuXHQqL1xufSIsIi5nZm9ybV93cmFwcGVyIHtcblxuXHQuZ2ZpZWxkX2NoZWNrYm94LFxuXHQuZ2ZpZWxkX3JhZGlvIHtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXG5cdFx0bGkge1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdG1hcmdpbjogMCAwICRncmF2aXR5LW1hcmdpbi1zbWFsbDtcblxuXHRcdFx0aW5wdXQge1xuXHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAkZ3Jhdml0eS1tYXJnaW4tc21hbGw7XG5cdFx0XHRcdC5ydGwgJntcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRncmF2aXR5LW1hcmdpbi1zbWFsbDtcblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRsYWJlbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogODAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLmdmb3JtX3dyYXBwZXIge1xuXG5cdC5naW5wdXRfY29tcGxleCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCggYXV0by1maXQsIG1pbm1heCg1MHB4LCAxZnIpICk7XG5cdFx0Z3JpZC1nYXA6IDIlO1xuXG5cdFx0c3BhbiB7XG5cblx0XHRcdCBsYWJlbCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogODAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdFxufVxuXG5cblxuIiwiLmdmb3JtX3dyYXBwZXIge1xuXG5cdC5nZmllbGRfZXJyb3Ige1xuXHRcdGJhY2tncm91bmQ6ICRncmF2aXR5LXdoaXRlO1xuXHRcdGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGdyYXZpdHktcmVkO1xuXHRcdC5ydGwgJiB7XG5cdFx0XHRib3JkZXItbGVmdDogMHB4O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiA1cHggc29saWQgJGdyYXZpdHktcmVkO1xuXG5cdFx0fVxuXHRcdHBhZGRpbmc6IDE1cHggMTVweCAxMHB4O1xuXG5cdFx0PiBsYWJlbCB7XG5cdFx0XHRjb2xvcjogJGdyYXZpdHktcmVkO1xuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9XCJjb2xvclwiXSxcblx0XHRpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcblx0XHRpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5cdFx0aW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuXHRcdGlucHV0W3R5cGU9XCJlbWFpbFwiXSwsXG5cdFx0aW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuXHRcdGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5cdFx0aW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuXHRcdGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5cdFx0aW5wdXRbdHlwZT1cInRlbFwiXSxcblx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXSxcblx0XHRpbnB1dFt0eXBlPVwidGltZVwiXSxcblx0XHRpbnB1dFt0eXBlPVwidXJsXCJdLFxuXHRcdGlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuXHRcdGlucHV0LFxuXHRcdHNlbGVjdCxcblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRib3JkZXItY29sb3I6ICRncmF2aXR5LXJlZDtcblxuXHRcdFx0Jjo6cGxhY2Vob2xkZXIge1xuXHRcdFx0XHRjb2xvcjogJGdyYXZpdHktcmVkO1xuXHRcdFx0XHRvcGFjaXR5OiAwLjc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn1cbiIsIi5nZm9ybV93cmFwcGVyIHtcblxuXHQuaGlkZGVuX2xhYmVsIHtcblxuXHRcdC5nZmllbGRfbGFiZWwge1xuXHRcdFx0Y2xpcDogcmVjdCggMXB4LCAxcHgsIDFweCwgMXB4ICk7XG5cdFx0XHRoZWlnaHQ6IDFweDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogMXB4O1xuXHRcdH1cblx0fVxuXG5cdC5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRsZWZ0OiAtOTAwMHB4O1xuXHRcdC5ydGwgJiB7XG5cdFx0XHRyaWdodDogLTkwMDBweDtcblx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0fVxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxufVxuIiwiLmdmb3JtX3dyYXBwZXIge1xuXG5cdHVsLmdmaWVsZHNfd3JhcCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCggYXV0by1maXQsIG1pbm1heCg1MHB4LCAxZnIpICk7XG5cdFx0Z3JpZC1nYXA6IDIlO1xuXG5cdH1cblxuXHRcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUVBQTs7O0dBR0c7QUNISDs7O0dBR0c7QUFXSDs7O0dBR0c7QUFtQkg7OztHQUdHO0FBY0g7OztHQUdHO0FBVUg7OztHQUdHO0FBWUg7OztHQUdHO0FBMkJIOzs7R0FHRztBQVNIOzs7R0FHRztBQTJCSDs7O0dBR0c7QUFrQ0g7OztHQUdHO0FBUUg7OztHQUdHO0FBU0g7OztHQUdHO0FBU0g7OztHQUdHO0FNN05ILEFKS0EsQ0lMQyxFQUFELENBQUMsQ0FTQSxHQUFHLENKSlE7RUFDWCxVQUFVLEVBQUUsb0JBQW9CLEdBQ2hDOztBQ2RELDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxXQUFXLEVBQUUsSUFB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 */
