form.wpforms-form .wpforms-field-likert_scale table.single-row.modern tbody tr td:first-of-type {
  border-radius: 0;
  border-start-start-radius: 5px;
  border-end-end-radius: 5px;
}

form.wpforms-form .wpforms-field-likert_scale table.modern th {
  font-size: 14px;
  font-weight: 400;
  padding: 8px 5px;
  text-align: center;
  vertical-align: bottom;
  white-space: normal;
  word-break: break-word;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr:nth-child(odd) th,
form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr:nth-child(odd) td {
  background-color: #eeeeee;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr th {
  font-size: 16px;
  text-align: start;
  vertical-align: middle;
  padding-inline-start: 10px;
  border-radius: 0;
  border-start-start-radius: 5px;
  border-end-start-radius: 5px;
  line-height: 1.2;
  word-break: break-word;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td {
  padding: 10px 5px;
  vertical-align: middle;
  text-align: center;
  position: relative;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td:last-child {
  border-radius: 0;
  border-end-end-radius: 5px;
  border-start-end-radius: 5px;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td label {
  display: block;
  width: 100%;
  height: 20px;
  position: relative;
  cursor: pointer;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td label:hover:after {
  border: 1px solid #777777;
  box-shadow: 0 0 0 1px #777777;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td label:after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  margin: 0 0 0 -10px;
  width: 20px;
  height: 20px;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border-radius: 50%;
  box-sizing: border-box;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=radio].wpforms-error + label:after,
form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=checkbox].wpforms-error + label:after {
  border: 1px solid red;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=radio]:checked + label:after,
form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=checkbox]:checked + label:after {
  background-color: green;
  border: 0;
}

form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=radio]:checked + label:before,
form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=checkbox]:checked + label:before {
  content: "";
  position: absolute;
  top: 2px;
  left: 50%;
  margin: 0 0 0 -8px;
  width: 16px;
  height: 16px;
  background-image: url("../images/check.svg");
  background-size: contain;
  z-index: 1;
  border: 0;
}

form.wpforms-form .wpforms-field-likert_scale table.classic {
  border: 1px solid #cccccc;
}

form.wpforms-form .wpforms-field-likert_scale table.classic th {
  background-color: #eeeeee;
  font-size: 14px;
  font-weight: 400;
  padding: 10px 5px;
  text-align: center;
  vertical-align: bottom;
  white-space: normal;
  word-break: break-word;
  border-inline-start: 1px solid #cccccc;
}

form.wpforms-form .wpforms-field-likert_scale table.classic th:first-of-type {
  border-inline-start: 0;
}

form.wpforms-form .wpforms-field-likert_scale table.classic tbody tr:nth-child(odd) th,
form.wpforms-form .wpforms-field-likert_scale table.classic tbody tr:nth-child(odd) td {
  background-color: #f8f8f8;
}

form.wpforms-form .wpforms-field-likert_scale table.classic tbody tr th {
  background-color: #ffffff;
  font-size: 15px;
  font-weight: 600;
  text-align: start;
  vertical-align: middle;
  padding-inline-start: 10px;
  border-top: 1px solid #cccccc;
  position: relative;
  line-height: 1.2;
  word-break: break-word;
}

form.wpforms-form .wpforms-field-likert_scale table.classic tbody tr td {
  background-color: #ffffff;
  padding: 10px 5px;
  vertical-align: middle;
  text-align: center;
  border: 1px solid #cccccc;
  position: relative;
}

.wpforms-likert-scale-mobile-label {
  display: none;
}

@media only screen and (max-width: 600px) {
  form.wpforms-form .wpforms-field-likert_scale table {
    display: block;
  }
  form.wpforms-form .wpforms-field-likert_scale table thead {
    display: block;
  }
  form.wpforms-form .wpforms-field-likert_scale table thead tr {
    display: none;
  }
  form.wpforms-form .wpforms-field-likert_scale table tbody {
    display: block;
  }
  form.wpforms-form .wpforms-field-likert_scale table tbody tr {
    display: block;
    border: 1px solid #ccc !important;
  }
  form.wpforms-form .wpforms-field-likert_scale table tbody tr:nth-child(odd) td {
    background-color: transparent !important;
  }
  form.wpforms-form .wpforms-field-likert_scale table tbody tr th {
    background-color: rgba(0, 0, 0, 0.03) !important;
    display: block;
    font-weight: bold !important;
  }
  form.wpforms-form .wpforms-field-likert_scale table tbody tr td {
    display: block;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    padding: 10px 20px !important;
    font-size: 14px;
  }
  form.wpforms-form .wpforms-field-likert_scale table tbody tr td:last-child {
    border-radius: 0 !important;
    border-bottom: none !important;
  }
  form.wpforms-form .wpforms-field-likert_scale table tbody tr td label {
    display: none;
  }
  form.wpforms-form .wpforms-field-likert_scale table.classic .wpforms-likert-scale-option {
    display: block;
  }
  form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr th {
    font-weight: bold;
    border-radius: 0;
  }
  form.wpforms-form .wpforms-field-likert_scale table.modern tbody tr td label {
    margin-inline-start: 20px;
    width: 20px;
  }
  form.wpforms-form .wpforms-field-likert_scale .wpforms-likert-scale-mobile-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  form.wpforms-form .wpforms-field-likert_scale .wpforms-likert-scale-mobile-label {
    display: block;
    text-align: start !important;
  }
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern th {
  font-size: 14px;
  font-weight: 400;
  padding: 10px 0;
  text-align: center;
  vertical-align: bottom;
  -webkit-border-before: revert;
  border-block-start: revert;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern th .not-likely {
  float: left;
  text-align: left;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern th .extremely-likely {
  float: right;
  text-align: right;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td {
  background-color: #ffffff;
  padding: 0;
  vertical-align: middle;
  text-align: center;
  border: 1px solid #cccccc;
  border-left: 0;
  width: 9.090909091%;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-child {
  border-radius: 0 5px 5px 0;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:first-of-type {
  border-radius: 5px 0 0 5px;
  border-left: 1px solid #cccccc;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td label {
  display: block;
  width: 100%;
  height: 40px;
  font-weight: 600;
  font-size: 16px;
  line-height: 40px;
  position: relative;
  cursor: pointer;
  color: #444444;
  border: 0;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td label:hover {
  background-color: #f8f8f8;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td label:hover:after {
  box-shadow: 0 0 0 2px #777777;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td label:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio].wpforms-error + label:after {
  box-shadow: 0 0 0 1px #cc0000;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio].wpforms-error + label:hover:after {
  box-shadow: 0 0 0 2px #cc0000;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio]:checked + label {
  background-color: green;
  color: #ffffff;
}

form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio]:checked + label:after {
  border: none;
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic {
  border: 1px solid #cccccc;
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic th {
  background-color: #eeeeee;
  font-size: 14px;
  font-weight: 400;
  padding: 10px;
  text-align: center;
  vertical-align: bottom;
  -webkit-border-before: revert;
  border-block-start: revert;
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic th .not-likely {
  float: left;
  text-align: left;
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic th .extremely-likely {
  float: right;
  text-align: right;
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic tbody tr td {
  background-color: #ffffff;
  padding: 10px 5px;
  vertical-align: middle;
  text-align: center;
  border-top: 1px solid #cccccc;
  position: relative;
  width: 9.090909091%;
  color: #444444;
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic tbody tr td input[type=radio],
form.wpforms-form .wpforms-field-net_promoter_score table.classic tbody tr td label {
  display: block;
  margin: 0 auto;
  text-align: center;
}


form.wpforms-form .wpforms-field-net_promoter_score table.classic tbody tr td label {
  margin-top: 6px;
}

.rtl form.wpforms-form .wpforms-field-net_promoter_score table.modern thead th .not-likely, form.wpforms-form .wpforms-field-net_promoter_score .rtl table.modern thead th .not-likely, .rtl form.wpforms-form .wpforms-field-net_promoter_score table.classic thead th .not-likely, form.wpforms-form .wpforms-field-net_promoter_score .rtl table.classic thead th .not-likely {
  float: right;
  text-align: right;
}

.rtl form.wpforms-form .wpforms-field-net_promoter_score table.modern thead th .extremely-likely, form.wpforms-form .wpforms-field-net_promoter_score .rtl table.modern thead th .extremely-likely, .rtl form.wpforms-form .wpforms-field-net_promoter_score table.classic thead th .extremely-likely, form.wpforms-form .wpforms-field-net_promoter_score .rtl table.classic thead th .extremely-likely {
  float: left;
  text-align: left;
}

.rtl form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:first-of-type, form.wpforms-form .wpforms-field-net_promoter_score .rtl table.modern tbody tr td:first-of-type, .rtl form.wpforms-form .wpforms-field-net_promoter_score table.classic tbody tr td:first-of-type, form.wpforms-form .wpforms-field-net_promoter_score .rtl table.classic tbody tr td:first-of-type {
  border-radius: 0 5px 5px 0;
  border-right: 1px solid #cccccc;
  border-left: 0;
}

.rtl form.wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-child, form.wpforms-form .wpforms-field-net_promoter_score .rtl table.modern tbody tr td:last-child, .rtl form.wpforms-form .wpforms-field-net_promoter_score table.classic tbody tr td:last-child, form.wpforms-form .wpforms-field-net_promoter_score .rtl table.classic tbody tr td:last-child {
  border-radius: 5px 0 0 5px;
  border-left: 1px solid #cccccc;
}

.wpforms-container:not(.wpforms-render-modern) form.wpforms-form .wpforms-field-ranking {
  --wpforms-ranking-item-hover-border-color: #999999;
}

form.wpforms-form .wpforms-field-ranking.wpforms-field > .wpforms-field-label,
form.wpforms-form .wpforms-field-ranking.wpforms-field fieldset > .wpforms-field-label {
  display: block;
  width: 100%;
  margin-bottom: var(--wpforms-button-size-margin-top, 4px);
}

form.wpforms-form .wpforms-field-ranking.wpforms-field > .wpforms-field-label:not(:empty):has(+ .wpforms-field-description),
form.wpforms-form .wpforms-field-ranking.wpforms-field fieldset > .wpforms-field-label:not(:empty):has(+ .wpforms-field-description) {
  margin-bottom: var(--wpforms-field-size-sublabel-spacing, 4px);
}

form.wpforms-form .wpforms-field-ranking.wpforms-field > .wpforms-field-label:empty,
form.wpforms-form .wpforms-field-ranking.wpforms-field fieldset > .wpforms-field-label:empty {
  margin-bottom: 0;
}

form.wpforms-form .wpforms-field-ranking.wpforms-field > .wpforms-field-description,
form.wpforms-form .wpforms-field-ranking.wpforms-field fieldset > .wpforms-field-description {
  margin-top: 0;
  margin-bottom: 15px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-items {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
  padding: 0;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-items.wpforms-field-medium {
  max-width: 60%;
}

@media (max-width: 599px) {
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-items.wpforms-field-medium {
    max-width: 100%;
  }
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-items.wpforms-field-small {
  max-width: 25%;
}

@media (max-width: 599px) {
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-items.wpforms-field-small {
    max-width: 100%;
  }
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: var(--wpforms-field-size-input-height, 43px);
  border: var(--wpforms-field-border-size, 1px) var(--wpforms-field-border-style, solid) var(--wpforms-field-border-color, #cccccc);
  border-radius: var(--wpforms-field-border-radius, 2px);
  background-color: var(--wpforms-field-background-color, #ffffff);
  color: var(--wpforms-field-text-color, #333333);
  padding: 10px var(--wpforms-field-size-padding-h, 15px);
  line-height: var(--wpforms-field-size-line-height, 1.3);
  outline: none;
  transition: border-color 0.15s ease-in-out;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item:hover {
  border-color: var(--wpforms-ranking-item-hover-border-color, rgba(0, 0, 0, 0.5));
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item:has(:focus-visible) {
  border-color: var(--wpforms-ranking-item-hover-border-color, rgba(0, 0, 0, 0.5));
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--wpforms-label-size-sublabel-font-size, 14px);
  font-weight: 600;
  overflow-wrap: break-word;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-content {
  display: contents;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-media {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-media img {
  display: block;
  object-fit: contain;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-media svg {
  fill: var(--wpforms-ranking-icon-color, currentColor);
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-large .wpforms-field-ranking-item-media {
  width: 64px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-large .wpforms-field-ranking-item-media img {
  width: 64px;
  height: 64px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-medium .wpforms-field-ranking-item-media {
  width: 48px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-medium .wpforms-field-ranking-item-media img {
  width: 48px;
  height: 48px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-small .wpforms-field-ranking-item-media {
  width: 32px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-small .wpforms-field-ranking-item-media img {
  width: 32px;
  height: 32px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-has-media .wpforms-field-ranking-item {
  padding-top: 15px;
  padding-bottom: 15px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-large .wpforms-field-ranking-item,
form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-medium .wpforms-field-ranking-item,
form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-images-small .wpforms-field-ranking-item {
  gap: 15px;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-labels-hidden .wpforms-field-ranking-item-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-list.wpforms-field-ranking-labels-hidden .wpforms-field-ranking-item-media {
  margin-inline-end: auto;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-handle {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--wpforms-field-text-color, #333333);
  opacity: 0.35;
  transition: opacity 0.15s ease-in-out;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item:hover .wpforms-field-ranking-item-handle,
form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item:has(:focus-visible) .wpforms-field-ranking-item-handle {
  opacity: 0.7;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-arrows {
  display: inline-flex;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-ready .wpforms-field-ranking-item {
  cursor: grab;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-ready .wpforms-field-ranking-item-handle {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--wpforms-field-text-color, #333333);
  opacity: 0.35;
  transition: opacity 0.15s ease-in-out;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-ready .wpforms-field-ranking-item:hover .wpforms-field-ranking-item-handle {
  opacity: 0.7;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-ready .wpforms-field-ranking-item:has(:focus-visible) .wpforms-field-ranking-item-handle {
  opacity: 0.7;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-ready .wpforms-field-ranking-item:hover .wpforms-field-ranking-item-arrow:not(:disabled),
form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-ready .wpforms-field-ranking-item:has(:focus-visible) .wpforms-field-ranking-item-arrow:not(:disabled) {
  opacity: 1;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-ready:not(.wpforms-field-ranking-arrows-never) .wpforms-field-ranking-item-arrows {
  display: inline-flex;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-ready .wpforms-field-ranking-item-arrow {
  background-color: transparent;
  color: var(--wpforms-field-text-color, #333);
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-arrow {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 0;
  outline: none;
  border-radius: var(--wpforms-field-border-radius, 3px);
  background-color: transparent;
  color: var(--wpforms-field-text-color, #333333);
  opacity: 0.7;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out, opacity 0.15s ease-in-out;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-arrow:hover:not(:disabled), form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-arrow:focus-visible:not(:disabled) {
  background-color: rgba(0, 0, 0, 0.05);
  opacity: 1;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item-arrow:disabled {
  opacity: 0.35;
  cursor: default;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-arrows-hover .wpforms-field-ranking-item-arrows {
  opacity: 0;
  transition: opacity 0.15s ease-in-out;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-arrows-hover .wpforms-field-ranking-item:hover .wpforms-field-ranking-item-arrows {
  opacity: 1;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-arrows-hover .wpforms-field-ranking-item:has(:focus-visible) .wpforms-field-ranking-item-arrows {
  opacity: 1;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-arrows-never .wpforms-field-ranking-item-arrows {
  display: none;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-chosen {
  box-shadow: 0 0 0 1px var(--wpforms-button-background-color, #036aab);
  cursor: grabbing;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-chosen, form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-chosen:hover, form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-chosen:has(:focus-visible) {
  border-color: var(--wpforms-button-background-color, #036aab);
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-drag {
  opacity: 1 !important;
  border-color: var(--wpforms-button-background-color, #036aab);
  box-shadow: 0 0 0 1px var(--wpforms-button-background-color, #036aab), 0 10px 20px 0 rgba(0, 0, 0, 0.1);
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-ghost {
  opacity: 0.4;
  border-style: solid;
  background-color: var(--wpforms-field-background-color, #f8f8f8);
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-ghost, form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-ghost:hover, form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-item.wpforms-field-ranking-item-ghost:has(:focus-visible) {
  border-color: var(--wpforms-field-border-color, #cccccc);
  box-shadow: none;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-handle {
  display: none;
}

form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-arrows {
  flex-direction: column;
}

@media (max-width: 767px) {
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-labels-hidden .wpforms-field-ranking-item-media {
    margin-inline-end: auto;
  }
}

@media (min-width: 768px) {
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid {
    display: grid;
    grid-template-columns: repeat(var(--wpforms-ranking-columns, 3), minmax(0, 1fr));
    gap: 10px;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item {
    position: relative;
    flex-direction: column;
    justify-content: center;
    padding: 15px 0;
    gap: 10px;
    text-align: center;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-has-media .wpforms-field-ranking-item {
    justify-content: flex-start;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: 100%;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-label {
    flex: 0 0 auto;
    align-self: stretch;
    padding-inline: 35px;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-arrows-never {
    --wpforms-ranking-arrow-reserve: 30px;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-arrows-never .wpforms-field-ranking-item-label {
    padding-inline: 15px;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-content .wpforms-field-ranking-item-media {
    width: clamp(16px, calc(100% - var(--wpforms-ranking-arrow-reserve, 78px)), 64px);
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-content .wpforms-field-ranking-item-media img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-images-large .wpforms-field-ranking-item-content .wpforms-field-ranking-item-media {
    width: clamp(16px, calc(100% - var(--wpforms-ranking-arrow-reserve, 78px)), 96px);
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-images-medium .wpforms-field-ranking-item-content .wpforms-field-ranking-item-media {
    width: clamp(16px, calc(100% - var(--wpforms-ranking-arrow-reserve, 78px)), 64px);
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-images-small .wpforms-field-ranking-item-content .wpforms-field-ranking-item-media {
    width: clamp(16px, calc(100% - var(--wpforms-ranking-arrow-reserve, 78px)), 48px);
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-icons-large .wpforms-field-ranking-item-media svg {
    width: 48px;
    height: 48px;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-icons-medium .wpforms-field-ranking-item-media svg {
    width: 32px;
    height: 32px;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid.wpforms-field-ranking-icons-small .wpforms-field-ranking-item-media svg {
    width: 24px;
    height: 24px;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-arrows {
    position: absolute;
    inset: 0;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-inline: 10px;
    pointer-events: none;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-arrow {
    pointer-events: auto;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-arrow-up svg,
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-arrow-down svg {
    transform: rotate(-90deg);
  }
  [dir='rtl'] form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-arrow-up svg,
  [dir='rtl'] form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-layout-grid .wpforms-field-ranking-item-arrow-down svg {
    transform: rotate(90deg);
  }
}

@media (pointer: coarse) {
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-items .wpforms-field-ranking-item-handle {
    opacity: 0.7;
  }
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-items .wpforms-field-ranking-item-arrows,
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-arrows-never.wpforms-field-ranking-items .wpforms-field-ranking-item-arrows,
  form.wpforms-form .wpforms-field-ranking .wpforms-field-ranking-arrows-hover.wpforms-field-ranking-items .wpforms-field-ranking-item-arrows {
    display: inline-flex;
    opacity: 1;
  }
}

form.wpforms-form .wpforms-field-ranking.wpforms-field-readonly .wpforms-field-ranking-item {
  cursor: default;
}

form.wpforms-form .wpforms-field-ranking.wpforms-field-readonly .wpforms-field-ranking-item-handle,
form.wpforms-form .wpforms-field-ranking.wpforms-field-readonly .wpforms-field-ranking-item-arrows {
  display: none !important;
}

.wpforms-layout-column:not(.wpforms-layout-column-100) .wpforms-field-ranking .wpforms-field-ranking-items {
  max-width: 100% !important;
}

body.wpforms-ranking-grabbing,
body.wpforms-ranking-grabbing * {
  cursor: grabbing !important;
}

form.wpforms-form .wpforms-field-likert_scale table {
  width: 100%;
  min-width: 250px;
  line-height: 1.4;
  border-collapse: collapse;
  border-spacing: 0;
}

form.wpforms-form .wpforms-field-likert_scale table thead:first-child tr:first-child th {
  -webkit-border-before: revert;
  border-block-start: revert;
}

form.wpforms-form .wpforms-field-likert_scale table.wpforms-field-medium {
  max-width: 60%;
}

@media (max-width: 599px) {
  form.wpforms-form .wpforms-field-likert_scale table.wpforms-field-medium {
    max-width: 100%;
  }
}

form.wpforms-form .wpforms-field-likert_scale table.wpforms-field-small {
  max-width: 25%;
}

@media (max-width: 599px) {
  form.wpforms-form .wpforms-field-likert_scale table.wpforms-field-small {
    max-width: 100%;
  }
}

form.wpforms-form .wpforms-field-net_promoter_score table {
  width: 100%;
  min-width: 250px;
  line-height: 1.4;
  border-collapse: initial;
  border-spacing: 0;
}

form.wpforms-form .wpforms-field-net_promoter_score table.wpforms-field-medium {
  max-width: 60%;
}

@media (max-width: 599px) {
  form.wpforms-form .wpforms-field-net_promoter_score table.wpforms-field-medium {
    max-width: 100%;
  }
}

form.wpforms-form .wpforms-field-net_promoter_score table.wpforms-field-small {
  max-width: 25%;
}

@media (max-width: 599px) {
  form.wpforms-form .wpforms-field-net_promoter_score table.wpforms-field-small {
    max-width: 100%;
  }
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic.wpforms-field-large {
  width: 100%;
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic.wpforms-field-small td {
  padding: 10px 0;
}

form.wpforms-form .wpforms-field-net_promoter_score table.classic.wpforms-field-small td input[type=radio] {
  min-width: unset;
}

.wpforms-layout-column:not(.wpforms-layout-column-100) .wpforms-field-likert_scale table, .wpforms-layout-column:not(.wpforms-layout-column-100) .wpforms-field-net_promoter_score table {
  max-width: 100% !important;
}

@media only screen and (min-width: 601px) {
  div.wpforms-container-full.wpforms-render-modern .wpforms-field-likert_scale .wpforms-likert-scale-mobile-flex {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

@media only screen and (max-width: 600px) {
  div.wpforms-container-full.wpforms-render-modern .wpforms-field-likert_scale table.modern tbody tr td label {
    display: none;
  }
  div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern {
    border: 1px solid var(--wpforms-field-border-color);
    overflow: hidden;
  }
  div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tbody tr:first-child th {
    border-top: none;
  }
  div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tbody th {
    border-top: 1px solid rgba(0, 0, 0, 0.25);
    border-bottom: 1px solid rgba(0, 0, 0, 0.25);
  }
  div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tbody tr {
    border: 0 !important;
  }
  div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tbody tr td,
  div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tbody tr th {
    border-color: rgba(0, 0, 0, 0.25) !important;
  }
  div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tbody th,
  div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tbody td {
    padding-left: calc(max(10px, min(var(--wpforms-field-border-radius), 30px))) !important;
    padding-right: calc(max(10px, min(var(--wpforms-field-border-radius), 30px))) !important;
  }
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form {
  container-name: wpforms-survey-and-polls-container-full-modern;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table {
  border-radius: var(--wpforms-field-border-radius);
  border: none;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table thead th:first-of-type {
  border-top-left-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table thead th:last-of-type {
  border-top-right-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tbody th:first-child {
  padding-left: calc(max(10px, min(var(--wpforms-field-border-radius), 30px)));
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table tr th {
  font-style: normal;
  font-weight: 400;
  font-size: var(--wpforms-label-size-sublabel-font-size);
  color: var(--wpforms-label-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table input[type=radio],
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table input[type=checkbox] {
  min-width: unset;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic {
  border: var(--wpforms-field-border-size, 1px) var(--wpforms-field-border-style, "solid") var(--wpforms-field-border-color);
  overflow: hidden;
  border-collapse: initial;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic thead th {
  background-color: rgba(0, 0, 0, 0.08);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic thead th:not(:first-of-type) {
  border-left: 1px solid rgba(0, 0, 0, 0.25);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic tbody th {
  border-top: 1px solid rgba(0, 0, 0, 0.25);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic tbody tr th, div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic tbody tr td {
  background-color: transparent;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic tbody tr:nth-child(odd) th, div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic tbody tr:nth-child(odd) td {
  background-color: rgba(0, 0, 0, 0.03);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic tbody tr td label {
  padding: 0;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic td {
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  border-left: 1px solid rgba(0, 0, 0, 0.25);
  border-right: none;
  border-bottom: none;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic td:first-child {
  border-left: none;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern th, div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern td {
  padding: 10px 14px;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr {
  border-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr:nth-child(odd) th, div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr:nth-child(odd) td {
  background-color: rgba(0, 0, 0, 0.03);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr td label {
  padding: 0;
  margin: 0;
  width: auto;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr td label:before, div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr td label:after {
  display: none;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=radio],
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=checkbox] {
  overflow: visible;
  clip: unset;
  position: relative !important;
  cursor: pointer;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=radio]:hover:before,
div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.modern tbody tr td input[type=checkbox]:hover:before {
  transition: all 0.15s ease-in-out;
  border-width: var(--wpforms-field-border-size, 0);
  border-style: solid;
  border-color: var(--wpforms-button-background-color);
  box-shadow: 0 0 0 1px var(--wpforms-button-background-color), 0px 1px 2px rgba(0, 0, 0, 0.15);
  outline: none;
}

@container wpforms-survey-and-polls-container-full-modern style( --wpforms-field-border-radius: 0 ) {
  .wpforms-field-likert_scale table tbody th:first-child {
    padding-left: 10px !important;
  }
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic thead th:not(:first-of-type) {
  border-left: none;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic tbody td {
  border-top: 1px solid rgba(0, 0, 0, 0.25);
  border-right: 1px solid rgba(0, 0, 0, 0.25);
  border-left: none;
  border-bottom: none;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-likert_scale table.classic tbody td:first-child {
  border-right: none;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table {
  border-radius: var(--wpforms-field-border-radius);
  border: none;
  border-spacing: 0;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table thead th {
  border-top-left-radius: var(--wpforms-field-border-radius);
  border-top-right-radius: var(--wpforms-field-border-radius);
  -webkit-border-before: revert;
  border-block-start: revert;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table tbody tr:last-of-type td:first-of-type {
  border-bottom-left-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table tbody tr:last-of-type td:last-of-type {
  border-bottom-right-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table tr th {
  font-style: normal;
  font-weight: 400;
  font-size: var(--wpforms-label-size-sublabel-font-size);
  line-height: 1.2;
  color: var(--wpforms-label-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.classic {
  border: var(--wpforms-field-border-size, 1px) var(--wpforms-field-border-style, "solid") var(--wpforms-field-border-color);
  overflow: hidden;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.classic label {
  margin: 0 auto;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.classic thead tr th {
  background-color: rgba(0, 0, 0, 0.03);
  padding-left: calc(max(10px, min(var(--wpforms-field-border-radius), 30px )));
  padding-right: calc(max(10px, min(var(--wpforms-field-border-radius), 30px )));
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.classic tbody tr td {
  background-color: transparent;
  vertical-align: top;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.classic td {
  border-top: var(--wpforms-field-border-size, 1px) var(--wpforms-field-border-style, "solid") var(--wpforms-field-border-color);
  border-left: none;
  border-right: none;
  border-bottom: none;
  text-align: center;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.classic td input[type=radio] {
  min-width: unset;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.classic td label {
  width: fit-content;
  margin-top: var(--wpforms-field-size-sublabel-spacing);
  padding: 0;
  font-size: var(--wpforms-field-size-font-size);
  line-height: 1.2;
  color: var(--wpforms-label-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern thead th {
  padding: 0 0 var(--wpforms-field-size-sublabel-spacing) 0;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td {
  padding: 0;
  border-top-width: var(--wpforms-field-border-size, 1px);
  border-top-style: var(--wpforms-field-border-style, solid);
  border-top-color: var(--wpforms-field-border-color);
  border-right: none;
  border-bottom-width: var(--wpforms-field-border-size, 1px);
  border-bottom-style: var(--wpforms-field-border-style, solid);
  border-bottom-color: var(--wpforms-field-border-color);
  border-left-width: var(--wpforms-field-border-size, 1px);
  border-left-style: var(--wpforms-field-border-style, solid);
  border-left-color: var(--wpforms-field-border-color);
  background-color: var(--wpforms-field-background-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:first-of-type {
  border-top-left-radius: var(--wpforms-field-border-radius);
  border-bottom-left-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:first-of-type label {
  border-top-left-radius: var(--wpforms-field-border-radius);
  border-bottom-left-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:first-of-type label:after {
  border-top-left-radius: var(--wpforms-field-border-radius);
  border-bottom-left-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-of-type {
  border-right-width: var(--wpforms-field-border-size, 1px);
  border-right-style: var(--wpforms-field-border-style, solid);
  border-right-color: var(--wpforms-field-border-color);
  border-top-right-radius: var(--wpforms-field-border-radius);
  border-bottom-right-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-of-type label {
  border-top-right-radius: var(--wpforms-field-border-radius);
  border-bottom-right-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-of-type label:after {
  border-top-right-radius: var(--wpforms-field-border-radius);
  border-bottom-right-radius: var(--wpforms-field-border-radius);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-of-type:hover label:after {
  right: 0;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td label {
  color: var(--wpforms-field-text-color);
  font-weight: 500;
  font-size: var(--wpforms-field-size-font-size);
  line-height: 1;
  margin: 0;
  padding: 0;
  height: var(--wpforms-field-size-input-height);
  display: flex;
  align-items: center;
  justify-content: center;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td label:after {
  transition: all 0.15s ease-in-out;
  box-shadow: none;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: auto;
  width: auto;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td label:hover {
  background-color: rgba(0, 0, 0, 0.08);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td label:hover:after {
  box-shadow: 0 0 0 2px var(--wpforms-button-background-color);
  left: 1px;
  right: 1px;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio]:checked + label {
  background-color: var(--wpforms-button-background-color);
  color: var(--wpforms-button-text-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio]:focus:not(:checked) + label {
  background-color: rgba(0, 0, 0, 0.08);
  color: var(--wpforms-field-text-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio]:focus:not(:checked) + label:after {
  border: none;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio].wpforms-error + label:hover:after {
  border: none;
  box-shadow: 0 0 0 2px var(--wpforms-label-error-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td input[type=radio].wpforms-error + label:after {
  border: none;
  box-shadow: 0 0 0 1px var(--wpforms-label-error-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused fieldset {
  margin-bottom: -2px;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody {
  position: relative;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td {
  border-top-width: 2px;
  border-bottom-width: 2px;
  border-color: var(--wpforms-button-background-color);
  transform: translateY(-1px);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:first-of-type {
  border-left-width: 2px;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:first-of-type:hover label:after {
  left: 0;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:last-of-type {
  border-right-width: 2px;
  border-color: var(--wpforms-button-background-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:last-of-type:hover label:after {
  right: 0;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody:hover input[type=radio]:focus:not(:checked) + label {
  background-color: transparent;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody:hover input[type=radio]:focus:not(:checked) + label:hover {
  background-color: rgba(0, 0, 0, 0.08) !important;
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused.wpforms-has-error table.modern tbody td {
  border-color: var(--wpforms-label-error-color);
}

div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused.wpforms-has-error table.modern tbody td:last-of-type {
  border-color: var(--wpforms-label-error-color);
}

.et-db #content-area table.modern td {
  padding: 0;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td {
  border-left: none;
  border-right-width: var(--wpforms-field-border-size, 1px);
  border-right-style: var(--wpforms-field-border-style, solid);
  border-right-color: var(--wpforms-field-border-color);
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-of-type {
  border-left-width: var(--wpforms-field-border-size, 1px);
  border-left-style: var(--wpforms-field-border-style, solid);
  border-left-color: var(--wpforms-field-border-color);
  border-radius: var(--wpforms-field-border-radius) 0 0 var(--wpforms-field-border-radius);
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-of-type label {
  border-radius: var(--wpforms-field-border-radius) 0 0 var(--wpforms-field-border-radius);
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:last-of-type label:after {
  border-radius: var(--wpforms-field-border-radius) 0 0 var(--wpforms-field-border-radius);
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:first-of-type {
  border-radius: 0 var(--wpforms-field-border-radius) var(--wpforms-field-border-radius) 0;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:first-of-type label {
  border-radius: 0 var(--wpforms-field-border-radius) var(--wpforms-field-border-radius) 0;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score table.modern tbody tr td:first-of-type label:after {
  border-radius: 0 var(--wpforms-field-border-radius) var(--wpforms-field-border-radius) 0;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td {
  border-top-width: 2px;
  border-bottom-width: 2px;
  transform: translateY(-1px);
  border-color: var(--wpforms-button-background-color);
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:first-of-type {
  border-right: 2px solid var(--wpforms-button-background-color);
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:first-of-type:hover label:after {
  right: 0;
  left: 1px;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:last-of-type {
  border-right-width: var(--wpforms-field-border-size, 1px);
  border-right-style: var(--wpforms-field-border-style, solid);
  border-right-color: var(--wpforms-button-background-color);
  border-left-width: 2px;
  border-left-color: var(--wpforms-button-background-color);
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:last-of-type:hover label:after {
  left: 0;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:hover {
  border-color: var(--wpforms-button-background-color);
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:hover input[type=radio]:focus:not(:checked) + label {
  background-color: transparent;
  border: none;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:hover input[type=radio]:focus:not(:checked) + label:hover {
  background-color: rgba(0, 0, 0, 0.08) !important;
}

.rtl div.wpforms-container-full.wpforms-render-modern .wpforms-form .wpforms-field-net_promoter_score.wpforms-field-focused table.modern tbody td:hover input[type=radio]:checked + label {
  background-color: var(--wpforms-button-background-color);
  color: var(--wpforms-button-text-color);
  border-left-width: var(--wpforms-field-border-size, 1px);
  border-left-style: var(--wpforms-field-border-style, solid);
  border-left-color: var(--wpforms-field-border-color);
}

.wpforms-lead-forms-container .wpforms-field-ranking {
  --wpforms-field-border-color: var(--wpforms-lead-forms-field-border-color);
  --wpforms-field-border-radius: 4px;
  --wpforms-field-background-color: transparent;
  --wpforms-field-text-color: var(--wpforms-lead-forms-primary-text-color);
  --wpforms-field-size-font-size: 16px;
  --wpforms-field-size-line-height: 1.375;
  --wpforms-field-size-input-height: 46px;
  --wpforms-button-size-margin-top: 20px;
  --wpforms-field-size-sublabel-spacing: 8px;
  --wpforms-button-background-color: rgba( var(--wpforms-lead-forms-accent-color), 1 );
}

.wpforms-lead-forms-container .wpforms-field-ranking .wpforms-field-ranking-items.wpforms-field-small, .wpforms-lead-forms-container .wpforms-field-ranking .wpforms-field-ranking-items.wpforms-field-medium {
  max-width: 100%;
}

.wpforms-lead-forms-container .wpforms-field-ranking .wpforms-field-ranking-layout-list .wpforms-field-ranking-item {
  position: relative;
  justify-content: center;
  padding-inline: calc( var(--wpforms-field-size-padding-h, 15px) + 77px);
}

.wpforms-lead-forms-container .wpforms-field-ranking .wpforms-field-ranking-layout-list .wpforms-field-ranking-item-label {
  flex: 0 1 auto;
}

.wpforms-lead-forms-container .wpforms-field-ranking .wpforms-field-ranking-layout-list .wpforms-field-ranking-item-arrows,
.wpforms-lead-forms-container .wpforms-field-ranking .wpforms-field-ranking-layout-list .wpforms-field-ranking-item-handle {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.wpforms-lead-forms-container .wpforms-field-ranking .wpforms-field-ranking-layout-list .wpforms-field-ranking-item-arrows {
  inset-inline-end: calc( var(--wpforms-field-size-padding-h, 15px) + 19px);
}

.wpforms-lead-forms-container .wpforms-field-ranking .wpforms-field-ranking-layout-list .wpforms-field-ranking-item-handle {
  inset-inline-end: var(--wpforms-field-size-padding-h, 15px);
}

.wpforms-container.wpforms-lead-forms-container form.wpforms-form .wpforms-field-ranking {
  --wpforms-ranking-item-hover-border-color: rgba( var(--wpforms-lead-forms-accent-color), 1 );
}

#wpforms-form-page-page .wpforms-field-ranking .wpforms-field-ranking-items.wpforms-field-small, #wpforms-form-page-page .wpforms-field-ranking .wpforms-field-ranking-items.wpforms-field-medium {
  max-width: 100%;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3Bmb3Jtcy1zdXJ2ZXlzLXBvbGxzLmNzcyIsInNvdXJjZXMiOlsid3Bmb3Jtcy1zdXJ2ZXlzLXBvbGxzLnNjc3MiLCJwYXJ0aWFscy9fbGlrZXJ0X3NjYWxlLnNjc3MiLCJwYXJ0aWFscy9fbmV0X3Byb21vdGVyX3Njb3JlLnNjc3MiLCIuLi8uLi8uLi93cGZvcm1zL2Fzc2V0cy9zY3NzL3ZlbmRvci9wYXJ0aWFscy9faW5jbHVkZS1tZWRpYS5zY3NzIiwicGFydGlhbHMvX3Jhbmtpbmcuc2NzcyIsInBhcnRpYWxzL19tb2Rlcm4uc2NzcyIsIi4uLy4uLy4uL3dwZm9ybXMvYXNzZXRzL3Njc3MvZnJvbnRlbmQvbW9kZXJuL2Jhc2UvX2NvbG9ycy5zY3NzIiwiLi4vLi4vLi4vd3Bmb3Jtcy9hc3NldHMvc2Nzcy9mcm9udGVuZC9tb2Rlcm4vYmFzZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi93cGZvcm1zL2Fzc2V0cy9zY3NzL2Zyb250ZW5kL21vZGVybi9mdWxsL19taXhpbnMuc2NzcyIsInBhcnRpYWxzL19saWtlcnRfc2NhbGVfbW9kZXJuLnNjc3MiLCJwYXJ0aWFscy9fbmV0X3Byb21vdGVyX3Njb3JlX21vZGVybi5zY3NzIiwicGFydGlhbHMvX2NvbXBhdGliaWxpdHkuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdwYXJ0aWFscy9saWtlcnRfc2NhbGUnO1xuQGltcG9ydCAncGFydGlhbHMvbmV0X3Byb21vdGVyX3Njb3JlJztcbkBpbXBvcnQgJy4uLy4uLy4uL3dwZm9ybXMvYXNzZXRzL3Njc3MvdmVuZG9yL3BhcnRpYWxzL2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAncGFydGlhbHMvcmFua2luZyc7XG5cbmZvcm0ud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWxpa2VydF9zY2FsZSB7XG5cblx0dGFibGUge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1pbi13aWR0aDogMjUwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRcdGJvcmRlci1zcGFjaW5nOiAwO1xuXG5cdFx0dGhlYWQge1xuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdHRyIHtcblx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRcdFx0LXdlYmtpdC1ib3JkZXItYmVmb3JlOiByZXZlcnQ7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ibG9jay1zdGFydDogcmV2ZXJ0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1maWVsZC1tZWRpdW0ge1xuXHRcdFx0bWF4LXdpZHRoOiA2MCU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8NjAwcHgnKSB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLndwZm9ybXMtZmllbGQtc21hbGwge1xuXHRcdFx0bWF4LXdpZHRoOiAyNSU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8NjAwcHgnKSB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLm1vZGVybiB7XG5cdFx0XHRAZXh0ZW5kICVsaWtlcnQtdGFibGUtbW9kZXJuO1xuXHRcdH1cblxuXHRcdCYuY2xhc3NpYyB7XG5cdFx0XHRAZXh0ZW5kICVsaWtlcnQtdGFibGUtY2xhc3NpYztcblx0XHR9XG5cdH1cbn1cblxuZm9ybS53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtbmV0X3Byb21vdGVyX3Njb3JlIHtcblxuXHR0YWJsZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLXdpZHRoOiAyNTBweDtcblx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdGJvcmRlci1jb2xsYXBzZTogaW5pdGlhbDtcblx0XHRib3JkZXItc3BhY2luZzogMDtcblxuXHRcdCYud3Bmb3Jtcy1maWVsZC1tZWRpdW0ge1xuXHRcdFx0bWF4LXdpZHRoOiA2MCU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8NjAwcHgnKSB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLndwZm9ybXMtZmllbGQtc21hbGwge1xuXHRcdFx0bWF4LXdpZHRoOiAyNSU7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8NjAwcHgnKSB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLm1vZGVybiB7XG5cdFx0XHRAZXh0ZW5kICVuZXQtcHJvbW90ZXItc2NvcmUtdGFibGUtbW9kZXJuO1xuXHRcdH1cblxuXHRcdCYuY2xhc3NpYyB7XG5cdFx0XHRAZXh0ZW5kICVuZXQtcHJvbW90ZXItc2NvcmUtdGFibGUtY2xhc3NpYztcblxuXHRcdFx0Ji53cGZvcm1zLWZpZWxkLWxhcmdlIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdCYud3Bmb3Jtcy1maWVsZC1zbWFsbCB7XG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cblx0XHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXSB7XG5cdFx0XHRcdFx0XHRtaW4td2lkdGg6IHVuc2V0O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBBZGp1c3RtZW50cyBmb3IgdGhlIExheW91dCBmaWVsZC5cbi53cGZvcm1zLWxheW91dC1jb2x1bW46bm90KC53cGZvcm1zLWxheW91dC1jb2x1bW4tMTAwKSB7XG5cdC53cGZvcm1zLWZpZWxkLWxpa2VydF9zY2FsZSwgLndwZm9ybXMtZmllbGQtbmV0X3Byb21vdGVyX3Njb3JlIHtcblx0XHR0YWJsZSB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cblxuLy8gTW9kZXJuIHJlbmRlcmluZyBhZGp1c3RtZW50cy5cbkBpbXBvcnQgJ3BhcnRpYWxzL21vZGVybic7XG5cbi8vIENvbXBhdGliaWxpdHkgd2l0aCBvdGhlciBhZGRvbnMuXG5AaW1wb3J0ICdwYXJ0aWFscy9jb21wYXRpYmlsaXR5JztcbiIsIiVsaWtlcnQtdGFibGUtbW9kZXJuIHtcblx0Ji5zaW5nbGUtcm93IHtcblx0XHR0Ym9keSB7XG5cdFx0XHR0ciB7XG5cdFx0XHRcdHRkOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogNXB4O1xuXHRcdFx0XHRcdGJvcmRlci1lbmQtZW5kLXJhZGl1czogNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0dGgge1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdHBhZGRpbmc6IDhweCA1cHg7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHR9XG5cblx0dGJvZHkge1xuXHRcdHRyIHtcblx0XHRcdCY6bnRoLWNoaWxkKG9kZCkge1xuXHRcdFx0XHR0aCxcblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGgge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IHN0YXJ0O1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRwYWRkaW5nLWlubGluZS1zdGFydDogMTBweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLXN0YXJ0LXN0YXJ0LXJhZGl1czogNXB4O1xuXHRcdFx0XHRib3JkZXItZW5kLXN0YXJ0LXJhZGl1czogNXB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdFx0fVxuXG5cdFx0XHR0ZCB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggNXB4O1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdFx0Ym9yZGVyLWVuZC1lbmQtcmFkaXVzOiA1cHg7XG5cdFx0XHRcdFx0Ym9yZGVyLXN0YXJ0LWVuZC1yYWRpdXM6IDVweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICM3Nzc3Nzc7XG5cdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCAjNzc3Nzc3O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0XHRcdG1hcmdpbjogMCAwIDAgLTEwcHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXS53cGZvcm1zLWVycm9yICsgbGFiZWwsXG5cdFx0XHRcdGlucHV0W3R5cGU9Y2hlY2tib3hdLndwZm9ybXMtZXJyb3IgKyBsYWJlbCB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCByZWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsLFxuXHRcdFx0XHRpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWwge1xuXHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG5cdFx0XHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdHRvcDogMnB4O1xuXHRcdFx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIDAgMCAtOHB4O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDE2cHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIFwiLi4vaW1hZ2VzL2NoZWNrLnN2Z1wiICk7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0XHR6LWluZGV4OiAxO1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4lbGlrZXJ0LXRhYmxlLWNsYXNzaWMge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuXG5cdHRoIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdHBhZGRpbmc6IDEwcHggNXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0XHRib3JkZXItaW5saW5lLXN0YXJ0OiAxcHggc29saWQgI2NjY2NjYztcblxuXHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRib3JkZXItaW5saW5lLXN0YXJ0OiAwO1xuXHRcdH1cblx0fVxuXG5cdHRib2R5IHtcblx0XHR0ciB7XG5cdFx0XHQmOm50aC1jaGlsZChvZGQpIHtcblx0XHRcdFx0dGgsXG5cdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHRoIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0Zm9udC1zaXplOiAxNXB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBzdGFydDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0cGFkZGluZy1pbmxpbmUtc3RhcnQ6IDEwcHg7XG5cdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdFx0XHR9XG5cblx0XHRcdHRkIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0cGFkZGluZzogMTBweCA1cHg7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ud3Bmb3Jtcy1saWtlcnQtc2NhbGUtbW9iaWxlLWxhYmVsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXG5cdGZvcm0ud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLWxpa2VydF9zY2FsZSB7XG5cdFx0dGFibGUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdHRoZWFkIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdFx0dHIge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGJvZHkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHR0ciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjYyAhaW1wb3J0YW50O1xuXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQob2RkKSB7XG5cdFx0XHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMTBweCAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cblx0XHRcdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYuY2xhc3NpYyB7XG5cdFx0XHRcdC53cGZvcm1zLWxpa2VydC1zY2FsZS1vcHRpb24ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCYubW9kZXJuIHtcblx0XHRcdFx0dGJvZHkgdHIge1xuXHRcdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR0ZCBsYWJlbCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4taW5saW5lLXN0YXJ0OiAyMHB4O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtbGlrZXJ0LXNjYWxlLW1vYmlsZS1mbGV4IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdC53cGZvcm1zLWxpa2VydC1zY2FsZS1tb2JpbGUtbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR0ZXh0LWFsaWduOiBzdGFydCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuIiwiJW5ldC1wcm9tb3Rlci1zY29yZS10YWJsZS1tb2Rlcm4ge1xuXG5cdHRoIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0LXdlYmtpdC1ib3JkZXItYmVmb3JlOiByZXZlcnQ7XG5cdFx0Ym9yZGVyLWJsb2NrLXN0YXJ0OiByZXZlcnQ7XG5cblx0XHQubm90LWxpa2VseSB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXG5cdFx0LmV4dHJlbWVseS1saWtlbHkge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0dGJvZHkge1xuXHRcdHRyIHtcblx0XHRcdHRkIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuXHRcdFx0XHRib3JkZXItbGVmdDogMDtcblx0XHRcdFx0d2lkdGg6IDkuMDkwOTA5MDkxJTtcblxuXHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1cHggMCAwIDVweDtcblx0XHRcdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2NjY2M7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdFx0Y29sb3I6ICM0NDQ0NDQ7XG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4ICM3Nzc3Nzc7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0W3R5cGU9cmFkaW9dLndwZm9ybXMtZXJyb3IgKyBsYWJlbCB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggI2NjMDAwMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggI2NjMDAwMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuXHRcdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiVuZXQtcHJvbW90ZXItc2NvcmUtdGFibGUtY2xhc3NpYyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG5cblx0dGgge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0cGFkZGluZzogMTBweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcblx0XHQtd2Via2l0LWJvcmRlci1iZWZvcmU6IHJldmVydDtcblx0XHRib3JkZXItYmxvY2stc3RhcnQ6IHJldmVydDtcblxuXHRcdC5ub3QtbGlrZWx5IHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cblx0XHQuZXh0cmVtZWx5LWxpa2VseSB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdH1cblxuXHR0Ym9keSB7XG5cdFx0dHIge1xuXHRcdFx0dGQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDVweDtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2NjY2NjYztcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR3aWR0aDogOS4wOTA5MDkwOTElO1xuXHRcdFx0XHRjb2xvcjogIzQ0NDQ0NDtcblxuXHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXSxcblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiA2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gUlRMIHJlbGF0ZWQgc3R5bGVzLlxuLnJ0bCB7XG5cdCVuZXQtcHJvbW90ZXItc2NvcmUtdGFibGUtbW9kZXJuLCAlbmV0LXByb21vdGVyLXNjb3JlLXRhYmxlLWNsYXNzaWMge1xuXG5cdFx0dGhlYWQge1xuXG5cdFx0XHR0aCB7XG5cdFx0XHRcdC5ub3QtbGlrZWx5IHtcblx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZXh0cmVtZWx5LWxpa2VseSB7XG5cdFx0XHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRib2R5IHtcblxuXHRcdFx0dHIge1xuXG5cdFx0XHRcdHRkIHtcblxuXHRcdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDtcblx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNjY2NjY2M7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNXB4IDAgMCA1cHg7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2NjY2M7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vICAgICBfICAgICAgICAgICAgXyAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgIF8gX1xuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXG4vLyAgICB8IHwgJ18gXFwgLyBfX3wgfCB8IHwgfC8gX2AgfC8gXyBcXCB8ICdfIGAgXyBcXCAvIF8gXFwvIF9gIHwgfC8gX2AgfFxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcbi8vXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40Ljlcbi8vXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcbi8vXG4vLyAgICAgIFRoaXMgcHJvamVjdCBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBicmVha3BvaW50IHdpdGggdGhlIGxhYmVsIGBwaG9uZWBcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xuLy8vXG4kYnJlYWtwb2ludHM6IChcblx0XHQncGhvbmUnOiAzMjBweCxcblx0XHQndGFibGV0JzogNzY4cHgsXG5cdFx0J2Rlc2t0b3AnOiAxMDI0cHhcbikgIWRlZmF1bHQ7XG5cblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcblx0XHQnc2NyZWVuJzogJ3NjcmVlbicsXG5cdFx0J3ByaW50JzogJ3ByaW50Jyxcblx0XHQnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuXHRcdCdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcblx0XHQncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuXHRcdCdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG5cdFx0J3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcblx0XHQncHgnOiAxLFxuXHRcdCdlbSc6IDAuMDEsXG5cdFx0J3JlbSc6IDAuMSxcblx0XHQnJzogMFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcblx0QGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcblx0XHRAZXJyb3IgJG1lc3NhZ2U7XG5cdH0gQGVsc2Uge1xuXHRcdEB3YXJuICRtZXNzYWdlO1xuXHRcdCRfOiBub29wKCk7XG5cdH1cblxuXHRAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcblx0QGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcblx0JG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cblx0QGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG5cdFx0QGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG5cdH1cblxuXHRAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcblx0XHRAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuXHRcdFx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcblx0XHRcdCRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuXHRcdFx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG5cdFx0XHRAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcblx0XHRcdFx0QHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcblx0XHRcdEByZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9XG5cblx0QHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gR2V0IG9wZXJhdG9yIG9mIGFuIGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XG5cdEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xuXHRcdEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuXHRcdFx0QHJldHVybiAkb3BlcmF0b3I7XG5cdFx0fVxuXHR9XG5cblx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuXHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuXHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cblx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcblx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuXHQkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuXHQkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblx0JHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG5cdCRkaW1lbnNpb246ICd3aWR0aCc7XG5cblx0QGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG5cdFx0JGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG5cdH1cblxuXHRAcmV0dXJuICRkaW1lbnNpb247XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG5cdEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cdCR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xuXG5cdEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuXHRcdCR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG5cdH0gQGVsc2Uge1xuXHRcdCR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XG5cdH1cblxuXHQkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xuXG5cdEBpZiBub3QgJGludGVydmFsIHtcblx0XHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG5cdFx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2Vcblx0XHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cblx0XHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuXHRcdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cblx0XHQkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XG5cdH1cblxuXHRAaWYgJG9wZXJhdG9yID09ICc+JyB7XG5cdFx0JHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XG5cdH0gQGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XG5cdFx0JHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XG5cdH1cblxuXHRAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuXHQvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG5cdC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG5cdEBpZiBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuXHR9XG5cblx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG5cdCRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG5cdCR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cblx0QHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xuXHRAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG5cdFx0QHJldHVybiAoKTtcblx0fVxuXG5cdCRyZXN1bHQ6ICgpO1xuXG5cdEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcblx0XHQkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRsaXN0LCAkaSkpO1xuXHR9XG5cblx0QHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuXHRAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcblx0XHRAcmV0dXJuICR2YWx1ZTtcblx0fSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuXHRcdCRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG5cdH1cblxuXHQkZmlyc3QtY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKTtcblx0JHJlc3VsdDogMDtcblx0JGRpZ2l0czogMDtcblx0JG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuXHQkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XG5cblx0Ly8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG5cdEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcblx0XHQkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xuXHR9XG5cblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuXHRcdCRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cblx0XHRAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG5cdFx0XHRAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuXHRcdH1cblxuXHRcdEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG5cdFx0XHQkZGlnaXRzOiAxO1xuXHRcdH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xuXHRcdFx0JHJlc3VsdDogJHJlc3VsdCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpIC8gJGRpZ2l0cztcblx0XHR9XG5cdH1cblxuXHRAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xufVxuXG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcblx0JHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcblxuXHRAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG5cdFx0JF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XG5cdH1cblxuXHRAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XG59XG5cbi8vL1xuLy8vIFRoaXMgbWl4aW4gYWltcyBhdCByZWRlZmluaW5nIHRoZSBjb25maWd1cmF0aW9uIGp1c3QgZm9yIHRoZSBzY29wZSBvZlxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcbi8vLyBmb3IgaW5zdGFuY2UuXG4vLy9cbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcblx0Ly8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuXHQkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG5cdCRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuXHQvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cblx0JGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG5cdCRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG5cdEBjb250ZW50O1xuXG5cdC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cblx0JGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG5cdCRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG5cdEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuXHRcdEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcblx0XHRcdC8vIFJlY3Vyc2l2ZSBjYWxsXG5cdFx0XHRAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBSYW5raW5nIGZpZWxkIHN0eWxlcy5cbi8vXG4vLyBAc2luY2Uge1ZFUlNJT059XG5cbmZvcm0ud3Bmb3Jtcy1mb3JtIC53cGZvcm1zLWZpZWxkLXJhbmtpbmcge1xuXG5cdC8vIFRoZSBjbGFzc2ljIGVuZ2luZSBkZWZpbmVzIG5vIHRoZW1lIHZhcmlhYmxlcywgc28gdGhlIGZhbGxiYWNrcyBiZWxvd1xuXHQvLyBhcmUgdGhlIGNsYXNzaWMgdmFsdWVzOyB0aGUgbW9kZXJuIGVuZ2luZSBhbHdheXMgcmVzb2x2ZXMgdGhlIHZhcmlhYmxlcy5cblx0LndwZm9ybXMtY29udGFpbmVyOm5vdCgud3Bmb3Jtcy1yZW5kZXItbW9kZXJuKSAmIHtcblx0XHQtLXdwZm9ybXMtcmFua2luZy1pdGVtLWhvdmVyLWJvcmRlci1jb2xvcjogIzk5OTk5OTtcblx0fVxuXG5cdC8vIFZlcnRpY2FsIHJoeXRobTogbGFiZWwg4oaSIGRlc2NyaXB0aW9uIOKGkiBsaXN0LCB0aGVtZWQgc3BhY2luZyBpbiB0aGVcblx0Ly8gbW9kZXJuIGVuZ2luZSBhbmQgNHB4IGdhcHMgaW4gdGhlIGNsYXNzaWMgb25lLiBDb21wb3VuZGluZ1xuXHQvLyAud3Bmb3Jtcy1maWVsZCBsaWZ0cyBzcGVjaWZpY2l0eSBhYm92ZSB0aGUgY29yZSBsYWJlbC9kZXNjcmlwdGlvblxuXHQvLyBtYXJnaW5zLiBBIGhpZGRlbiBsYWJlbCBpcyBvdXQgb2YgZmxvdywgc28gYSBsYWJlbC1sZXNzIGZpZWxkIGxlYXZlc1xuXHQvLyB0aGUgbGlzdCBmbHVzaCB3aXRoIG5vIGdhcC5cblx0Ji53cGZvcm1zLWZpZWxkIHtcblxuXHRcdC8vIFRoZSBjYXB0aW9uIGlzIGEgZmllbGRzZXQgbGVnZW5kIGluIHRoZSBtb2Rlcm4gZW5naW5lIGFuZCBhIHBsYWluXG5cdFx0Ly8gbGFiZWwgKGEgZGlyZWN0IGNoaWxkIG9mIHRoZSBmaWVsZCkgaW4gdGhlIGNsYXNzaWMgZW5naW5lLCBzbyBib3RoXG5cdFx0Ly8gY29udGV4dHMgYXJlIGNvdmVyZWQuIEEgPGxlZ2VuZD4gc2hyaW5rcyB0byBpdHMgY29udGVudCBieSBkZWZhdWx0LFxuXHRcdC8vIHNvIGZ1bGwgd2lkdGgga2VlcHMgYSBsb25nIGNhcHRpb24gd3JhcHBpbmcgYWNyb3NzIHRoZSBmaWVsZDsga2VwdCBpblxuXHRcdC8vIG5vcm1hbCBmbG93IChubyBmbG9hdCBvciBvZmYtc2NyZWVuIHRyaWNrKSBzbyB0aGUgbGVnZW5kIHN0YXlzIHRoZVxuXHRcdC8vIGdyb3VwJ3MgYWNjZXNzaWJsZSBuYW1lIGluIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUuXG5cdFx0PiAud3Bmb3Jtcy1maWVsZC1sYWJlbCxcblx0XHRmaWVsZHNldCA+IC53cGZvcm1zLWZpZWxkLWxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS13cGZvcm1zLWJ1dHRvbi1zaXplLW1hcmdpbi10b3AsIDRweCk7XG5cblx0XHRcdCY6bm90KDplbXB0eSk6aGFzKCsgLndwZm9ybXMtZmllbGQtZGVzY3JpcHRpb24pIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0td3Bmb3Jtcy1maWVsZC1zaXplLXN1YmxhYmVsLXNwYWNpbmcsIDRweCk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEFuIGVtcHR5IGNhcHRpb24gaXMgc3RpbGwgcHJpbnRlZCBmb3IgbWFya3VwIGNvbnNpc3RlbmN5OyBkcm9wIGl0c1xuXHRcdFx0Ly8gbWFyZ2luIHNvIGl0IGFkZHMgbm8gZ2FwIGFib3ZlIHRoZSBsaXN0LiBFeGNsdWRlZCBmcm9tIHRoZSBydWxlXG5cdFx0XHQvLyBhYm92ZSBzbyB0aGUgdHdvIG5ldmVyIGNvbXBldGUuXG5cdFx0XHQmOmVtcHR5IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQ+IC53cGZvcm1zLWZpZWxkLWRlc2NyaXB0aW9uLFxuXHRcdGZpZWxkc2V0ID4gLndwZm9ybXMtZmllbGQtZGVzY3JpcHRpb24ge1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdFx0fVxuXHR9XG5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtcyB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0Z2FwOiAxMHB4O1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0Ji53cGZvcm1zLWZpZWxkLW1lZGl1bSB7XG5cdFx0XHRtYXgtd2lkdGg6IDYwJTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw2MDBweCcpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYud3Bmb3Jtcy1maWVsZC1zbWFsbCB7XG5cdFx0XHRtYXgtd2lkdGg6IDI1JTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw2MDBweCcpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFRoZW1lIHZhcmlhYmxlcyBjb21lIGZyb20gdGhlIG1vZGVybiByZW5kZXIgZW5naW5lIGFuZCBmb3JtIHRoZW1lcztcblx0Ly8gdGhlIGZhbGxiYWNrcyBhcmUgdGhlIGNsYXNzaWMgZW5naW5lIHZhbHVlcy5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEwcHg7XG5cdFx0bWluLWhlaWdodDogdmFyKC0td3Bmb3Jtcy1maWVsZC1zaXplLWlucHV0LWhlaWdodCwgNDNweCk7XG5cdFx0Ym9yZGVyOiB2YXIoLS13cGZvcm1zLWZpZWxkLWJvcmRlci1zaXplLCAxcHgpIHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXN0eWxlLCBzb2xpZCkgdmFyKC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItY29sb3IsICNjY2NjY2MpO1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cywgMnB4KTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13cGZvcm1zLWZpZWxkLWJhY2tncm91bmQtY29sb3IsICNmZmZmZmYpO1xuXHRcdGNvbG9yOiB2YXIoLS13cGZvcm1zLWZpZWxkLXRleHQtY29sb3IsICMzMzMzMzMpO1xuXHRcdHBhZGRpbmc6IDEwcHggdmFyKC0td3Bmb3Jtcy1maWVsZC1zaXplLXBhZGRpbmctaCwgMTVweCk7XG5cdFx0bGluZS1oZWlnaHQ6IHZhcigtLXdwZm9ybXMtZmllbGQtc2l6ZS1saW5lLWhlaWdodCwgMS4zKTtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dDtcblxuXHRcdC8vIE5vIHRoZW1lIHZhcmlhYmxlIGV4aXN0cyBmb3IgdGhlIGhvdmVyIGJvcmRlciwgc28gdGhlIG1vZGVybiB2YWx1ZVxuXHRcdC8vIChGaWdtYTogYmxhY2sgYXQgNTAlKSBpcyB0aGUgZmFsbGJhY2sgYW5kIHRoZSBjbGFzc2ljIG9uZSBjb21lcyBmcm9tXG5cdFx0Ly8gdGhlIGxvY2FsIGN1c3RvbSBwcm9wZXJ0eSBzZXQgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZS5cblx0XHQvLyA6aGFzKDpmb2N1cy12aXNpYmxlKSwgbm90IDpmb2N1cy13aXRoaW46IGtleWJvYXJkIGZvY3VzIGtlZXBzIHRoZVxuXHRcdC8vIHN0YXRlIHdoaWxlIGEgbW91c2UgY2xpY2sgb24gYW4gYXJyb3cgbGVhdmVzIG5vIGxpbmdlcmluZyBib3JkZXIuXG5cdFx0Ly8gVGhlIDpoYXMoKSBydWxlcyBoZXJlIGFuZCBiZWxvdyBhcmUgbmV2ZXIgZ3JvdXBlZCB3aXRoIDpob3ZlciBvbmVzOlxuXHRcdC8vIGJyb3dzZXJzIHdpdGhvdXQgOmhhcygpIGRyb3AgYW4gZW50aXJlIHNlbGVjdG9yIGxpc3QgY29udGFpbmluZyBpdCxcblx0XHQvLyB3aGljaCB3b3VsZCBraWxsIHRoZSBob3ZlciBzdHlsaW5nIHRvby5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0td3Bmb3Jtcy1yYW5raW5nLWl0ZW0taG92ZXItYm9yZGVyLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuNSkpO1xuXHRcdH1cblxuXHRcdCY6aGFzKDpmb2N1cy12aXNpYmxlKSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLXdwZm9ybXMtcmFua2luZy1pdGVtLWhvdmVyLWJvcmRlci1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjUpKTtcblx0XHR9XG5cdH1cblxuXHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tbGFiZWwge1xuXHRcdGZsZXg6IDEgMSBhdXRvO1xuXHRcdG1pbi13aWR0aDogMDtcblx0XHRmb250LXNpemU6IHZhcigtLXdwZm9ybXMtbGFiZWwtc2l6ZS1zdWJsYWJlbC1mb250LXNpemUsIDE0cHgpO1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblx0fVxuXG5cdC8vIEluIGxpc3QgbW9kZSB0aGUgY29udGVudCB3cmFwcGVyIGlzIHRyYW5zcGFyZW50IHRvIHRoZSBmbGV4IGxheW91dCBzb1xuXHQvLyB0aGUgaXRlbS1sZXZlbCBnYXAgYW5kIGFsaWdubWVudCBydWxlcyBhcHBseSBkaXJlY3RseSB0byBtZWRpYSBhbmQgbGFiZWwuXG5cdC8vIFRoZSBncmlkIGxheW91dCBvdmVycmlkZXMgdGhpcyBiZWxvdy5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGNvbnRlbnRzO1xuXHR9XG5cblx0Ly8gTm8gd2lkdGggaGVyZTogYW4gaWNvbiBsaXN0IGhhcyBubyBzaXplIGNsYXNzLCBzbyB0aGUgYm94IGh1Z3MgdGhlIFNWR1xuXHQvLyBhbmQgYWRkcyBubyBnYXAgYmVmb3JlIHRoZSBsYWJlbC4gSW1hZ2UgbGlzdHMgYWx3YXlzIGNhcnJ5IGEgc2l6ZSBjbGFzc1xuXHQvLyAoUEhQIGZhbGxzIGJhY2sgdG8gbGFyZ2UpLCBhbmQgdGhvc2UgY2xhc3NlcyBzZXQgdGhlIGV4cGxpY2l0IHdpZHRoIHRoYXRcblx0Ly8gcHJldmVudHMgYSBjaXJjdWxhciBtYXgtd2lkdGggY29sbGFwc2Ugd2l0aCB0aGVtZXMgc3R5bGluZ1xuXHQvLyBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgfS5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLW1lZGlhIHtcblx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0aW1nIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0b2JqZWN0LWZpdDogY29udGFpbjtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0ZmlsbDogdmFyKC0td3Bmb3Jtcy1yYW5raW5nLWljb24tY29sb3IsIGN1cnJlbnRDb2xvcik7XG5cdFx0fVxuXHR9XG5cblx0Ly8gTGlzdCBpbWFnZSBzaXplczogc21hbGwgPSAzMnB4LCBtZWRpdW0gPSA0OHB4LCBsYXJnZSA9IDY0cHguIFRoZSBncmlkXG5cdC8vIGxheW91dCBvdmVycmlkZXMgdGhlbSBiZWxvdyB3aXRoIGl0cyBvd24gc2NhbGUgKDQ4LzY0Lzk2KS5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pbWFnZXMtbGFyZ2UgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLW1lZGlhIHtcblx0XHR3aWR0aDogNjRweDtcblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogNjRweDtcblx0XHRcdGhlaWdodDogNjRweDtcblx0XHR9XG5cdH1cblxuXHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWltYWdlcy1tZWRpdW0gLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLW1lZGlhIHtcblx0XHR3aWR0aDogNDhweDtcblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogNDhweDtcblx0XHRcdGhlaWdodDogNDhweDtcblx0XHR9XG5cdH1cblxuXHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWltYWdlcy1zbWFsbCAud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tbWVkaWEge1xuXHRcdHdpZHRoOiAzMnB4O1xuXG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOiAzMnB4O1xuXHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdH1cblx0fVxuXG5cdC8vIFJvd3Mgd2l0aCBpY29uIG9yIGltYWdlIGNob2ljZXMgYnJlYXRoZSBtb3JlOiAxNXB4IHZlcnRpY2FsIHBhZGRpbmdcblx0Ly8gaW5zdGVhZCBvZiB0aGUgcGxhaW4tcm93IDEwcHguIEltYWdlIGNob2ljZXMgYWxzbyB3aWRlbiB0aGVcblx0Ly8gbWVkaWEtdG8tbGFiZWwgZ2FwIHRvIDE1cHg7IGljb24gY2hvaWNlcyBrZWVwIHRoZSBkZWZhdWx0IDEwcHguIFRoZVxuXHQvLyBjbGFzcyBpcyBzZXR0aW5ncy1kcml2ZW4sIHNvIHJvd3Mgd2l0aCBhIG1pc3NpbmcgaW1hZ2Uga2VlcCB0aGUgc2FtZVxuXHQvLyBoZWlnaHQgYXMgdGhlaXIgc2libGluZ3MuIFRoZSBncmlkIGNhcmQgcnVsZXMgYmVsb3cgd2luIG9uIHNvdXJjZSBvcmRlclxuXHQvLyBhdCB0aGUgc2FtZSBzcGVjaWZpY2l0eSwgc28gZnJvbSA3NjhweCB1cCB0aGUgZ3JpZCBrZWVwcyBpdHMgb3duXG5cdC8vIHBhZGRpbmcgYW5kIGdhcC5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1oYXMtbWVkaWEgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtIHtcblx0XHRwYWRkaW5nLXRvcDogMTVweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMTVweDtcblx0fVxuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaW1hZ2VzLWxhcmdlLFxuXHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWltYWdlcy1tZWRpdW0sXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaW1hZ2VzLXNtYWxsIHtcblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0ge1xuXHRcdFx0Z2FwOiAxNXB4O1xuXHRcdH1cblx0fVxuXG5cdC8vIFRoZSBIaWRlIENob2ljZSBMYWJlbCBvcHRpb24gKGltYWdlIGNob2ljZXMgb25seSkgcmVtb3ZlcyB0aGUgbGFiZWxzXG5cdC8vIHZpc3VhbGx5LCByZWx5aW5nIG9uIHRoZSBpbWFnZXMuIFRoZSB0ZXh0IHN0YXlzIGluIHRoZSBhY2Nlc3NpYmlsaXR5XG5cdC8vIHRyZWU6IHNjcmVlbiByZWFkZXJzIHN0aWxsIGFubm91bmNlIHRoZSBjaG9pY2VzIGFuZCB0aGUgYXJyb3cgYnV0dG9uc1xuXHQvLyBrZWVwIHRoZWlyIGxhYmVsLWJhc2VkIGFjY2Vzc2libGUgbmFtZXMuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctbGFiZWxzLWhpZGRlbiAud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tbGFiZWwge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR3aWR0aDogMXB4O1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Y2xpcDogcmVjdCgwIDAgMCAwKTtcblx0XHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0fVxuXG5cdC8vIFdpdGhvdXQgdGhlIGdyb3dpbmcgbGFiZWwsIHRoZSBpbWFnZSBwdXNoZXMgdGhlIGFycm93cyBhbmQgZHJhZyBoYW5kbGVcblx0Ly8gdG8gdGhlIHRyYWlsaW5nIGVkZ2Ugb2YgdGhlIGxpc3Qgcm93IGluc3RlYWQuIFNjb3BlZCB0byB0aGUgbGlzdCBsYXlvdXQ6XG5cdC8vIGdyaWQgY2FyZHMgY2VudGVyIHRoZWlyIGNvbnRlbnQuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctbGF5b3V0LWxpc3Qud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWxhYmVscy1oaWRkZW4gLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLW1lZGlhIHtcblx0XHRtYXJnaW4taW5saW5lLWVuZDogYXV0bztcblx0fVxuXG5cdC8vIENvbnRyb2wgdmlzaWJpbGl0eSBpcyBzZXR0aW5ncy1kcml2ZW4gKHRoZSBhcnJvd3MgbW9kZSBjbGFzc2VzIGJlbG93IGFuZFxuXHQvLyB0aGUgZ3JpZCBsYXlvdXQgcnVsZXMpLCBub3QgSlMtZHJpdmVuLCBzbyB0aGUgY29udHJvbHMgYWxzbyByZW5kZXIgaW4gdGhlXG5cdC8vIGVkaXRvciBwcmV2aWV3cyAoR3V0ZW5iZXJnLCBEaXZpLCBFbGVtZW50b3IpIHdoZXJlIHRoZSBKUyBtb2R1bGUgbmV2ZXJcblx0Ly8gcnVucy4gT25seSB0aGUgZHJhZyBjdXJzb3Igc3RheXMgYmVoaW5kIHRoZSBKUy1hZGRlZCByZWFkeSBjbGFzcy5cblx0Ly8gT3BhY2l0eSBmcmFjdGlvbnMgb2YgdGhlIHRoZW1lZCB0ZXh0IGNvbG9yIHJlcHJvZHVjZSB0aGUgRmlnbWEgcmVzdFxuXHQvLyBhbmQgaG92ZXIgc3RyZW5ndGhzIG9uIHRoZSBkZWZhdWx0IHRoZW1lICgyNSUgYW5kIDUwJSBibGFjaykuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1oYW5kbGUge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdGNvbG9yOiB2YXIoLS13cGZvcm1zLWZpZWxkLXRleHQtY29sb3IsICMzMzMzMzMpO1xuXHRcdG9wYWNpdHk6IDAuMzU7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcblx0fVxuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbTpob3ZlciAud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0taGFuZGxlLFxuXHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW06aGFzKDpmb2N1cy12aXNpYmxlKSAud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0taGFuZGxlIHtcblx0XHRvcGFjaXR5OiAwLjc7XG5cdH1cblxuXHQvLyBUaGUgbmV2ZXItbW9kZSBoaWRlIHJ1bGUgYmVsb3cgd2lucyBvbiBzcGVjaWZpY2l0eSwgc28gdGhpcyBiYXNlIHJldmVhbFxuXHQvLyBuZXZlciBjb21wZXRlcyB3aXRoIGl0LlxuXHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tYXJyb3dzIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0fVxuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctcmVhZHkge1xuXG5cdFx0Ly8gVGhlIGRlbGF5ZWQtZHJhZyBob2xkIGlzIHRoZSBzYW1lIGdlc3R1cmUgYXMgdGhlIGJyb3dzZXInc1xuXHRcdC8vIGxvbmctcHJlc3MsIHNvIHRleHQgc2VsZWN0aW9uIGFuZCB0aGUgaU9TIGNhbGxvdXQgbXVzdCBub3Rcblx0XHQvLyBoaWphY2sgaXQgb24gdGhlIGRyYWcgc3VyZmFjZS5cblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0ge1xuXHRcdFx0Y3Vyc29yOiBncmFiO1xuXHRcdFx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHRcdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0XHR9XG5cblx0XHQvLyBPcGFjaXR5IGZyYWN0aW9ucyBvZiB0aGUgdGhlbWVkIHRleHQgY29sb3IgcmVwcm9kdWNlIHRoZSBGaWdtYSByZXN0XG5cdFx0Ly8gYW5kIGhvdmVyIHN0cmVuZ3RocyBvbiB0aGUgZGVmYXVsdCB0aGVtZSAoMjUlIGFuZCA1MCUgYmxhY2spLlxuXHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1oYW5kbGUge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdFx0XHRmbGV4OiAwIDAgYXV0bztcblx0XHRcdGNvbG9yOiB2YXIoLS13cGZvcm1zLWZpZWxkLXRleHQtY29sb3IsICMzMzMzMzMpO1xuXHRcdFx0b3BhY2l0eTogMC4zNTtcblx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtOmhvdmVyIC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1oYW5kbGUge1xuXHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdH1cblxuXHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbTpoYXMoOmZvY3VzLXZpc2libGUpIC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1oYW5kbGUge1xuXHRcdFx0b3BhY2l0eTogMC43O1xuXHRcdH1cblxuXHRcdC8vIE9uIGNhcmQgaG92ZXIgdGhlIGFycm93cyBhcmUgZnVsbHkgb3BhcXVlIChGaWdtYTogbm8gb3BhY2l0eSBvbiB0aGVcblx0XHQvLyByZXZlYWxlZCBhcnJvdyBpbiB0aGUgaG92ZXJlZCBjYXJkIHN0YXRlKS4gRGlzYWJsZWQgYXJyb3dzIChmaXJzdCBpdGVtXG5cdFx0Ly8gcHJldmlvdXMsIGxhc3QgaXRlbSBuZXh0KSBrZWVwIHRoZWlyIGZhZGVkIHJlc3QgbG9vay5cblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW06aG92ZXIgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93Om5vdCg6ZGlzYWJsZWQpLFxuXHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbTpoYXMoOmZvY3VzLXZpc2libGUpIC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1hcnJvdzpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblxuXHRcdC8vIFRoZSA6bm90KCkga2VlcHMgdGhlIG5ldmVyLW1vZGUgaGlkZSBydWxlIGJlbG93IGZyb20gZXZlciBjb21wZXRpbmdcblx0XHQvLyB3aXRoIHRoaXMgcmV2ZWFsIG9uIHNwZWNpZmljaXR5IG9yIHNvdXJjZSBvcmRlci5cblx0XHQmOm5vdCgud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWFycm93cy1uZXZlcikgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93cyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHR9XG5cblx0XHQvLyBUaGVtZSBzdHlsZXNoZWV0cyAoZS5nLiBUd2VudHkgVHdlbnR5LU9uZSkgdGFyZ2V0IGV2ZXJ5IDxidXR0b24+IHdpdGhcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBjb2xvciBydWxlcyBvZiBlcXVhbCBzcGVjaWZpY2l0eSB0aGF0IGxvYWQgbGF0ZXIgaW5cblx0XHQvLyB0aGUgY2FzY2FkZSBhbmQgd2luLiBBZGRpbmcgLndwZm9ybXMtZmllbGQtcmFua2luZy1yZWFkeSBoZXJlIHJhaXNlcyBvdXJcblx0XHQvLyBzcGVjaWZpY2l0eSBieSBvbmUgY2xhc3MgKDAtNC0xIHZzIDAtMy0xKSBzbyBXUEZvcm1zIHdpbnMgcmVnYXJkbGVzcyBvZlxuXHRcdC8vIGxvYWQgb3JkZXIuXG5cdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0Y29sb3I6IHZhcigtLXdwZm9ybXMtZmllbGQtdGV4dC1jb2xvciwgIzMzMyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gQ2hldnJvbnMgZm9sbG93IHRoZSB0aGVtZWQgdGV4dCBjb2xvcjsgb3BhY2l0eSBmcmFjdGlvbnMgcmVwcm9kdWNlIHRoZVxuXHQvLyBGaWdtYSByZXN0IGFuZCBob3ZlciBzdHJlbmd0aHMgKDUwJSBhbmQgNzAlIGJsYWNrIG9uIHRoZSBkZWZhdWx0IHRoZW1lKS5cblx0Ly8gTm8gdGhlbWUgdmFyaWFibGUgZXhpc3RzIGZvciB0aGUgdHJhbnNsdWNlbnQgaG92ZXIgcGlsbC5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93IHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0d2lkdGg6IDI0cHg7XG5cdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzLCAzcHgpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOiB2YXIoLS13cGZvcm1zLWZpZWxkLXRleHQtY29sb3IsICMzMzMzMzMpO1xuXHRcdG9wYWNpdHk6IDAuNztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dDtcblxuXHRcdC8vIDpmb2N1cy12aXNpYmxlLCBub3QgOmZvY3VzOiBhIG1vdXNlIGNsaWNrIG11c3Qgbm90IGxlYXZlIHRoZSBidXR0b25cblx0XHQvLyBzdHVjayBpbiBpdHMgaG92ZXIgbG9vayBhZnRlciB0aGUgcmVvcmRlci5cblx0XHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLFxuXHRcdCY6Zm9jdXMtdmlzaWJsZTpub3QoOmRpc2FibGVkKSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cblx0XHQmOmRpc2FibGVkIHtcblx0XHRcdG9wYWNpdHk6IDAuMzU7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHR9XG5cblx0Ly8gQXJyb3cgdmlzaWJpbGl0eSBtb2Rlcy4gT3BhY2l0eSAobm90IGRpc3BsYXkvdmlzaWJpbGl0eSkga2VlcHMgdGhlXG5cdC8vIGJ1dHRvbnMga2V5Ym9hcmQtZm9jdXNhYmxlIGluIHRoZSBob3ZlciBtb2RlLlxuXHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWFycm93cy1ob3ZlciB7XG5cblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tYXJyb3dzIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW4tb3V0O1xuXHRcdH1cblxuXHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbTpob3ZlciAud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tYXJyb3dzIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXG5cdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtOmhhcyg6Zm9jdXMtdmlzaWJsZSkgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93cyB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctYXJyb3dzLW5ldmVyIHtcblxuXHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1hcnJvd3Mge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQvLyBHcmFiYmVkIGl0ZW0gKEZpZ21hIG5vZGUgMzA6NDc0OCk6IDJweCBhY2NlbnQgc3Ryb2tlLiBUaGUgZXh0cmEgcmluZ1xuXHQvLyBmYWtlcyB0aGUgc2Vjb25kIGJvcmRlciBwaXhlbCB3aXRob3V0IGEgbGF5b3V0IHNoaWZ0OyB0aGUgZHJvcCBzaGFkb3dcblx0Ly8gaXMgYWRkZWQgb25seSBvbiB0aGUgY3Vyc29yLWZvbGxvd2luZyBkcmFnIGNsb25lIGJlbG93LlxuXHQvLyBDb21wb3VuZGluZyBib3RoIGNsYXNzZXMgb3V0LXNwZWNpZmllcyB0aGUgcm93IGhvdmVyIHJ1bGUgc28gdGhlIG91dGVyXG5cdC8vIGVkZ2Ugc3RheXMgYWNjZW50LWNvbG9yZWQgZHVyaW5nIHRoZSBkcmFnIChwb2ludGVyIGlzIG92ZXIgdGhlIGl0ZW0sIHNvXG5cdC8vIGhvdmVyIGlzIGFjdGl2ZSkgaW5zdGVhZCBvZiBkYXJrZW5pbmcgdG8gZ3JleSBhbmQgcmVhZGluZyB0d28tdG9uZS5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWNob3NlbiB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLXdwZm9ybXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICMwMzZhYWIpO1xuXHRcdGN1cnNvcjogZ3JhYmJpbmc7XG5cblx0XHQmLFxuXHRcdCY6aG92ZXIsXG5cdFx0JjpoYXMoOmZvY3VzLXZpc2libGUpIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0td3Bmb3Jtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvciwgIzAzNmFhYik7XG5cdFx0fVxuXHR9XG5cblx0Ly8gQ3Vyc29yLWZvbGxvd2luZyBjbG9uZSAoZmFsbGJhY2sgbW9kZSkuIFNvcnRhYmxlSlMgaW5saW5lcyBvcGFjaXR5IDAuOFxuXHQvLyBvbiBpdCwgc28gIWltcG9ydGFudCBpcyB0aGUgb25seSB3YXkgdG8ga2VlcCB0aGUgZHJhZ2dlZCBjYXJkIGZ1bGx5XG5cdC8vIG9wYXF1ZSBwZXIgdGhlIGRlc2lnbi5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWRyYWcge1xuXHRcdG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLXdwZm9ybXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3IsICMwMzZhYWIpO1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS13cGZvcm1zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLCAjMDM2YWFiKSwgMCAxMHB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTApO1xuXHR9XG5cblx0Ly8gRHJvcC1zbG90IHBsYWNlaG9sZGVyLiBJbiBuYXRpdmUgZHJhZyBtb2RlIFNvcnRhYmxlSlMgbGVhdmVzIHRoZSBzb3VyY2Vcblx0Ly8gaXRlbSBpbiB0aGUgbGlzdCBjYXJyeWluZyBib3RoIHRoZSBjaG9zZW4gYW5kIGdob3N0IGNsYXNzZXMsIHNvIHRoZVxuXHQvLyBhY2NlbnQgYm9yZGVyIGFuZCByaW5nIG11c3QgYmUgcmVzZXQgaGVyZS4gRGVmaW5lZCBhZnRlciB0aGUgY2hvc2VuIGJsb2NrXG5cdC8vIHdpdGggZXF1YWwgc3BlY2lmaWNpdHkgc28gaXQgd2lucywga2VlcGluZyB0aGUgcGxhY2Vob2xkZXIgYSBwbGFpbiBmYWRlZFxuXHQvLyBib3ggd2l0aCBubyBhY2NlbnQgKGJsdWUpIGVkZ2UuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1naG9zdCB7XG5cdFx0b3BhY2l0eTogMC40O1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3Bmb3Jtcy1maWVsZC1iYWNrZ3JvdW5kLWNvbG9yLCAjZjhmOGY4KTtcblxuXHRcdCYsXG5cdFx0Jjpob3Zlcixcblx0XHQmOmhhcyg6Zm9jdXMtdmlzaWJsZSkge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS13cGZvcm1zLWZpZWxkLWJvcmRlci1jb2xvciwgI2NjY2NjYyk7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC8vIEdyaWQgbGF5b3V0LiBUaGUgY29sdW1uIGNvdW50IGNvbWVzIGZyb20gdGhlIGlubGluZSBjdXN0b20gcHJvcGVydHk7IHRoZVxuXHQvLyBzZWxlY3RlZCBjb3VudCBpcyByZXNwZWN0ZWQgZXZlbiB3aXRoIGZld2VyIGl0ZW1zIChlbXB0eSB0cmFja3MgcmVtYWluKS5cblx0LndwZm9ybXMtZmllbGQtcmFua2luZy1sYXlvdXQtZ3JpZCB7XG5cblx0XHQvLyBUaGUgZHJhZyBoYW5kbGUgaXMgbmV2ZXIgc2hvd24gaW4gdGhlIGdyaWQgbGF5b3V0IChGaWdtYSBub2Rlc1xuXHRcdC8vIDIyOjExMTA5LCA2OjUzNTUsIDg6MzE4NCwgMzA6NTM2MykuXG5cdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWhhbmRsZSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC8vIEJlbG93IDc2OHB4IHRoZSBncmlkIGNvbGxhcHNlcyB0byB0aGUgc2luZ2xlLWNvbHVtbiBsaXN0IGNvbnRhaW5lclxuXHRcdC8vICh0aGUgYmFzZSBmbGV4IGNvbHVtbikgd2l0aCB0aGUgYXJyb3dzIHN0YWNrZWQgdmVydGljYWxseSBvbiB0aGVcblx0XHQvLyB0cmFpbGluZyBlZGdlIChGaWdtYSBub2RlIDMwOjUzNjMpLlxuXHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1hcnJvd3Mge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHR9XG5cblx0XHQvLyBXaXRoIGxhYmVscyBoaWRkZW4gdGhlcmUgaXMgbm8gZ3Jvd2luZyBmbGV4IGNoaWxkIHRvIHB1c2ggdGhlIGFycm93c1xuXHRcdC8vIHRvIHRoZSB0cmFpbGluZyBlZGdlOyBiZWxvdyA3NjhweCAoY29sbGFwc2VkIGZsZXggcm93KSB0aGUgc2FtZSBwdXNoXG5cdFx0Ly8gcnVsZSBhcyB0aGUgbGlzdCBsYXlvdXQgYXBwbGllcy5cblx0XHQmLndwZm9ybXMtZmllbGQtcmFua2luZy1sYWJlbHMtaGlkZGVuIHtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw3NjhweCcpIHtcblxuXHRcdFx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tbWVkaWEge1xuXHRcdFx0XHRcdG1hcmdpbi1pbmxpbmUtZW5kOiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gRnJvbSA3NjhweCB1cDogbXVsdGktY29sdW1uIGNhcmRzIHdpdGggdGhlIGNvbnRlbnQgY2VudGVyZWQgYW5kIHRoZVxuXHRcdC8vIHJlb3JkZXIgYXJyb3dzIGZsYW5raW5nIGl0IGxlZnQvcmlnaHQgKEZpZ21hIG5vZGVzIDIyOjExMTA5IHJlZ3VsYXIsXG5cdFx0Ly8gNjo1MzU1IGljb24sIDg6MzE4NCBpbWFnZSkuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49NzY4cHgnKSB7XG5cdFx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0td3Bmb3Jtcy1yYW5raW5nLWNvbHVtbnMsIDMpLCBtaW5tYXgoMCwgMWZyKSk7XG5cdFx0XHRnYXA6IDEwcHg7XG5cblx0XHRcdC8vIFRleHQtb25seSBjYXJkcyBjZW50ZXIgdGhlaXIgbGFiZWwgb24gdGhlIGNhcmQgaGVpZ2h0OyBpY29uIGFuZFxuXHRcdFx0Ly8gaW1hZ2UgY2FyZHMgcGluIHRoZWlyIGNvbnRlbnQgdG8gdGhlIHRvcCBzbyB0aGUgbWVkaWEgc3RheXMgb25cblx0XHRcdC8vIG9uZSBsaW5lIGFjcm9zcyBhIHJvdyB3aXRoIG1peGVkIGxhYmVsIGxlbmd0aHMuXG5cdFx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0ge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDA7XG5cdFx0XHRcdGdhcDogMTBweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0XHQmLndwZm9ybXMtZmllbGQtcmFua2luZy1oYXMtbWVkaWEgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtIHtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBUaGUgY29udGVudCB3cmFwcGVyIGNlbnRyZXMgdGhlIG1lZGlhIGVsZW1lbnQgaW5zaWRlIHRoZSBjYXJkIGNvbHVtbi5cblx0XHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1jb250ZW50IHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0Z2FwOiAxMHB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gVGhlIGxhYmVsIHNpdHMgb3V0c2lkZSB0aGUgY29udGVudCB3cmFwcGVyIHNvIGl0IHNwYW5zIHRoZSBmdWxsIGNhcmRcblx0XHRcdC8vIGlubmVyIHdpZHRoLiBhbGlnbi1zZWxmOiBzdHJldGNoIGdpdmVzIGl0IHRoYXQgZnVsbCB3aWR0aCwgbWFraW5nXG5cdFx0XHQvLyB0ZXh0LWFsaWduOiBjZW50ZXIgdmlzdWFsbHkgZWZmZWN0aXZlIGV2ZW4gZm9yIGxvbmcgbGFiZWxzLlxuXHRcdFx0Ly8gSG9yaXpvbnRhbCBwYWRkaW5nIGtlZXBzIHRleHQgY2xlYXIgb2YgdGhlIGZsYW5raW5nIGFycm93IGJ1dHRvbnNcblx0XHRcdC8vICgxMHB4IGVkZ2UgZ2FwICsgMjRweCBidXR0b24gKyAxcHgpIHdoZW4gYXJyb3dzIGFyZSBzaG93bjsgZmFsbHNcblx0XHRcdC8vIHRvIDE1cHggd2hlbiBhcnJvd3MgYXJlIGhpZGRlbi5cblx0XHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1sYWJlbCB7XG5cdFx0XHRcdGZsZXg6IDAgMCBhdXRvO1xuXHRcdFx0XHRhbGlnbi1zZWxmOiBzdHJldGNoO1xuXHRcdFx0XHRwYWRkaW5nLWlubGluZTogMzVweDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSGlkZGVuIGFycm93cyByZWxlYXNlIHRoZWlyIHJlc2VydmVkIHdpZHRoIHRvIHRoZSBsYWJlbCBhbmQgdGhlXG5cdFx0XHQvLyBtZWRpYSBjbGFtcCBydWxlcyBiZWxvdy5cblx0XHRcdCYud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWFycm93cy1uZXZlciB7XG5cdFx0XHRcdC0td3Bmb3Jtcy1yYW5raW5nLWFycm93LXJlc2VydmU6IDMwcHg7XG5cblx0XHRcdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWxhYmVsIHtcblx0XHRcdFx0XHRwYWRkaW5nLWlubGluZTogMTVweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBJbWFnZXMgc2VsZi1jb25zdHJhaW4gdG8gdGhlIHNwYWNlIGJldHdlZW4gdGhlIHR3byBhcnJvdyBidXR0b25zLlxuXHRcdFx0Ly8gY2xhbXAoMTZweCwgY2FsYygxMDAlIC0gcmVzZXJ2ZSksIG1heCk6XG5cdFx0XHQvLyAgIHJlc2VydmUgZGVmYXVsdHMgdG8gNzhweCA9IDIgw5cgKDEwcHggY2FyZCBlZGdlICsgMjRweCBidXR0b24gKyA1cHggZ2FwKVxuXHRcdFx0Ly8gICBhbmQgZmFsbHMgdG8gMzBweCA9IDIgw5cgMTVweCBsYWJlbCBwYWRkaW5nIHdoZW4gYXJyb3dzIGFyZSBoaWRkZW4uXG5cdFx0XHQvLyAgIDE2cHggZW5zdXJlcyB0aGUgaW1hZ2UgbmV2ZXIgY29tcGxldGVseSBkaXNhcHBlYXJzIG9uIHZlcnkgbmFycm93IGNhcmRzLlxuXHRcdFx0Ly8gU2VsZWN0b3IgaW5jbHVkZXMgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWNvbnRlbnQgdG8gcmVhY2hcblx0XHRcdC8vIHNwZWNpZmljaXR5IDAtNS0xIC8gMC01LTIsIGJlYXRpbmcgdGhlIGJhc2Ugc2l6ZS1jbGFzcyBydWxlcyBhdFxuXHRcdFx0Ly8gMC00LTEgLyAwLTQtMiByZWdhcmRsZXNzIG9mIGxvYWQgb3JkZXIuXG5cdFx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tY29udGVudCAud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tbWVkaWEge1xuXHRcdFx0XHR3aWR0aDogY2xhbXAoMTZweCwgY2FsYygxMDAlIC0gdmFyKC0td3Bmb3Jtcy1yYW5raW5nLWFycm93LXJlc2VydmUsIDc4cHgpKSwgNjRweCk7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0YXNwZWN0LXJhdGlvOiAxO1xuXHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvbnRhaW47XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gR3JpZCBpbWFnZSBzaXplczogc21hbGwgPSA0OHB4LCBtZWRpdW0gPSA2NHB4LCBsYXJnZSA9IDk2cHguXG5cdFx0XHQmLndwZm9ybXMtZmllbGQtcmFua2luZy1pbWFnZXMtbGFyZ2UgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWNvbnRlbnQgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLW1lZGlhIHtcblx0XHRcdFx0d2lkdGg6IGNsYW1wKDE2cHgsIGNhbGMoMTAwJSAtIHZhcigtLXdwZm9ybXMtcmFua2luZy1hcnJvdy1yZXNlcnZlLCA3OHB4KSksIDk2cHgpO1xuXHRcdFx0fVxuXG5cdFx0XHQmLndwZm9ybXMtZmllbGQtcmFua2luZy1pbWFnZXMtbWVkaXVtIC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1jb250ZW50IC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1tZWRpYSB7XG5cdFx0XHRcdHdpZHRoOiBjbGFtcCgxNnB4LCBjYWxjKDEwMCUgLSB2YXIoLS13cGZvcm1zLXJhbmtpbmctYXJyb3ctcmVzZXJ2ZSwgNzhweCkpLCA2NHB4KTtcblx0XHRcdH1cblxuXHRcdFx0Ji53cGZvcm1zLWZpZWxkLXJhbmtpbmctaW1hZ2VzLXNtYWxsIC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1jb250ZW50IC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1tZWRpYSB7XG5cdFx0XHRcdHdpZHRoOiBjbGFtcCgxNnB4LCBjYWxjKDEwMCUgLSB2YXIoLS13cGZvcm1zLXJhbmtpbmctYXJyb3ctcmVzZXJ2ZSwgNzhweCkpLCA0OHB4KTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gR3JpZCBpY29uIHNpemVzOiBzbWFsbCA9IDI0cHgsIG1lZGl1bSA9IDMycHgsIGxhcmdlID0gNDhweC4gVGhlXG5cdFx0XHQvLyBsaXN0IHNpemVzICgyMC8yOC8zNikgY29tZSBmcm9tIHRoZSBTVkcncyBvd24gd2lkdGgvaGVpZ2h0XG5cdFx0XHQvLyBhdHRyaWJ1dGVzIHNldCBpbiBQSFAsIHNvIHRoZSBjb2xsYXBzZWQgZ3JpZCBiZWxvdyA3NjhweCBmYWxsc1xuXHRcdFx0Ly8gYmFjayB0byB0aGVtLlxuXHRcdFx0Ji53cGZvcm1zLWZpZWxkLXJhbmtpbmctaWNvbnMtbGFyZ2UgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLW1lZGlhIHN2ZyB7XG5cdFx0XHRcdHdpZHRoOiA0OHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDQ4cHg7XG5cdFx0XHR9XG5cblx0XHRcdCYud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWljb25zLW1lZGl1bSAud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tbWVkaWEgc3ZnIHtcblx0XHRcdFx0d2lkdGg6IDMycHg7XG5cdFx0XHRcdGhlaWdodDogMzJweDtcblx0XHRcdH1cblxuXHRcdFx0Ji53cGZvcm1zLWZpZWxkLXJhbmtpbmctaWNvbnMtc21hbGwgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLW1lZGlhIHN2ZyB7XG5cdFx0XHRcdHdpZHRoOiAyNHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEFycm93cyBvdmVybGF5IHRoZSBjYXJkLCBwaW4gdG8gdGhlIGxlZnQvcmlnaHQgZWRnZXMgYW5kIGNlbnRlclxuXHRcdFx0Ly8gdmVydGljYWxseSBvbiB0aGUgZnVsbCBjYXJkIGhlaWdodC4gS2VlcGluZyB0aGUgY29udGFpbmVyIGEgbm9ybWFsXG5cdFx0XHQvLyAoYWJzb2x1dGVseSBwb3NpdGlvbmVkKSBmbGV4IGJveCBsZXRzIHRoZSBzaGFyZWQgaG92ZXIgLyBuZXZlciAvXG5cdFx0XHQvLyB0b3VjaCB2aXNpYmlsaXR5IHJ1bGVzIGtlZXAgd29ya2luZyB1bmNoYW5nZWQ7IG9ubHkgdGhlIGJ1dHRvbnNcblx0XHRcdC8vIGNhcHR1cmUgcG9pbnRlciBldmVudHMgc28gdGhlIGdhcCBiZXR3ZWVuIHRoZW0gaXMgY2xpY2stdGhyb3VnaCB0b1xuXHRcdFx0Ly8gdGhlIGNhcmQuXG5cdFx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tYXJyb3dzIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRpbnNldDogMDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRwYWRkaW5nLWlubGluZTogMTBweDtcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1hcnJvdyB7XG5cdFx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBMZWZ0LXRvLXJpZ2h0IHJhbmtpbmc6IHRoZSB1cCBjb250cm9sIHBvaW50cyBsZWZ0LCBkb3duIHBvaW50c1xuXHRcdFx0Ly8gcmlnaHQuIFRoZSB0d28gZ2x5cGhzIHN0YXJ0IHJvdGF0ZWQgb3Bwb3NpdGVseSAodXAgdnMgZG93biksIHNvXG5cdFx0XHQvLyB0aGUgc2FtZSAtOTBkZWcgdHVybnMgb25lIHRvIHRoZSBsZWZ0IGFuZCB0aGUgb3RoZXIgdG8gdGhlIHJpZ2h0LlxuXHRcdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93LXVwIHN2Zyxcblx0XHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1hcnJvdy1kb3duIHN2ZyB7XG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFJUTCBtaXJyb3JzIHRoZSByZWFkaW5nIGRpcmVjdGlvbjogdXAgcG9pbnRzIHJpZ2h0LCBkb3duIGxlZnQuXG5cdFx0XHRbZGlyPSdydGwnXSAmIHtcblxuXHRcdFx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tYXJyb3ctdXAgc3ZnLFxuXHRcdFx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tYXJyb3ctZG93biBzdmcge1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFRvdWNoIGRldmljZXM6IHNob3cgdGhlIGRyYWcgaGFuZGxlIGF0IGZ1bGwgc3RyZW5ndGggKG5vIGhvdmVyIHN0YXRlXG5cdC8vIGF2YWlsYWJsZSB0byByZXZlYWwgaXQpLCBhbHdheXMgc2hvdyB0aGUgYXJyb3dzLlxuXHRAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuXG5cdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtcyAud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0taGFuZGxlIHtcblx0XHRcdG9wYWNpdHk6IDAuNztcblx0XHR9XG5cblx0XHQvLyBUaGUgbW9kZSBjbGFzc2VzIGFuZCB0aGUgaXRlbXMgY2xhc3MgbGl2ZSBvbiB0aGUgc2FtZSA8b2w+IGVsZW1lbnQ7XG5cdFx0Ly8gdGhlIGNvbXBvdW5kcyBvdXQtc3BlY2lmeSB0aGUgcGVyLW1vZGUgaGlkZSBydWxlcyBvbiBhbnkgc291cmNlIG9yZGVyLlxuXHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbXMgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93cyxcblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWFycm93cy1uZXZlci53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbXMgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93cyxcblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWFycm93cy1ob3Zlci53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbXMgLndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93cyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0fVxuXHR9XG5cblx0Ly8gUmVhZC1vbmx5IHN0YXRlLlxuXHQmLndwZm9ybXMtZmllbGQtcmVhZG9ubHkge1xuXG5cdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtIHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHR9XG5cblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0taGFuZGxlLFxuXHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1hcnJvd3Mge1xuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG4vLyBBZGp1c3RtZW50cyBmb3IgdGhlIExheW91dCBmaWVsZCBjb2x1bW5zLlxuLndwZm9ybXMtbGF5b3V0LWNvbHVtbjpub3QoLndwZm9ybXMtbGF5b3V0LWNvbHVtbi0xMDApIHtcblxuXHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nIC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbXMge1xuXHRcdG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbi8vIFdoaWxlIGFuIGl0ZW0gaXMgYmVpbmcgZHJhZ2dlZCB0aGUgd2hvbGUgcGFnZSBzaG93cyB0aGUgZ3JhYmJpbmcgY3Vyc29yLlxuLy8gVGhlIEpTIG1vZHVsZSBhZGRzIHRoaXMgY2xhc3MgdG8gdGhlIGJvZHkgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgZHJhZzsgaXRcbi8vIHdvcmtzIGJlY2F1c2UgU29ydGFibGVKUyBydW5zIGluIGZvcmNlRmFsbGJhY2sgbW9kZSAoQ1NTLWNvbnRyb2xsZWQgY3Vyc29yKS5cbmJvZHkud3Bmb3Jtcy1yYW5raW5nLWdyYWJiaW5nLFxuYm9keS53cGZvcm1zLXJhbmtpbmctZ3JhYmJpbmcgKiB7XG5cdGN1cnNvcjogZ3JhYmJpbmcgIWltcG9ydGFudDtcbn1cbiIsIi8vIEZyb250ZW5kIFN1cnZleXMgYW5kIFBvbGxzIGZpZWxkcyBzdHlsZXMuXG4vL1xuLy8gTW9kZXJuIHJlbmRlcmluZyBhZGp1c3RtZW50cy5cbi8vXG4vLyBAc2luY2Uge1ZFUlNJT059XG5cbi8vIEluY2x1ZGUgbW9kZXJuIGNvbG9ycyBhbmQgdmFyaWFibGVzIGZyb20gY29yZS5cbkBpbXBvcnQgJy4uLy4uLy4uLy4uL3dwZm9ybXMvYXNzZXRzL3Njc3MvZnJvbnRlbmQvbW9kZXJuL2Jhc2UvY29sb3JzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL3dwZm9ybXMvYXNzZXRzL3Njc3MvZnJvbnRlbmQvbW9kZXJuL2Jhc2UvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL3dwZm9ybXMvYXNzZXRzL3Njc3MvZnJvbnRlbmQvbW9kZXJuL2Z1bGwvbWl4aW5zJztcblxuQGltcG9ydCAnbGlrZXJ0X3NjYWxlX21vZGVybic7XG5AaW1wb3J0ICduZXRfcHJvbW90ZXJfc2NvcmVfbW9kZXJuJztcbiIsIi8vIFdQRm9ybXMgTW9kZXJuIEJhc2Ugc3R5bGVzLlxuLy9cbi8vIENvbG9ycy5cbi8vXG4vLyBAc2luY2UgMS44LjFcblxuLy8gQ2xhc3NpYyBjb2xvcnMgKHN0aWxsIHVzZWQgaW4gdmFyaW91cyBwbGFjZXMpOlxuJGNvbG9yX3doaXRlOiAgICAgICAgICAgICAgICAgICAgICNmZmZmZmY7XG5cbiRjb2xvcl9ibGFjazogICAgICAgICAgICAgICAgICAgICAjMzMzMzMzO1xuXG4kY29sb3JfYmx1ZTogICAgICAgICAgICAgICAgICAgICAgIzMyNzNkYztcblxuJGNvbG9yX2dyZWVuOiAgICAgICAgICAgICAgICAgICAgICMwMDgwMDA7XG4kY29sb3JfZ3JlZW5fYnJpZ2h0OiAgICAgICAgICAgICAgIzIzZDE2MDtcbiRjb2xvcl9ncmVlbl9saWdodDogICAgICAgICAgICAgICAjYjRkMzliO1xuJGNvbG9yX2dyZWVuX2xpZ2h0ZXN0OiAgICAgICAgICAgICNlMGZmYzc7XG5cbiRjb2xvcl95ZWxsb3c6ICAgICAgICAgICAgICAgICAgICAjZmZkZDU3O1xuJGNvbG9yX3llbGxvd19saWdodDogICAgICAgICAgICAgICNmZmYzYWY7XG5cbiRjb2xvcl9yZWRfbGlnaHQ6ICAgICAgICAgICAgICAgICAjZjJkZWRlO1xuXG4kY29sb3Jfb3JhbmdlOiAgICAgICAgICAgICAgICAgICAgI2UyNzczMDtcblxuLy8gTW9kZXJuIGNvbG9yczpcbiRjb2xvcl9tb2Rlcm5fcHJpbWFyeV9kYXJrOiAgICAgICByZ2JhKCAwLCAwLCAwLCAwLjg1ICk7IC8vICMyNjI2MjY7XG4kY29sb3JfbW9kZXJuX3NlY29uZGFyeV9kYXJrOiAgICAgcmdiYSggMCwgMCwgMCwgMC43MCApOyAvLyAjNGM0YzRjO1xuJGNvbG9yX21vZGVybl9oaW50X2Rhcms6ICAgICAgICAgIHJnYmEoIDAsIDAsIDAsIDAuNTUgKTsgLy8gIzczNzM3MztcbiRjb2xvcl9tb2Rlcm5faGludF9saWdodDogICAgICAgICByZ2JhKCAwLCAwLCAwLCAwLjM1ICk7IC8vICNhNmE2YTY7XG4kY29sb3JfbW9kZXJuX2JvcmRlcl9kYXJrOiAgICAgICAgcmdiYSggMCwgMCwgMCwgMC4yNSApOyAvLyAjYmZiZmJmO1xuJGNvbG9yX21vZGVybl9zaGFkb3dfc3VidGxlOiAgICAgIHJnYmEoIDAsIDAsIDAsIDAuMTUgKTtcbiRjb2xvcl9tb2Rlcm5fYmx1ZTogICAgICAgICAgICAgICAjMDY2YWFiO1xuJGNvbG9yX21vZGVybl9lcnJvcjogICAgICAgICAgICAgICNENjM2Mzc7XG4iLCIvLyBXUEZvcm1zIE1vZGVybiBCYXNlIHN0eWxlcy5cbi8vXG4vLyBWYXJpYWJsZXMuXG4vL1xuLy8gQHNpbmNlIDEuOC4xXG5cbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIEZvbnQgc2l6ZXMuXG4kZm9udF9zaXplX3hzOiAgICAgICAgMTJweDtcbiRmb250X3NpemVfczogICAgICAgICAxNHB4O1xuJGZvbnRfc2l6ZV9tczogICAgICAgIDE2cHg7XG4kZm9udF9zaXplX206ICAgICAgICAgMTdweDtcbiRmb250X3NpemVfbDogICAgICAgICAxOHB4O1xuJGZvbnRfc2l6ZV94bDogICAgICAgIDI0cHg7XG5cbi8vIFNwYWNpbmcuXG4kc3BhY2luZ194czogICAgICAgICAgNXB4O1xuJHNwYWNpbmdfczogICAgICAgICAgIDEwcHg7XG4kc3BhY2luZ19tOiAgICAgICAgICAgMTVweDtcbiRzcGFjaW5nX21sOiAgICAgICAgICAyMHB4O1xuJHNwYWNpbmdfbDogICAgICAgICAgIDMwcHg7XG4kc3BhY2luZ194bDogICAgICAgICAgNDBweDtcbiRzcGFjaW5nX3h4bDogICAgICAgICA1MHB4O1xuXG4vLyBCb3JkZXIgcmFkaXVzLlxuJGJvcmRlcl9yYWRpdXNfeHM6ICAgIDJweDtcbiRib3JkZXJfcmFkaXVzX3M6ICAgICAzcHg7XG4kYm9yZGVyX3JhZGl1c19tOiAgICAgNnB4O1xuXG4vLyBCb3JkZXIuXG4kYm9yZGVyX3N0ZDogICAgICAgICAgMXB4IHNvbGlkICRjb2xvcl9tb2Rlcm5fYm9yZGVyX2Rhcms7XG5cbi8vIFNoYWRvdy5cbiRzaGFkb3dfc3VidGxlOiAgICAgICAwcHggMXB4IDJweCAkY29sb3JfbW9kZXJuX3NoYWRvd19zdWJ0bGU7XG5cbi8vIEZpZWxkIHNpemUuXG4kZmllbGRfc2l6ZV9zbWFsbDogICAgMjUlO1xuJGZpZWxkX3NpemVfbWVkaXVtOiAgIDYwJTtcbiRmaWVsZF9zaXplX2xhcmdlOiAgICAxMDAlO1xuXG4kZmllbGRfaGVpZ2h0OiAgICAgICAgNDNweDtcblxuLy8gVHJhbnNpdGlvbnMuXG4kdHJhbnNpdGlvbl9zbG93ZXN0OiAgLjUwcztcbiR0cmFuc2l0aW9uX3Nsb3dlcjogICAuNDBzO1xuJHRyYW5zaXRpb25fc2xvdzogICAgIC4yNXM7XG4kdHJhbnNpdGlvbl9ub3JtYWw6ICAgLjE1cztcbiR0cmFuc2l0aW9uX2Zhc3Q6ICAgICAuMDVzO1xuIiwiLy8gV1BGb3JtcyBNb2Rlcm4gQmFzZSBzdHlsZXMuXG4vL1xuLy8gTWl4aW5zLlxuLy9cbi8vIEBzaW5jZSAxLjguMVxuXG4vLyBJbnB1dCBwbGFjZWhvbGRlci5cbi8vXG4vLyBAc2luY2UgMS44LjFcbi8vXG5AbWl4aW4gd3Bmb3Jtcy1pbnB1dC1wbGFjZWhvbGRlcigpIHtcblx0Y29sb3I6IHZhciggLS13cGZvcm1zLWZpZWxkLXRleHQtY29sb3IgKTtcblx0b3BhY2l0eTogMC41O1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy8gRm9jdXMgc3RhdGUgb2YgaW5wdXRzLlxuLy9cbi8vIEBzaW5jZSAxLjguMVxuLy9cbkBtaXhpbiB3cGZvcm1zLWlucHV0LWZvY3VzKCkge1xuXHRib3JkZXItd2lkdGg6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1zaXplLCAwICk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3IgKTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhciggLS13cGZvcm1zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yICksICRzaGFkb3dfc3VidGxlO1xuXHRvdXRsaW5lOiBub25lO1xufVxuXG4vLyBFcnJvciBzdGF0ZSBvZiBpbnB1dHMuXG4vL1xuLy8gQHNpbmNlIDEuOC4xXG4vL1xuQG1peGluIHdwZm9ybXMtaW5wdXQtZXJyb3IoKSB7XG5cdGJvcmRlci13aWR0aDogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXNpemUgKTtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAgdmFyKCAtLXdwZm9ybXMtbGFiZWwtZXJyb3ItY29sb3IgKTtcbn1cblxuLy8gRXJyb3ItaG92ZXIgc3RhdGUgb2YgaW5wdXRzLlxuLy9cbi8vIEBzaW5jZSAxLjguMVxuLy9cbkBtaXhpbiB3cGZvcm1zLWlucHV0LWVycm9yLWhvdmVyKCkge1xuXHRib3JkZXItd2lkdGg6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1zaXplICk7XG5cdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdGJvcmRlci1jb2xvcjogIHZhciggLS13cGZvcm1zLWxhYmVsLWVycm9yLWNvbG9yICk7XG5cdGJveC1zaGFkb3c6IDAgMCAycHggMCB2YXIoIC0td3Bmb3Jtcy1sYWJlbC1lcnJvci1jb2xvciApO1xufVxuXG4vLyBFcnJvci1mb2N1cyBzdGF0ZSBvZiBpbnB1dHMuXG4vL1xuLy8gQHNpbmNlIDEuOC4xXG4vL1xuQG1peGluIHdwZm9ybXMtaW5wdXQtZXJyb3ItZm9jdXMoKSB7XG5cdGJvcmRlci13aWR0aDogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXNpemUgKTtcblx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0Ym9yZGVyLWNvbG9yOiAgdmFyKCAtLXdwZm9ybXMtbGFiZWwtZXJyb3ItY29sb3IgKTtcblx0Ym94LXNoYWRvdzogMCAwIDAgMXB4IHZhciggLS13cGZvcm1zLWxhYmVsLWVycm9yLWNvbG9yICk7XG59XG5cbi8vIElucHV0IGludmFsaWQgc3RhdGUuXG4vL1xuLy8gQHNpbmNlIDEuOC42XG4vL1xuQG1peGluIHdwZm9ybXMtaW5wdXQtaW52YWxpZCgpIHtcblx0Y29sb3I6IHZhciggLS13cGZvcm1zLWZpZWxkLXRleHQtY29sb3IgKTtcbn1cblxuLy8gU2Nyb2xsYmFyLlxuLy9cbi8vIEBzaW5jZSAxLjguMVxuLy9cbi8vIEBwYXJhbSAkd2lkdGggICAgICAgICAgICBTY3JvbGxiYXIgd2lkdGguXG4vLyBAcGFyYW0gJHRyYWNrX2JhY2tncm91bmQgVHJhY2sgYmFja2dyb3VuZC5cbi8vIEBwYXJhbSAkdGh1bWJfYmFja2dyb3VuZCBUaHVtYiBiYWNrZ3JvdW5kLlxuLy9cbkBtaXhpbiBzY3JvbGxiYXIoICR3aWR0aCwgJHRyYWNrX2JhY2tncm91bmQsICR0aHVtYl9iYWNrZ3JvdW5kLCAkbWFyZ2luOiA1cHggKSB7XG5cblx0Ly8gV2Via2l0IGJyb3dzZXJzLlxuXHQmOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdFx0YmFja2dyb3VuZDogJHRyYWNrX2JhY2tncm91bmQ7XG5cdFx0d2lkdGg6ICN7ICR3aWR0aCArICRtYXJnaW4gKiAyIH07XG5cdFx0aGVpZ2h0OiAjeyAkd2lkdGggKyAkbWFyZ2luICogMiB9O1xuXHR9XG5cblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuXHRcdGJhY2tncm91bmQ6ICR0cmFja19iYWNrZ3JvdW5kO1xuXHR9XG5cblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuXHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAkd2lkdGggJHdpZHRoICR0aHVtYl9iYWNrZ3JvdW5kO1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1yYWRpdXM6ICN7ICggJHdpZHRoICsgJG1hcmdpbiAqIDIgKSB9O1xuXHRcdGJvcmRlcjogc29saWQgJG1hcmdpbiAtIDFweCB0cmFuc3BhcmVudDtcblx0fVxuXG5cdCY6Oi13ZWJraXQtcmVzaXplcixcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uLFxuXHQmOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQvLyBGb3IgRmlyZWZveCBvbmx5LlxuXHRALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuXHRcdHNjcm9sbGJhci1jb2xvcjogJHRodW1iX2JhY2tncm91bmQgJHRyYWNrX2JhY2tncm91bmQ7XG5cblx0XHRAaWYgJHdpZHRoIDw9IDhweCB7XG5cdFx0XHRzY3JvbGxiYXItd2lkdGg6IHRoaW47XG5cdFx0fVxuXHR9XG59XG5cbi8vIEJ1dHRvbiBzdHlsZXMuXG4vL1xuLy8gQHNpbmNlIDEuOC44XG4vL1xuQG1peGluIHdwZm9ybXMtYnV0dG9uKCkge1xuXG5cdCRidG4tYmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3ItYWx0LCB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvciApICk7XG5cblx0aGVpZ2h0OiB2YXIoIC0td3Bmb3Jtcy1idXR0b24tc2l6ZS1oZWlnaHQgKTtcblx0YmFja2dyb3VuZC1jb2xvcjogJGJ0bi1iYWNrZ3JvdW5kLWNvbG9yO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYm9yZGVyLXJhZGl1cyApO1xuXHRib3JkZXItc3R5bGU6IHZhciggLS13cGZvcm1zLWJ1dHRvbi1ib3JkZXItc3R5bGUgKTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYm9yZGVyLWNvbG9yICk7XG5cdGJvcmRlci13aWR0aDogdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJvcmRlci1zaXplICk7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdGNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1idXR0b24tdGV4dC1jb2xvciApO1xuXHRwYWRkaW5nOiAwIHZhciggLS13cGZvcm1zLWJ1dHRvbi1zaXplLXBhZGRpbmctaCApO1xuXHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Zm9udC1zaXplOiB2YXIoIC0td3Bmb3Jtcy1idXR0b24tc2l6ZS1mb250LXNpemUgKTtcblx0bGluZS1oZWlnaHQ6IDEwMCU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uX25vcm1hbCBlYXNlLWluLW91dDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpub3QoOmhvdmVyKTpub3QoOmFjdGl2ZSkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRidG4tYmFja2dyb3VuZC1jb2xvcjtcblx0XHRjb2xvcjogdmFyKCAtLXdwZm9ybXMtYnV0dG9uLXRleHQtY29sb3IgKTtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIDBkZWcsIHJnYmEoIDAsIDAsIDAsIDAuMiApLCByZ2JhKCAwLCAwLCAwLCAwLjIgKSApLCAkYnRuLWJhY2tncm91bmQtY29sb3I7XG5cdH1cblxuXHQmLndwZm9ybXMtb3BhY2l0eS1ob3ZlciB7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0b3BhY2l0eTogLjc1O1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvciApO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogY2FsYyggdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJvcmRlci1yYWRpdXMgKSArIDJweCApO1xuXHRcdFx0dG9wOiBjYWxjKCAtNHB4IC0gdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJvcmRlci1zaXplLCAxcHggKSApO1xuXHRcdFx0cmlnaHQ6IGNhbGMoIC00cHggLSB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYm9yZGVyLXNpemUsIDFweCApICk7XG5cdFx0XHRib3R0b206IGNhbGMoIC00cHggLSB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYm9yZGVyLXNpemUsIDFweCApICk7XG5cdFx0XHRsZWZ0OiBjYWxjKCAtNHB4IC0gdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJvcmRlci1zaXplLCAxcHggKSApO1xuXHRcdH1cblx0fVxuXG5cdCY6ZGlzYWJsZWQsXG5cdCY6ZGlzYWJsZWQ6aG92ZXIsXG5cdCYud3Bmb3Jtcy1kaXNhYmxlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJ0bi1iYWNrZ3JvdW5kLWNvbG9yO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuIiwiLy8gTGlrZXJ0IFNjYWxlIGZpZWxkIHN0eWxlcy5cbi8vXG4vLyBNb2Rlcm4gcmVuZGVyaW5nIGFkanVzdG1lbnRzLlxuLy9cbi8vIEBzaW5jZSB7VkVSU0lPTn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDFweCkge1xuXHRkaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbC53cGZvcm1zLXJlbmRlci1tb2Rlcm4ge1xuXHRcdC53cGZvcm1zLWZpZWxkLWxpa2VydF9zY2FsZSB7XG5cdFx0XHQud3Bmb3Jtcy1saWtlcnQtc2NhbGUtbW9iaWxlLWZsZXgge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXHRkaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbC53cGZvcm1zLXJlbmRlci1tb2Rlcm4ge1xuXHRcdC53cGZvcm1zLWZpZWxkLWxpa2VydF9zY2FsZSB7XG5cdFx0XHR0YWJsZS5tb2Rlcm4gdGJvZHkgdHIgdGQgbGFiZWwge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC53cGZvcm1zLWZvcm0gLndwZm9ybXMtZmllbGQtbGlrZXJ0X3NjYWxlIHRhYmxlIHtcblxuXHRcdFx0Ji5tb2Rlcm4ge1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS13cGZvcm1zLWZpZWxkLWJvcmRlci1jb2xvcik7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR9XG5cblx0XHRcdHRib2R5IHtcblx0XHRcdFx0dHI6Zmlyc3QtY2hpbGQgdGgge1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGJvZHkgdGgge1xuXHRcdFx0XHRib3JkZXItdG9wOiAkYm9yZGVyX3N0ZDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJGJvcmRlcl9zdGQ7XG5cdFx0XHR9XG5cblx0XHRcdHRib2R5IHRyIHtcblx0XHRcdFx0Ym9yZGVyOiAwIWltcG9ydGFudDtcblxuXHRcdFx0XHR0ZCxcblx0XHRcdFx0dGgge1xuXHRcdFx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yX21vZGVybl9ib3JkZXJfZGFyayFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dGJvZHkgdGgsXG5cdFx0XHR0Ym9keSB0ZCB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsYyhtYXgoMTBweCwgbWluKHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyksIDMwcHgpKSkgIWltcG9ydGFudDtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogY2FsYyhtYXgoMTBweCwgbWluKHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyksIDMwcHgpKSkgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwud3Bmb3Jtcy1yZW5kZXItbW9kZXJuIC53cGZvcm1zLWZvcm0ge1xuXG5cdGNvbnRhaW5lci1uYW1lOiB3cGZvcm1zLXN1cnZleS1hbmQtcG9sbHMtY29udGFpbmVyLWZ1bGwtbW9kZXJuO1xuXG5cdC53cGZvcm1zLWZpZWxkLWxpa2VydF9zY2FsZSB7XG5cdFx0dGFibGUge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzKTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblxuXHRcdFx0dGhlYWQge1xuXHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHRib2R5IHtcblx0XHRcdFx0dGg6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsYyhtYXgoMTBweCwgbWluKHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyksIDMwcHgpKSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dHIge1xuXHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoLS13cGZvcm1zLWxhYmVsLXNpemUtc3VibGFiZWwtZm9udC1zaXplKTtcblx0XHRcdFx0XHRjb2xvcjogdmFyKC0td3Bmb3Jtcy1sYWJlbC1jb2xvcik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aW5wdXRbdHlwZT1yYWRpb10sXG5cdFx0XHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0XHRcdG1pbi13aWR0aDogdW5zZXQ7XG5cdFx0XHR9XG5cblx0XHRcdCYuY2xhc3NpYyB7XG5cdFx0XHRcdGJvcmRlcjogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXNpemUsIDFweCApIHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1zdHlsZSwgJ3NvbGlkJyApIHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1jb2xvciApO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRib3JkZXItY29sbGFwc2U6IGluaXRpYWw7XG5cblx0XHRcdFx0dGhlYWQge1xuXHRcdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dGg6bm90KDpmaXJzdC1vZi10eXBlKSB7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogJGJvcmRlcl9zdGQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGJvZHkge1xuXHRcdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRcdGJvcmRlci10b3A6ICRib3JkZXJfc3RkO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHRyIHtcblx0XHRcdFx0XHRcdHRoLCB0ZCB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOm50aC1jaGlsZChvZGQpIHtcblx0XHRcdFx0XHRcdFx0dGgsIHRkIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogJGJvcmRlcl9zdGQ7XG5cdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6ICRib3JkZXJfc3RkO1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5tb2Rlcm4ge1xuXG5cdFx0XHRcdHRoLCB0ZCB7XG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAxNHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGJvZHkgdHIge1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyk7XG5cblx0XHRcdFx0XHQmOm50aC1jaGlsZChvZGQpIHtcblx0XHRcdFx0XHRcdHRoLCB0ZCB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHQmIHtcblx0XHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlLFxuXHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGlucHV0W3R5cGU9cmFkaW9dLFxuXHRcdFx0XHRcdFx0aW5wdXRbdHlwZT1jaGVja2JveF0ge1xuXHRcdFx0XHRcdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHRcdFx0XHRcdFx0Y2xpcDogdW5zZXQ7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uX25vcm1hbCBlYXNlLWluLW91dDtcblxuXHRcdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgd3Bmb3Jtcy1pbnB1dC1mb2N1cygpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBmb3IgY29udGFpbmVyIHdpdGggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgc2V0IHRvIDBcbkBjb250YWluZXIgd3Bmb3Jtcy1zdXJ2ZXktYW5kLXBvbGxzLWNvbnRhaW5lci1mdWxsLW1vZGVybiBzdHlsZSggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXM6IDAgKSB7XG5cdC53cGZvcm1zLWZpZWxkLWxpa2VydF9zY2FsZSB7XG5cdFx0dGFibGUge1xuXHRcdFx0dGJvZHkge1xuXHRcdFx0XHR0aDpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gUlRMIHN0eWxlcy5cbi5ydGwge1xuXHRkaXYud3Bmb3Jtcy1jb250YWluZXItZnVsbC53cGZvcm1zLXJlbmRlci1tb2Rlcm4gLndwZm9ybXMtZm9ybSB7XG5cdFx0LndwZm9ybXMtZmllbGQtbGlrZXJ0X3NjYWxlIHtcblx0XHRcdHRhYmxlIHtcblx0XHRcdFx0Ji5jbGFzc2ljIHtcblx0XHRcdFx0XHR0aGVhZCB7XG5cdFx0XHRcdFx0XHR0aDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dGJvZHkge1xuXHRcdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wOiAkYm9yZGVyX3N0ZDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAkYm9yZGVyX3N0ZDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cblx0XHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLy8gTmV0IFByb21vdGVyIFNjb3JlIGZpZWxkIHN0eWxlcy5cbi8vXG4vLyBNb2Rlcm4gcmVuZGVyaW5nIGFkanVzdG1lbnRzLlxuLy9cbi8vIEBzaW5jZSB7VkVSU0lPTn1cblxuZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwud3Bmb3Jtcy1yZW5kZXItbW9kZXJuIC53cGZvcm1zLWZvcm0ge1xuXHQud3Bmb3Jtcy1maWVsZC1uZXRfcHJvbW90ZXJfc2NvcmUge1xuXHRcdHRhYmxlIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdGJvcmRlci1zcGFjaW5nOiAwO1xuXG5cdFx0XHR0aGVhZCB7XG5cdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzICk7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblx0XHRcdFx0XHQtd2Via2l0LWJvcmRlci1iZWZvcmU6IHJldmVydDtcblx0XHRcdFx0XHRib3JkZXItYmxvY2stc3RhcnQ6IHJldmVydDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHR0Ym9keSB7XG5cdFx0XHRcdHRyOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0dGQ6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR0ZDpsYXN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0dHIge1xuXHRcdFx0XHR0aCB7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoIC0td3Bmb3Jtcy1sYWJlbC1zaXplLXN1YmxhYmVsLWZvbnQtc2l6ZSApO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdFx0Y29sb3I6IHZhciggLS13cGZvcm1zLWxhYmVsLWNvbG9yICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5jbGFzc2ljIHtcblx0XHRcdFx0Ym9yZGVyOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItc2l6ZSwgMXB4ICkgdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXN0eWxlLCAnc29saWQnICkgdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLWNvbG9yICk7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhlYWQgdHIge1xuXHRcdFx0XHRcdHRoIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoIDAsIDAsIDAsIDAuMDMgKTtcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogY2FsYyhtYXgoMTBweCwgbWluKHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyksIDMwcHggKSkpO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogY2FsYyhtYXgoMTBweCwgbWluKHZhcigtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyksIDMwcHggKSkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRib2R5IHRyIHtcblx0XHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1zaXplLCAxcHggKSB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItc3R5bGUsICdzb2xpZCcgKSB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItY29sb3IgKTtcblx0XHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXSB7XG5cdFx0XHRcdFx0XHRtaW4td2lkdGg6IHVuc2V0O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IHZhciggLS13cGZvcm1zLWZpZWxkLXNpemUtc3VibGFiZWwtc3BhY2luZyApO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogdmFyKCAtLXdwZm9ybXMtZmllbGQtc2l6ZS1mb250LXNpemUgKTtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdFx0XHRjb2xvcjogdmFyKCAtLXdwZm9ybXMtbGFiZWwtY29sb3IgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5tb2Rlcm4ge1xuXHRcdFx0XHR0aGVhZCB0aCB7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAwIHZhciggLS13cGZvcm1zLWZpZWxkLXNpemUtc3VibGFiZWwtc3BhY2luZyApIDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR0Ym9keSB0ciB7XG5cblx0XHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXNpemUsIDFweCApO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1zdHlsZTogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXN0eWxlLCBzb2xpZCApO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLWNvbG9yICk7XG5cdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItc2l6ZSwgMXB4ICk7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXN0eWxlOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItc3R5bGUsIHNvbGlkICk7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItY29sb3IgKTtcblx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItc2l6ZSwgMXB4ICk7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdC1zdHlsZTogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXN0eWxlLCBzb2xpZCApO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1jb2xvciApO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKCAtLXdwZm9ybXMtZmllbGQtYmFja2dyb3VuZC1jb2xvciApO1xuXG5cdFx0XHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzICk7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblxuXHRcdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyApO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblxuXHRcdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyApO1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyApO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodC13aWR0aDogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXNpemUsIDFweCApO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQtc3R5bGU6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1zdHlsZSwgc29saWQgKTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItY29sb3IgKTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6dmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyApO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czp2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzICk7XG5cblx0XHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czp2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzICk7XG5cblx0XHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOnZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOnZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHZhciggLS13cGZvcm1zLWZpZWxkLXRleHQtY29sb3IgKTtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1zaXplLWZvbnQtc2l6ZSApO1xuXHRcdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IHZhciggLS13cGZvcm1zLWZpZWxkLXNpemUtaW5wdXQtaGVpZ2h0ICk7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbl9ub3JtYWwgZWFzZS1pbi1vdXQ7XG5cdFx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSggMCwgMCwgMCwgMC4wOCApO1xuXG5cdFx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3IgKTtcblx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDFweDtcblx0XHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAxcHg7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhciggLS13cGZvcm1zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yICk7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1idXR0b24tdGV4dC1jb2xvciApO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXTpmb2N1czpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAwLCAwLCAwLCAwLjA4ICk7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC10ZXh0LWNvbG9yICk7XG5cblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGlucHV0W3R5cGU9cmFkaW9dLndwZm9ybXMtZXJyb3IgKyBsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdCY6aG92ZXJ7XG5cdFx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggdmFyKCAtLXdwZm9ybXMtbGFiZWwtZXJyb3ItY29sb3IgKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoIC0td3Bmb3Jtcy1sYWJlbC1lcnJvci1jb2xvciApO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji53cGZvcm1zLWZpZWxkLWZvY3VzZWQge1xuXHRcdFx0ZmllbGRzZXQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAtMnB4O1xuXHRcdFx0fVxuXG5cdFx0XHR0YWJsZS5tb2Rlcm4ge1xuXHRcdFx0XHR0Ym9keSB7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMnB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvciApO1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKCAtMXB4ICk7XG5cblx0XHRcdFx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LXdpZHRoOiAycHg7XG5cblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3IgKTtcblxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRpbnB1dFt0eXBlPXJhZGlvXTpmb2N1czpub3QoOmNoZWNrZWQpICsgbGFiZWwge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCAwLCAwLCAwLCAwLjA4ICkgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmLndwZm9ybXMtaGFzLWVycm9yIHtcblx0XHRcdFx0dGFibGUubW9kZXJuIHtcblx0XHRcdFx0XHR0Ym9keSB7XG5cdFx0XHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKCAtLXdwZm9ybXMtbGFiZWwtZXJyb3ItY29sb3IgKTtcblxuXHRcdFx0XHRcdFx0XHQmOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1sYWJlbC1lcnJvci1jb2xvciApO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIERJVkkgdGhlbWUgY29tcGF0aWJpbGl0eS5cbi5ldC1kYiAjY29udGVudC1hcmVhIHtcblx0dGFibGUubW9kZXJuIHtcblx0XHR0ZCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxufVxuXG4vLyBSVEwgcmVsYXRlZCBzdHlsZXMuXG4ucnRsIHtcblx0ZGl2LndwZm9ybXMtY29udGFpbmVyLWZ1bGwud3Bmb3Jtcy1yZW5kZXItbW9kZXJuIC53cGZvcm1zLWZvcm0ge1xuXHRcdC53cGZvcm1zLWZpZWxkLW5ldF9wcm9tb3Rlcl9zY29yZSB7XG5cdFx0XHR0YWJsZS5tb2Rlcm4ge1xuXHRcdFx0XHR0Ym9keSB7XG5cdFx0XHRcdFx0dHIge1xuXHRcdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogbm9uZTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0LXdpZHRoOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItc2l6ZSwgMXB4ICk7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodC1zdHlsZTogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXN0eWxlLCBzb2xpZCApO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQtY29sb3I6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1jb2xvciApO1xuXG5cdFx0XHRcdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXNpemUsIDFweCApO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LXN0eWxlOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItc3R5bGUsIHNvbGlkICk7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1jb2xvciApO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKSAwIDAgdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyApO1xuXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyApIDAgMCB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzICk7XG5cblx0XHRcdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzICkgMCAwIHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyApIHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKSAwO1xuXG5cdFx0XHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMCB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzICkgdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXJhZGl1cyApIDA7XG5cblx0XHRcdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwIHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1yYWRpdXMgKSB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzICkgMDtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji53cGZvcm1zLWZpZWxkLWZvY3VzZWQge1xuXHRcdFx0XHR0YWJsZS5tb2Rlcm4ge1xuXHRcdFx0XHRcdHRib2R5IHtcblx0XHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMnB4O1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSggLTFweCApO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItY29sb3I6IHZhciggLS13cGZvcm1zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yICk7XG5cblx0XHRcdFx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvciApO1xuXG5cdFx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGxlZnQ6IDFweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQtd2lkdGg6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1zaXplLCAxcHggKTtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQtc3R5bGU6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1zdHlsZSwgc29saWQgKTtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQtY29sb3I6IHZhciggLS13cGZvcm1zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yICk7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IDJweDtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdC1jb2xvcjogdmFyKCAtLXdwZm9ybXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3IgKTtcblxuXHRcdFx0XHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB2YXIoIC0td3Bmb3Jtcy1idXR0b24tYmFja2dyb3VuZC1jb2xvciApO1xuXG5cdFx0XHRcdFx0XHRcdFx0aW5wdXRbdHlwZT1yYWRpb106Zm9jdXM6bm90KDpjaGVja2VkKSArIGxhYmVsIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSggMCwgMCwgMCwgMC4wOCApICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0aW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHZhciggLS13cGZvcm1zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yICk7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogdmFyKCAtLXdwZm9ybXMtYnV0dG9uLXRleHQtY29sb3IgKTtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoIC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItc2l6ZSwgMXB4ICk7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdC1zdHlsZTogdmFyKCAtLXdwZm9ybXMtZmllbGQtYm9yZGVyLXN0eWxlLCBzb2xpZCApO1xuXHRcdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHZhciggLS13cGZvcm1zLWZpZWxkLWJvcmRlci1jb2xvciApO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gUmFua2luZyBmaWVsZCBjb21wYXRpYmlsaXR5IHdpdGggb3RoZXIgYWRkb25zLlxuLy9cbi8vIEV2ZXJ5IHNlY3Rpb24gaXMgc2NvcGVkIGJ5IGEgc2VsZWN0b3IgdGhhdCBleGlzdHMgb25seSB3aGVuIHRoZSByZXNwZWN0aXZlXG4vLyBhZGRvbiByZW5kZXJzIHRoZSBmb3JtLCBzbyB0aGUgcnVsZXMgYXJlIGluZXJ0IGV2ZXJ5d2hlcmUgZWxzZS4gSW1wb3J0ZWRcbi8vIGFmdGVyIHRoZSByYW5raW5nIHBhcnRpYWwgc28gZXF1YWwtc3BlY2lmaWNpdHkgb3ZlcnJpZGVzIHdpbiBvbiBzb3VyY2Ugb3JkZXIuXG4vL1xuLy8gQHNpbmNlIHtWRVJTSU9OfVxuXG4vLyBMZWFkIEZvcm1zLlxuLndwZm9ybXMtbGVhZC1mb3Jtcy1jb250YWluZXIge1xuXG5cdC53cGZvcm1zLWZpZWxkLXJhbmtpbmcge1xuXHRcdC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItY29sb3I6IHZhcigtLXdwZm9ybXMtbGVhZC1mb3Jtcy1maWVsZC1ib3JkZXItY29sb3IpO1xuXHRcdC0td3Bmb3Jtcy1maWVsZC1ib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0LS13cGZvcm1zLWZpZWxkLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC0td3Bmb3Jtcy1maWVsZC10ZXh0LWNvbG9yOiB2YXIoLS13cGZvcm1zLWxlYWQtZm9ybXMtcHJpbWFyeS10ZXh0LWNvbG9yKTtcblx0XHQtLXdwZm9ybXMtZmllbGQtc2l6ZS1mb250LXNpemU6IDE2cHg7XG5cdFx0LS13cGZvcm1zLWZpZWxkLXNpemUtbGluZS1oZWlnaHQ6IDEuMzc1O1xuXHRcdC0td3Bmb3Jtcy1maWVsZC1zaXplLWlucHV0LWhlaWdodDogNDZweDtcblx0XHQtLXdwZm9ybXMtYnV0dG9uLXNpemUtbWFyZ2luLXRvcDogMjBweDtcblx0XHQtLXdwZm9ybXMtZmllbGQtc2l6ZS1zdWJsYWJlbC1zcGFjaW5nOiA4cHg7XG5cblx0XHQtLXdwZm9ybXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHJnYmEoIHZhcigtLXdwZm9ybXMtbGVhZC1mb3Jtcy1hY2NlbnQtY29sb3IpLCAxICk7XG5cblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW1zIHtcblxuXHRcdFx0Ji53cGZvcm1zLWZpZWxkLXNtYWxsLFxuXHRcdFx0Ji53cGZvcm1zLWZpZWxkLW1lZGl1bSB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWxheW91dC1saXN0IHtcblxuXHRcdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0Ly8gVGhlIHRyYWlsaW5nIGNsdXN0ZXIgbWVhc3VyZXMgNzdweDogYSAxMHB4IGZsZXggZ2FwLCB0aGUgNDhweFxuXHRcdFx0XHQvLyBhcnJvd3MgKHR3byAyNHB4IGJ1dHRvbnMpLCBhbm90aGVyIDEwcHggZ2FwIGFuZCB0aGUgOXB4IGhhbmRsZS5cblx0XHRcdFx0cGFkZGluZy1pbmxpbmU6IGNhbGMoIHZhcigtLXdwZm9ybXMtZmllbGQtc2l6ZS1wYWRkaW5nLWgsIDE1cHgpICsgNzdweCApO1xuXHRcdFx0fVxuXG5cdFx0XHQud3Bmb3Jtcy1maWVsZC1yYW5raW5nLWl0ZW0tbGFiZWwge1xuXHRcdFx0XHRmbGV4OiAwIDEgYXV0bztcblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWFycm93cyxcblx0XHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1oYW5kbGUge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdFx0XHR9XG5cblx0XHRcdC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbS1hcnJvd3Mge1xuXHRcdFx0XHRpbnNldC1pbmxpbmUtZW5kOiBjYWxjKCB2YXIoLS13cGZvcm1zLWZpZWxkLXNpemUtcGFkZGluZy1oLCAxNXB4KSArIDE5cHggKTtcblx0XHRcdH1cblxuXHRcdFx0LndwZm9ybXMtZmllbGQtcmFua2luZy1pdGVtLWhhbmRsZSB7XG5cdFx0XHRcdGluc2V0LWlubGluZS1lbmQ6IHZhcigtLXdwZm9ybXMtZmllbGQtc2l6ZS1wYWRkaW5nLWgsIDE1cHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ud3Bmb3Jtcy1jb250YWluZXIud3Bmb3Jtcy1sZWFkLWZvcm1zLWNvbnRhaW5lciBmb3JtLndwZm9ybXMtZm9ybSAud3Bmb3Jtcy1maWVsZC1yYW5raW5nIHtcblx0LS13cGZvcm1zLXJhbmtpbmctaXRlbS1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoIHZhcigtLXdwZm9ybXMtbGVhZC1mb3Jtcy1hY2NlbnQtY29sb3IpLCAxICk7XG59XG5cbi8vIEZvcm0gUGFnZXMuXG4jd3Bmb3Jtcy1mb3JtLXBhZ2UtcGFnZSAud3Bmb3Jtcy1maWVsZC1yYW5raW5nIC53cGZvcm1zLWZpZWxkLXJhbmtpbmctaXRlbXMge1xuXG5cdCYud3Bmb3Jtcy1maWVsZC1zbWFsbCxcblx0Ji53cGZvcm1zLWZpZWxkLW1lZGl1bSB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsQUNESSxJRENBLEFBQUEsYUFBYSxDQUFDLDJCQUEyQixDQUU1QyxLQUFLLEFDTkosV0FBVyxBRDBDVixPQUFPLENDekNSLEtBQUssQ0FDSixFQUFFLENBQ0QsRUFBRSxBQUFBLGNBQWMsQ0FB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 */
