/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/extensions/fe_login.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Universal form components styling - Modular approach
 * Backwards compatible with existing form-components() mixin
 */
/**
 * Form Labels Mixin
 */
/**
 * Form Controls Mixin (Input, Textarea, Select)
 */
/**
 * Form Checks Mixin (Radio & Checkbox)
 */
/**
 * Form Validation Mixin
 */
/**
 * Form Layout Mixin (Floating, Groups, Actions)
 */
/**
 * Form Accessibility Mixin
 */
/**
 * Main form-components mixin - BACKWARDS COMPATIBLE
 * Includes all form styling components
 */
.fe-login .form-label, .fe-login .fe-login__label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--color-black, #000000);
  font-size: 1rem;
  line-height: 1.4;
}
.fe-login .form-label.required::after, .fe-login .required.fe-login__label::after {
  content: " *";
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.fe-login .form-label .required, .fe-login .fe-login__label .required {
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.fe-login .form-label.sr-only, .fe-login .sr-only.fe-login__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.fe-login legend {
  font-size: 1.25rem;
  font-weight: 700;
}
.fe-login .form-control, .fe-login .fe-login__input {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.4;
  color: var(--color-black, #000000);
  background-color: var(--color-white, #ffffff);
  background-clip: padding-box;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.fe-login .form-control::-moz-placeholder, .fe-login .fe-login__input::-moz-placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.fe-login .form-control::placeholder, .fe-login .fe-login__input::placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.fe-login .form-control:hover:not(:disabled):not([readonly]), .fe-login .fe-login__input:hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.fe-login .form-control:focus, .fe-login .fe-login__input:focus {
  border-bottom-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px rgba(var(--color-primary, #009ddf), 0.25);
}
.fe-login .form-control:disabled, .fe-login .fe-login__input:disabled, .fe-login .form-control[readonly], .fe-login [readonly].fe-login__input {
  background-color: var(--color-jfe-gray, #f3f3f2);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  opacity: 1;
  cursor: not-allowed;
}
.fe-login .form-control.is-invalid, .fe-login .is-invalid.fe-login__input {
  border-bottom-color: var(--color-error, #dc3545);
}
.fe-login .form-control.is-invalid:focus, .fe-login .is-invalid.fe-login__input:focus {
  border-bottom-color: var(--color-error, #dc3545);
  box-shadow: 0 0 0 2px rgba(var(--color-error, #dc3545), 0.25);
}
.fe-login .form-control.is-valid, .fe-login .is-valid.fe-login__input {
  border-bottom-color: #95DF00;
}
.fe-login .form-control.is-valid:focus, .fe-login .is-valid.fe-login__input:focus {
  border-bottom-color: #95DF00;
  box-shadow: 0 0 0 2px rgba(149, 223, 0, 0.25);
}
.fe-login textarea.form-control, .fe-login textarea.fe-login__input {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
  border-top: 2px solid var(--color-black, #000000);
  border-left: 2px solid var(--color-black, #000000);
  border-right: 2px solid var(--color-black, #000000);
}
.fe-login textarea.form-control:hover:not(:disabled):not([readonly]), .fe-login textarea.fe-login__input:hover:not(:disabled):not([readonly]) {
  border-color: var(--color-primary, #009ddf);
}
.fe-login textarea.form-control:focus, .fe-login textarea.fe-login__input:focus {
  border-color: var(--color-primary, #009ddf);
}
.fe-login select.form-control:not([multiple]), .fe-login select.fe-login__input:not([multiple]) {
  background-image: url(/build/images/IconArrowAccordion--Down.8e468af5.svg);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  padding-right: 2.5rem;
  cursor: pointer;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
}
.fe-login select.form-control:not([multiple])::-ms-expand, .fe-login select.fe-login__input:not([multiple])::-ms-expand {
  display: none;
}
.fe-login select.form-control:not([multiple]):hover:not(:disabled):not([readonly]), .fe-login select.fe-login__input:not([multiple]):hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.fe-login select.form-control:not([multiple]):focus, .fe-login select.fe-login__input:not([multiple]):focus {
  border-bottom-color: var(--color-primary, #009ddf);
  background-image: url(/build/images/IconArrowAccordion--Up.2d71fcd5.svg);
}
.fe-login select.form-control:not([multiple]).is-invalid, .fe-login select.fe-login__input:not([multiple]).is-invalid {
  border-bottom-color: var(--color-error, #dc3545);
}
.fe-login select.form-control:not([multiple]).is-invalid:focus, .fe-login select.fe-login__input:not([multiple]).is-invalid:focus {
  border-bottom-color: var(--color-error, #dc3545);
}
.fe-login select.form-control:not([multiple]).is-valid, .fe-login select.fe-login__input:not([multiple]).is-valid {
  border-bottom-color: #95DF00;
}
.fe-login select.form-control:not([multiple]).is-valid:focus, .fe-login select.fe-login__input:not([multiple]).is-valid:focus {
  border-bottom-color: #95DF00;
}
.fe-login .form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 2rem;
  margin-bottom: 0.5rem;
  position: relative;
}
.fe-login .form-check .form-check-input, .fe-login .form-check .fe-login__checkbox,
.fe-login .form-check [type=checkbox],
.fe-login .form-check [type=radio] {
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-black, #000000);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.fe-login .form-check .form-check-input::before, .fe-login .form-check .fe-login__checkbox::before,
.fe-login .form-check [type=checkbox]::before,
.fe-login .form-check [type=radio]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}
.fe-login .form-check .form-check-input:hover:not(:disabled), .fe-login .form-check .fe-login__checkbox:hover:not(:disabled),
.fe-login .form-check [type=checkbox]:hover:not(:disabled),
.fe-login .form-check [type=radio]:hover:not(:disabled) {
  border-color: var(--color-primary, #009ddf);
}
.fe-login .form-check .form-check-input:focus, .fe-login .form-check .fe-login__checkbox:focus,
.fe-login .form-check [type=checkbox]:focus,
.fe-login .form-check [type=radio]:focus {
  border-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px rgba(var(--color-primary, #009ddf), 0.25);
}
.fe-login .form-check .form-check-input:checked, .fe-login .form-check .fe-login__checkbox:checked,
.fe-login .form-check [type=checkbox]:checked,
.fe-login .form-check [type=radio]:checked {
  background-color: var(--color-primary, #009ddf);
  border-color: var(--color-primary, #009ddf);
}
.fe-login .form-check .form-check-input:disabled, .fe-login .form-check .fe-login__checkbox:disabled,
.fe-login .form-check [type=checkbox]:disabled,
.fe-login .form-check [type=radio]:disabled {
  background-color: var(--color-jfe-gray, #f3f3f2);
  border-color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.fe-login .form-check .form-check-input.is-invalid, .fe-login .form-check .is-invalid.fe-login__checkbox,
.fe-login .form-check [type=checkbox].is-invalid,
.fe-login .form-check [type=radio].is-invalid {
  border-color: var(--color-error, #dc3545);
}
.fe-login .form-check .form-check-input.is-invalid:focus, .fe-login .form-check .is-invalid.fe-login__checkbox:focus,
.fe-login .form-check [type=checkbox].is-invalid:focus,
.fe-login .form-check [type=radio].is-invalid:focus {
  box-shadow: 0 0 0 2px rgba(var(--color-error, #dc3545), 0.25);
}
.fe-login .form-check .form-check-input[type=checkbox],
.fe-login .form-check [type=checkbox] {
  border-radius: 2px;
}
.fe-login .form-check .form-check-input[type=checkbox]:checked,
.fe-login .form-check [type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10l3 3 6-6%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.fe-login .form-check .form-check-input[type=checkbox]:indeterminate,
.fe-login .form-check [type=checkbox]:indeterminate {
  background-color: var(--color-primary, #009ddf);
  border-color: var(--color-primary, #009ddf);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.fe-login .form-check .form-check-input[type=radio],
.fe-login .form-check [type=radio] {
  border-radius: 50%;
}
.fe-login .form-check .form-check-input[type=radio]:checked,
.fe-login .form-check [type=radio]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.fe-login .form-check .form-check-label, .fe-login .form-check .fe-login__checkbox-label {
  display: inline-block;
  color: var(--color-black, #000000);
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.fe-login .form-check .form-check-label.disabled, .fe-login .form-check .disabled.fe-login__checkbox-label {
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.fe-login .form-check-inline {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
}
@media (min-width: 640px) {
  .fe-login .form-check-inline {
    margin-right: 1.5rem;
  }
}
.fe-login .form-text {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  line-height: 1.4;
}
.fe-login .form-text.text-danger, .fe-login .form-text.invalid-feedback {
  color: var(--color-error, #dc3545);
}
.fe-login .form-text.text-success, .fe-login .form-text.valid-feedback {
  color: #95DF00;
}
.fe-login .invalid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-black, #000000);
  line-height: 1.4;
  padding-left: 1.5rem;
  position: relative;
}
.fe-login .invalid-feedback::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-black, #000000);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23000%27 d=%27M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 75% 75%;
  border-radius: 50%;
  border: 3px solid var(--color-error, #dc3545);
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-control.is-invalid ~ .fe-login .invalid-feedback, .is-invalid.fe-login__input ~ .fe-login .invalid-feedback, .form-check-input.is-invalid ~ .fe-login .invalid-feedback, .is-invalid.fe-login__checkbox ~ .fe-login .invalid-feedback {
  display: block;
}
.fe-login .valid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #95DF00;
  line-height: 1.4;
}
.form-control.is-valid ~ .fe-login .valid-feedback, .is-valid.fe-login__input ~ .fe-login .valid-feedback, .form-check-input.is-valid ~ .fe-login .valid-feedback, .is-valid.fe-login__checkbox ~ .fe-login .valid-feedback {
  display: block;
}
.fe-login .validation-summary {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border: 2px solid var(--color-error, #dc3545);
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--color-error, #dc3545) 5%, var(--color-white, #ffffff));
}
@media (min-width: 640px) {
  .fe-login .validation-summary {
    padding: 1.25rem 1.5rem;
  }
}
.fe-login .validation-summary .alert-heading {
  margin: 0 0 0.75rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-error, #dc3545);
  line-height: 1.3;
}
@media (min-width: 640px) {
  .fe-login .validation-summary .alert-heading {
    font-size: 1.25rem;
  }
}
.fe-login .validation-summary .alert-message {
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--color-error, #dc3545) 85%, black);
  line-height: 1.4;
}
@media (min-width: 640px) {
  .fe-login .validation-summary .alert-message {
    font-size: 1rem;
  }
}
.fe-login .validation-summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.fe-login .validation-summary-list .validation-summary-item {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.4;
}
.fe-login .validation-summary-list .validation-summary-item:last-child {
  margin-bottom: 0;
}
.fe-login .validation-summary-list .validation-summary-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23dc3545%27 d=%27M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z%27/%3e%3cpath fill=%27%23dc3545%27 d=%27M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.fe-login .validation-summary-list .validation-summary-item a {
  color: var(--color-error, #dc3545);
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.fe-login .validation-summary-list .validation-summary-item a:hover, .fe-login .validation-summary-list .validation-summary-item a:focus {
  color: color-mix(in srgb, var(--color-error, #dc3545) 85%, black);
  text-decoration: none;
}
.fe-login .validation-summary-list .validation-summary-item a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
  border-radius: 2px;
}
.fe-login .validation-summary {
  animation: slideInFromTop 0.3s ease-out;
}
@keyframes slideInFromTop {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fe-login .form-floating {
  position: relative;
}
.fe-login .form-floating .form-control, .fe-login .form-floating .fe-login__input {
  padding: 1rem 0.75rem 0.5rem;
}
.fe-login .form-floating .form-control::-moz-placeholder, .fe-login .form-floating .fe-login__input::-moz-placeholder {
  color: transparent;
}
.fe-login .form-floating .form-control::placeholder, .fe-login .form-floating .fe-login__input::placeholder {
  color: transparent;
}
.fe-login .form-floating .form-control:not(:-moz-placeholder) ~ label, .fe-login .form-floating .fe-login__input:not(:-moz-placeholder) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.fe-login .form-floating .form-control:focus ~ label, .fe-login .form-floating .fe-login__input:focus ~ label, .fe-login .form-floating .form-control:not(:placeholder-shown) ~ label, .fe-login .form-floating .fe-login__input:not(:placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.fe-login .form-floating label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fe-login .form-group {
  margin-bottom: 3rem;
}
.fe-login .form-group:last-child {
  margin-bottom: 0;
}
.fe-login .form-section {
  margin-bottom: 2rem;
}
.fe-login .form-section:last-child {
  margin-bottom: 0;
}
.fe-login .form-section h2, .fe-login .form-section h3, .fe-login .form-section h4 {
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}
.fe-login .form-section .required {
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.fe-login .form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .fe-login .form-actions {
    flex-wrap: nowrap;
  }
}
.fe-login .form-actions .btn {
  flex: 1;
  min-width: 120px;
}
@media (min-width: 640px) {
  .fe-login .form-actions .btn {
    flex: 0 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox,
  .fe-login .form-floating label {
    transition: none;
  }
}
@media (forced-colors: active) {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox {
    border-width: 2px;
  }
  .fe-login .validation-summary {
    border: 2px solid ButtonText;
    background-color: ButtonFace;
  }
  .fe-login .validation-summary .validation-summary-item::before {
    background-image: none;
    border: 1px solid ButtonText;
    border-radius: 50%;
  }
}
@media print {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox {
    border: 1px solid black !important;
    box-shadow: none !important;
  }
  .fe-login .validation-summary {
    border: 2px solid black !important;
    background-color: white !important;
  }
  .fe-login .validation-summary .alert-heading,
  .fe-login .validation-summary .alert-message,
  .fe-login .validation-summary .validation-summary-item a {
    color: black !important;
  }
  .fe-login .validation-summary .validation-summary-item::before {
    display: none !important;
  }
}
.fe-login__form {
  width: 100%;
}
.fe-login__fieldset {
  border: none;
  padding: 0;
  margin: 0 0 2rem 0;
}
.fe-login__fieldset:last-child {
  margin-bottom: 0;
}
.fe-login__legend {
  font-size: 1.5rem;
  font-weight: 700;
  color: #000000;
  margin-bottom: 1.5rem;
  padding: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .fe-login__legend {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
.fe-login__field-group {
  margin-bottom: 1.5rem;
}
.fe-login__field-group:last-child {
  margin-bottom: 0;
}
.fe-login__label {
  display: block;
  margin-bottom: 0.5rem;
}
.fe-login__checkbox-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 1.5rem 0;
}
.fe-login__checkbox-label {
  margin: 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.fe-login__checkbox {
  margin-top: 0.25rem;
  flex-shrink: 0;
}
.fe-login__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 2px solid transparent;
  border-radius: 0;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  min-height: 44px;
  min-width: 44px;
}
.fe-login__button--primary {
  color: #ffffff;
  background-color: #009ddf;
  border-color: #009ddf;
}
.fe-login__button--primary:hover:not(:disabled) {
  background-color: rgb(0, 125.6, 178.4);
  border-color: rgb(0, 125.6, 178.4);
}
.fe-login__button--primary:focus {
  outline: 2px solid #009ddf;
  outline-offset: 2px;
}
.fe-login__button--primary:active:not(:disabled) {
  background-color: rgb(0, 109.9, 156.1);
  border-color: rgb(0, 109.9, 156.1);
}
.fe-login__button--secondary {
  color: #000000;
  background-color: #ffcc00;
  border-color: #ffcc00;
}
.fe-login__button--secondary:hover:not(:disabled) {
  background-color: rgb(204, 163.2, 0);
  border-color: rgb(204, 163.2, 0);
}
.fe-login__button--secondary:focus {
  outline: 2px solid #ffcc00;
  outline-offset: 2px;
}
.fe-login__button--secondary:active:not(:disabled) {
  background-color: rgb(178.5, 142.8, 0);
  border-color: rgb(178.5, 142.8, 0);
}
.fe-login__button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: #f3f3f2;
  border-color: #f3f3f2;
  color: rgb(100.88, 100.88, 93.12);
}
.fe-login__link {
  display: inline-block;
  margin-top: 1rem;
  color: #009ddf;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.fe-login__link:hover {
  color: rgb(0, 109.9, 156.1);
  text-decoration: none;
}
.fe-login__link:focus {
  outline: 2px solid #009ddf;
  outline-offset: 2px;
}
.fe-login__message {
  padding: 1.5rem;
  margin-bottom: 2rem;
  background-color: #f3f3f2;
  border-left: 4px solid #009ddf;
}
.fe-login__message--error {
  background-color: transparent;
  border-left-color: #dc3545;
}
.fe-login__message--success {
  background-color: transparent;
  border-left-color: #009ddf;
}
.fe-login__message-header {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  color: #000000;
}
.fe-login__message-text {
  margin: 0;
  color: #000000;
  line-height: 1.5;
}
.fe-login__flash-messages {
  margin-bottom: 2rem;
}
.fe-login__flash-messages .alert {
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  border-left: 4px solid;
  background-color: #f3f3f2;
}
.fe-login__flash-messages .alert:last-child {
  margin-bottom: 0;
}
.fe-login__flash-messages .alert--error {
  border-left-color: #dc3545;
  background-color: transparent;
}
.fe-login__flash-messages .alert--success {
  border-left-color: #009ddf;
  background-color: transparent;
}
.fe-login__flash-messages .alert--warning {
  border-left-color: #ffcc00;
  background-color: transparent;
}
.fe-login__hidden-fields {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.fe-login__logout-info {
  margin-bottom: 1.5rem;
}
.fe-login__logout-info-label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #000000;
}
.fe-login__logout-info-value {
  display: block;
  padding: 0.75rem 1rem;
  background-color: #f3f3f2;
  border-bottom: 2px solid #000000;
  color: #000000;
}
.fe-login__overview-info {
  padding: 1.5rem;
  background-color: transparent;
  border-left: 4px solid #009ddf;
  margin-bottom: 2rem;
}
.fe-login__overview-info p {
  margin: 0;
  color: #000000;
  line-height: 1.5;
}
.fe-login__overview-info p:not(:last-child) {
  margin-bottom: 0.5rem;
}
@media (min-width: 640px) {
  .fe-login__button {
    padding: 0.875rem 2.5rem;
    font-size: 1.0625rem;
  }
}
@media (min-width: 768px) {
  .fe-login__fieldset {
    margin-bottom: 2.5rem;
  }
  .fe-login__field-group {
    margin-bottom: 2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fe-login__button, .fe-login__link {
    transition: none;
  }
}
@media (forced-colors: active) {
  .fe-login__button {
    border-width: 2px;
  }
  .fe-login__message, .fe-login__flash-messages .alert {
    border: 2px solid ButtonText;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0VBQ0E7QUF1YlI7QUFuYkk7RUFDSTtBQXFiUjtBQW5iUTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGNFblJFO0FGd3NCZDtBQWxiUTtFQUNJO0VBQ0E7RUFDQSx5QkVwU0s7RUZxU0w7RUFDQSxjRTNSRTtBRitzQmQ7QUEvYUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQWliUjtBQS9hUTtFQUNJO0VBQ0EsY0V4U0U7RUZ5U0Y7QUFpYlo7QUEvYVk7RUFDSTtBQWliaEI7QUNydEJJO0VEMlNJO0lBQ0k7SUFDQTtFQTZhVjtBQUNGO0FDM3RCSTtFRGtUSTtJQUNJO0VBNGFWO0VBemFNO0lBQ0k7RUEyYVY7QUFDRjtBQXZhSTtFQUNJO0lBRUk7RUF3YVY7QUFDRjtBQXBhSTtFQUNJO0lBQ0k7RUFzYVY7RUFuYU07SUFFSTtFQW9hVjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19mb3JtLWNvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9leHRlbnNpb25zL2ZlX2xvZ2luLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fY29sb3JzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZm9ybS1jb21wb25lbnRzLnNjc3NcbkB1c2UgJy4uL2dsb2JhbC9jb2xvcnMnIGFzIGNvbG9ycztcbkB1c2UgJy4uL2dsb2JhbC9icmVha3BvaW50cycgYXMgYnA7XG5cbi8qKlxuICogVW5pdmVyc2FsIGZvcm0gY29tcG9uZW50cyBzdHlsaW5nIC0gTW9kdWxhciBhcHByb2FjaFxuICogQmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCBleGlzdGluZyBmb3JtLWNvbXBvbmVudHMoKSBtaXhpblxuICovXG5cbi8vIFZpc3VhbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyAoc2hhcmVkIGFjcm9zcyBhbGwgbWl4aW5zKVxuJG91dGxpbmUtd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRvdXRsaW5lLW9mZnNldDogMnB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2UgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmb2N1cy1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRtaW4tdG91Y2gtc2l6ZTogNDRweCAhZGVmYXVsdDtcblxuLy8gQ29sb3JzIC0gdXNpbmcgQ1NTIHZhcmlhYmxlcyBmb3IgdGhlbWUgZmxleGliaWxpdHlcbiRmb3JtLXByaW1hcnktY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnksIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSkgIWRlZmF1bHQ7XG4kZm9ybS1zZWNvbmRhcnktY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKSAhZGVmYXVsdDtcbiRmb3JtLWJnLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSwgY29sb3JzLiRjb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKSAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKSAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvciwgY29sb3JzLiRjb2xvci1lcnJvcikgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAjOTVERjAwICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmctY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5KSAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyaykgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXktZGFya2VyLCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcmtlcikgIWRlZmF1bHQ7XG5cbiRyYWRpby1jaGVja2VkLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPScyJyBmaWxsPSclMjNmZmYnLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbi8qKlxuICogRm9ybSBMYWJlbHMgTWl4aW5cbiAqL1xuQG1peGluIGZvcm0tbGFiZWxzKCkge1xuICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBSZXF1aXJlZCBmaWVsZCBpbmRpY2F0b3JcbiAgICAgICAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIgKlwiO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGFiZWwgZm9yIHNjcmVlbiByZWFkZXJzIG9ubHlcbiAgICAgICAgJi5zci1vbmx5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsZWdlbmQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQ29udHJvbHMgTWl4aW4gKElucHV0LCBUZXh0YXJlYSwgU2VsZWN0KVxuICovXG5AbWl4aW4gZm9ybS1jb250cm9scygpIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iZy1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAvLyBQbGFjZWhvbGRlciBzdHlsaW5nXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLWZvY3VzLWJvcmRlci1jb2xvciwgMC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW3JlYWRvbmx5XSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1lcnJvci1jb2xvciwgMC4yNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1zdWNjZXNzLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRleHRhcmVhIHNwZWNpZmljIHN0eWxpbmdcbiAgICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcblxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWxlY3Qgc3BlY2lmaWMgc3R5bGluZyAoZXhjbHVkaW5nIG11bHRpc2VsZWN0KVxuICAgIHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFttdWx0aXBsZV0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL1NWRy9VSS9JY29uQXJyb3dBY2NvcmRpb24tLURvd24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGRlZmF1bHQgYXJyb3cgaW4gSUVcbiAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIHNlbGVjdFxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZSBmb3Igc2VsZWN0XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL1NWRy9VSS9JY29uQXJyb3dBY2NvcmRpb24tLVVwLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIENoZWNrcyBNaXhpbiAoUmFkaW8gJiBDaGVja2JveClcbiAqL1xuQG1peGluIGZvcm0tY2hlY2tzKCkge1xuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBGb3JtIGNoZWNrIGlucHV0IChyYWRpbyAmIGNoZWNrYm94KVxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iZy1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3cgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgICAgICAvLyBFbnN1cmUgbWluaW11bSB0b3VjaCB0YXJnZXQgc2l6ZVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoIHJnYmEoJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLWVycm9yLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2JveCBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICAgICAgICAgIC8vIENoZWNrbWFya1xuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGwzIDMgNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJbmRldGVybWluYXRlIHN0YXRlXG4gICAgICAgICAgICAmOmluZGV0ZXJtaW5hdGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmFkaW8gYnV0dG9uIHNwZWNpZmljIHN0eWxpbmdcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgICAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAgICAgLy8gUmFkaW8gZG90XG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRyYWRpby1jaGVja2VkLWltYWdlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9ybSBjaGVjayBsYWJlbFxuICAgICAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElubGluZSBmb3JtIGNoZWNrc1xuICAgIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBWYWxpZGF0aW9uIE1peGluXG4gKi9cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24oKSB7XG4gICAgLy8gRm9ybSB0ZXh0IChoZWxwIHRleHQsIGVycm9yIG1lc3NhZ2VzKVxuICAgIC5mb3JtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIEVycm9yIHRleHRcbiAgICAgICAgJi50ZXh0LWRhbmdlcixcbiAgICAgICAgJi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN1Y2Nlc3MgdGV4dFxuICAgICAgICAmLnRleHQtc3VjY2VzcyxcbiAgICAgICAgJi52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludmFsaWQgZmVlZGJhY2sgKGVycm9yIG1lc3NhZ2VzKVxuICAgIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlblxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nTTIuMTQ2IDIuODU0YS41LjUgMCAxIDEgLjcwOC0uNzA4TDggNy4yOTNsNS4xNDYtNS4xNDdhLjUuNSAwIDAgMSAuNzA4LjcwOEw4LjcwNyA4bDUuMTQ3IDUuMTQ2YS41LjUgMCAwIDEtLjcwOC43MDhMOCA4LjcwN2wtNS4xNDYgNS4xNDdhLjUuNSAwIDAgMS0uNzA4LS43MDhMNy4yOTMgOCAyLjE0NiAyLjg1NFonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlIDc1JTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgc2hvdyB3aGVuIHBhcmVudCBoYXMgaW52YWxpZCBmaWVsZFxuICAgICAgICAuZm9ybS1jb250cm9sLmlzLWludmFsaWR+JixcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4mIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWQgZmVlZGJhY2sgKHN1Y2Nlc3MgbWVzc2FnZXMpXG4gICAgLnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlblxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBPbmx5IHNob3cgd2hlbiBwYXJlbnQgaGFzIHZhbGlkIGZpZWxkXG4gICAgICAgIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+JixcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWR+JiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gU3VtbWFyeSBTdHlsZXNcbiAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgNSUsIHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9ycy4kY29sb3Itd2hpdGV9KSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGVydC1oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFsZXJ0LW1lc3NhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWVycm9yLCAje2NvbG9ycy4kY29sb3ItZXJyb3J9KSA4NSUsIGJsYWNrKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gU3VtbWFyeSBMaXN0XG4gICAgLnZhbGlkYXRpb24tc3VtbWFyeS1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRXJyb3IgaWNvblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDAuMnJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9JyUyM2RjMzU0NScgZD0nTTggMTVBNyA3IDAgMSAxIDggMWE3IDcgMCAwIDEgMCAxNHptMCAxQTggOCAwIDEgMCA4IDBhOCA4IDAgMCAwIDAgMTZ6Jy8lM2UlM2NwYXRoIGZpbGw9JyUyM2RjMzU0NScgZD0nTTcuMDAyIDExYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHpNNy4xIDQuOTk1YS45MDUuOTA1IDAgMSAxIDEuOCAwbC0uMzUgMy41MDdhLjU1Mi41NTIgMCAwIDEtMS4xIDBMNy4xIDQuOTk1eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgODUlLCBibGFjayk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQW5pbWF0aW9uIGZvciB2YWxpZGF0aW9uIHN1bW1hcnlcbiAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZUluRnJvbVRvcCAwLjNzIGVhc2Utb3V0O1xuXG4gICAgICAgIEBrZXlmcmFtZXMgc2xpZGVJbkZyb21Ub3Age1xuICAgICAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gTGF5b3V0IE1peGluIChGbG9hdGluZywgR3JvdXBzLCBBY3Rpb25zKVxuICovXG5AbWl4aW4gZm9ybS1sYXlvdXQoKSB7XG4gICAgLy8gRm9ybSBmbG9hdGluZyBsYWJlbHMgKGlmIG5lZWRlZClcbiAgICAuZm9ybS1mbG9hdGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMC43NXJlbSAwLjVyZW07XG5cbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgICAgICAgICAgICB+bGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpIHRyYW5zbGF0ZVkoLTAuNXJlbSkgdHJhbnNsYXRlWCgwLjE1cmVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gZ3JvdXBzIGZvciBzcGFjaW5nXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBzZWN0aW9uc1xuICAgIC5mb3JtLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsIGgzLCBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAucmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gYWN0aW9ucyAoYnV0dG9ucylcbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQWNjZXNzaWJpbGl0eSBNaXhpblxuICovXG5AbWl4aW4gZm9ybS1hY2Nlc3NpYmlsaXR5KCkge1xuICAgIC8vIFJlZHVjZWQgbW90aW9uIHN1cHBvcnRcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCxcbiAgICAgICAgLmZvcm0tZmxvYXRpbmcgbGFiZWwge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIEJ1dHRvblRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25GYWNlO1xuXG4gICAgICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBCdXR0b25UZXh0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByaW50IHN0eWxlc1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuYWxlcnQtaGVhZGluZyxcbiAgICAgICAgICAgIC5hbGVydC1tZXNzYWdlLFxuICAgICAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeS1pdGVtIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIE1haW4gZm9ybS1jb21wb25lbnRzIG1peGluIC0gQkFDS1dBUkRTIENPTVBBVElCTEVcbiAqIEluY2x1ZGVzIGFsbCBmb3JtIHN0eWxpbmcgY29tcG9uZW50c1xuICovXG5AbWl4aW4gZm9ybS1jb21wb25lbnRzKCkge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWxzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9scygpO1xuICAgIEBpbmNsdWRlIGZvcm0tY2hlY2tzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1sYXlvdXQoKTtcbiAgICBAaW5jbHVkZSBmb3JtLWFjY2Vzc2liaWxpdHkoKTtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2V4dGVuc2lvbnMvZmVfbG9naW4uc2Nzc1xuXG5AdXNlICcuLi9jb21wb25lbnRzL2Zvcm0tY29tcG9uZW50cycgYXMgZm9ybS1jb21wb25lbnRzO1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuQHVzZSAnLi4vZ2xvYmFsL2JyZWFrcG9pbnRzJyBhcyBicDtcbkB1c2UgJ3Nhc3M6Y29sb3InO1xuXG4vLyBCbG9jayBmb3IgQkVNLU1ldGhvZG9sb2d5XG4kYmxvY2s6ICdmZS1sb2dpbic7XG5cbi4jeyRibG9ja30ge1xuICAgIC8vIEluY2x1ZGUgc2hhcmVkIGZvcm0gY29tcG9uZW50c1xuICAgIEBpbmNsdWRlIGZvcm0tY29tcG9uZW50cy5mb3JtLWNvbXBvbmVudHMoKTtcblxuICAgIC8vIFZpc3VhbCBjb25maWd1cmF0aW9uXG4gICAgJG91dGxpbmUtd2lkdGg6IDJweDtcbiAgICAkb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAkdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAkdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2U7XG5cbiAgICAvLyBDb2xvcnMgLSB1c2luZyBkaXJlY3QgU0NTUyB2YXJpYWJsZXMgZm9yIGZ1bmN0aW9ucyBsaWtlIGNvbG9yLnNjYWxlKClcbiAgICAkcHJpbWFyeS1jb2xvcjogY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlO1xuICAgICRzZWNvbmRhcnktY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLXllbGxvdztcbiAgICAkdGV4dC1jb2xvcjogY29sb3JzLiRjb2xvci1ibGFjaztcbiAgICAkYmctY29sb3I6IGNvbG9ycy4kY29sb3Itd2hpdGU7XG4gICAgJGJvcmRlci1jb2xvcjogY29sb3JzLiRjb2xvci1ibGFjaztcbiAgICAkZXJyb3ItY29sb3I6IGNvbG9ycy4kY29sb3ItZXJyb3I7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZTtcbiAgICAkZ3JheS1saWdodDogY29sb3JzLiRjb2xvci1qZmUtZ3JheTtcblxuICAgIC8vIE1haW4gY29udGFpbmVyIC0gd29yayB3aXRoIGV4aXN0aW5nIFRhaWx3aW5kIGNsYXNzZXNcbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgLy8gQWRkaXRpb25hbCBzdHlsaW5nIGlmIG5lZWRlZCwgVGFpbHdpbmQgaGFuZGxlcyBtb3N0IGxheW91dFxuICAgIH1cblxuICAgIC8vIEZvcm0gc3R5bGluZ1xuICAgICZfX2Zvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBGaWVsZHNldFxuICAgICZfX2ZpZWxkc2V0IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMZWdlbmRcbiAgICAmX19sZWdlbmQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpZWxkIGdyb3VwXG4gICAgJl9fZmllbGQtZ3JvdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMYWJlbFxuICAgICZfX2xhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1sYWJlbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG5cbiAgICAvLyBJbnB1dCBmaWVsZHNcbiAgICAmX19pbnB1dCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbDtcbiAgICB9XG5cbiAgICAvLyBDaGVja2JveCB3cmFwcGVyIGZvciBcIlJlbWVtYmVyIG1lXCJcbiAgICAmX19jaGVja2JveC13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICB9XG5cbiAgICAmX19jaGVja2JveC1sYWJlbCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY2hlY2stbGFiZWw7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAmX19jaGVja2JveCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY2hlY2staW5wdXQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8vIEJ1dHRvbnNcbiAgICAmX19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBjb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAvLyBNaW4gdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgbWluLXdpZHRoOiA0NHB4O1xuXG4gICAgICAgIC8vIFByaW1hcnkgYnV0dG9uIChsb2dpbi9zdWJtaXQpXG4gICAgICAgICYtLXByaW1hcnkge1xuICAgICAgICAgICAgY29sb3I6ICRiZy1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3Iuc2NhbGUoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAkb3V0bGluZS13aWR0aCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG91dGxpbmUtb2Zmc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3Iuc2NhbGUoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2Vjb25kYXJ5IGJ1dHRvbiAobG9nb3V0KVxuICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci5zY2FsZSgkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogJG91dGxpbmUtd2lkdGggc29saWQgJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG91dGxpbmUtb2Zmc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci5zY2FsZSgkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci5zY2FsZSgkZ3JheS1saWdodCwgJGxpZ2h0bmVzczogLTYwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaW5rcyAoZm9yZ290IHBhc3N3b3JkLCBldGMuKVxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci5zY2FsZSgkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6ICRvdXRsaW5lLXdpZHRoIHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRvdXRsaW5lLW9mZnNldDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lc3NhZ2UgY29udGFpbmVyc1xuICAgICZfX21lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICYtLWVycm9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlLWhlYWRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC41cmVtIDA7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG5cbiAgICAmX19tZXNzYWdlLXRleHQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG5cbiAgICAvLyBGbGFzaCBtZXNzYWdlc1xuICAgICZfX2ZsYXNoLW1lc3NhZ2VzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAuYWxlcnQge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWVycm9yIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGVycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1zdWNjZXNzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXdhcm5pbmcge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlkZGVuIGZpZWxkcyBjb250YWluZXJcbiAgICAmX19oaWRkZW4tZmllbGRzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLy8gTG9nb3V0IGluZm9cbiAgICAmX19sb2dvdXQtaW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICAmLWxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdmFsdWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3ZlcnZpZXcgaW5mbyAobG9nZ2VkIGluIHN0YXR1cylcbiAgICAmX19vdmVydmlldy1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBhZGp1c3RtZW50c1xuICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMC44NzVyZW0gMi41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgJl9fZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZmllbGQtZ3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjY2Vzc2liaWxpdHkgZW5oYW5jZW1lbnRzXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgJl9fYnV0dG9uLFxuICAgICAgICAmX19saW5rIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydFxuICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21lc3NhZ2UsXG4gICAgICAgICZfX2ZsYXNoLW1lc3NhZ2VzIC5hbGVydCB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBCdXR0b25UZXh0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gQVVUTy1HRU5FUkFURUQgRklMRSBmcm9tIGJ1aWxkLWJyZWFrcG9pbnRzLmpzXG4vLyBETyBOT1QgRURJVCBESVJFQ1RMWVxuXG4vLyBJbXBvcnQgU2FzcyBtYXAgbW9kdWxlXG5AdXNlIFwic2FzczptYXBcIjtcblxuLy8gQnJlYWtwb2ludCB2YWx1ZXNcbiRicmVha3BvaW50LXNtOiA2NDBweDtcbiRicmVha3BvaW50LW1kOiA3NjhweDtcbiRicmVha3BvaW50LWxnOiAxMDI0cHg7XG4kYnJlYWtwb2ludC14bDogMTI4MHB4O1xuJGJyZWFrcG9pbnQtMnhsOiAxNTM2cHg7XG5cbi8vIE1hcCBmb3IgcHJvZ3JhbW1hdGljIGFjY2Vzc1xuJGJyZWFrcG9pbnRzOiAoXG4gICdzbSc6ICRicmVha3BvaW50LXNtLFxuICAnbWQnOiAkYnJlYWtwb2ludC1tZCxcbiAgJ2xnJzogJGJyZWFrcG9pbnQtbGcsXG4gICd4bCc6ICRicmVha3BvaW50LXhsLFxuICAnMnhsJzogJGJyZWFrcG9pbnQtMnhsXG4pO1xuXG4vLyBNaXhpbiBmb3IgZWFzeSBtZWRpYSBxdWVyaWVzIGJhc2VkIG9uIGRlZmluZWQgYnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRwb2ludCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRwb2ludH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzIChzbWFsbGVyIHRoYW4gYSBicmVha3BvaW50KVxuQG1peGluIGJyZWFrcG9pbnQtZG93bigkcG9pbnQpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHBvaW50KSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIC0gMXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skcG9pbnR9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG5cbi8vIE1peGluIGZvciBjcmVhdGluZyBzdHlsZXMgYmV0d2VlbiB0d28gYnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50LWJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWluKSBhbmQgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWF4KSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbWluKSkgYW5kIChtYXgtd2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbWF4KSAtIDFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JG1pbn0nIG9yICcjeyRtYXh9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9fY29sb3JzLnNjc3NcblxuLy8gQmFzZSBjb2xvcnMgZnJvbSBkZXNpZ24gZG9jdW1lbnRcbiRjb2xvci1qZmUtbGlnaHRibHVlOiAjMDA5ZGRmOyAgICAgICAgICAvLyBKRkUgbGlnaHQgYmx1ZVxuJGNvbG9yLWpmZS15ZWxsb3c6ICNmZmNjMDA7ICAgICAgICAgICAgIC8vIEpGRSB5ZWxsb3dcbiRjb2xvci1qZmUtYWxtb3N0LXdoaXRlOiAjZmFmYWZhOyAgICAgICAgLy8gSkZFIGFsbW9zdCB3aGl0ZSAoYmFja2dyb3VuZCBvcHRpb24pXG4kY29sb3ItamZlLWdyYXk6ICNmM2YzZjI7ICAgICAgICAgICAgICAgLy8gSkZFIGdyYXkgKGJhY2tncm91bmQgb3B0aW9uKVxuJGNvbG9yLWpmZS1ncmF5LW1lZGl1bTogI0NGQ0ZDRjsgICAgICAgIC8vIEpGRSBtZWRpdW0gZ3JheSAoZm9yIGJvcmRlcnMgZXRjLilcbiRjb2xvci1qZmUtZ3JheS1kYXJrOiByZ2JhKDE4OSwgMTg5LCAxODksIDEpOyAvLyBKRkUgZGFyayBncmF5IChmb3IgZGFya2VyIGJvcmRlcnMgZXRjLilcbiRjb2xvci1qZmUtZ3JheS1kYXJrZXI6cmdiYSgxMDUsIDEwNSwgMTA1LCAxKTsgLy8gSkZFIGRhcmtlciBncmF5IChGb3JtIGRlc2NyaXB0aW9uIHRleHQgZXRjLilcbi8vIFByb2dyYW0gc3BlY2lmaWMgY29sb3JzXG4kY29sb3ItZS1qdWdlbmQtYmx1ZTogIzAwMzM5OTsgICAgICAgICAgLy8gRXJhc211cysgWW91dGggYmx1ZVxuJGNvbG9yLWVzay1tYWdlbnRhOiAjZTUwMDZjOyAgICAgICAgICAgIC8vIEVTQyBtYWdlbnRhXG4kY29sb3ItZS1zcG9ydC1vcmFuZ2U6ICNlMzUzMGY7ICAgICAgICAgLy8gRXJhc211cysgU3BvcnQgb3JhbmdlXG5cbi8vIFV0aWxpdHkgY29sb3JzXG4kY29sb3Itd2hpdGU6ICNmZmZmZmY7ICAgICAgICAgICAgICAvLyBXaGl0ZSBjb2xvciBmb3IgYmFja2dyb3VuZHNcbiRjb2xvci1ibGFjazogIzAwMDAwMDsgICAgICAgICAgICAgIC8vIEJsYWNrIGNvbG9yIGZvciB0ZXh0XG4kY29sb3Itb3ZlcmxheS1zbTogcmdiYSgwLCAwLCAwLCAwLjMpO1xuJGNvbG9yLW92ZXJsYXktbWQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4kY29sb3Itb3ZlcmxheS1sZzogcmdiYSgwLCAwLCAwLCAwLjg1KTtcblxuLy8gU2Vjb25kYXJ5IGFuZCBkZXJpdmVkIGNvbG9yc1xuJGNvbG9yLWpmZS15ZWxsb3ctaG92ZXI6ICNFQkJDMDA7ICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBKRkUgeWVsbG93XG4kY29sb3ItZS1qdWdlbmQtaG92ZXI6ICMwMDJiODA7ICAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIEVyYXNtdXMrIFlvdXRoIGJsdWVcbiRjb2xvci1lc2staG92ZXI6ICNkMDAwNjI7ICAgICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRVNDIG1hZ2VudGFcbiRjb2xvci1lLXNwb3J0LWhvdmVyOiAjYzk0OTBkOyAgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRXJhc211cysgU3BvcnQgb3JhbmdlXG5cbi8vIEVycm9yIGFuZCB3YXJuaW5nIGNvbG9yc1xuJGNvbG9yLWVycm9yOiAjZGMzNTQ1OyAgICAgICAgICAgICAgICAvLyBFcnJvciBjb2xvciAocmVkKVxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/