@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,500,700);
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.form-link:active:enabled, .button--animated-scale:active:enabled, .form-button--no-border--gray:active:enabled, .form-button--no-border--blue:active:enabled, .form-button--no-border--red:active:enabled, .form-button--no-border:active:enabled, .form-button--no-border--green:active:enabled, .form-button--low-white-border:active:enabled, .form-button--low:active:enabled, .form-button--reverse--gray:active:enabled, .form-button--reverse--red:active:enabled, .form-button--reverse:active:enabled, .form-button:active:enabled, .delete-pantry:active:enabled, .form-button--red:active:enabled {
  transform: scale(0.875, 0.875);
}

.cancel-button, .submit-button, .service-type-group .remove-button, .gray-border-button, .red-border-button, .green-border-button, .green-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.cancel-button:disabled, .submit-button:disabled, .service-type-group .remove-button:disabled, .gray-border-button:disabled, .red-border-button:disabled, .green-border-button:disabled, .green-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.green-button {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.green-border-button {
  border-color: #00bfa5;
  color: #00bfa5;
}

.red-border-button {
  border-color: #ed5454;
  color: #ed5454;
}

.gray-border-button {
  border-color: #a9b1b8;
  color: #a9b1b8;
}

.service-type-group .remove-button {
  color: #ed5454;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.cancel-button:hover, .submit-button:hover, .green-button:hover, .green-border-button:hover, .red-border-button:hover, .gray-border-button:hover, .service-type-group .remove-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.cancel-button:disabled:hover, .submit-button:disabled:hover, .green-button:disabled:hover, .green-border-button:disabled:hover, .red-border-button:disabled:hover, .gray-border-button:disabled:hover, .service-type-group .remove-button:disabled:hover {
  cursor: default;
}

.hollow-button {
  vertical-align: middle;
  text-decoration: none;
  border: 2px solid #a9b1b8;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .delete-pantry, .form-button--red {
  display: inline-block;
  padding: 0.85rem;
  font-size: 14px;
  background-color: #00bfa5;
  color: white;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  min-width: 72px;
  text-decoration: none !important;
  text-align: center !important;
  text-transform: uppercase;
  margin: 0;
}
.form-button--low-white-border:hover, .form-button--low:hover, .form-button--reverse--gray:hover, .form-button--reverse--red:hover, .form-button--reverse:hover, .form-button:hover, .delete-pantry:hover, .form-button--red:hover {
  background-color: #008573;
}
.has-margin.form-button--low-white-border, .has-margin.form-button--low, .has-margin.form-button--reverse--gray, .has-margin.form-button--reverse--red, .has-margin.form-button--reverse, .has-margin.form-button, .has-margin.delete-pantry, .has-margin.form-button--red {
  margin-top: 1rem;
}
.form-button--low-white-border:disabled, .form-button--low:disabled, .form-button--reverse--gray:disabled, .form-button--reverse--red:disabled, .form-button--reverse:disabled, .form-button:disabled, .delete-pantry:disabled, .form-button--red:disabled {
  cursor: default;
}
.form-button--low-white-border:disabled:hover, .form-button--low:disabled:hover, .form-button--reverse--gray:disabled:hover, .form-button--reverse--red:disabled:hover, .form-button--reverse:disabled:hover, .form-button:disabled:hover, .delete-pantry:disabled:hover, .form-button--red:disabled:hover {
  background-color: transparent;
}

.form-button--red {
  background-color: #ed5454;
}
.form-button--red:hover {
  background-color: rgb(239.4285714286, 107.0714285714, 107.0714285714);
}

.form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green {
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  padding: 0.5rem;
}

.form-button--no-border--green {
  color: #00bfa5;
}
.form-button--no-border--green:hover {
  background: #dcf0ea;
}

.button--animated-scale, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .delete-pantry, .form-button--red, .form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green {
  transition: all 0.2s;
}
.service-type-group .remove-button, .form-link, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .delete-pantry, .form-button--red {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.form-container, .form-container--large-padding, .chart-container {
  background-color: #fff !important;
  padding: 1rem;
}

/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.form-link:active:enabled, .form-button--low-white-border:active:enabled, .form-button--low:active:enabled, .form-button--reverse--gray:active:enabled, .form-button--reverse--red:active:enabled, .form-button--reverse:active:enabled, .form-button:active:enabled, .delete-pantry:active:enabled, .form-button--red:active:enabled, .button--animated-scale:active:enabled, .form-button--no-border--gray:active:enabled, .form-button--no-border--blue:active:enabled, .form-button--no-border--red:active:enabled, .form-button--no-border:active:enabled, .form-button--no-border--green:active:enabled {
  transform: scale(0.875, 0.875);
}

.cancel-button, .submit-button, .green-button, .green-border-button, .red-border-button, .gray-border-button, .service-type-group .remove-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.cancel-button:disabled, .submit-button:disabled, .green-button:disabled, .green-border-button:disabled, .red-border-button:disabled, .gray-border-button:disabled, .service-type-group .remove-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.green-button {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.green-border-button {
  border-color: #00bfa5;
  color: #00bfa5;
}

.red-border-button {
  border-color: #ed5454;
  color: #ed5454;
}

.gray-border-button {
  border-color: #a9b1b8;
  color: #a9b1b8;
}

.service-type-group .remove-button {
  color: #ed5454;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.cancel-button:hover, .submit-button:hover, .green-button:hover, .green-border-button:hover, .red-border-button:hover, .gray-border-button:hover, .service-type-group .remove-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.cancel-button:disabled:hover, .submit-button:disabled:hover, .green-button:disabled:hover, .green-border-button:disabled:hover, .red-border-button:disabled:hover, .gray-border-button:disabled:hover, .service-type-group .remove-button:disabled:hover {
  cursor: default;
}

.hollow-button {
  vertical-align: middle;
  text-decoration: none;
  border: 2px solid #a9b1b8;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .delete-pantry, .form-button--red {
  display: inline-block;
  padding: 0.85rem;
  font-size: 14px;
  background-color: #00bfa5;
  color: white;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  min-width: 72px;
  text-decoration: none !important;
  text-align: center !important;
  text-transform: uppercase;
  margin: 0;
}
.form-button--low-white-border:hover, .form-button--low:hover, .form-button--reverse--gray:hover, .form-button--reverse--red:hover, .form-button--reverse:hover, .form-button:hover, .delete-pantry:hover, .form-button--red:hover {
  background-color: #008573;
}
.has-margin.form-button--low-white-border, .has-margin.form-button--low, .has-margin.form-button--reverse--gray, .has-margin.form-button--reverse--red, .has-margin.form-button--reverse, .has-margin.form-button, .has-margin.delete-pantry, .has-margin.form-button--red {
  margin-top: 1rem;
}
.form-button--low-white-border:disabled, .form-button--low:disabled, .form-button--reverse--gray:disabled, .form-button--reverse--red:disabled, .form-button--reverse:disabled, .form-button:disabled, .delete-pantry:disabled, .form-button--red:disabled {
  cursor: default;
}
.form-button--low-white-border:disabled:hover, .form-button--low:disabled:hover, .form-button--reverse--gray:disabled:hover, .form-button--reverse--red:disabled:hover, .form-button--reverse:disabled:hover, .form-button:disabled:hover, .delete-pantry:disabled:hover, .form-button--red:disabled:hover {
  background-color: transparent;
}

.form-button--red {
  background-color: #ed5454;
}
.form-button--red:hover {
  background-color: rgb(239.4285714286, 107.0714285714, 107.0714285714);
}

.form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green {
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  padding: 0.5rem;
}

.form-button--no-border--green {
  color: #00bfa5;
}
.form-button--no-border--green:hover {
  background: #dcf0ea;
}

.button--animated-scale, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .delete-pantry, .form-button--red, .form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green {
  transition: all 0.2s;
}
.service-type-group .remove-button, .form-link, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .delete-pantry, .form-button--red {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.form-container, .form-container--large-padding, .chart-container {
  background-color: #fff !important;
  padding: 1rem;
}

@media (min-width: 671.125px) {
  .admin-body {
    padding: 0 2rem;
  }
}
.admin-body .sidebar-menu-container {
  padding-left: 0 !important;
}

.main-admin-container {
  overflow-x: hidden;
}

.main-header .middle a {
  cursor: default;
  color: white;
  font-size: 16px;
}
.main-header .middle a:hover, .main-header .middle a:active {
  text-decoration: none;
}

/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.form-link:active:enabled, .form-button--low-white-border:active:enabled, .form-button--low:active:enabled, .form-button--reverse--gray:active:enabled, .form-button--reverse--red:active:enabled, .form-button--reverse:active:enabled, .form-button:active:enabled, .form-button--red:active:enabled, .button--animated-scale:active:enabled, .form-button--no-border--gray:active:enabled, .form-button--no-border--blue:active:enabled, .form-button--no-border--red:active:enabled, .form-button--no-border:active:enabled, .form-button--no-border--green:active:enabled, .delete-pantry:active:enabled {
  transform: scale(0.875, 0.875);
}

.cancel-button, .submit-button, .green-button, .green-border-button, .red-border-button, .gray-border-button, .service-type-group .remove-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.cancel-button:disabled, .submit-button:disabled, .green-button:disabled, .green-border-button:disabled, .red-border-button:disabled, .gray-border-button:disabled, .service-type-group .remove-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.green-button {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.green-border-button {
  border-color: #00bfa5;
  color: #00bfa5;
}

.red-border-button {
  border-color: #ed5454;
  color: #ed5454;
}

.gray-border-button {
  border-color: #a9b1b8;
  color: #a9b1b8;
}

.service-type-group .remove-button {
  color: #ed5454;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.cancel-button:hover, .submit-button:hover, .green-button:hover, .green-border-button:hover, .red-border-button:hover, .gray-border-button:hover, .service-type-group .remove-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.cancel-button:disabled:hover, .submit-button:disabled:hover, .green-button:disabled:hover, .green-border-button:disabled:hover, .red-border-button:disabled:hover, .gray-border-button:disabled:hover, .service-type-group .remove-button:disabled:hover {
  cursor: default;
}

.hollow-button {
  vertical-align: middle;
  text-decoration: none;
  border: 2px solid #a9b1b8;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .delete-pantry {
  display: inline-block;
  padding: 0.85rem;
  font-size: 14px;
  background-color: #00bfa5;
  color: white;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  min-width: 72px;
  text-decoration: none !important;
  text-align: center !important;
  text-transform: uppercase;
  margin: 0;
}
.form-button--low-white-border:hover, .form-button--low:hover, .form-button--reverse--gray:hover, .form-button--reverse--red:hover, .form-button--reverse:hover, .form-button:hover, .form-button--red:hover, .delete-pantry:hover {
  background-color: #008573;
}
.has-margin.form-button--low-white-border, .has-margin.form-button--low, .has-margin.form-button--reverse--gray, .has-margin.form-button--reverse--red, .has-margin.form-button--reverse, .has-margin.form-button, .has-margin.form-button--red, .has-margin.delete-pantry {
  margin-top: 1rem;
}
.form-button--low-white-border:disabled, .form-button--low:disabled, .form-button--reverse--gray:disabled, .form-button--reverse--red:disabled, .form-button--reverse:disabled, .form-button:disabled, .form-button--red:disabled, .delete-pantry:disabled {
  cursor: default;
}
.form-button--low-white-border:disabled:hover, .form-button--low:disabled:hover, .form-button--reverse--gray:disabled:hover, .form-button--reverse--red:disabled:hover, .form-button--reverse:disabled:hover, .form-button:disabled:hover, .form-button--red:disabled:hover, .delete-pantry:disabled:hover {
  background-color: transparent;
}

.form-button--red {
  background-color: #ed5454;
}
.form-button--red:hover {
  background-color: rgb(239.4285714286, 107.0714285714, 107.0714285714);
}

.form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green {
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  padding: 0.5rem;
}

.form-button--no-border--green {
  color: #00bfa5;
}
.form-button--no-border--green:hover {
  background: #dcf0ea;
}

.button--animated-scale, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green, .delete-pantry {
  transition: all 0.2s;
}
.service-type-group .remove-button, .form-link, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .delete-pantry {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.form-container, .form-container--large-padding, .chart-container {
  background-color: #fff !important;
  padding: 1rem;
}

.chart-container {
  text-align: center;
  position: relative;
}
.chart-container * {
  font-size: inherit;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}
.chart-container .sample-label {
  position: absolute;
  width: 16.25rem;
  height: 2.625rem;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: white;
  padding: 0.625rem;
  line-height: 1.25rem;
  opacity: 0.7;
  font-weight: 500;
}
.chart-container .sample-label.spinner-container {
  height: 5rem;
}

.highcharts-button image {
  transform: translateY(0) !important;
  transform: translateX(5px) !important;
}

.highcharts-map-navigation .highcharts-button-box {
  transition: all 0.2;
  fill: #fff;
  stroke: #e5e5ea;
}
.highcharts-map-navigation .highcharts-button-box:hover {
  fill: #f7fafa;
}

/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.form-link:active:enabled, .form-button--low-white-border:active:enabled, .form-button--low:active:enabled, .form-button--reverse--gray:active:enabled, .form-button--reverse--red:active:enabled, .form-button--reverse:active:enabled, .form-button:active:enabled, .form-button--red:active:enabled, .button--animated-scale:active:enabled, .form-button--no-border--gray:active:enabled, .form-button--no-border--blue:active:enabled, .form-button--no-border--red:active:enabled, .form-button--no-border:active:enabled, .form-button--no-border--green:active:enabled, .delete-pantry:active:enabled {
  transform: scale(0.875, 0.875);
}

.cancel-button, .submit-button, .green-button, .green-border-button, .red-border-button, .gray-border-button, .service-type-group .remove-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.cancel-button:disabled, .submit-button:disabled, .green-button:disabled, .green-border-button:disabled, .red-border-button:disabled, .gray-border-button:disabled, .service-type-group .remove-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.green-button {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.green-border-button {
  border-color: #00bfa5;
  color: #00bfa5;
}

.red-border-button {
  border-color: #ed5454;
  color: #ed5454;
}

.gray-border-button {
  border-color: #a9b1b8;
  color: #a9b1b8;
}

.service-type-group .remove-button {
  color: #ed5454;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.cancel-button:hover, .submit-button:hover, .green-button:hover, .green-border-button:hover, .red-border-button:hover, .gray-border-button:hover, .service-type-group .remove-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.cancel-button:disabled:hover, .submit-button:disabled:hover, .green-button:disabled:hover, .green-border-button:disabled:hover, .red-border-button:disabled:hover, .gray-border-button:disabled:hover, .service-type-group .remove-button:disabled:hover {
  cursor: default;
}

.hollow-button {
  vertical-align: middle;
  text-decoration: none;
  border: 2px solid #a9b1b8;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .delete-pantry {
  display: inline-block;
  padding: 0.85rem;
  font-size: 14px;
  background-color: #00bfa5;
  color: white;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  min-width: 72px;
  text-decoration: none !important;
  text-align: center !important;
  text-transform: uppercase;
  margin: 0;
}
.form-button--low-white-border:hover, .form-button--low:hover, .form-button--reverse--gray:hover, .form-button--reverse--red:hover, .form-button--reverse:hover, .form-button:hover, .form-button--red:hover, .delete-pantry:hover {
  background-color: #008573;
}
.has-margin.form-button--low-white-border, .has-margin.form-button--low, .has-margin.form-button--reverse--gray, .has-margin.form-button--reverse--red, .has-margin.form-button--reverse, .has-margin.form-button, .has-margin.form-button--red, .has-margin.delete-pantry {
  margin-top: 1rem;
}
.form-button--low-white-border:disabled, .form-button--low:disabled, .form-button--reverse--gray:disabled, .form-button--reverse--red:disabled, .form-button--reverse:disabled, .form-button:disabled, .form-button--red:disabled, .delete-pantry:disabled {
  cursor: default;
}
.form-button--low-white-border:disabled:hover, .form-button--low:disabled:hover, .form-button--reverse--gray:disabled:hover, .form-button--reverse--red:disabled:hover, .form-button--reverse:disabled:hover, .form-button:disabled:hover, .form-button--red:disabled:hover, .delete-pantry:disabled:hover {
  background-color: transparent;
}

.form-button--red {
  background-color: #ed5454;
}
.form-button--red:hover {
  background-color: rgb(239.4285714286, 107.0714285714, 107.0714285714);
}

.form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green {
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  padding: 0.5rem;
}

.form-button--no-border--green {
  color: #00bfa5;
}
.form-button--no-border--green:hover {
  background: #dcf0ea;
}

.button--animated-scale, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green, .delete-pantry {
  transition: all 0.2s;
}
.service-type-group .remove-button, .form-link, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .delete-pantry {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.form-container, .form-container--large-padding, .chart-container {
  background-color: #fff !important;
  padding: 1rem;
}

.form-container--large-padding {
  padding: 1.5rem;
}

.form-separator {
  padding-bottom: 2rem;
}

.form-header, .form-subheader {
  color: #01579b;
  font-size: 1.5rem !important;
  line-height: 2.75rem;
}

.form-info {
  color: #a9b1b8;
  margin: 0;
}

.form-subheader {
  font-size: 1.25rem !important;
}

.form-info-details {
  flex-direction: column;
}

.form-subsection {
  width: 100%;
  padding-bottom: 1.5rem;
}

.form-split-row {
  display: flex;
  width: 100%;
  justify-content: space-between;
  flex-direction: column;
}
@media (min-width: 671.125px) {
  .form-split-row {
    flex-direction: row;
  }
}
.form-split-row > * {
  width: 100% !important;
}
@media (min-width: 671.125px) {
  .form-split-row > * {
    width: 47.5% !important;
  }
}

.form-split-row--always {
  display: flex;
  width: 100%;
  justify-content: space-between;
}
.form-split-row--always > * {
  width: 47.5% !important;
}

.form-split-row--three-quarters {
  display: flex;
  width: 100%;
  justify-content: space-between;
  flex-direction: column;
}
@media (min-width: 671.125px) {
  .form-split-row--three-quarters {
    flex-direction: row;
  }
}
.form-split-row--three-quarters > *:first-child {
  width: 100% !important;
}
@media (min-width: 671.125px) {
  .form-split-row--three-quarters > *:first-child {
    width: 25% !important;
  }
}
.form-split-row--three-quarters > *:last-child {
  width: 100% !important;
}
@media (min-width: 671.125px) {
  .form-split-row--three-quarters > *:last-child {
    width: 75% !important;
  }
}

.form-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.form-column > * {
  flex: 1 !important;
  width: 100% !important;
}

@media (min-width: 402.5px) {
  .form-input--half-width {
    width: 50% !important;
  }
}

.form-input--full-width {
  width: 100% !important;
}

.checkbox {
  padding-bottom: calc(1.5rem - 6px);
}
.checkbox:last-of-type {
  padding-bottom: 0;
}

.verification {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 3rem;
  box-sizing: border-box;
  padding: 1.5rem;
  background: white;
  align-items: center;
}
@media (min-width: 671.125px) {
  .verification {
    flex-direction: row;
  }
}

.tfa-form-container {
  align-self: center;
  max-width: 20rem;
}

.tfa-buttons-area {
  justify-content: space-between;
  width: 100%;
  display: flex;
  align-items: center;
  margin-top: 2rem;
}
.tfa-buttons-area a.disabled {
  color: #a9b1b8;
}
.tfa-buttons-area button[disabled] {
  background: #a9b1b8;
}

.one-third {
  width: 100%;
}
@media (min-width: 896px) {
  .one-third {
    display: inline-block;
    width: 33.333%;
  }
}

.two-thirds {
  width: 100%;
}
@media (min-width: 896px) {
  .two-thirds {
    display: inline-block;
    width: 66.666%;
  }
}

@media (min-width: 671.125px) {
  .two-thirds-container {
    width: 100%;
  }
  .two-thirds-container > *:first-child {
    flex: 2;
  }
  .two-thirds-container > *:last-child {
    flex: 1;
    padding-left: 2rem;
  }
}

@media (min-width: 671.125px) {
  .two-thirds-container-fixed {
    width: 100%;
  }
  .two-thirds-container-fixed > *:first-child {
    width: 66.66% !important;
  }
  .two-thirds-container-fixed > *:last-child {
    width: 33.33% !important;
  }
}
@media (min-width: 896px) {
  .two-thirds-container-fixed > *:last-child {
    width: 26.5% !important;
    max-width: 20rem;
  }
}

#app {
  width: 100%;
  height: 100%;
  min-height: 100vh;
}

.page-container {
  width: 100%;
  height: 100%;
}

/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.form-link:active:enabled, .form-button--low-white-border:active:enabled, .form-button--low:active:enabled, .form-button--reverse--gray:active:enabled, .form-button--reverse--red:active:enabled, .form-button--reverse:active:enabled, .form-button:active:enabled, .form-button--red:active:enabled, .button--animated-scale:active:enabled, .form-button--no-border--gray:active:enabled, .form-button--no-border--blue:active:enabled, .form-button--no-border--red:active:enabled, .form-button--no-border:active:enabled, .form-button--no-border--green:active:enabled, .delete-pantry:active:enabled {
  transform: scale(0.875, 0.875);
}

.cancel-button, .submit-button, .green-button, .green-border-button, .red-border-button, .gray-border-button, .service-type-group .remove-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.cancel-button:disabled, .submit-button:disabled, .green-button:disabled, .green-border-button:disabled, .red-border-button:disabled, .gray-border-button:disabled, .service-type-group .remove-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.green-button {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.green-border-button {
  border-color: #00bfa5;
  color: #00bfa5;
}

.red-border-button {
  border-color: #ed5454;
  color: #ed5454;
}

.gray-border-button {
  border-color: #a9b1b8;
  color: #a9b1b8;
}

.service-type-group .remove-button {
  color: #ed5454;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.cancel-button:hover, .submit-button:hover, .green-button:hover, .green-border-button:hover, .red-border-button:hover, .gray-border-button:hover, .service-type-group .remove-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.cancel-button:disabled:hover, .submit-button:disabled:hover, .green-button:disabled:hover, .green-border-button:disabled:hover, .red-border-button:disabled:hover, .gray-border-button:disabled:hover, .service-type-group .remove-button:disabled:hover {
  cursor: default;
}

.hollow-button {
  vertical-align: middle;
  text-decoration: none;
  border: 2px solid #a9b1b8;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .delete-pantry {
  display: inline-block;
  padding: 0.85rem;
  font-size: 14px;
  background-color: #00bfa5;
  color: white;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  min-width: 72px;
  text-decoration: none !important;
  text-align: center !important;
  text-transform: uppercase;
  margin: 0;
}
.form-button--low-white-border:hover, .form-button--low:hover, .form-button--reverse--gray:hover, .form-button--reverse--red:hover, .form-button--reverse:hover, .form-button:hover, .form-button--red:hover, .delete-pantry:hover {
  background-color: #008573;
}
.has-margin.form-button--low-white-border, .has-margin.form-button--low, .has-margin.form-button--reverse--gray, .has-margin.form-button--reverse--red, .has-margin.form-button--reverse, .has-margin.form-button, .has-margin.form-button--red, .has-margin.delete-pantry {
  margin-top: 1rem;
}
.form-button--low-white-border:disabled, .form-button--low:disabled, .form-button--reverse--gray:disabled, .form-button--reverse--red:disabled, .form-button--reverse:disabled, .form-button:disabled, .form-button--red:disabled, .delete-pantry:disabled {
  cursor: default;
}
.form-button--low-white-border:disabled:hover, .form-button--low:disabled:hover, .form-button--reverse--gray:disabled:hover, .form-button--reverse--red:disabled:hover, .form-button--reverse:disabled:hover, .form-button:disabled:hover, .form-button--red:disabled:hover, .delete-pantry:disabled:hover {
  background-color: transparent;
}

.form-button--red {
  background-color: #ed5454;
}
.form-button--red:hover {
  background-color: rgb(239.4285714286, 107.0714285714, 107.0714285714);
}

.form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green {
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  padding: 0.5rem;
}

.form-button--no-border--green {
  color: #00bfa5;
}
.form-button--no-border--green:hover {
  background: #dcf0ea;
}

.button--animated-scale, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .form-button--no-border--gray, .form-button--no-border--blue, .form-button--no-border--red, .form-button--no-border, .form-button--no-border--green, .delete-pantry {
  transition: all 0.2s;
}
.service-type-group .remove-button, .form-link, .form-button--low-white-border, .form-button--low, .form-button--reverse--gray, .form-button--reverse--red, .form-button--reverse, .form-button, .form-button--red, .delete-pantry {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.chart-container, .form-container, .form-container--large-padding {
  background-color: #fff !important;
  padding: 1rem;
}

.font-thin {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 100;
}

.font-light {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.font-normal, .form-header, .form-subheader {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
}

.font-medium {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.font-bold {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
}

.font-ultra-bold {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 900;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-family: "Roboto", sans-serif !important;
}

html,
body {
  font-family: "Roboto", sans-serif !important;
  -webkit-text-rendering: optimizeLegibility;
  -moz-text-rendering: optimizeLegibility;
  -ms-text-rendering: optimizeLegibility;
  -o-text-rendering: optimizeLegibility;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -ms-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  font-smoothing: antialiased;
}

h1 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

h2 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  color: #01579b;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

h3 {
  font-size: 1.25rem;
  line-height: 1.5rem;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

h4 {
  font-size: 1rem;
  line-height: 1.2rem;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
}

h5 {
  font-size: 1rem;
  line-height: 1.2rem;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
}

h6 {
  font-size: 1rem;
  line-height: 1.2rem;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
}

p,
ul li,
ol li,
button,
a,
table {
  font-size: 14px;
  line-height: 18px;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
}

.MuiFormLabel-root {
  color: rgba(0, 0, 0, 0.6) !important;
  font-size: 14px !important;
}

.MuiFormLabel-asterisk {
  color: #00bfa5;
}

.MuiInput-underline:before {
  border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important;
}

.MuiSelect-icon {
  color: rgba(0, 0, 0, 0.15) !important;
}

.MuiInputLabel-shrink {
  transform: translate(0, 1.5px) !important;
}

.MuiTooltip-tooltip {
  font-size: 13px !important;
  font-weight: 400 !important;
}

.react-selectize {
  color: #000;
}

.react-selectize.root-node {
  position: relative;
  width: 300px;
}

.react-selectize.root-node.disabled {
  pointer-events: none;
}

.react-selectize.root-node .react-selectize-control {
  cursor: pointer;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: start;
  -moz-box-align: start;
  -o-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  position: relative;
  padding: 2px;
}

.react-selectize.root-node .react-selectize-control .react-selectize-placeholder {
  display: block;
  line-height: 30px;
  overflow: hidden;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
  position: absolute;
  max-width: calc(100% - 56px);
}

.react-selectize.root-node .react-selectize-control .react-selectize-search-field-and-selected-values {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  min-height: 30px;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  -ms-box-flex: 1;
  box-flex: 1;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.react-selectize.root-node .react-selectize-control .react-selectize-search-field-and-selected-values .resizable-input {
  background: none;
  border: none;
  outline: none;
  font-size: 1em;
  margin: 2px;
  padding: 4px 0px;
  vertical-align: middle;
  width: 0px;
}

.react-selectize.root-node .react-selectize-control .react-selectize-search-field-and-selected-values .value-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.react-selectize.root-node .react-selectize-control .react-selectize-reset-button-container,
.react-selectize.root-node .react-selectize-control .react-selectize-toggle-button-container {
  -webkit-box-flex: 0;
  -moz-box-flex: 0;
  -o-box-flex: 0;
  -ms-box-flex: 0;
  box-flex: 0;
  -webkit-flex-grow: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  cursor: pointer;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  height: 30px;
}

.react-selectize.root-node .react-selectize-control .react-selectize-reset-button-container {
  width: 16px;
}

.react-selectize.root-node .react-selectize-control .react-selectize-toggle-button-container {
  width: 32px;
}

.react-selectize.root-node .react-selectize-control .react-selectize-reset-button-container:hover .react-selectize-reset-button path {
  stroke: #c0392b;
}

.react-selectize.root-node .react-selectize-control .react-selectize-reset-button path {
  -webkit-transition: stroke 0.5s 0s ease;
  -moz-transition: stroke 0.5s 0s ease;
  -o-transition: stroke 0.5s 0s ease;
  -ms-transition: stroke 0.5s 0s ease;
  transition: stroke 0.5s 0s ease;
  stroke: #999;
  stroke-linecap: square;
  stroke-linejoin: mitter;
}

.react-selectize.root-node .react-selectize-control .react-selectize-toggle-button path {
  fill: #999;
}

.react-selectize.dropdown-menu-wrapper {
  position: absolute;
}

.react-selectize.dropdown-menu-wrapper.tethered {
  min-width: 300px;
}

.react-selectize.dropdown-menu-wrapper:not(.tethered) {
  width: 100%;
}

.react-selectize.dropdown-menu {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow: auto;
  position: absolute;
  max-height: 200px;
  z-index: 10;
}

.react-selectize.dropdown-menu.tethered {
  min-width: 300px;
}

.react-selectize.dropdown-menu:not(.tethered) {
  width: 100%;
}

.react-selectize.dropdown-menu .groups.as-columns {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
}

.react-selectize.dropdown-menu .groups.as-columns > div {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -o-box-flex: 1;
  box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.react-selectize.dropdown-menu .option-wrapper {
  cursor: pointer;
  outline: none;
}

.multi-select.react-selectize.root-node .simple-value {
  display: inline-block;
  margin: 2px;
  vertical-align: middle;
}

.multi-select.react-selectize.root-node .simple-value span {
  display: inline-block;
  padding: 2px 5px 4px;
  vertical-align: center;
}

.simple-select.react-selectize.root-node .simple-value {
  margin: 2px;
}

.simple-select.react-selectize.root-node .simple-value span {
  display: inline-block;
  vertical-align: center;
}

.react-selectize.material {
  font-family: Roboto, sans-serif;
}

.react-selectize.material.root-node.open .react-selectize-control:after {
  -webkit-transform: scaleX(1);
  -moz-transform: scaleX(1);
  -o-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.react-selectize.material.root-node .react-selectize-control {
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}

.react-selectize.material.root-node .react-selectize-control:after {
  background-color: #00bcd4;
  content: "";
  -webkit-transform: scaleX(0);
  -moz-transform: scaleX(0);
  -o-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transition: -webkit-transform 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: -moz-transform 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: -o-transform 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: -ms-transform 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: transform 450ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  position: absolute;
  left: 0px;
  bottom: -1px;
  width: 100%;
  height: 2px;
}

.react-selectize.material.root-node .react-selectize-control .react-selectize-placeholder {
  color: rgba(0, 0, 0, 0.3);
  text-indent: 4px;
}

.react-selectize.material.dropdown-menu-wrapper.flipped {
  margin-bottom: 8px;
}

.react-selectize.material.dropdown-menu-wrapper.flipped .dropdown-menu {
  -webkit-transform-origin: 100% 100%;
  -moz-transform-origin: 100% 100%;
  -o-transform-origin: 100% 100%;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

.react-selectize.material.dropdown-menu-wrapper:not(.flipped) {
  margin-top: 8px;
}

.react-selectize.material.dropdown-menu-wrapper:not(.flipped) .dropdown-menu {
  -webkit-transform-origin: 0% 0%;
  -moz-transform-origin: 0% 0%;
  -o-transform-origin: 0% 0%;
  -ms-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
}

.react-selectize.material.dropdown-menu-wrapper .dropdown-menu.custom-enter-active,
.react-selectize.material.dropdown-menu-wrapper .dropdown-menu.custom-leave-active {
  -webkit-transition: -webkit-transform 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, opacity 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -moz-transition: -moz-transform 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, opacity 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -o-transition: -o-transform 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, opacity 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  -ms-transition: -ms-transform 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, opacity 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
  transition: transform 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms, opacity 250ms cubic-bezier(0.23, 1, 0.32, 1) 0ms;
}

.react-selectize.material.dropdown-menu-wrapper .dropdown-menu.custom-enter {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  -webkit-transform: scale(0, 0);
  -moz-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  transform: scale(0, 0);
}

.react-selectize.material.dropdown-menu-wrapper .dropdown-menu.custom-enter-active {
  opacity: 1;
  -ms-filter: none;
  filter: none;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}

.react-selectize.material.dropdown-menu-wrapper .dropdown-menu.custom-leave {
  opacity: 1;
  -ms-filter: none;
  filter: none;
  -webkit-transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}

.react-selectize.material.dropdown-menu-wrapper .dropdown-menu.custom-leave-active {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
}

.react-selectize.material.dropdown-menu {
  background-color: #fff;
  border-radius: 2px;
  -webkit-box-shadow: rgba(0, 0, 0, 0.118) 0px 1px 6px, rgba(0, 0, 0, 0.118) 0px 1px 4px;
  box-shadow: rgba(0, 0, 0, 0.118) 0px 1px 6px, rgba(0, 0, 0, 0.118) 0px 1px 4px;
  max-height: 250px;
  padding: 8px 0px;
}

.react-selectize.material.dropdown-menu.flipped {
  margin-bottom: 8px;
}

.react-selectize.material.dropdown-menu:not(.flipped) {
  margin-top: 8px;
}

.react-selectize.material.dropdown-menu .no-results-found {
  font-style: oblique;
  font-size: 16px;
  height: 32px;
  padding: 0px 16px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.react-selectize.material.dropdown-menu .groups:not(.as-columns) > div:not(:last-child) {
  border-bottom: 1px solid #e5e5e5;
}

.react-selectize.material.dropdown-menu .simple-group-title {
  color: #8f8f8f;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-align: center;
  -moz-box-align: center;
  -o-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
  font-size: 14px;
  height: 48px;
  padding: 0px 10px;
}

.react-selectize.material.dropdown-menu .option-wrapper.highlight {
  background-color: rgba(0, 0, 0, 0.098);
}

.react-selectize.material.dropdown-menu .option-wrapper .simple-option {
  color: rgba(0, 0, 0, 0.875);
  cursor: pointer;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  -webkit-box-orient: vertical;
  -moz-box-orient: vertical;
  -o-box-orient: vertical;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -moz-box-align: start;
  -o-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-box-pack: center;
  -moz-box-pack: center;
  -o-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  font-size: 16px;
  height: 48px;
  padding: 0px 16px;
}

.react-selectize.material.dropdown-menu .option-wrapper .simple-option.not-selectable {
  background-color: #f8f8f8;
  color: #999;
  cursor: default;
  font-style: oblique;
  text-shadow: 0px 1px 0px #fff;
}

.multi-select.react-selectize.material.root-node .simple-value span {
  padding: 0px;
}

.multi-select.react-selectize.material.root-node .simple-value span:after {
  content: ",";
}

.simple-select.react-selectize.material.root-node .simple-value {
  margin: 4px 3px 3px 2px;
}

body {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 1280px;
  margin: 0 auto;
  background: #f7fafa;
  padding: 0;
  font-size: 14px;
}

a {
  text-decoration: none;
  color: #00bfa5;
}

a:hover {
  text-decoration: underline;
}

textarea {
  border: none;
  overflow: auto;
  outline: none;
  resize: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  font-size: 1.1em;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #f7fafa inset !important;
  box-shadow: 0 0 0 1000px #f7fafa inset !important;
}

button {
  background-color: clear;
  background: none;
  border: 0;
}

.button {
  vertical-align: middle;
  text-decoration: none;
  border-style: none;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}

.hollow-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}

.justify-flex-wrapper {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
}

.layout-row {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: top;
}
.layout-row.stretch-columns {
  align-items: stretch;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12 {
  padding: 2rem;
}

.col-1 {
  width: 833.3333333333%;
}

.col-2 {
  width: 1666.6666666667%;
}

.col-3 {
  width: 2500%;
}

.col-4 {
  width: 3333.3333333333%;
}

.col-5 {
  width: 4166.6666666667%;
}

.col-6 {
  width: 50%;
}

.col-7 {
  width: 5833.3333333333%;
}

.col-8 {
  width: 6666.6666666667%;
}

.col-9 {
  width: 7500%;
}

.col-10 {
  width: 8333.3333333333%;
}

.col-11 {
  width: 9166.6666666667%;
}

.col-12 {
  width: 100%;
}

.form-button--reverse {
  color: #00bfa5;
  border-radius: 2px;
  border: 1px solid #00bfa5;
  background-color: transparent;
  padding: 0.5rem 1.5rem;
}
.form-button--reverse:hover {
  background-color: #00bfa5;
  color: white;
}
.form-button--reverse:disabled {
  color: #a9b1b8;
  border-color: #e5eaea;
}

.form-button--reverse--red {
  color: #ed5454;
  border-radius: 2px;
  border: 1px solid #ed5454;
  background-color: transparent;
  padding: 0.5rem 1.5rem;
}
.form-button--reverse--red:hover {
  background-color: #ed5454;
  color: white;
}
.form-button--reverse--red:disabled {
  color: #a9b1b8;
  border-color: #e5eaea;
}

.form-button--reverse--gray {
  color: #8a9199;
  border-radius: 2px;
  border: 1px solid #8a9199;
  background-color: transparent;
  padding: 0.5rem 1.5rem;
}
.form-button--reverse--gray:hover {
  background-color: #8a9199;
  color: white;
}
.form-button--reverse--gray:disabled {
  color: #a9b1b8;
  border-color: #e5eaea;
}

.form-button--low {
  padding: 7px;
}

.form-button--low-white-border {
  color: white;
  border-radius: 2px;
  border: 1px solid white;
  background-color: transparent;
  padding: 0.5rem 1.5rem;
}
.form-button--low-white-border:hover {
  background-color: white;
  color: white;
}
.form-button--low-white-border:disabled {
  color: #a9b1b8;
  border-color: #e5eaea;
}
.form-button--low-white-border {
  padding: 7px;
}

.form-button--no-border--red {
  color: #ed5454;
  background: #f4e5e2;
}
.form-button--no-border--red:hover {
  background: #f3b8ac;
}

.form-button--no-border--blue {
  color: #01579b;
}
.form-button--no-border--blue:hover {
  background: #ccddeb;
}

.form-button--no-border--gray {
  color: #8a9199;
  background: #edeeec;
}
.form-button--no-border--gray:hover {
  background: #c8cac7;
}

.form-button--margin {
  margin-top: 1.75rem;
}

.form-button--small-margin {
  margin-top: 1rem;
}

.form-link {
  transition: all 0.2s;
  color: #00bfa5;
  padding: 8px;
  border-radius: 4px;
}
.form-link:hover {
  text-decoration: none !important;
  background-color: #dcf0ea !important;
}
.submit-button {
  border-radius: 2px;
  background-color: rgba(0, 191, 165, 0.1);
  color: #00bfa5;
  padding: 0.5em;
  border-width: 0px;
}

.cancel-button {
  border-radius: 2px;
  background-color: rgba(169, 177, 184, 0.1);
  color: #8a9199;
  padding: 0.5em;
  border-width: 0px;
}

.modal-card {
  background-color: white;
  border-radius: 3px;
  margin-bottom: 1em;
  width: 100%;
  align-self: stretch;
  overflow: hidden;
}

.portal-wrapper {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
}

.portal {
  width: 400px;
  height: 300px;
  padding: 1rem;
  background: white;
  position: fixed;
  top: calc(50% - 200px);
  left: calc(50% - 150px);
  z-index: 1000;
}

.fieldset {
  width: 100%;
  margin-top: 2rem;
}
.fieldset p.label {
  margin: 0;
  font-size: 0.85rem;
  color: rgba(0, 0, 0, 0.87);
}

.field-group {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.field-group.split .textfield {
  width: 59% !important;
}
.field-group.split .textfield:nth-child(2) {
  width: 33% !important;
}
.field-group.third > div {
  width: 29% !important;
}
.field-group.third > div .textfield {
  width: 100% !important;
}
.field-group.sentence-inline {
  justify-content: flex-start;
  align-items: flex-end;
}
.field-group.sentence-inline .textfield {
  width: 22% !important;
  display: inline-block !important;
}
.field-group.sentence-inline p {
  margin: 0 1rem;
}
.field-group.sentence-inline.appointment {
  display: block;
}
.field-group .textfield.date > div {
  width: 100% !important;
}

.image-grid-selector {
  width: 100%;
  display: block;
}
.image-grid-selector .image-select {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  border-top: 1px solid #e5eaea;
  border-bottom: 1px solid #e5eaea;
  padding-top: 0.75em;
  margin-bottom: 1em;
}
.image-grid-selector label {
  cursor: pointer;
  margin-bottom: 0.75em;
  margin-right: 0.75em;
  width: 10em;
  height: 10em;
  display: block;
  position: relative;
}
.image-grid-selector .bg-image {
  opacity: 0.6;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  pointer-events: none;
}
.image-grid-selector input[type=radio] {
  position: absolute;
  left: -9999px;
}
.image-grid-selector input[type=radio].checked ~ .bg-image {
  opacity: 1;
}

.error-message {
  display: block;
  color: #ed5454;
  font-size: 1rem;
  margin-top: 1rem;
}

.service-type-group h4 {
  float: left;
}
.service-type-group .remove-button {
  float: right;
  margin-top: 0.5rem;
}
.service-type-group .field-group {
  width: 100%;
}
.service-type-group .field-group-wrapper {
  display: block;
  width: 100%;
}
.service-type-group .field-group-wrapper p {
  margin-top: 2rem;
  margin-bottom: 0;
  color: #a9b1b8;
}
.service-type-group .field-group-wrapper .textfield {
  width: 100% !important;
}
.service-type-group .field-group-wrapper.radio-group p {
  margin-bottom: 1rem;
  margin-top: 3rem;
}

.vertical-padded-container {
  padding-top: 2rem;
}
@media (min-width: 671.125px) {
  .vertical-padded-container {
    padding-top: 4rem;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.eula-docs-container {
  background-color: #f7fafa;
  padding-bottom: 3.125rem;
}
@media (min-width: 671.125px) {
  .eula-docs-container {
    padding-right: 33%;
  }
}
@media (min-width: 671.125px) {
  .eula-docs-container {
    padding-left: 25%;
    padding-right: 26.5%;
  }
}
.eula-docs-container .eula-doc {
  margin-top: 1.875rem;
  background-color: white;
  padding-top: 1.5rem;
}
.eula-docs-container h2 {
  font-size: 1.25rem;
  line-height: 1.25rem;
  color: #333333;
}
.eula-docs-container h3 {
  color: #01579b;
  font-size: 1.5rem;
  padding: 0 1rem 1rem;
  font-weight: 400;
}
.eula-docs-container p {
  color: #333333;
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.eula-docs-container .intro {
  font-size: 1rem;
  line-height: 1.5rem;
}
.eula-docs-container .scroll-container {
  overflow-y: auto;
  height: 16.5rem;
  border-top: 1px solid #e5eaea;
  padding: 1rem;
  box-shadow: 0px 1px 0px #e5eaea;
}
.eula-docs-container .eula-form-box {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}
.eula-docs-container .eula-agree {
  margin: 1.25rem 0 2.1875rem;
}
.eula-docs-container .green-button {
  width: 5.625rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.eula-modal {
  position: fixed;
  overflow: scroll;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  margin-top: 6.25rem;
  padding-bottom: 3.125rem;
  background-color: #f7fafa;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.modal-card {
  background-color: white;
  border-radius: 4px;
  padding-bottom: 1em;
  width: 100%;
  align-self: stretch;
  overflow: hidden;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.modal-header h3 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.modal-header h3 {
  font-size: 1.5em;
  color: #333333;
}

.modal-header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  flex: 1 1 auto;
  align-self: stretch;
  align-items: center;
  padding: 1em 1.5em 0 1.5em;
}
.modal-header .close {
  cursor: pointer;
  color: #a9b1b8;
  margin-top: -0.2em;
  height: 2em;
  width: 2em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.modal-button.secondary, .modal-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.modal-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.modal-button {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.modal-button.secondary {
  border-color: #00bfa5;
  color: #00bfa5;
}

.modal-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.modal-button:disabled:hover {
  cursor: default;
}

.modal-button {
  align-self: stretch;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-button:hover {
  opacity: 1;
}
.modal-button span ~ svg {
  padding-left: 1em;
}
.modal-button.secondary {
  background-color: transparent;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.delete-pantry-button:active:enabled {
  transform: scale(0.875, 0.875);
}

.delete-pantry-container .modal-card .delete-pantry-button, .delete-pantry-button {
  display: inline-block;
  padding: 0.85rem;
  font-size: 14px;
  background-color: #00bfa5;
  color: white;
  border-radius: 4px;
  cursor: pointer;
  user-select: none;
  min-width: 72px;
  text-decoration: none !important;
  text-align: center !important;
  text-transform: uppercase;
  margin: 0;
}
.delete-pantry-container .modal-card .delete-pantry-button:hover, .delete-pantry-button:hover {
  background-color: #008573;
}
.delete-pantry-container .modal-card .has-margin.delete-pantry-button, .has-margin.delete-pantry-button {
  margin-top: 1rem;
}
.delete-pantry-container .modal-card .delete-pantry-button:disabled, .delete-pantry-button:disabled {
  cursor: default;
}
.delete-pantry-button:disabled:hover {
  background-color: transparent;
}

.delete-pantry-container .modal-card .delete-pantry-button, .delete-pantry-button {
  background-color: #ed5454;
}
.delete-pantry-container .modal-card .delete-pantry-button:hover, .delete-pantry-button:hover {
  background-color: rgb(239.4285714286, 107.0714285714, 107.0714285714);
}

.delete-pantry-container .modal-card .delete-pantry-button, .delete-pantry-button {
  transition: all 0.2s;
}
.delete-pantry-container .modal-card .delete-pantry-button, .delete-pantry-button {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.modal-container {
  overflow: scroll;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 100;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
}
.modal-container > .modal {
  margin: 0 2em;
  display: flex;
  flex-flow: row wrap;
  max-width: calc(100% - 4em);
  max-height: 100%;
}
.modal-container .modal-form {
  width: 100%;
}
.modal-container .modal-body .textfield {
  width: 100% !important;
}

.delete-pantry-container .delete-pantry-button-container {
  padding: 0 1em;
}
@media (min-width: 671.125px) {
  .delete-pantry-container .delete-pantry-button-container {
    padding: 0 1.5em;
  }
}
.delete-pantry-container .modal-card {
  justify-content: space-between;
  display: flex;
  flex-direction: column;
  min-width: 20rem;
  min-height: 10rem;
}
.delete-pantry-container .modal-card > .modal-header {
  flex: 0;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.session-modal .spinner-container {
  margin-bottom: 1.25rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.main-container .register-container.register-success .main-content, .main-container .register-container.register-success .main-content--padded, .main-container .register-container.register-success .admin-main-content--padded {
  max-width: 100%;
}
.main-container .body-spacer {
  height: 2rem;
  width: 100%;
}

.main-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  box-sizing: border-box;
}

.main-header-container {
  display: flex;
  justify-content: stretch;
  width: 100%;
  flex: 1 0 100%;
  z-index: 100;
  box-sizing: border-box;
}
@media (min-width: 671.125px) {
  .main-header-container {
    height: 64px;
    position: fixed;
    left: 0;
    right: 0;
  }
}
.main-header-container .MuiInput-underline::after {
  border-bottom: 0px;
}
.main-header-container .MuiSelect-select:focus {
  opacity: 0;
}

.main-header--no-left-padding {
  padding-left: 0 !important;
}

.main-body, .main-body--no-padding-mobile {
  width: 100%;
  height: 100%;
  flex: 1 0 100%;
  display: flex;
  background-color: #f7fafa;
  min-height: calc(100vh - 64px);
  box-sizing: border-box;
  padding: 0 1rem;
}
@media (min-width: 671.125px) {
  .main-body, .main-body--no-padding-mobile {
    padding: 0 2rem;
    margin-top: 64px;
  }
}

.main-body--no-padding-mobile {
  padding: 0;
}

.sidebar-menu {
  width: 25%;
  flex: 1 0 25%;
}

@media (max-width: 896px) {
  .sidebar-menu {
    width: 0 !important;
    flex: none !important;
  }
}
.main-content, .main-content--padded, .admin-main-content--padded {
  width: 75%;
  flex: 1 0 75%;
  display: block;
  box-sizing: border-box;
  position: relative;
  height: 100%;
}

.main-content--padded, .admin-main-content--padded {
  padding: 2rem 0 0 0;
}
@media (min-width: 671.125px) {
  .main-content--padded, .admin-main-content--padded {
    padding: 4rem 0 0 0;
  }
}

.admin-main-content--padded {
  width: 100%;
  padding: 0;
  padding-top: 2rem;
}
@media (min-width: 671.125px) {
  .admin-main-content--padded {
    padding: 0;
    padding-top: 4rem;
  }
}

@media (max-width: 896px) {
  .main-content, .main-content--padded, .admin-main-content--padded {
    width: 100%;
    flex: 1 0 100%;
  }
}
.main-content-inner {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  align-content: stretch;
  min-height: calc(100vh - 64px);
}

@media (max-width: 671.125px) {
  .main-content-inner {
    flex-wrap: wrap;
  }
}
.main-panel {
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

.no-sidebar .main-panel {
  width: 100% !important;
}

.no-sidebar.centered-content .main-panel {
  width: 60% !important;
  margin: 0 auto !important;
}

@media (max-width: 896px) {
  .no-sidebar.centered-content .main-panel {
    width: 60% !important;
    margin: 0 auto !important;
  }
}
@media (max-width: 671.125px) {
  .main-panel {
    width: 100% !important;
  }
  .no-sidebar.centered-content .main-panel {
    width: 100% !important;
    margin: 0 auto !important;
  }
}
aside.column {
  position: fixed !important;
  top: 0;
  right: 0;
  height: 100vh;
  padding: 2rem !important;
  padding-top: calc(64px + 4rem) !important;
  box-sizing: border-box !important;
  z-index: 10;
  overflow-y: auto;
}
aside.column .action-button {
  display: block !important;
  width: calc(100% - 4rem) !important;
  position: absolute !important;
  bottom: 2rem !important;
  right: 2rem !important;
  margin: 0 !important;
}
aside.column .action-button.not-fixed {
  position: relative !important;
  bottom: auto !important;
  right: auto !important;
  width: 100% !important;
  margin-top: 0.5rem !important;
  margin-bottom: 1.5rem !important;
}
aside.column > * {
  margin: 0;
}

@media (min-width: 1280px) {
  aside.column {
    width: 320px !important;
    right: calc((100% - 1280px) / 2);
  }
}
@media (max-width: 896px) {
  aside.column {
    width: 33.3333% !important;
    padding-top: calc(64px + 3rem) !important;
  }
}
@media (max-width: 671.125px) {
  aside.column {
    width: 100% !important;
    padding: 1rem !important;
    position: relative !important;
    display: block !important;
    height: auto !important;
    top: auto !important;
    right: auto !important;
  }
  aside.column .action-button {
    position: relative !important;
    bottom: auto !important;
    right: auto !important;
    width: 100% !important;
    margin-top: 2rem !important;
  }
}
.pantry-dropdown-select {
  color: white !important;
  height: 3.5em !important;
  line-height: 3.5em !important;
  overflow: hidden;
  opacity: 1;
  position: relative;
  padding-left: 0px;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: auto !important;
}
.pantry-dropdown-select *:not(svg) {
  color: white !important;
  top: 0 !important;
}
.pantry-dropdown-select svg {
  top: 1rem !important;
}
.pantry-dropdown-select.after {
  display: none;
}

.plentiful-logo-mobile {
  width: 2.4em;
  height: 2.4em;
}

.settings-nav .user-logo {
  width: 64px;
  height: 64px;
  position: absolute;
  right: 64px;
  top: 0px;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.main-header p {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.main-header a {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.main-header {
  position: relative;
  width: 100%;
}
.main-header .main-header-top {
  background-color: #01579b;
  text-align: right;
  height: 64px;
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  color: white;
  padding: 1rem;
  width: 100%;
  box-sizing: border-box;
}
.main-header a {
  color: #00bfa5;
}
.main-header p {
  margin: 0;
}
.main-header .left {
  flex: 1;
  text-align: left;
}
.main-header .middle {
  text-align: center;
}
.main-header .right {
  flex: 1;
  text-align: right;
}
.main-header .right a {
  color: white;
  margin: 0 1em;
}
.main-header .right a:hover {
  text-decoration: none;
}
.main-header .logo {
  height: 2em;
  width: 2em;
  padding-right: 1em;
  color: #ed5454;
}
.main-header .left p > span {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.main-header.mobile {
  display: none;
}
.main-header h2 {
  font-size: 16px;
  margin: 0;
  margin-right: 1.8rem;
  padding: 0;
  display: block;
  white-space: nowrap;
  color: white;
}
@media (min-width: 671.125px) {
  .main-header h2 {
    margin-right: 0;
  }
}
.main-header .logo-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  width: 100%;
  cursor: default;
}
.main-header .logo-container .pantry-logo-container {
  cursor: pointer;
  height: 64px;
  max-width: 64px;
  margin-right: 1em;
}
.main-header .logo-container .pantry-logo-container img {
  width: 64px;
  height: 64px;
}
.main-header .notification-header {
  background-color: #ed5454;
  text-align: center;
  padding: 0.5rem;
}
.main-header .notification-header p {
  line-height: 1rem;
  color: white;
}
.main-header .notification-header p a {
  color: white;
}

@media (max-width: 896px) {
  .main-header.mobile {
    display: block;
  }
  .main-header:first-child {
    display: none;
  }
}
@media (max-width: 671.125px) {
  .main-header .left {
    height: 31px;
    width: 31px;
  }
  .main-header.signin-and-register .right {
    display: block;
    text-align: right;
  }
  .main-header.signin-and-register .right span {
    white-space: nowrap;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.sidebar-menu-container .mobile .header {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.sidebar-menu-container {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  padding: 4rem 2rem 0 2rem;
}
.sidebar-menu-container hr {
  border: 0;
  height: 0;
  border-bottom: 1px solid #e5eaea;
}
.sidebar-menu-container .mobile {
  display: none;
}
.sidebar-menu-container .mobile .header {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  padding: 2em 1.5em;
  font-size: 1.1em;
}
.sidebar-menu-container .mobile .header svg {
  color: #ed5454;
  padding-right: 1em;
  height: 2.4em;
  width: 2.4em;
}
.sidebar-menu-container .mobile a {
  display: block;
  padding: 1em 1.5em;
  color: black;
  text-decoration: none;
}
.sidebar-menu-container .mobile .menu-items {
  background-color: #f7fafa;
}
.sidebar-menu-container .desktop {
  overflow-y: auto;
}
.sidebar-menu-container .sidebar-item-container {
  margin-right: 1em;
}
@media (max-width: 896px) {
  .sidebar-menu-container .desktop {
    display: none;
  }
  .sidebar-menu-container .mobile {
    display: flex;
  }
}
@media (min-width: 896px) {
  .sidebar-menu-container {
    position: fixed;
    top: 4rem;
    bottom: 0;
    padding-bottom: 2rem;
  }
}

@media (max-width: 896px) {
  .sidebar-menu-container {
    margin: 3rem 2rem 0 2rem;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.sidebar-menu-item-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
  padding: 1em 1.5em;
  text-decoration: none !important;
  -webkit-transition: color 0.2s, background-color 0.2s;
  transition: color 0.2s, background-color 0.2s;
}
.sidebar-menu-item-container .icon {
  padding-right: 1.5em;
}
.sidebar-menu-item-container svg {
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  padding-right: 1.5em;
  color: #a9b1b8;
}
.sidebar-menu-item-container span {
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  color: black;
}
.sidebar-menu-item-container.active, .sidebar-menu-item-container:hover {
  background-color: #e5f9f6;
  color: #1ebea5;
}
.sidebar-menu-item-container.active span, .sidebar-menu-item-container:hover span {
  color: #00bfa5;
}
.sidebar-menu-item-container.active:hover, .sidebar-menu-item-container:hover:hover {
  background-color: #e5f9f6;
  color: #1ebea5;
}
.sidebar-menu-item-container.active svg, .sidebar-menu-item-container:hover svg {
  color: #00bfa5;
}
.plentiful-logo {
  width: 2rem;
}
@media (min-width: 671.125px) {
  .plentiful-logo {
    width: 2.714285rem;
  }
}
.plentiful-logo {
  position: absolute;
  bottom: 0;
}
.plentiful-full-logo {
  width: 2rem;
}
@media (min-width: 671.125px) {
  .plentiful-full-logo {
    width: 110px;
    margin-bottom: 10px;
  }
}
.plentiful-full-logo {
  position: absolute;
  bottom: 0;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.session-expired-modal-container p {
  color: black;
}
.session-expired-modal-container .message-body {
  padding: 1em;
}
.session-expired-modal-container button {
  margin-right: 1em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.home-container h1 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.home-container h1 {
  font-size: 2em;
  color: #01579b;
}

.home-container {
  display: flex;
  text-align: center;
}
.home-container h1 {
  font-size: 2.25rem;
  font-weight: 500;
}
.home-container p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 152%;
}
.home-container p a {
  font-size: 1rem;
  font-weight: bold;
  line-height: 152%;
  color: white;
  text-decoration: underline;
}
.home-container .home-content-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media (min-width: 896px) {
  .home-container .home-content-container {
    justify-content: flex-start;
  }
}
.home-container .text-container {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  z-index: 1;
}
@media (min-width: 1120px) {
  .home-container .text-container {
    margin-top: 12vh;
  }
}
.home-container .plentiful-full-logo-main {
  width: 14.0625rem;
  margin: 0;
}
.home-container .registration-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 5rem;
  width: 100%;
  margin-bottom: 3rem;
  z-index: 1;
}
.home-container .registration-buttons a {
  width: 100%;
  max-width: 20rem;
  margin-top: 0;
}
@media (min-width: 896px) {
  .home-container .registration-buttons {
    flex-direction: row;
    height: auto;
    width: 23.75rem;
    margin-top: 1.25rem;
  }
  .home-container .registration-buttons a {
    max-width: 10.25rem;
  }
}
.home-container .desktop-background {
  display: none;
}
@media (min-width: 896px) {
  .home-container .desktop-background {
    display: flex;
    width: 100%;
    position: absolute;
    bottom: 0.625rem;
  }
  .home-container .desktop-background .bg-image {
    background-size: contain;
    background-repeat: no-repeat;
    width: 50%;
    height: 22.5rem;
  }
  .home-container .desktop-background .home-bg-left {
    background-image: url(523f35a8dfefbc480b73.png);
  }
  .home-container .desktop-background .home-bg-right {
    background-position: right;
    background-image: url(9e5a23393f453e98d979.png);
  }
}
@media (min-width: 1120px) {
  .home-container .desktop-background {
    bottom: 4.375rem;
  }
}

.main-container--home {
  color: white;
}
@media (min-width: 1120px) {
  .main-container--home {
    position: fixed;
    left: 0;
    right: 0;
  }
}
.main-container--home .centered-content {
  display: flex;
  height: auto;
}
.main-container--home .main-body {
  background-color: #1b78b7;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.tfa-form-container .signin-field {
  width: 100%;
  margin-top: 16px;
}
.tfa-form-container a {
  cursor: pointer;
  text-decoration: none;
}
.tfa-form-container a.disabled {
  cursor: default;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.password-strength-container {
  color: #333333;
  margin-top: 24px;
  text-align: left;
}
.password-strength-container .strength-indicator .strength-indicator-title {
  font-size: 14px;
}
.password-strength-container .strength-indicator span {
  height: 16px;
  width: 32px;
  display: inline-block;
  border: 1px solid #a9b1b8;
  border-radius: 4px;
  margin: 4px 4px 0 0;
}
.password-strength-container .strength-indicator .red {
  background-color: #ed5454;
  border-color: #ed5454;
}
.password-strength-container .strength-indicator .green {
  background-color: #00bfa5;
  border-color: #00bfa5;
}
.password-strength-container .password-tips p,
.password-strength-container .password-tips li {
  font-size: 14px;
}
.password-strength-container .password-tips ul {
  margin-top: 0;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.signin-container button.signin {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.signin-container button.signin:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.signin-container button.signin {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.signin-container button.signin:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.signin-container button.signin:disabled:hover {
  cursor: default;
}

.signin-container h3 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
}

.signin-container {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  position: relative;
}
@media (max-width: 671.125px) {
  .signin-container {
    width: 80%;
  }
}
.signin-container.signin-form-container {
  height: inherit;
  position: relative;
  max-width: 30rem;
  align-self: center;
}
.signin-container.signin-form-container .signin-form > *:not(button) {
  width: 100% !important;
  background: transparent !important;
}
.signin-container.signin-form-container .signin-form > *:not(button) input:-webkit-autofill,
.signin-container.signin-form-container .signin-form > *:not(button) input:-webkit-autofill:hover,
.signin-container.signin-form-container .signin-form > *:not(button) input:-webkit-autofill:focus,
.signin-container.signin-form-container .signin-form > *:not(button) input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
}
.signin-container.signin-form-container .signin-form > *:not(button) > * {
  text-align: left;
}
.signin-container form.invalid-form .signin-field hr {
  border-top: none #ed5454 !important;
  border-right: none #ed5454 !important;
  border-bottom: 2px solid #ed5454 !important;
  border-left: none #ed5454 !important;
}
.signin-container .signin-error {
  margin-top: 2rem;
}
.signin-container .signin-error h5 {
  color: #ed5454;
}
.signin-container .signin-error h5,
.signin-container .signin-error h6 {
  margin-bottom: 1em;
  font-size: 16px;
  line-height: 24px;
}
.signin-container h3 {
  color: #333333;
  font-size: 1.5rem;
  text-align: left;
}
.signin-container input.signin-field {
  width: 100% !important;
  flex: 1;
}
.signin-container .button-container {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-top: calc(3rem - 8px);
  flex-direction: column;
}
.signin-container .button-container > * {
  width: 100%;
}
@media (min-width: 671.125px) {
  .signin-container .button-container {
    flex-direction: row;
  }
  .signin-container .button-container > * {
    width: auto;
  }
}
.signin-container .requested-message-container {
  padding: 1rem;
  background: #01579b;
}
.signin-container .requested-message-container .requested-message {
  margin: 0;
  color: #fff;
}
.signin-container button.signin {
  width: auto;
}
@media (max-width: 671.125px) {
  .signin-container button.signin {
    width: 100%;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
  }
}
.signin-container .form-subtitle {
  color: #a9b1b8;
  font-size: 1.142857em;
  margin-bottom: 0;
  text-align: left;
  line-height: 1.5;
}
.signin-container p.intro-text {
  font-size: 1em;
  line-height: 1.2em;
  text-align: left;
}

.pantry-select-radio {
  margin: 1.5em 0;
}

.new-or-existing-buttons {
  display: flex;
  justify-content: space-evenly;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.my-slider.full, .my-select-field.full, .my-text-field.full,
.my-time-picker.full {
  width: 100% !important;
}

.my-slider, .my-select-field, .my-text-field,
.my-time-picker {
  width: 46% !important;
}

@media (max-width: 671.125px) {
  .my-slider.full-width-mobile, .my-select-field.full-width-mobile, .my-text-field.full-width-mobile,
  .my-time-picker.full-width-mobile {
    width: 100% !important;
  }
}

.my-text-field,
.my-time-picker {
  height: 72px;
  top: 17px;
}

.my-select-field {
  height: 72px;
  top: 20px;
}
.my-select-field .MuiInput-root {
  width: 100%;
}
.my-select-field .my-select-label {
  font-size: 12px;
}

.my-slider {
  height: 72px;
  margin-top: 17px;
}

.address-form {
  min-width: 100%;
  flex-basis: 100%;
}
.address-form .hidden-field {
  height: 0;
}

.incrementer .incrementer-btn-grp {
  margin: 12px 0px;
}
.incrementer .incrementer-btn-grp .btn-down,
.incrementer .incrementer-btn-grp .btn-up {
  font-size: 16px;
}
.incrementer .incrementer-btn-grp .btn-val {
  color: #01579b;
}
.incrementer .incrementer-btn-grp .btn-val:hover {
  cursor: default;
  background-color: white;
}
.incrementer .error {
  font-size: 10px;
  color: #ed5454;
}
.zip-code-chip-input {
  width: 100%;
}
.zip-code-chip-input .zip-code-label {
  display: block;
  margin-bottom: 4px;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.6);
}
.zip-code-chip-input .chip-container {
  display: flex;
  align-items: flex-start;
  padding: 8px 12px;
  min-height: 56px;
  border: 1px solid rgba(0, 0, 0, 0.23);
  cursor: text;
  background-color: #fff;
}
.zip-code-chip-input .chip-container:hover {
  border-color: rgba(0, 0, 0, 0.87);
}
.zip-code-chip-input .chip-container:focus-within {
  border-color: #00bfa5;
  border-width: 2px;
  padding: 7px 11px;
}
.zip-code-chip-input .chip-container.error {
  border-color: #ed5454;
}
.zip-code-chip-input .chips-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  flex: 1;
  align-items: center;
}
.zip-code-chip-input .zip-chip {
  margin: 2px 0;
}
.zip-code-chip-input .zip-chip.MuiChip-colorPrimary {
  background-color: #dcf0ea;
  border-color: #00bfa5;
  color: #008573;
}
.zip-code-chip-input .zip-chip .MuiChip-deleteIcon {
  color: #00bfa5;
}
.zip-code-chip-input .zip-chip .MuiChip-deleteIcon:hover {
  color: #008573;
}
.zip-code-chip-input .chip-input-field {
  flex: 1;
  min-width: 120px;
}
.zip-code-chip-input .chip-input-field .MuiInput-root::before, .zip-code-chip-input .chip-input-field .MuiInput-root::after {
  display: none;
}
.zip-code-chip-input .chip-input-field input {
  padding: 4px 0;
}
.zip-code-chip-input .clear-all-button {
  margin-left: 8px;
  color: #a9b1b8;
}
.zip-code-chip-input .clear-all-button:hover {
  color: #ed5454;
}
.zip-code-chip-input .MuiFormHelperText-root {
  margin-left: 0;
  margin-top: 4px;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.register-modal .modal {
  position: relative;
}
.register-modal .modal-card {
  width: 31.25rem;
  margin-bottom: 0;
}
.register-modal .modal-card .button-container {
  display: flex;
  flex-direction: column;
}
.register-modal .modal-card button {
  margin: 0.5rem 2rem;
}
.register-modal .modal-card button span {
  display: block;
  line-height: 2rem;
  text-align: center;
  text-transform: none;
}
.register-modal .image-overlay {
  position: absolute;
  bottom: 0;
  z-index: 1;
}
.register-modal .image-overlay-left {
  left: 0;
  background-image: url(e4e0e960784e3ec6833b.png);
  background-size: cover;
  height: 6.5rem;
  width: 6.0625rem;
}
.register-modal .image-overlay-right {
  right: 0;
  background-image: url(efa89ad8963dfb57de0f.png);
  background-size: cover;
  height: 7rem;
  width: 4.375rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.onboarding-page-zero .help-text,
.onboarding-page-zero a {
  font-size: 1rem;
}
.onboarding-page-zero .have-account {
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid #e5eaea;
  margin-bottom: 2rem;
  padding-bottom: 2rem;
}
.onboarding-page-zero .have-account-question {
  margin-top: 0.375rem;
  margin-right: 2rem;
  font-size: 1.25rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.payment-confirmation {
  width: 60rem;
  margin: 0 auto;
}
@media (max-width: 896px) {
  .payment-confirmation {
    flex-direction: column;
  }
}
.payment-confirmation .form {
  width: 30rem;
}
.payment-confirmation .left-column {
  padding-right: 3rem;
}
@media (max-width: 896px) {
  .payment-confirmation .left-column {
    width: 30rem;
  }
}
.payment-confirmation .right-column {
  padding-left: 3rem;
}
@media (max-width: 1120px) {
  .payment-confirmation .right-column {
    padding-left: 0;
  }
}
@media (max-width: 896px) {
  .payment-confirmation .right-column {
    width: 20.625rem;
    padding-left: 3rem;
  }
}
.payment-confirmation .confirm-button {
  width: 20rem;
}
.payment-confirmation .confirm-button:disabled {
  cursor: default;
  color: white;
  background-color: #e5eaea;
}
.payment-confirmation .disabled-error {
  float: right;
  color: #ed5454;
  font-size: 0.75rem;
  margin-top: 0.5rem;
  margin-right: 4.0625rem;
}
.payment-confirmation .explanation {
  color: #a9b1b8;
  font-size: 0.8125rem;
  margin-top: 1.875rem;
  width: 20rem;
  line-height: 1.1875rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.register-container .textfield.full {
  width: 100% !important;
}

.register-container .textfield {
  width: 46% !important;
}

.register-container .action-button:disabled, .register-container .action-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.register-container .action-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.register-container .action-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.register-container .action-button:disabled:hover {
  cursor: default;
}

.register-container .steps-container .steps-right .select-button, .register-container .secondary-button, .register-container .back-button {
  vertical-align: middle;
  text-decoration: none;
  border: 2px solid #a9b1b8;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.register-container h2, .register-container .register-success h3 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.register-container .single-management-container h3 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
}

.register-container .single-service-container .service-title, .register-container h4 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.register-container h2, .register-container .register-success h3 {
  font-size: 2em;
  color: #01579b;
}

.register-container h4 {
  font-size: 1.5em;
  color: #333333;
}

.register-container {
  display: block;
  width: 100%;
  height: 100%;
  min-height: calc(100vh - 75px);
  padding: 2rem 0;
}
.register-container .main-content {
  background: white;
}
.register-container .form-button {
  margin-top: 2rem;
}
@media (min-width: 671.125px) {
  .register-container {
    padding: 4rem 0;
  }
}
@media (min-width: 1120px) {
  .register-container {
    padding-left: 2rem;
  }
}
.register-container .error-message {
  margin-top: 1rem;
  margin-bottom: 1rem;
  color: #ed5454;
}
.register-container .register-success {
  width: 50%;
  margin: 0 auto;
  text-align: center;
}
.register-container .register-success h3 {
  font-size: 2.5rem;
  line-height: 3.25rem;
  margin-top: 2rem;
}
.register-container .register-success .button {
  display: inline-block;
  margin-top: 2rem;
}
.register-container h2 {
  font-size: 2.5rem;
  line-height: 3rem;
}
.register-container .textfield {
  margin-bottom: 1rem;
}
.register-container .image-grid-selector {
  margin: 2rem 0;
}
.register-container .plentiful-tooltip {
  max-width: 300px;
}
.register-container .back-button,
.register-container .secondary-button,
.register-container .action-button {
  font-size: 1rem;
  padding: 0.75rem 2rem;
  margin-top: 2rem;
}
.register-container .back-button {
  color: #a9b1b8;
}
.register-container .secondary-button {
  color: #00bfa5;
  border-color: #00bfa5;
}
.register-container .action-button {
  background-color: #00bfa5;
  color: white;
  height: 3rem;
}
.register-container .action-button svg {
  margin-left: 10px;
}
.register-container .action-button:disabled {
  background-color: #a9b1b8;
  color: white;
  cursor: initial;
}
.register-container .action-button:disabled:hover {
  color: white;
  background-color: #a9b1b8;
  opacity: 1;
}
.register-container .service-actions {
  display: flex;
  justify-content: space-between;
}
.register-container .service-actions button:nth-child(2) {
  margin-left: 1.5rem;
}
.register-container .service-actions button:nth-child(3) {
  margin-left: auto;
}
.register-container .single-service-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 3em;
}
.register-container .single-service-container .service-title {
  font-size: 1.5em;
  width: 50%;
  text-align: left;
  color: #01579b;
}
.register-container .single-service-container button.remove {
  width: 50%;
  text-align: right;
}
.register-container .single-service-container button.remove a {
  color: #ed5454;
}
.register-container .single-service-container button.remove a:hover {
  cursor: pointer;
}
.register-container .single-service-select-field {
  width: 30% !important;
}
.register-container .single-service-select-field-large {
  width: 50% !important;
}
.register-container .all-managements-container {
  margin: 2rem -2rem;
  background-color: #f7fafa;
}
.register-container .all-managements-container a {
  text-decoration: none;
}
.register-container .all-managements-container a:hover {
  text-decoration: none;
}
.register-container .steps-container {
  display: flex;
  width: 100%;
}
.register-container .steps-container .step-column {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 10em;
  margin-right: 2.5em;
}
.register-container .steps-container .step-column .icon {
  text-align: left;
  width: 50%;
  height: 5.5em;
}
.register-container .steps-container .step-column .arrow {
  text-align: right;
  vertical-align: middle;
  width: 50%;
  height: 5.5em;
}
.register-container .steps-container .step-column .arrow img {
  margin-top: 28px;
  padding-right: 10px;
  height: 14px;
}
.register-container .steps-container .step-column .arrow img .hidden {
  display: hidden;
}
.register-container .steps-container .step-column h6 {
  align-self: flex-start;
  vertical-align: top;
  color: #333333;
  font-size: 0.9em;
  line-height: 1.4em;
  width: 100%;
  margin-top: 0;
}
.register-container .steps-container .steps-left {
  display: flex;
  width: 85%;
  height: 100%;
}
.register-container .steps-container .steps-right {
  width: 15%;
  text-align: center;
  display: flex;
  align-items: center;
}
.register-container .steps-container .steps-right .select-button {
  width: 100%;
  margin: -2em 0 0 0;
  color: #a9b1b8;
  border-color: #a9b1b8;
  height: 1.25rem;
  position: relative;
}
.register-container .steps-container .steps-right .select-button:after {
  position: absolute;
  top: calc(50% - 0.625rem);
  right: 0;
  left: 0;
  bottom: 0;
  content: "SELECT";
  font-size: 1rem;
  height: 0.625rem;
}
.register-container .single-management-container {
  border: 2px solid #f7fafa;
  background-color: #f7fafa;
  padding: 2.5em;
  z-index: 1;
  margin-bottom: 1em;
}
.register-container .single-management-container h3 {
  color: #01579b;
  font-size: 1.5em;
  line-height: 1.5rem;
  margin: 0 0 2rem 0;
}
.register-container label.line-management-row {
  display: block;
  width: 100%;
  position: relative;
}
.register-container label.line-management-row input[type=radio] {
  position: absolute;
  left: -9999px;
}
.register-container label.line-management-row input[type=radio]:checked ~ .single-management-container {
  background-color: #f5f5f5;
  -webkit-box-shadow: inset 0px 0px 11px 1.5px rgba(207, 207, 207, 0.4);
  -moz-box-shadow: inset 0px 0px 11px 1.5px rgba(207, 207, 207, 0.4);
  box-shadow: inset 0px 0px 11px 1.5px rgba(207, 207, 207, 0.4);
}
.register-container label.line-management-row input[type=radio]:checked ~ .single-management-container .select-button {
  color: #1ebea5;
  border-color: #1ebea5;
}
.register-container label.line-management-row input[type=radio]:checked ~ .single-management-container .select-button:after {
  content: "SELECTED";
}
.register-container label.line-management-row:nth-child(3) .steps-container .step-column {
  max-width: 20rem;
}
.register-container .single-management-container:hover {
  background-color: #f2fcfa;
  cursor: pointer;
  z-index: 100;
  -webkit-box-shadow: 0px 0px 10px 4px rgba(207, 207, 207, 0.5);
  -moz-box-shadow: 0px 0px 10px 4px rgba(207, 207, 207, 0.5);
  box-shadow: 0px 0px 10px 4px rgba(207, 207, 207, 0.5);
}
.register-container .single-management-container:hover .select-button {
  color: #1ebea5;
  border-color: #1ebea5;
}

.register-sidebar {
  text-align: center;
  background-color: #f7fafa;
}
.register-sidebar .bottom {
  margin-top: 3rem;
}
.register-sidebar .bottom p {
  text-align: left;
  max-width: 280px;
  margin: 0 auto;
}

.step-01-sidebar .bottom p {
  color: #00bfa5;
  text-align: center !important;
}

.full-page {
  background-color: #01579b;
  color: white;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

@media (max-width: 671.125px) {
  .register-container.layout-row {
    flex-direction: column;
  }
  .register-container .main-content {
    width: auto;
    max-width: 100%;
    order: 1;
  }
  .register-container .main-content h2 {
    font-size: 2rem;
    line-height: 2.5rem;
  }
  .register-container .main-content h4 {
    font-size: 1.5rem;
    line-height: 1.5rem;
  }
  .register-container .main-content .textfield {
    width: 100% !important;
  }
  .register-container .main-content .field-group {
    flex-direction: column;
  }
  .register-container .main-content .field-group.split .textfield {
    width: 100% !important;
  }
  .register-container .main-content .field-group.split .textfield:nth-child(2) {
    width: 100% !important;
  }
  .register-container .main-content .field-group.third .textfield {
    width: 100% !important;
  }
  .register-container .main-content .justify-flex-wrapper {
    flex-direction: column;
  }
  .register-container .main-content .justify-flex-wrapper .back-button,
  .register-container .main-content .justify-flex-wrapper .secondary-button,
  .register-container .main-content .justify-flex-wrapper .action-button {
    width: 100%;
  }
  .register-container .main-content .justify-flex-wrapper .back-button {
    order: 1;
  }
  .register-container .main-content .justify-flex-wrapper .secondary-button {
    order: 0;
  }
  .register-container .main-content .justify-flex-wrapper.service-actions button:nth-child(2) {
    margin-left: 0;
  }
  .register-container .main-content .service-type-group h4 {
    float: none;
  }
  .register-container .main-content .service-type-group .remove-button {
    float: none;
    margin-top: 0.5rem;
  }
  .register-container .main-content .all-managements-container {
    background-color: transparent;
    margin: 2rem 0;
  }
  .register-container .main-content .all-managements-container .single-management-container h3 {
    text-align: center;
  }
  .register-container .main-content .steps-container {
    flex-direction: column;
  }
  .register-container .main-content .steps-container .steps-left {
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .register-container .main-content .steps-container .steps-left .step-column {
    width: 100%;
    max-width: 100%;
    margin: 0 0 1.5rem 0;
  }
  .register-container .main-content .steps-container .steps-left .step-column .icon {
    width: 100%;
    text-align: center;
  }
  .register-container .main-content .steps-container .steps-left .step-column .arrow {
    width: 100%;
    height: auto;
    order: 3;
    text-align: center;
  }
  .register-container .main-content .steps-container .steps-left .step-column .arrow img {
    margin: 2rem 0 0 0;
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
  }
  .register-container .main-content .steps-container .steps-left .step-column h6 {
    text-align: center;
  }
  .register-container .main-content .steps-container .steps-right {
    width: 100%;
    text-align: center;
  }
  .register-container .main-content .steps-container .steps-right .select-button {
    visibility: visible;
    margin: 0.5rem 0 0 0;
    display: block;
  }
  .register-container .register-sidebar {
    width: auto;
    max-width: 100%;
  }
  .register-container .register-sidebar .bottom {
    margin-top: 1.75rem;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.onboarding-get-started {
  width: 100%;
  height: 100vh;
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.onboarding-get-started h1 {
  font-size: 2.125rem;
}
.onboarding-get-started p {
  width: 37.5rem;
  line-height: 2rem;
  font-size: 1.5rem;
  margin: 2rem auto 2.5rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.my-pantry .additional-details .selectfield:nth-child(4),
.my-pantry .additional-details .textfield:nth-child(4), .my-pantry .full-width, .my-pantry .general .textfield:nth-child(3) {
  width: 100% !important;
}

.my-pantry .additional-details .toggle, .my-pantry .additional-details .selectfield,
.my-pantry .additional-details .textfield, .my-pantry .general .textfield {
  width: 46% !important;
}

.my-pantry .service .selectfield {
  width: 30% !important;
}

.my-pantry .service .remove, .my-pantry button.add-service, .my-pantry button.save-changes {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.my-pantry .service .remove:disabled, .my-pantry button.add-service:disabled, .my-pantry button.save-changes:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.my-pantry button.save-changes {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.my-pantry button.add-service {
  border-color: #00bfa5;
  color: #00bfa5;
}

.my-pantry .service .remove {
  color: #ed5454;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.my-pantry button.save-changes:hover, .my-pantry button.add-service:hover, .my-pantry .service .remove:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.my-pantry button.save-changes:disabled:hover, .my-pantry button.add-service:disabled:hover, .my-pantry .service .remove:disabled:hover {
  cursor: default;
}

.my-pantry .additional-details h6 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.my-pantry .section .title {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.my-pantry .section .title {
  font-size: 1.5em;
  color: #333333;
}

.my-pantry .additional-details h6 {
  font-size: 1em;
  color: #a9b1b8;
}

.my-pantry form {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
}
.my-pantry form .field-group,
.my-pantry form .textfield.full {
  min-width: 100%;
  flex-basis: 100%;
}

@media (max-width: 671.125px) {
  .my-pantry form {
    flex-wrap: wrap;
  }
  .my-pantry form .field-group {
    flex-wrap: wrap;
  }
}
.my-pantry .section {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.my-pantry .section .title {
  width: 75%;
  margin-bottom: 0.5em;
}
.my-pantry button.add-service {
  flex: 0 0 auto;
  align-self: flex-start;
  margin: -3rem 0 5em 0;
}
.my-pantry .service .selectfield:last-child {
  width: 50% !important;
}
.my-pantry .digital-service-options {
  display: block;
  width: 100%;
}
.my-pantry .additional-details .image-grid-selector {
  margin-top: 1em;
}
.my-pantry .additional-details .toggle {
  flex: 0 0 auto;
  align-self: flex-start;
  margin: 2em 0 0 0;
}
.my-pantry button.save-changes {
  flex: 0 0 auto;
  align-self: flex-start;
  padding: 1em 4em;
}
@media (max-width: 671.125px) {
  .my-pantry {
    margin-top: 1em;
  }
  .my-pantry .my-pantry > * {
    margin-right: 1rem;
    margin-left: 1rem;
  }
  .my-pantry .my-pantry > button {
    flex: 1 1 auto;
    align-self: stretch;
  }
  .my-pantry .my-pantry button.add-service {
    margin-right: 1em;
    margin-left: 1em;
  }
  .my-pantry .my-pantry .section.general .textfield {
    width: 100% !important;
    flex: 0 0 auto;
  }
  .my-pantry .my-pantry .section.service .textfield,
  .my-pantry .my-pantry .section.service .selectfield {
    width: 100% !important;
  }
  .my-pantry .my-pantry .section.digital-service-options .element-title {
    margin-left: 1.3em;
    margin-bottom: 1em;
    color: #a9b1b8;
  }
  .my-pantry .my-pantry .section.digital-service-options {
    margin-left: 0;
    margin-right: 0;
  }
  .my-pantry .my-pantry .section.additional-details .textfield,
  .my-pantry .my-pantry .section.additional-details .selectfield {
    width: 100% !important;
  }
}
.my-pantry .advance-registration .my-select-label {
  font-size: 13px !important;
}
.my-pantry .verify-button-container {
  display: flex;
  flex-direction: row;
}
.my-pantry .pantry-languages-container {
  margin-bottom: 24px;
  margin-top: 12px;
}
.my-pantry .service-schedule-link {
  font-size: 16px;
  color: #008573;
}

.digital-service-options {
  display: block;
}
.digital-service-options .element-title {
  color: #a9b1b8;
  margin-bottom: 0.75em;
}
.digital-service-options label {
  position: relative;
  width: 100%;
}
.digital-service-options label > div {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  background-color: white;
  cursor: pointer;
  padding: 1.5em;
  border-top: 1px solid #e5eaea;
  border-bottom: 1px solid #e5eaea;
  transition: background-color 0.2s;
  -webkit-transition: background-color 0.2s;
}
.digital-service-options label > div:hover {
  background-color: #e5f9f6;
}
.digital-service-options label > div:first-child span {
  display: block;
}
.digital-service-options label > div span {
  width: 90%;
}
.digital-service-options label > div .radio {
  color: #a9b1b8;
  display: inline-block;
}
.digital-service-options label > div .radio-selected {
  color: #00bfa5;
  display: none;
}
.digital-service-options label ~ label > div {
  border-top: 0;
}
.digital-service-options input[type=radio] {
  left: -9999px;
  position: absolute;
}
.digital-service-options input[type=radio]:checked ~ div {
  background-color: #e5f9f6;
}
.digital-service-options input[type=radio]:checked ~ div .radio {
  display: none;
}
.digital-service-options input[type=radio]:checked ~ div .radio-selected {
  display: inline-block;
}

.success-message,
.global-error-message,
.informational-message {
  box-sizing: border-box;
  padding: 1rem;
  width: 100%;
  display: block;
  background: rgba(30, 190, 165, 0.9);
  border-radius: 5px;
  margin-bottom: 2rem;
}
.success-message h3,
.global-error-message h3,
.informational-message h3 {
  color: white;
  font-size: 1.75rem;
  line-height: 2.5rem;
}

.global-error-message {
  background: rgba(237, 84, 84, 0.9);
  margin-top: 2rem;
}

.informational-message {
  background: #ccddeb;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: 2px solid #e5eaea;
  margin-top: 1rem;
  margin-bottom: 0;
}
.informational-message p {
  color: #ed5454;
  margin: 0;
}

.verification .form-button--reverse--red {
  margin-right: 0.5rem;
}
.verification .form-button--reverse {
  display: flex;
  justify-content: center;
  text-align: center;
}

.service-groups .service-type-group {
  margin-bottom: 1.875rem;
}
.service-groups p {
  display: inline-block;
  margin: 1.75rem 1.25rem;
}
.service-groups .my-text-field,
.service-groups .my-select-field {
  width: 35% !important;
}
.service-groups .full {
  width: 100% !important;
}
.service-groups .fieldset {
  margin-top: 1rem;
}

.pantry-foodbank-identifiers .type-row {
  display: flex;
  width: 60%;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: -16px;
}
.pantry-foodbank-identifiers .foodbank-access-container {
  margin-top: 1.5rem;
}

.zip-restrictions-section {
  margin-top: 24px;
}

.zip-restrictions-warning {
  color: #ed5454;
  font-size: 14px;
  margin: 8px 0 16px 0;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.tefap-modal .modal {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  margin: 0;
}
@media (min-width: 671.125px) {
  .tefap-modal .modal {
    position: relative;
    box-sizing: border-box;
    max-height: 100%;
    width: 35rem;
    display: block;
  }
}
.tefap-modal .modal-card {
  position: relative;
}
.tefap-modal .modal-card h5 a {
  font-size: 1rem;
}
.tefap-modal .button-row {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
@media (min-width: 671.125px) {
  .tefap-modal .button-row {
    flex-direction: row;
    margin: 0 1.25rem;
  }
}
.tefap-modal .button-row button {
  margin: 0 1.25rem 0.9375rem;
}
@media (min-width: 671.125px) {
  .tefap-modal .button-row button {
    margin: 0;
  }
}
.tefap-modal .person-details {
  margin: 20px 20px 0;
}
.tefap-modal .explanation {
  margin: 0 20px;
}
.tefap-modal td {
  padding-right: 5px;
}
.tefap-modal .verified-until {
  width: 100%;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
table.client-autocomplete {
  width: 100%;
  border-radius: 3px;
}
table.client-autocomplete tbody tr {
  border-bottom: 1px solid #e5eaea;
  cursor: pointer;
}
table.client-autocomplete tbody tr:hover {
  color: #00bfa5;
}
table.client-autocomplete td {
  padding: 1em;
  background-color: white;
  border-bottom: 1px solid #e5eaea;
}
table.client-autocomplete thead tr td {
  font-size: 13px;
  color: #a1a9b0;
}

.loading-spinner-container {
  text-align: center;
  padding: 1em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.duplicate-phone-modal .modal-container .modal .form .textfield {
  width: 100% !important;
}

.duplicate-phone-modal .modal-container .modal .form .confirm {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.duplicate-phone-modal .modal-container .modal .form .confirm:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.duplicate-phone-modal .modal-container .modal .form .confirm:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.duplicate-phone-modal .modal-container .modal .form .confirm:disabled:hover {
  cursor: default;
}

.duplicate-phone-modal .modal-container .modal .form .cancel {
  vertical-align: middle;
  text-decoration: none;
  border: 2px solid #a9b1b8;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.duplicate-phone-modal .modal-container .modal {
  width: 27em;
}
.duplicate-phone-modal .modal-container .modal .form {
  display: flex;
  flex-flow: column nowrap;
  justify-content: stretch;
  padding: 0 1.5em 1.5em 1.5em;
}
.duplicate-phone-modal .modal-container .modal .form .buttons {
  display: flex;
  flex-direction: row;
  margin-bottom: 0;
}
.duplicate-phone-modal .modal-container .modal .form .button {
  margin-right: 1rem;
  text-transform: uppercase;
  font-size: 1rem;
}
.duplicate-phone-modal .modal-container .modal .form .cancel {
  color: #a9b1b8;
}
.duplicate-phone-modal .modal-container .modal .form .confirm {
  background-color: #00bfa5;
  color: white;
  border: 2px solid #00bfa5;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.add-household-member-modal-overlay .modal-card .sms-opt-in, .add-household-member-modal-overlay .modal-card .content .textfield,
.add-household-member-modal-overlay .modal-card .content .family-slider,
.add-household-member-modal-overlay .modal-card .content .family-label {
  width: 100% !important;
}

.add-household-member-modal-overlay .merge-member-container .cancel-members, .add-household-member-modal-overlay .merge-member-container .submit-members {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.add-household-member-modal-overlay .merge-member-container .cancel-members:disabled, .add-household-member-modal-overlay .merge-member-container .submit-members:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.add-household-member-modal-overlay .merge-member-container .submit-members {
  border-color: #00bfa5;
  color: #00bfa5;
}

.add-household-member-modal-overlay .merge-member-container .cancel-members {
  border-color: #ed5454;
  color: #ed5454;
}

.add-household-member-modal-overlay .merge-member-container .submit-members:hover, .add-household-member-modal-overlay .merge-member-container .cancel-members:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.add-household-member-modal-overlay .merge-member-container .submit-members:disabled:hover, .add-household-member-modal-overlay .merge-member-container .cancel-members:disabled:hover {
  cursor: default;
}

.add-household-member-modal-overlay .modal-container {
  box-sizing: border-box;
  width: 100%;
  height: auto;
}
.add-household-member-modal-overlay .modal {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  margin: 0;
}
@media (min-width: 671.125px) {
  .add-household-member-modal-overlay .modal {
    position: absolute;
    top: 0.5rem;
    left: 2rem;
    right: 2rem;
  }
}
@media (min-width: 896px) {
  .add-household-member-modal-overlay .modal {
    width: 40rem;
    position: relative;
    box-sizing: border-box;
  }
}
.add-household-member-modal-overlay .modal-card {
  margin-bottom: 0.5rem;
}
.add-household-member-modal-overlay .modal-card .content {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 0 1.5em 2em 1.5em;
}
@media (min-width: 671.125px) {
  .add-household-member-modal-overlay .modal-card .content .textfield,
  .add-household-member-modal-overlay .modal-card .content .family-slider,
  .add-household-member-modal-overlay .modal-card .content .family-label {
    width: 46% !important;
  }
}
.add-household-member-modal-overlay .modal-card .content .family-header {
  margin: 1em 0 0;
}
.add-household-member-modal-overlay .modal-card .content .family-slider {
  height: 3em;
}
.add-household-member-modal-overlay .modal-card .content .family-label {
  margin-top: 1.5em;
  margin-bottom: 0;
}
.add-household-member-modal-overlay .modal-card .error {
  padding: 0 1.5em 2em 1.5em;
  color: #ed5454;
}
.add-household-member-modal-overlay .modal-card .modal-button {
  margin: 0 auto;
  width: 18.75rem;
}
.add-household-member-modal-overlay .merge-member-container {
  margin: 0 1.5rem;
}
.add-household-member-modal-overlay .merge-member-container h2 {
  color: #333333;
}
.add-household-member-modal-overlay .merge-member-container .merge-member-item {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.add-household-member-modal-overlay .merge-member-container .submit-members {
  margin-left: 1.875rem;
}
.add-household-member-modal-overlay .merge-member-container .button-row {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
}
.add-household-member-modal-overlay .override-container .error {
  display: inline-block;
}
.add-household-member-modal-overlay .override-container .label {
  display: inline-block;
  margin-right: 20px;
}
.add-household-member-modal-overlay .override-container .toggle {
  display: inline-block !important;
  width: 30px !important;
}
.program-attestation-error .error-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 1.5rem 0 1.5rem;
}
.program-attestation-error .error-header h2 {
  color: black;
  text-align: center;
}
.program-attestation-error .error-header .icon-container {
  padding: 0em;
}
.program-attestation-error .error-header .icon {
  font-size: 4rem;
}
.program-attestation-error .error-body {
  padding-top: 1.5rem;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  flex: 1;
}
.program-attestation-error .diagnostic-info {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-right: 1.5rem;
  padding-left: 1.5rem;
}
.program-attestation-error .diagnostic-info p {
  color: darkgray;
  text-align: center;
}
.program-attestation-error .error-footer {
  display: flex;
  justify-content: flex-end;
  padding: 1.5rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.program-attestation-react-modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
}

.program-attestation-react-modal-content {
  position: relative;
  inset: auto;
  max-width: 90%;
  max-height: 90%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 4px;
  overflow: auto;
}

.program-attestation-modal {
  display: flex;
  flex-direction: column;
  background-color: white;
  overflow: hidden;
  width: clamp(300px, 40vw, 1200px);
}
.program-attestation-modal .hidden {
  display: none;
}
.program-attestation-modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #00bfa5;
  color: white;
  padding: 1em 1.5em;
}
.program-attestation-modal .modal-header h2 {
  margin: 0;
  font-size: 1.2rem;
  color: white;
}
.program-attestation-modal .modal-header .close-button {
  background: transparent;
  border: none;
  color: white;
  font-size: 1.2rem;
  cursor: pointer;
  padding: 0;
  padding-left: 2rem;
}
.program-attestation-modal .modal-body {
  padding: 1.5rem;
  flex: 1;
}
.program-attestation-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  padding: 1.5rem 0;
}
.program-attestation-modal .complete-icon {
  font-size: 5rem;
  color: #00bfa5;
  padding-bottom: 1rem;
}
.program-attestation-modal .introduction-icon {
  font-size: 5rem;
  color: black;
  padding-bottom: 1rem;
}

.program-attestation-introduction h2 {
  color: black;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.program-attestation-introduction p {
  color: black;
  text-align: center;
  margin-top: 1rem;
}

.program-attestation-eligibility-confirmation h2 {
  color: black;
  font-size: 1.5rem;
  text-align: center;
}
.program-attestation-eligibility-confirmation h4 {
  color: black;
  text-align: center;
  margin-top: 1rem;
}
.program-attestation-eligibility-confirmation .eligible-icon {
  font-size: 5rem;
  color: #56bca6;
}
.program-attestation-eligibility-confirmation .ineligible-icon {
  font-size: 5rem;
  color: #eab843;
}

.program-attestation-submission h2,
.program-attestation-submission h4 {
  color: black;
  text-align: center;
  margin-top: 1rem;
}
.program-attestation-submission .eligible-icon {
  font-size: 5rem;
  color: #56bca6;
}
.program-attestation-submission .ineligible-icon {
  font-size: 5rem;
  color: #eab843;
}
.wizard-form .wizard-form-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 1.5rem;
}
.wizard-form .wizard-form-required-footer {
  margin-top: 1em;
}
.wizard-form .wizard-form-required-footer p {
  margin: 0;
}
.wizard-form .wizard-form-footer button:last-child {
  margin-left: auto;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.jsonforms {
  /* inputs and controls */
}
.jsonforms .control {
  display: flex;
  flex-direction: column;
}
.jsonforms .input-wrapper:not(.multiselect) {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  position: relative;
  width: 100%;
  font-size: 1rem;
  padding: 10px 0 6px 0;
  border: none;
  border-bottom: 1px solid #e5eaea;
  background: transparent;
  outline: none;
  transition: border-color 0.2s;
}
.jsonforms .input-wrapper:not(.multiselect).invalid {
  border-bottom-color: #ed5454;
}
.jsonforms .input-wrapper:not(.multiselect):focus {
  border-bottom: 2px solid #00bfa5;
  margin-bottom: -1px; /* Maintain layout when border increases */
  box-shadow: 0 1px 0 0 rgba(0, 191, 165, 0.1);
}
.jsonforms .input-wrapper:not(.multiselect):focus.invalid {
  border-bottom-color: #ed5454;
}
.jsonforms .input-label {
  font-size: 1rem;
  color: black;
  margin-bottom: 4px;
  transition: color 0.2s;
}
.jsonforms .select.invalid {
  border-color: #ed5454;
}
.jsonforms .checkbox {
  height: 1rem;
  margin-right: auto;
}
.jsonforms .checkbox.invalid {
  outline: 0.1rem solid #ed5454;
  outline-offset: 0.1rem;
}
.jsonforms .radio {
  height: 1rem;
}
.jsonforms .radio.invalid {
  outline: 0.1rem solid #ed5454;
  outline-offset: 0.1rem;
}
.jsonforms {
  /* Description/help text */
}
.jsonforms .description {
  color: #8a9199;
  font-size: 0.75rem;
  margin-top: 4px;
  min-height: 18px;
}
.jsonforms .description.validation-error {
  color: #ed5454;
}
.jsonforms {
  /* Group styling */
}
.jsonforms .group-layout {
  border: 1px solid transparent;
  padding: 0;
}
.jsonforms .group-label {
  font-size: 1.2rem;
  color: black;
  margin-bottom: 1rem;
  padding: 0;
}
.jsonforms .group-layout-item {
  margin-bottom: 1rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.searchable-enum {
  position: relative;
  box-sizing: border-box;
  width: 100%;
}

.searchable-enum-input {
  box-sizing: border-box;
  width: 100%;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 1rem;
  padding: 10px 0 6px 0;
  border: none;
  border-bottom: 1px solid #e5eaea;
  background: transparent;
  outline: none;
  transition: border-color 0.2s;
}
.searchable-enum-input:focus {
  border-bottom: 2px solid #00bfa5;
  margin-bottom: -1px;
  box-shadow: 0 1px 0 0 rgba(0, 191, 165, 0.1);
}
.searchable-enum-input:disabled {
  background-color: #f5f5f5;
  cursor: not-allowed;
}
.searchable-enum-input--stale {
  color: #8a9199;
  font-style: italic;
}

.searchable-enum-dropdown {
  position: fixed;
  z-index: 1300;
  max-height: 300px;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: #fff;
  border: 1px solid #e5eaea;
  border-top: none;
  border-radius: 0 0 4px 4px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.searchable-enum-option {
  padding: 10px 12px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.searchable-enum-option:hover, .searchable-enum-option.highlighted {
  background-color: #f5f5f5;
}
.searchable-enum-option.selected {
  background-color: #dcf0ea;
  color: #008573;
  font-weight: 500;
}
.searchable-enum-option.highlighted.selected {
  background-color: rgb(202.15, 232.35, 223.29);
}
.searchable-enum-option--clear {
  color: #8a9199;
  font-style: italic;
}

.searchable-enum-no-results {
  padding: 10px 12px;
  color: #8a9199;
  text-align: center;
  font-style: italic;
}
.action-prompt .action-prompt-header {
  display: flex;
  justify-content: center;
  align-items: center;
}
.action-prompt .action-prompt-body {
  padding-bottom: 1.5rem;
  flex: 1;
}
.action-prompt .action-prompt-footer {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
}
.action-prompt .action-prompt-footer button:last-child {
  margin-left: auto;
}
.visit-program-menu-item-unattested {
  color: #de5e57 !important;
}
.program-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  height: 1.2rem;
  padding: 0 0.4rem;
  margin: 0.2rem 0.4rem;
  border-radius: 4px;
  gap: 6px;
  font-family: inherit;
  font-weight: 600;
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.program-status-badge .badge-text {
  color: white;
  display: flex;
  align-items: center;
}
.program-status-badge .badge-icon {
  color: white;
  font-size: 12px;
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
.program-status-badge.unattested {
  background-color: #de5e57;
}
.program-status-badge.eligible {
  background-color: #56bca6;
}
.program-status-badge.notapplicable {
  background-color: #56bca6;
}
.program-status-badge.ineligible {
  background-color: #eab843;
}
.program-status-badge.unknown {
  background-color: black;
}
.program-status-badge.loading {
  background-color: gray;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.schedule-entry .date-circle .month-day, .schedule-entry .date-circle .week-day {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.schedule-entry {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  padding: 0;
  border-bottom: 1px solid #e5eaea;
  color: #a9b1b8;
  height: 6rem;
}
.schedule-entry ~ .schedule-entry {
  border-top: 0;
}
.schedule-entry .date-circle {
  margin: 0 1rem;
  width: 4rem;
  height: 4rem;
  border-radius: 2.5rem;
  background-color: #00bfa5;
  color: white;
  text-align: center;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.schedule-entry .date-circle .week-day {
  text-transform: uppercase;
  font-size: 0.75em;
}
.schedule-entry .date-circle .month-day {
  font-size: 1.5em;
}
.schedule-entry .date-details {
  flex: 1 1 auto;
  cursor: pointer;
  color: #333333;
  font-size: 1rem;
}
.schedule-entry .date-details .count {
  font-size: 0.875rem;
}
.schedule-entry .date-menu {
  position: relative;
  width: 2rem;
  padding-right: 1rem;
}
.schedule-entry .date-menu .icon {
  cursor: pointer;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.schedule-entry .date-menu:hover .icon {
  color: #00bfa5;
}
.schedule-entry .date-menu a,
.schedule-entry .date-menu a:hover {
  color: inherit;
  text-decoration: none;
}
.schedule-entry .schedule-month-dropdown:hover {
  background-color: transparent;
}
.schedule-entry.white-background {
  background-color: white;
}
.schedule-entry.white-background:hover {
  background-color: #e5f9f6;
}
.schedule-entry.green-title .month-day {
  color: #00bfa5;
}
.schedule-entry.red-title .month-day {
  color: #ed5454;
}
.schedule-entry.is-past .date-circle {
  background-color: #a9b1b8;
}
.schedule-entry .spinner-container {
  padding: 0 1rem;
}
.schedule-entry .small-spinner {
  height: 24px;
  width: 24px;
}

a.menu-a-link,
a.menu-a-link:hover {
  color: inherit;
  text-decoration: none;
  font-size: 16px;
  line-height: 24px;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.no-services-container {
  padding: 1rem;
}
.no-services-container .spacer {
  margin-top: 4rem;
}
.no-services-container .text {
  color: #333333;
  font-size: 1.4em;
  font-weight: 300;
}
.no-services-container .text a {
  font-size: 1em;
  font-weight: 300;
}
.no-services-container .image-container {
  text-align: center;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.service-modal .modal-container {
  justify-content: flex-start;
}
.service-modal .modal {
  width: 560px;
  margin-top: 6.25rem;
}
@media (max-width: 671.125px) {
  .service-modal .modal {
    margin: 92px 0 0;
    max-width: calc(100% - 2em);
  }
}
.service-modal .modal form {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1.5em;
}
.service-modal .modal form .input-container {
  width: 232px;
  margin-bottom: 16px;
}
@media (max-width: 671.125px) {
  .service-modal .modal form .input-container {
    width: 100%;
  }
}
.service-modal .modal form .from-until-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.service-modal .modal form .time-picker {
  width: 110px;
}
@media (max-width: 671.125px) {
  .service-modal .modal form .time-picker {
    width: calc(50% - 10px);
  }
}
.service-modal .modal form label {
  font-size: 12px !important;
}
.service-modal .modal .alert-container {
  background-color: #f4e5e2;
  padding: 0 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-bottom: 24px;
}
.service-modal .modal .alert-container p {
  color: #ed5454;
  padding-left: 18px;
}
.service-modal .buttons-container {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.service-modal .buttons-container button {
  margin-left: 1rem;
}
.service-modal .buttons-container .spinner-container {
  width: 8.125rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.service-modal .error {
  color: #ed5454;
}
.service-modal .modal-card {
  padding-bottom: 0;
}

.service-error-message {
  background-color: #ed5454;
  padding: 0 1rem;
  margin: 0 1.5em 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.service-error-message p {
  color: white;
}
.service-error-message .icon {
  color: white;
  margin: 10px;
}

.impacted-services-container table {
  width: 100%;
  margin-bottom: 1.5rem;
}
.impacted-services-container th {
  text-align: left;
  border-bottom: 1px solid #e5eaea;
}

.service-capacity {
  width: 100%;
  padding: 1em;
  background-color: rgba(0, 191, 165, 0.1);
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.0705882353);
  margin: 1em 0 2em;
}

.service-capacity__summary {
  margin: 0 0 1em;
}

.service-capacity__toggle {
  font-size: 85%;
  cursor: pointer;
}
.service-capacity__toggle, .service-capacity__toggle::marker {
  color: #333333;
}

.service-capacity__details {
  padding-left: 10px;
  border-left: 2px solid rgba(0, 0, 0, 0.0705882353);
  margin-top: 1.5em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.delete-service-content {
  padding: 1.5em;
}
.delete-service-content p {
  font-size: 1rem;
}
.delete-service-content .delete-question {
  line-height: 24px;
}
.delete-service-content .buttons {
  float: right;
}
.delete-service-content .buttons .form-button--reverse--red {
  margin-left: 1.5rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.schedule .header h4, .schedule .entry .date .month-day {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.schedule .entry .date .month-day {
  font-size: 2em;
  color: #01579b;
}

.schedule .header h4 {
  font-size: 1.5em;
  color: #333333;
}

.schedule .header h4 {
  color: #a9b1b8;
}

@media (max-width: 1260px) {
  .schedule {
    padding-right: 1rem;
    padding-bottom: 1.5rem;
  }
}
@media (max-width: 896px) {
  .schedule {
    padding-right: 0rem;
  }
}
.schedule .header {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  height: 3.4em;
}
@media (max-width: 896px) {
  .schedule .header {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.schedule .header svg {
  color: #a9b1b8;
}
.schedule .header h4 {
  color: #333333;
  flex: 1 1 auto;
  font-size: 1.4em;
  font-weight: 500;
}
.schedule .header .link-container {
  display: none;
  flex-direction: row;
  align-items: center;
}
@media (min-width: 671.125px) {
  .schedule .header .link-container {
    display: flex;
  }
}
.schedule .header .link-container .link-container-item {
  margin-left: 1.5rem;
}
@media (max-width: 1120px) {
  .schedule .header .link-container .link-container-item {
    margin-left: 0.75rem;
  }
}
.schedule .header .link-container button {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0.25rem;
}
.schedule .header .mobile-link-container {
  display: flex;
}
@media (min-width: 671.125px) {
  .schedule .header .mobile-link-container {
    display: none;
  }
}
.schedule .header .mobile-link-container button {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0.25rem;
}
.schedule .header .mobile-link-container .spacer {
  width: 0.75rem;
}
.schedule .header .spinner-container {
  padding-top: 0.375rem;
}
.schedule .header .schedule-month-export a {
  text-transform: uppercase;
  color: #01579b;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.875rem;
}
.schedule .header .schedule-month-export a:hover {
  text-decoration: none;
}
.schedule .header .tefap-print {
  text-transform: uppercase;
  color: #01579b;
  cursor: pointer;
  padding-right: 1.25rem;
  width: 6.25rem;
  font-weight: 500;
}
@media (max-width: 671.125px) {
  .schedule .header {
    margin-top: 0;
  }
  .schedule .header svg {
    margin-right: 1em;
  }
  .schedule .header h4 {
    font-size: 1.14em;
  }
}
.schedule .entry {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  padding: 1.5em;
  border: 1px solid #e5eaea;
}
.schedule .entry ~ .entry {
  border-top: 0;
}
.schedule .entry .date {
  flex: 1 1 auto;
}
.schedule .entry .date .month-day {
  display: block;
  color: #a9b1b8;
  margin-bottom: 0.3em;
}
.schedule .entry .date .day-time {
  color: #a9b1b8;
}
.schedule .entry .count {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  padding: 0 2em;
}
.schedule .entry .count ~ .count {
  border-left: 1px solid #e5eaea;
  padding-right: 1em;
}
.schedule .entry.new {
  background-color: white;
}
.schedule .entry.new .month-day {
  color: #00bfa5;
}
.schedule .next-prev-month {
  background-color: white;
  height: 4rem;
  border-bottom: 1px solid #e5eaea;
}
.schedule .next-prev-month .month-label {
  display: inline-block;
  color: #01579b;
  text-transform: uppercase;
  margin: 1.5em 0.5em 0 1em;
  cursor: pointer;
}
.schedule .next-prev-month .month-label.label-right {
  float: right;
}
.schedule .next-prev-month .month-label.label-right span {
  margin-right: 1em;
}

.schedule-menu-mobile-dropdown {
  margin-top: 3.875rem;
}
.schedule-menu-mobile-dropdown a {
  color: inherit;
  font-size: 1rem;
}
.schedule-menu-mobile-dropdown a :hover {
  text-decoration: none;
}

.impacted-services {
  max-width: 25rem;
}
.impacted-services .impacted-service {
  display: flex;
  flex-direction: row;
}
.impacted-services .name {
  width: 18.75rem;
}

.print-dropdown {
  position: relative;
  display: inline-block;
}
.print-dropdown .print-dropdown-btn {
  display: flex;
  align-items: center;
  background: none;
  border: none;
  color: #01579b;
  cursor: pointer;
  font-weight: 500;
  text-transform: uppercase;
  padding: 0.5rem 0rem;
  font-size: 0.875rem;
}
.print-dropdown .print-dropdown-btn:hover {
  text-decoration: none;
}
.print-dropdown .print-dropdown-btn .print-icon {
  margin-right: 0.5rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.user-icons-container .icon {
  margin-right: 1em;
}
.user-icons-container .alert {
  color: #ed5454;
}
.user-icons-container .additional-info {
  margin-left: 1em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.person-row {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
}
.person-row .info {
  flex: 1 1 auto;
}
.person-row .info .time {
  color: #00bfa5;
  display: block;
}
.person-row .info .time.alert-text {
  color: #ed5454;
}
.person-row .info .time.unverified {
  color: #ed5454;
}
.person-row .info .number {
  color: #00bfa5;
  display: none;
}
.person-row .detail > span {
  margin-left: 0.5em;
}
.person-row .reply {
  display: none;
  color: #00bfa5;
}
.person-row .home {
  color: #a9b1b8;
}
.person-row .user-icons {
  margin-left: 1em;
}
.person-row.green-time .info > button {
  color: #00bfa5;
}
.person-row.green-number .info > button {
  display: none;
}
.person-row.green-number .info > .number {
  display: inline;
  color: #00bfa5;
}
.person-row.gray-number .info > button {
  display: none;
}
.person-row.gray-number .info .time {
  color: #a9b1b8;
}
.person-row.gray-number .info > .number {
  display: inline;
  color: #a9b1b8;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.today-client-row .served-button.unserved, .today-client-row .next-appointment, .today-client-row .served-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.today-client-row .next-appointment:disabled, .today-client-row .served-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.today-client-row .next-appointment, .today-client-row .served-button {
  border-color: #00bfa5;
  color: #00bfa5;
}

.today-client-row .served-button.unserved {
  border-color: #a9b1b8;
  color: #a9b1b8;
}

.today-client-row .next-appointment:hover, .today-client-row .served-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.today-client-row .next-appointment:disabled:hover, .today-client-row .served-button:disabled:hover {
  cursor: default;
}

.today-client-row {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  padding: 1rem;
  border-bottom: 1px solid #e5eaea;
  background-color: white;
}
.today-client-row.has-space-before {
  margin-top: 32px;
}
.today-client-row.hidden {
  display: none;
}
.today-client-row .checkbox-checked,
.today-client-row .arrow {
  color: #00bfa5;
}
.today-client-row .checkbox-not-checked {
  color: #a9b1b8;
}
.today-client-row .checkbox-not-checked,
.today-client-row .checkbox-checked {
  display: none;
}
.today-client-row.checked .checkbox-not-checked,
.today-client-row.checked .arrow {
  display: none;
}
.today-client-row.checked .checkbox-checked {
  display: inline;
}
.today-client-row.unchecked .checkbox-checked,
.today-client-row.unchecked .arrow {
  display: none;
}
.today-client-row.unchecked .checkbox-not-checked {
  display: inline;
}
.today-client-row .person-info {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  flex: 1 1 auto;
}
.today-client-row .person-info > div {
  flex: 1 1 auto;
}
.today-client-row .person-info .checkbox-checked:hover,
.today-client-row .person-info .checkbox-not-checked {
  cursor: pointer;
}
.today-client-row .unverified {
  color: #ed5454;
}
.today-client-row .serve {
  display: flex;
  justify-content: flex-end;
  align-self: stretch;
  align-items: center;
  flex: 0 0 auto;
}
.today-client-row .serve span {
  display: none;
  text-align: center;
  color: #00bfa5;
  padding: 0 1em;
  font-size: 0.9em;
}
.today-client-row .serve .check {
  color: #00bfa5;
}
.today-client-row .serve .error {
  color: #ed5454;
}
@media (max-width: 896px) {
  .today-client-row .serve {
    flex-direction: column;
    align-items: flex-end;
    align-self: auto;
  }
}
.today-client-row .served-button {
  width: 90px;
  padding: 0.4em 0;
}
.today-client-row .served-button.unserved {
  width: 90px;
  padding: 0.4em 0;
}
.today-client-row .next-appointment {
  width: 140px;
  padding: 0.4em 0;
  margin-right: 10px;
}
@media (max-width: 896px) {
  .today-client-row .next-appointment {
    margin-bottom: 5px;
    margin-right: 0;
  }
}
.today-client-row .schedule-confirmation {
  width: 140px;
  margin-right: 10px;
  color: #a9b1b8;
  text-transform: uppercase;
  font-size: 13px;
}
@media (max-width: 896px) {
  .today-client-row .schedule-confirmation {
    margin-bottom: 5px;
    margin-right: 0;
    text-align: right;
  }
}
.today-client-row .person-info-menu {
  margin-left: 1em;
  cursor: pointer;
  color: #a9b1b8;
  position: relative;
}
.today-client-row .person-info-menu .icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.block-header {
  border-top: 1px solid #e5eaea;
  border-bottom: 1px solid #e5eaea;
  background-color: white;
  margin-top: 32px;
  height: 32px;
  line-height: 32px;
  padding: 0rem 1rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.now-serving-modal .modal-container .modal .form .textfield {
  width: 100% !important;
}

.now-serving-modal .modal-container .modal .form .confirm {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.now-serving-modal .modal-container .modal .form .confirm:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.now-serving-modal .modal-container .modal .form .confirm:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.now-serving-modal .modal-container .modal .form .confirm:disabled:hover {
  cursor: default;
}

.now-serving-modal .modal-container .modal .form .cancel {
  vertical-align: middle;
  text-decoration: none;
  border: 2px solid #a9b1b8;
  border-radius: 4px;
  padding: 0.75em 2em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.now-serving-modal .modal-container .modal {
  width: 27em;
}
.now-serving-modal .modal-container .modal .form {
  display: flex;
  flex-flow: column nowrap;
  justify-content: stretch;
  padding: 0 1.5em 1.5em 1.5em;
}
.now-serving-modal .modal-container .modal .form .buttons {
  display: flex;
  flex-direction: row;
  margin-bottom: 0;
}
.now-serving-modal .modal-container .modal .form .button {
  margin-right: 1rem;
  text-transform: uppercase;
  font-size: 1rem;
}
.now-serving-modal .modal-container .modal .form .cancel {
  color: #a9b1b8;
}
.now-serving-modal .modal-container .modal .form .confirm {
  background-color: #00bfa5;
  color: white;
  border: 2px solid #00bfa5;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.block-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  height: 2.3em;
  line-height: 2.3em;
  padding: 0.5em 0.5em 0.5em 1em;
}
.block-header .green-border-button {
  font-size: 0.9em;
  line-height: 0.75rem;
}
.block-header .expand-button-container {
  cursor: pointer;
  padding-left: 0.5em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.client-filter {
  background-color: white;
  padding: 1em;
  border-top: 1px solid #e5eaea;
  border-bottom: 1px solid #e5eaea;
}

.search {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.search input {
  flex: 1 1 auto;
  outline: none;
  border: none;
  font-size: 1.2em;
}
.search svg {
  cursor: pointer;
  color: #a9b1b8;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.expand-collapse-all-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  margin: 0 1em -1.5em 0;
}
.expand-collapse-all-container p {
  margin: 0.5em 0 0 1em;
  color: #00bfa5;
  cursor: pointer;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.slider-container {
  width: 80px;
  display: flex;
  align-items: center;
  border-bottom: 1px solid #e5eaea;
}
.slider-container .slider-left {
  width: 20px;
  font-size: 20px;
  text-align: center;
  cursor: pointer;
}
.slider-container .slider-left:hover {
  background-color: #e5eaea;
}
.slider-container .slider-middle {
  width: 30px;
  text-align: center;
  font-size: 16px;
  margin-left: 10px;
  margin-right: -3px;
}
.slider-container .slider-right {
  width: 20px;
  text-align: center;
  font-size: 20px;
  cursor: pointer;
}
.slider-container .slider-right:hover {
  background-color: #e5eaea;
}
.slider-container .slider-number {
  width: 24px;
  font-family: "Roboto", sans-serif !important;
  font-size: 16px;
  border: 0;
}
.slider-container .slider-number.disabled {
  color: #a9b1b8;
}
.slider-container input::-webkit-outer-spin-button,
.slider-container input::-webkit-inner-spin-button {
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
.slider-container input[type=number] {
  -moz-appearance: textfield; /* Firefox */
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.set-waiting-list-modal .modal .form .buttons > button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.set-waiting-list-modal .modal .form .buttons > button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.set-waiting-list-modal .modal .form .buttons > button {
  color: #00bfa5;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.set-waiting-list-modal .modal .form .buttons > button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.set-waiting-list-modal .modal .form .buttons > button:disabled:hover {
  cursor: default;
}

.set-waiting-list-modal .modal .form {
  padding: 0 1.5em 1em 1.5em;
  margin: 0;
}
.set-waiting-list-modal .modal .form .text-rows {
  padding-right: 2em;
}
.set-waiting-list-modal .modal .form .inline-input {
  display: inline-block;
  width: 100px !important;
  margin: 0 10px;
}
.set-waiting-list-modal .modal .form .buttons {
  float: right;
  margin: 1.5em 0 1em;
}
.set-waiting-list-modal .modal .form .buttons > button {
  margin-right: 1rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.edit-appointment-time-modal .modal-container {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  background-color: rgba(0, 0, 0, 0);
  overflow: hidden;
}
.edit-appointment-time-modal .modal {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  margin: 0;
}
@media (min-width: 671.125px) {
  .edit-appointment-time-modal .modal {
    position: relative;
    box-sizing: border-box;
    width: 35rem;
    display: block;
  }
}
.edit-appointment-time-modal .modal-header {
  padding: 0;
  margin: 1.25rem 2.1875rem;
}
.edit-appointment-time-modal .modal-card {
  overflow: hidden;
  margin-bottom: 0;
  padding-bottom: 0;
}
.edit-appointment-time-modal .modal-form {
  margin: 0;
}
.edit-appointment-time-modal .subheading {
  margin: -0.9375rem 2.1875rem 1.25rem;
  width: 100%;
  display: block;
  font-size: 16px;
}
.edit-appointment-time-modal .modal-body {
  padding: 1rem;
}
.edit-appointment-time-modal .content {
  height: 20.625rem;
  overflow: scroll;
  margin: 0rem 2.1875rem 1.25rem;
}
.edit-appointment-time-modal .content .radio-container {
  display: inline-block;
  flex-flow: column nowrap;
  align-items: stretch;
  cursor: pointer;
  width: 162px;
}
.edit-appointment-time-modal .content .radio-container .radio-selected {
  display: none;
  color: #00bfa5;
}
.edit-appointment-time-modal .content .radio-container .radio {
  display: inline;
  color: #a9b1b8;
}
.edit-appointment-time-modal .content .radio-container .radio,
.edit-appointment-time-modal .content .radio-container .radio-selected {
  padding-right: 1em;
}
.edit-appointment-time-modal .content .radio-container label {
  display: flex;
  cursor: pointer;
  padding: 0.625rem 0.9375rem 0.9375rem 0;
}
.edit-appointment-time-modal .content .radio-container label.selected .radio-selected {
  display: inline;
}
.edit-appointment-time-modal .content .radio-container label.selected .radio {
  display: none;
}
.edit-appointment-time-modal .content .radio-container label.disabled {
  color: #e5eaea;
  cursor: default;
}
.edit-appointment-time-modal .content .radio-container label.disabled span {
  color: #e5eaea;
}
.edit-appointment-time-modal .content .radio-container label.disabled .radio {
  color: #e5eaea;
}
.edit-appointment-time-modal .content .radio-container .spots-label {
  display: flex;
  flex-direction: column;
}
.edit-appointment-time-modal .content .radio-container .spots-remaining {
  font-size: 12px;
}
.edit-appointment-time-modal .content .radio-container input[type=radio] {
  position: absolute;
  left: -9999px;
}
.edit-appointment-time-modal .button-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0rem 1.25rem 1.25rem;
}
.edit-appointment-time-modal .button-row .clear-link {
  color: #a9b1b8;
  text-transform: uppercase;
  margin-right: 1.875rem;
  font-weight: 500;
  cursor: pointer;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.deactivated-phone {
  display: flex;
  flex-direction: column;
}
.deactivated-phone .toggle-with-instruction {
  margin-top: 1em;
  display: flex;
  flex-direction: row;
}
.deactivated-phone .toggle {
  margin-left: -8px;
  width: 30px !important;
}
.deactivated-phone .instruction {
  margin-left: 2em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.qr-scanner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.qr-scanner-container h4 {
  margin-bottom: 12px;
  font-weight: 500;
}
.qr-scanner-container video {
  margin-bottom: 12px;
}
.qr-scanner-container .column {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
  flex-direction: column;
  width: 320px;
}
.qr-scanner-container .column button {
  margin-top: 12px !important;
}
@media (min-width: 671.125px) {
  .qr-scanner-container .column {
    width: auto;
  }
}
@media (min-width: 671.125px) {
  .qr-scanner-container .right-column {
    margin-left: 16px;
  }
}
.qr-scanner-container button {
  height: 40px;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.add-visitor-modal-overlay .modal-card .sms-opt-in, .add-visitor-modal-overlay .modal-card .content .textfield {
  width: 100% !important;
}

.add-visitor-modal-overlay .modal-container {
  box-sizing: border-box;
  width: 100%;
  height: auto;
}
.add-visitor-modal-overlay .modal {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  margin: 0;
}
@media (min-width: 671.125px) {
  .add-visitor-modal-overlay .modal {
    position: relative;
    box-sizing: border-box;
    max-height: 100%;
    width: 35rem;
    display: block;
  }
}
.add-visitor-modal-overlay .modal-header {
  padding: 0;
  margin: 1.25rem 2.1875rem;
}
.add-visitor-modal-overlay .modal-card {
  padding: 0;
  margin-bottom: 0;
}
.add-visitor-modal-overlay .modal-card .content {
  padding: 0;
  margin: 0rem 2.1875rem;
}
@media (min-width: 671.125px) {
  .add-visitor-modal-overlay .modal-card .content .textfield {
    width: 46% !important;
  }
}
.add-visitor-modal-overlay .modal-card .content .family-header {
  margin: 1em 0;
}
.add-visitor-modal-overlay .modal-card .content .family-slider {
  height: 2em;
}
.add-visitor-modal-overlay .modal-card .content .family-label {
  margin: 0;
  font-size: 14px;
}
.add-visitor-modal-overlay .modal-card .content .no-phone-number {
  margin-top: 12px;
}
.add-visitor-modal-overlay .modal-card .content .client-time {
  position: relative;
  cursor: pointer;
  height: 3.125rem;
}
.add-visitor-modal-overlay .modal-card .content .client-time .time-label {
  position: absolute;
  line-height: 22px;
  top: 4px;
  color: rgba(0, 0, 0, 0.498039);
  font-size: 12px;
}
.add-visitor-modal-overlay .modal-card .content .client-time .time-field {
  position: absolute;
  top: 27px;
  width: 100%;
  font-size: 16px;
  border-bottom: 1px solid rgb(224, 224, 224);
  padding-bottom: 3px;
  display: flex;
  justify-content: space-between;
}
.add-visitor-modal-overlay .modal-card .content .client-time .time-field .edit {
  text-transform: uppercase;
}
.add-visitor-modal-overlay .modal-card .qr-scanner {
  display: flex;
  justify-content: center;
  margin-bottom: 1rem;
}
.add-visitor-modal-overlay .modal-card .error-container {
  margin: 0rem 2.1875rem;
}
.add-visitor-modal-overlay .modal-card .error {
  padding: 1em 0 2em 0;
  color: #ed5454;
}
.add-visitor-modal-overlay .modal-card .modal-button {
  margin: 0;
  display: inline-block;
}
.add-visitor-modal-overlay .modal-card .modal-button .qr-code {
  text-transform: none;
}
.add-visitor-modal-overlay .modal-card .row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
  flex-direction: column;
}
@media (min-width: 671.125px) {
  .add-visitor-modal-overlay .modal-card .row {
    flex-direction: row;
  }
}
.add-visitor-modal-overlay .modal-card .row-with-qr-button button {
  width: 320px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 671.125px) {
  .add-visitor-modal-overlay .modal-card .row-with-qr-button button {
    width: 46%;
    margin-left: 0;
    margin-right: 0;
  }
}
.add-visitor-modal-overlay .modal-card .button-row {
  margin: 0.625rem 2.1875rem;
}
.add-visitor-modal-overlay .modal-card .slider-row {
  width: 70%;
  margin: 8px 0 8px;
}
.add-visitor-modal-overlay .modal-card .clear-link {
  cursor: pointer;
  color: #00bfa5;
  text-decoration: underline;
}
.add-visitor-modal-overlay .modal-card .select-label {
  font-size: 12px;
  margin: 0;
  color: rgba(0, 0, 0, 0.498039);
}
.add-visitor-modal-overlay .modal-card .deactivated-phone {
  margin-top: 20px;
}
.add-visitor-modal-overlay .modal-card .submit-button-container {
  flex-direction: row;
  display: flex;
  align-items: center;
}
.add-visitor-modal-overlay .modal-card .submit-button-container .icon {
  color: #333333;
  margin-left: 0.75rem;
}
.add-visitor-modal-overlay .modal-card .submit-button-container .icon.unverified {
  color: #ed5454;
}
.add-visitor-modal-overlay .override-container {
  margin: 0rem 2.1875rem;
}
.add-visitor-modal-overlay .override-container .error {
  display: inline-block;
}
.add-visitor-modal-overlay .override-container .label {
  display: inline-block;
  margin-right: 1.25rem;
}
.add-visitor-modal-overlay .override-container .override-toggle-container {
  margin: -1.5rem 0 0.5rem 0;
}
.add-visitor-modal-overlay .search-results {
  border-top: 1px solid #e5eaea;
}
.add-visitor-modal-overlay .no-results {
  padding: 1em;
  text-align: center;
}
.add-visitor-modal-overlay .no-results p {
  margin: 0;
}
.add-visitor-modal-overlay .mobile {
  display: none;
}
@media (max-width: 671.125px) {
  .add-visitor-modal-overlay .mobile {
    display: block;
  }
}
.add-visitor-modal-overlay .non-mobile {
  display: block;
}
@media (max-width: 671.125px) {
  .add-visitor-modal-overlay .non-mobile {
    display: none;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.visit-column {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 0 1.5em 2em 1.5em;
  max-height: 20em;
  overflow: scroll;
}

.radio-container {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  cursor: pointer;
  width: 175px;
}
.radio-container .radio-selected {
  display: none;
  color: #00bfa5;
}
.radio-container .radio {
  display: inline;
  color: #a9b1b8;
}
.radio-container .radio,
.radio-container .radio-selected {
  padding-right: 1em;
}
.radio-container .time-row span {
  font-size: 16px;
}
.radio-container label {
  display: block;
  cursor: pointer;
  padding: 0.75em 1.5em 0.75em 0;
}
.radio-container label.selected .radio-selected {
  display: inline;
}
.radio-container label.selected .radio {
  display: none;
}
.radio-container label.disabled {
  color: #e5eaea;
  cursor: default;
}
.radio-container label.disabled span {
  color: #e5eaea;
}
.radio-container label.disabled .radio {
  color: #e5eaea;
}
.radio-container input[type=radio] {
  position: absolute;
  left: -9999px;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.change-visit-modal-overlay .modal-card .header h3,
.change-visit-modal-overlay .modal-card .date-selector h3 {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.change-visit-modal-overlay .modal-card .header h3,
.change-visit-modal-overlay .modal-card .date-selector h3 {
  font-size: 1.5em;
  color: #333333;
}

.change-visit-modal-overlay .modal-container {
  box-sizing: border-box;
  width: 100%;
  height: auto;
}
.change-visit-modal-overlay .modal {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  margin: 0;
}
@media (min-width: 671.125px) {
  .change-visit-modal-overlay .modal {
    position: absolute;
    top: 0.5rem;
    left: 2rem;
    right: 2rem;
  }
}
@media (min-width: 896px) {
  .change-visit-modal-overlay .modal {
    width: 40rem;
    position: relative;
    box-sizing: border-box;
  }
}
.change-visit-modal-overlay .modal-card .header,
.change-visit-modal-overlay .modal-card .date-selector {
  height: 3.5rem;
  border-bottom: 1px solid #e5eaea;
}
.change-visit-modal-overlay .modal-card .header h3,
.change-visit-modal-overlay .modal-card .date-selector h3 {
  font-weight: 400;
  font-size: 24px;
  padding: 0.7em 0 0 1em;
}
.change-visit-modal-overlay .modal-card .date-selector {
  position: relative;
  text-align: center;
}
.change-visit-modal-overlay .modal-card .date-selector .arrow {
  display: inline-block;
  margin-top: 1em;
  cursor: pointer;
}
.change-visit-modal-overlay .modal-card .date-selector .display-date {
  display: inline-block;
  margin-top: 1.2em;
  font-size: 16px;
  color: #333333;
}
.change-visit-modal-overlay .modal-card .date-selector .arrow-left {
  position: absolute;
  left: 12px;
}
.change-visit-modal-overlay .modal-card .date-selector .arrow-left.disabled {
  cursor: default;
}
.change-visit-modal-overlay .modal-card .date-selector .arrow-right {
  position: absolute;
  right: 6px;
}
.change-visit-modal-overlay .modal-card .date-selector .arrow-right.disabled {
  cursor: default;
}
.change-visit-modal-overlay .modal-card .content {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 0 1.5em 2em 1.5em;
}
.change-visit-modal-overlay .modal-card .active {
  color: #00bfa5;
}
.change-visit-modal-overlay .modal-card .disabled {
  color: #e5eaea;
}
.change-visit-modal-overlay .modal-card .blocks {
  padding: 1.4em;
}
.change-visit-modal-overlay .modal-card .error {
  padding: 0 1.5em 2em 1.5em;
  color: #ed5454;
}
.change-visit-modal-overlay .modal-card button,
.change-visit-modal-overlay .modal-card .button {
  color: #00bfa5;
  text-transform: uppercase;
  float: right;
  font-size: 14px;
  font-weight: 500;
}
.change-visit-modal-overlay .modal-card button {
  margin: 1em 3em 1em 3em;
}
.change-visit-modal-overlay .modal-card .button {
  margin: 0.5em 0;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.verify-client-modal .modal {
  width: 23.75rem;
}
@media (min-width: 671.125px) {
  .verify-client-modal .modal {
    width: 37.5rem;
  }
}
.verify-client-modal .modal-card {
  position: relative;
}
.verify-client-modal .button-row {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (min-width: 671.125px) {
  .verify-client-modal .button-row {
    flex-direction: row;
    margin: 0 1.25rem;
  }
}
.verify-client-modal .button-row button,
.verify-client-modal .button-row a {
  margin: 0 1.25rem 0.9375rem;
}
@media (min-width: 671.125px) {
  .verify-client-modal .button-row button,
  .verify-client-modal .button-row a {
    margin: 0 0 0.875rem;
  }
}
.verify-client-modal .person-details {
  margin: 20px 20px 0;
}
.verify-client-modal .explanation {
  margin: 0 20px;
}
.verify-client-modal td {
  padding-right: 5px;
}
.verify-client-modal td p {
  margin: 0;
}
.verify-client-modal .verified-until {
  width: 100%;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.no-answer {
  color: #ed5454;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.edit-household-modal .modal {
  width: 23.75rem;
}
.edit-household-modal .modal-card {
  position: relative;
}
.edit-household-modal .family-members {
  margin: 0 1.5rem 1.5rem;
}
.edit-household-modal .apply-to {
  margin-top: -2.25rem;
  width: 18.75rem !important;
}
.edit-household-modal .button-row {
  display: flex;
  justify-content: space-around;
}
.edit-household-modal .family-slider {
  height: 1.5rem;
  margin-bottom: 0.875rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.client-details-modal .modal {
  width: 25em;
}
.client-details-modal .modal .client-details {
  display: flex;
  flex-flow: column nowrap;
  justify-content: stretch;
  padding: 1.5em 1.5em 1.5em 1.5em;
}
.client-details-modal .modal .table-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 0.5em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.edit-info-modal .button-row .cancel {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.edit-info-modal .button-row .cancel:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.edit-info-modal .button-row .cancel {
  border-color: #a9b1b8;
  color: #a9b1b8;
}

.edit-info-modal .button-row .cancel:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.edit-info-modal .button-row .cancel:disabled:hover {
  cursor: default;
}

.edit-info-modal .modal {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  right: 0.5rem;
  margin: 0;
  max-width: 100%;
}
@media (min-width: 671.125px) {
  .edit-info-modal .modal {
    position: relative;
    box-sizing: border-box;
    max-height: 100%;
    width: 35rem;
    display: block;
  }
}
.edit-info-modal .modal-card {
  position: relative;
}
.edit-info-modal .button-row {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 1.5em;
}
@media (min-width: 671.125px) {
  .edit-info-modal .button-row {
    flex-direction: row;
    margin: 1.5em 1.25rem 0;
  }
}
.edit-info-modal .button-row .cancel {
  color: #a9b1b8;
}
.edit-info-modal .edit-row {
  list-style: none;
  border-bottom: 1px solid #e5eaea;
  margin: 0;
  padding: 0 0 0.25rem;
}
.edit-info-modal .edit-row .edit-header {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.edit-info-modal .edit-row .edit-label {
  font-weight: 500;
}
.edit-info-modal .edit-row .link {
  cursor: pointer;
  text-decoration: underline;
  color: #00bfa5;
}
.edit-info-modal .edit-row .display-value p {
  margin: 0;
}
.edit-info-modal .edit-info-fields .button-row {
  margin-top: 1em;
}
.edit-info-modal .green-button {
  margin-bottom: 1em;
}
@media (min-width: 671.125px) {
  .edit-info-modal .green-button {
    margin-bottom: 0;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.print-card-start-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.print-card-start-container .print-card-start {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.print-card-start-container .input-label {
  display: flex;
  flex-direction: row;
}
.print-card-start-container .my-select-label {
  margin-right: 1em;
  display: flex;
  align-items: center;
}
.print-card-start-container .print-link {
  color: #00bfa5;
  text-decoration: none;
  text-transform: uppercase;
}
.print-card-start-container .inactive-print-link {
  color: #a9b1b8;
  text-transform: uppercase;
  cursor: default;
}
.print-card-start-container .print-icon {
  margin-right: 0.625rem;
}
.print-card-start-container .print-icon-active {
  color: #00bfa5;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.schedule-service-container .day .tabs {
  display: flex;
  flex-flow: row nowrap;
  background-color: white;
  border: 1px solid #e5eaea;
}
.schedule-service-container .day .tabs .tab {
  flex: 1 1 auto;
  text-align: center;
  padding: 1em;
  font-size: 1.2em;
  color: #a9b1b8;
  cursor: pointer;
}
.schedule-service-container .day .tabs .tab.selected {
  border-bottom: 5px solid #01579b;
  color: #01579b;
  cursor: default;
}

.schedule-service-container .day .date-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 100;
  margin-bottom: 2rem;
}
.schedule-service-container .day .date-header .icon {
  color: #01579b;
  cursor: pointer;
}
.schedule-service-container .day .date-header-date {
  cursor: pointer;
  font-size: 1.4em;
  margin-left: 1rem;
  display: inline-block;
  color: black;
  font-weight: 100;
  vertical-align: middle;
}
.schedule-service-container .day .date-header-copy {
  display: flex;
  align-items: center;
}
.search-bar-open .schedule-service-container .day .date-header-copy {
  display: none;
}
.schedule-service-container .day .date-header-icons {
  padding-right: 1rem;
  display: flex;
  align-items: center;
}
.search-bar-open .schedule-service-container .day .date-header-icons {
  width: 100%;
  padding-right: 0;
}
.schedule-service-container .day .date-header-menu {
  position: relative;
  margin-left: 0.5em;
}
.search-bar-open .schedule-service-container .day .date-header-menu {
  display: none;
}
.schedule-service-container .day .date-header-menu .icon {
  cursor: pointer;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.schedule-service-container .day {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
  position: relative;
}
.schedule-service-container .day .tabs {
  margin-top: 2em;
}
@media (max-width: 671.125px) {
  .schedule-service-container .day {
    flex-flow: row wrap;
    align-items: stretch;
    margin: 0 0 5.67em 0;
  }
  .schedule-service-container .day .tabs {
    margin-top: 0;
    border-top: 0;
  }
  .schedule-service-container .day .date-header {
    margin-top: 0;
  }
  .schedule-service-container .day .date-header-copy {
    padding-left: 1rem;
  }
  .schedule-service-container .day .date-header-date {
    font-size: 1.14em;
  }
  .search-bar-open .schedule-service-container .day .date-header-icons {
    padding-right: 1rem;
    padding-left: 0.5rem;
  }
}
.schedule-service-container .statistics-title,
.schedule-service-container .legend-title {
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0.02rem;
  line-height: 1;
  margin-bottom: 1rem;
  color: #a9b1b8;
}
.schedule-service-container .statistics-items,
.schedule-service-container .legend-items {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.schedule-service-container .statistics-item,
.schedule-service-container .legend-item {
  align-items: center;
  display: flex;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5eaea;
}
.schedule-service-container .statistics-item p,
.schedule-service-container .legend-item p {
  color: #333333;
  font-weight: 400;
  margin-right: 1em;
}
.schedule-service-container .statistics-item:first-child,
.schedule-service-container .legend-item:first-child {
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  border-top: 1px solid #e5eaea;
}
.schedule-service-container .statistics-item:last-child,
.schedule-service-container .legend-item:last-child {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  margin-bottom: 1.25rem;
}
.schedule-service-container .statistics-item > *,
.schedule-service-container .legend-item > * {
  margin: 0;
}
.schedule-service-container .statistics-item {
  justify-content: space-between;
}
.schedule-service-container .legend-item svg,
.schedule-service-container .legend-item img {
  margin-right: 0.5em;
}
.schedule-service-container .tefap-icon {
  width: 4.5rem;
  vertical-align: middle;
}
.schedule-service-container .list-item {
  padding: 1rem;
  border-bottom: 1px solid #e5eaea;
  background: white;
  font-weight: 100;
}
.schedule-service-container .list-item span.detail {
  color: #a9b1b8;
  font-weight: 400;
  display: block;
  margin-top: 8px;
}
.schedule-service-container .list-item span.future {
  color: #333333;
}
.schedule-service-container .list-item span.detail.error {
  color: #ed5454;
}
.schedule-service-container .list-item a {
  color: #1ebea5;
  text-decoration: none;
  font-weight: 400;
}
.schedule-service-container .list-item:first-child {
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
.schedule-service-container .list-item:last-child {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom: none;
}
.schedule-service-container .list-item > * {
  margin: 0;
}
.schedule-service-container .bg-message {
  width: 100%;
  min-height: 100%;
  display: flex;
  flex-flow: column;
  text-align: center;
  align-items: center;
  justify-content: center;
  align-content: center;
}
.schedule-service-container .bg-message .flex-inner-wrapper {
  text-align: center;
  padding: 2rem;
  box-sizing: border-box;
}
.schedule-service-container .bg-message h4 {
  color: #a9b1b8;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 2rem;
  margin: 2rem 0 0;
  display: block;
}
.schedule-service-container .add-visitor-label {
  margin-right: 1rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.accordion-loading-container,
.accordion-error-container {
  text-align: center;
  width: 100%;
  padding: 4em;
}

.accordion-loading-message {
  margin: 2em 0 0;
}

.accordion-container {
  width: 100%;
}
.accordion-container .accordion {
  width: 100%;
}
.accordion-container .accordion-cell {
  padding: 2em 1em;
  border-bottom: 1px solid #e5eaea;
}
.accordion-container .accordion-title {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-content: center;
}
.accordion-container .accordion-title .icon-spacing {
  padding: 0.4em;
}
.accordion-container .accordion-title .accordion-left-container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-around;
  align-content: center;
}
.accordion-container .accordion-title .language-text {
  color: #8a9199;
  padding: 0 0.5em;
  font-size: 1.5em;
}
.accordion-container .accordion-title span {
  padding: 0.2em 0.2em;
}
.accordion-container .accordion-title .blue-text {
  color: #01579b;
}
.accordion-container .accordion-title .green-text {
  color: #008573;
}
.accordion-container .accordion-title .bold {
  font-weight: bold;
}
.accordion-container .accordion-content {
  transition: height 0.5s;
  margin: 0;
}
.accordion-container .accordion-content p {
  font-size: 1.5em;
  line-height: 1.65em;
  margin: 0;
  padding: 0.5em 1em;
  color: black;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.sent-messages-modal .modal-inner {
  position: relative;
  width: 40em;
  padding: 4em 4em 2em;
}
.sent-messages-modal .done-button {
  color: #00bfa5;
  background: none;
  border: none;
  padding: 1em 4em;
  cursor: pointer;
  text-transform: uppercase;
  margin: 0 auto;
  display: block;
}
.sent-messages-modal .close-button {
  position: absolute;
  right: 1.5em;
  top: 1.5em;
  padding: 0;
  cursor: pointer;
}
.sent-messages-modal .modal-content h3 {
  margin: 0 0 1.5em;
}
.sent-messages-modal .modal-content p {
  color: #8a9199;
}
.sent-messages-modal .modal-content em {
  color: #01579b;
  font-style: normal;
  font-weight: bold;
}
.sent-messages-modal .spinner-container {
  text-align: center;
  margin-bottom: 2em;
}
.sent-messages-modal .loading-message {
  text-align: center;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.new-message-container {
  display: flex;
  flex-flow: row nowrap;
  margin: 6em 0 2em 0;
}
.new-message-container > div:first-child {
  flex: 1 1 auto;
  max-width: calc(100% - 15em - 2 * 2em);
  min-width: 14em;
}
@media (max-width: 671.125px) {
  .new-message-container > div:first-child {
    width: 100%;
    max-width: 100%;
  }
}
.new-message-container aside.column {
  width: 15em;
  margin: 0 2em;
  flex: 0 0 auto;
}
@media (max-width: 671.125px) {
  .new-message-container {
    margin: 4em 0;
  }
  .new-message-container aside.column {
    display: none;
  }
}

.new-message-container .new-message button.cancel, .new-message-area .buttons button.cancel, .new-message-container .new-message button.submit, .new-message-area .buttons button.submit {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.new-message-container .new-message button.cancel:disabled, .new-message-area .buttons button.cancel:disabled, .new-message-container .new-message button.submit:disabled, .new-message-area .buttons button.submit:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.new-message-container .new-message button.submit, .new-message-area .buttons button.submit {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.new-message-container .new-message button.cancel, .new-message-area .buttons button.cancel {
  border-color: #a9b1b8;
  color: #a9b1b8;
}

.new-message-container .new-message button.submit:hover, .new-message-area .buttons button.submit:hover, .new-message-container .new-message button.cancel:hover, .new-message-area .buttons button.cancel:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.new-message-container .new-message button.submit:disabled:hover, .new-message-area .buttons button.submit:disabled:hover, .new-message-container .new-message button.cancel:disabled:hover, .new-message-area .buttons button.cancel:disabled:hover {
  cursor: default;
}

.new-message-container .new-message .header {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.new-message-container .new-message .header {
  font-size: 1.5em;
  color: #333333;
}

.new-message-container .new-message .message {
  border: 1px solid #e5eaea;
}

.new-message-container .new-message .message {
  padding: 1em 1.5em;
  background-color: white;
}

.new-message-area {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  background-color: #fff;
}
.new-message-area .cancel-header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  min-height: 4rem;
  background-color: #f7fafa;
}
@media (max-width: 671.125px) {
  .new-message-area .cancel-header {
    display: none;
  }
}
.new-message-area .cancel-header button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
  color: #8a9199;
}
.new-message-area .cancel-header button.green {
  color: #008573;
}
.new-message-area .new-message-header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 1em 1.5em;
  border-bottom: 1px solid #e0e0e0;
  min-height: 1em;
}
.new-message-area .new-message-select-option {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 1em 2em;
}
.new-message-area .new-message-client-count {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-items: center;
  margin-right: 1em;
}
.new-message-area .new-message-client-count-text {
  color: #01579b;
  padding: 0.5em;
}
.new-message-area .spacer {
  min-width: 0.5em;
}
.new-message-area .light-text {
  color: #8a9199;
}
.new-message-area .new-message-client-count-text {
  color: #01579b;
}
.new-message-area .modal {
  width: 35em;
}
@media (min-width: 671.125px) {
  .new-message-area p.mobile-messages-remaining {
    display: none;
  }
}
.new-message-area .select-recipients {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  cursor: pointer;
  background-color: white;
  padding: 1em 1.5em;
  border-bottom: 1px solid #e0e0e0;
  border-bottom: 0;
  font-size: 1.1em;
  margin-top: 0.5em;
}
.new-message-area .select-recipients .to {
  padding-right: 0.5em;
  color: #b8b8b8;
}
.new-message-area .select-recipients .recipients {
  flex: 1 1 auto;
}
.new-message-area .select-recipients svg {
  color: #00bfa5;
}
.new-message-area .select-recipients .react-selectize.root-node {
  width: 100%;
}
.new-message-area .message {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  border-top: 1px solid #e5eaea;
  padding: 1em 1.5em 0 1.5em;
  flex: 1 1 auto;
}
.new-message-area .message textarea {
  width: 100%;
}
.new-message-area .message .character-count {
  color: #00bfa5;
}
.new-message-area .no-padding {
  padding: 0;
}
.new-message-area .buttons {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  padding: 1em;
  position: relative;
}
@media (max-width: 671.125px) {
  .new-message-area .buttons {
    padding-left: 2em;
    padding-bottom: 6em;
  }
}
.new-message-area .buttons button.cancel {
  margin-left: 1em;
}
.new-message-area .buttons span {
  color: #8a9199;
  margin-right: 0.3em;
}
.new-message-area .buttons span:nth-child(2) {
  font-weight: bold;
  color: #00bfa5;
}
.new-message-area .buttons span:nth-child(2).error {
  color: #ed5454;
}
.new-message-area .buttons .character-count {
  margin-right: 1.5em;
  color: #00bfa5;
}
.new-message-area .multi-select.react-selectize.material.root-node .simple-value span {
  background-color: #ccddeb;
  color: #01579b;
  border-radius: 2px;
  padding: 5px 10px;
  font-size: 16px;
}
.new-message-area .multi-select.react-selectize.material.root-node .simple-value span:after {
  content: none;
}
.new-message-area .multi-select.react-selectize.material.root-node .react-selectize-control {
  border-bottom: none;
}
.new-message-area .multi-select.react-selectize.material.root-node .react-selectize-search-field-and-selected-values:before {
  content: "To: ";
  padding: 7px 5px 0 0;
  color: #a9b1b8;
}
.new-message-area .multi-select.react-selectize.material.root-node .react-selectize-placeholder {
  padding-left: 20px;
  padding-top: 1px;
}

.new-message-button {
  display: block;
  width: 100%;
  margin-bottom: 1.5em !important;
  padding: 0.75em 1.5em;
  opacity: 1;
  border-radius: 4px;
  font-size: 0.875rem;
  border: 0;
  background-color: #00bfa5;
  color: #fff;
  cursor: pointer;
  user-select: none;
  text-decoration: none;
  text-transform: uppercase;
  text-align: center;
  transition: opacity 0.2s;
  transition: background-color 0.2s;
}
.new-message-button:hover {
  background-color: #008573;
}
.new-message-button.disabled {
  background-color: #a9b1b8;
  border-color: #a9b1b8;
  cursor: initial;
}
@media (max-width: 671.125px) {
  .new-message-button.left {
    left: 0;
    background-color: #e5eaea;
    color: #000;
  }
}
@media (min-width: 671.125px) {
  .new-message-button.left {
    display: none;
  }
}
@media (max-width: 671.125px) {
  .new-message-button.right {
    right: 0;
  }
}
@media (max-width: 671.125px) {
  .new-message-button {
    position: fixed !important;
    padding: 0;
    border-radius: 0;
    bottom: 0;
    width: 50%;
    height: 4em;
  }
}

aside.column-new-message {
  position: fixed;
  top: 0;
  right: 0;
  height: 100vh;
  padding: 2rem;
  padding-top: calc(64px + 4rem) !important;
  box-sizing: border-box !important;
  z-index: 10;
}
aside.column-new-message > * {
  margin: 0;
}
aside.column-new-message .deliver-over-sms-container {
  background-color: white;
  margin-top: 0.875rem;
  padding: 1rem 0 1rem 1rem;
  border-bottom: 1px solid #e5eaea;
}
aside.column-new-message .deliver-over-sms-container span {
  font-size: 0.875rem;
}
@media (min-width: 1280px) {
  aside.column-new-message {
    width: 320px !important;
    right: calc((100% - 1280px) / 2);
  }
}
@media (min-width: 896px) and (max-width: 1120px) {
  aside.column-new-message {
    width: 26.4% !important;
  }
}
@media (max-width: 896px) {
  aside.column-new-message {
    width: 33.3333% !important;
    padding-top: calc(64px + 3rem) !important;
  }
}
@media (max-width: 671.125px) {
  aside.column-new-message {
    display: none;
  }
}

@media (max-width: 671.125px) {
  .new-message-action-bar {
    display: none !important;
  }
}

.mobile-buttons {
  position: fixed;
  bottom: 0;
  width: 100%;
}
@media (min-width: 671.125px) {
  .mobile-buttons {
    display: none;
  }
}
.mobile-buttons .error {
  color: #ed5454;
}

.new-message-container .new-message {
  display: flex;
  flex-flow: row wrap;
  flex: 1 1 auto;
  justify-content: flex-end;
}
.new-message-container .new-message .header {
  flex: 1 auto;
  margin-bottom: 1em;
}
.new-message-container .new-message .select-recipients {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  cursor: pointer;
  width: 100%;
  background-color: white;
  padding: 1em 2em;
  border: 1px solid #e0e0e0;
  border-bottom: 0;
  font-size: 1.1em;
}
.new-message-container .new-message .select-recipients .to {
  padding-right: 0.5em;
  color: #b8b8b8;
}
.new-message-container .new-message .select-recipients .recipients {
  flex: 1 1 auto;
}
.new-message-container .new-message .select-recipients svg {
  color: #00bfa5;
}
.new-message-container .new-message .message {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
  padding: 2em;
  padding-bottom: 1em;
  width: 100%;
  flex: 1 1 auto;
  margin-bottom: 1em;
}
.new-message-container .new-message .message textarea {
  width: 100%;
  height: 13em;
}
.new-message-container .new-message .message .character-count {
  color: #00bfa5;
}
.new-message-container .new-message button.submit {
  margin-left: 1em;
}
@media (max-width: 671.125px) {
  .new-message-container {
    margin-top: 1em;
  }
  .new-message-container .new-message {
    flex-flow: row wrap;
    justify-content: space-between;
  }
  .new-message-container .new-message .header {
    padding-left: 0.75em;
    flex: 0 0 auto;
    margin-bottom: 0.75em;
  }
  .new-message-container .new-message .select-recipients,
  .new-message-container .new-message .message {
    padding-left: 1em;
    padding-right: 1em;
  }
  .new-message-container .new-message button {
    margin-left: 1em;
    flex: 1 1 auto;
  }
  .new-message-container .new-message button ~ button {
    margin-right: 1em;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.message-container .message .date {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.message-container .message {
  display: flex;
  flex-flow: row nowrap;
  align-items: stretch;
  padding: 1em;
  border-bottom: 1px solid #e5eaea;
  min-width: 0;
  background-color: white;
  color: #333333;
  cursor: pointer;
}
.message-container .message .user-avatar {
  width: 4.5rem;
  height: 4.5rem;
  margin-right: 1em;
  display: flex;
}
.message-container .message .user-avatar p {
  color: white;
  text-align: center;
  line-height: 0;
  font-size: 20px;
  letter-spacing: 0.1em;
}
.message-container .message .user-avatar * {
  color: inherit;
}
.message-container .message .message-details {
  width: 100%;
}
.message-container .message .top,
.message-container .message .bottom {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
.message-container .message .name {
  font-size: 0.75rem;
}
.message-container .message .message-text {
  flex: 0 1 auto;
  align-self: flex-start;
  overflow: hidden;
  text-overflow: ellipsis;
  height: 2.5em;
  display: block;
  color: #a9b1b8;
  margin: 0.5rem 0;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}
.message-container .message .message-text p {
  margin: 0;
  font-size: 1rem;
}
.message-container .message .delete {
  height: 2em;
  opacity: 0;
  right: 2em;
  flex: 0 0 auto;
  align-self: center;
  margin-left: 1em;
  margin-top: -1.5em;
  color: #a9b1b8;
}
.message-container .message .delete:hover {
  cursor: pointer;
}
.message-container .message .date {
  font-size: 0.9em;
  position: relative;
  flex: 0 0 auto;
  opacity: 1;
  color: #a9b1b8;
}
.message-container .message .delete,
.message-container .message .date {
  -webkit-transition: opacity 0.1s linear;
  transition: opacity 0.1s linear;
}
.message-container .message.thread {
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s;
}
.message-container .message.thread .avatar span {
  display: none;
}
.message-container .message.thread .name {
  font-size: 1em;
  margin-top: 0.8em;
}
.message-container .message.thread .bottom .message-text {
  height: auto;
  display: block;
  color: #a9b1b8;
}
.message-container .message.thread .bottom .message-text p {
  font-size: 1.1em;
}
.message-container .message.thread.unread .avatar span {
  display: inline;
}
.message-container .message.thread.unread .message-text {
  color: black;
}
.message-container .message.thread.sent {
  background-color: #e5f9f6;
}
.message-container .message.thread:hover {
  cursor: pointer;
}
.message-container .message.thread:hover .delete {
  opacity: 1;
}
.message-container .message.thread:hover .date {
  opacity: 0;
}
.message-container .unread-count {
  line-height: 20px;
  width: 20px;
  font-size: 0.8em;
  color: white;
  text-align: center;
  vertical-align: middle;
  background-color: #00bfa5;
  border-radius: 10em;
  display: inline-block;
}

.messaging-thread > .header {
  padding: 1.5em 1em;
  color: #01579b;
}
.messaging-thread > .header .back {
  width: 2em;
  height: 2em;
  margin-right: 1em;
  cursor: pointer;
}
.messaging-thread > .header .span {
  font-size: 1.2em;
  cursor: pointer;
}
@media (max-width: 671.125px) {
  .messaging-thread > .header {
    padding: 0 0 1rem;
  }
}
.messaging-thread .main-block .compose {
  padding: 1em;
  background-color: white;
  border-bottom: 1px solid #e5eaea;
  margin-top: 3em;
  display: flex;
  flex-flow: row nowrap;
}
.messaging-thread .main-block .compose > .options {
  flex: 1 1 auto;
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
}
.messaging-thread .main-block .compose > .options > div {
  width: 100%;
  position: relative;
}
.messaging-thread .main-block .compose > .options > span {
  display: none;
}

.pagination {
  list-style: none;
  margin: 0;
  padding: 1em 0 0 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}
.pagination li {
  display: block;
  cursor: pointer;
}
.pagination li a {
  color: #a9b1b8;
  line-height: 32px;
  text-decoration: none;
  text-align: center;
  display: block;
  width: 100%;
  transition: all 150ms ease-in-out;
  font-weight: 500;
}
.pagination li:first-child {
  padding-left: 0;
}
.pagination li:first-child a {
  padding-left: 0;
}
.pagination li:last-child {
  padding-right: 0;
}
.pagination li:last-child a {
  padding-right: 0;
}
.pagination li.active a {
  color: white;
  background-color: #a9b1b8;
  border-radius: 4px;
  width: 32px;
  height: 32px;
}
.confirm-modal-container .message-body {
  padding: 1.5em;
  max-width: 24em;
}
.confirm-modal-container button {
  margin-right: 1em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.messaging-container .messages {
  width: 100%;
}
.messaging-container .enter-message {
  background-color: white;
  width: 100%;
  height: 3.75rem;
  position: relative;
  background-color: white;
}
.messaging-container .message-input-field hr {
  bottom: -0.375rem !important;
}
.messaging-container .send-icon {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
}
.messaging-container .instructions {
  width: 100%;
  height: calc(100vh - 290px);
  background-color: white;
  text-align: center;
  color: #a9b1b8;
  padding: 10.625rem 0 0;
}
.messaging-container .instructions-text {
  width: 17.3125rem;
  margin: 1.25rem auto;
}
.messaging-container .instructions-text ul {
  text-align: left;
}
.messaging-container .instructions-text ul li {
  font-size: 0.8125rem;
}
@media (max-width: 671.125px) {
  .messaging-container .message-action-bar {
    position: fixed;
    top: 3.125rem;
    left: 0;
    right: 0;
    border-bottom: 1px solid #e5eaea;
  }
  .messaging-container .instructions {
    height: calc(100vh - 400px);
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.single-message-container .back-container {
  cursor: pointer;
  display: inline-block;
  height: 28px;
}
.single-message-container .back-container span {
  color: #00bfa5;
  text-transform: uppercase;
  font-weight: 500;
}
.single-message-container .single-message {
  width: 100%;
  background-color: white;
}
.single-message-container .single-message .message-to {
  display: flex;
  flex-direction: row;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #e5eaea;
  position: relative;
}
.single-message-container .single-message .message-to .to-label {
  color: #a9b1b8;
  font-size: 1rem;
  width: 2.75rem;
}
.single-message-container .single-message .message-to .to-name-container .names {
  font-size: 1rem;
  margin-bottom: 1rem;
}
.single-message-container .single-message .message-to .to-name-container .date-sent {
  font-size: 0.75rem;
}
.single-message-container .single-message .message-to .to-recipients-container {
  position: absolute;
  right: 1.5rem;
}
.single-message-container .single-message .message-to .to-recipients-container .to-recipients {
  color: #01579b;
  margin-left: 0.375rem;
}
.single-message-container .single-message .message-body {
  padding: 1.25rem 1.5rem;
  font-size: 1rem;
  height: calc(100vh - 286px);
}

.message-action-bar {
  background-color: white;
  padding: 1rem;
  border-bottom: 1px solid #e5eaea;
}
.message-action-bar .recipient h4 {
  font-weight: 400;
  font-size: 1.1em;
  color: black;
  line-height: 1.2em;
}
.message-action-bar .recipient h4 span:first-child {
  color: #a9b1b8;
}
.message-action-bar .recipient > span {
  color: #a9b1b8;
  font-size: 0.9em;
}
.message-action-bar .message-action-bar-content {
  padding: 0 1rem;
}
.message-action-bar > p {
  color: #a9b1b8;
  overflow: hidden;
  -webkit-line-clamp: 5;
  -webkit-box-orient: vertical;
  display: -webkit-box;
}
.message-action-bar button {
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  text-transform: uppercase;
  color: #1ebea5;
}
.message-action-bar .header {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  margin-bottom: 1em;
}
.message-action-bar .header .grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 4.1em;
  max-width: 4.1em;
}
.message-action-bar .header .grid > * {
  height: 2em;
  width: 2em;
}
.message-action-bar .header .grid *:first-child,
.message-action-bar .header .grid *:nth-child(1) {
  margin-bottom: 0.1em;
}
.message-action-bar .header .grid div {
  background-color: #01579b;
  display: flex;
  justify-content: center;
  align-items: center;
}
.message-action-bar .header .grid div span {
  color: white;
  font-size: 0.7rem;
}

.action-button.disabled {
  color: #fff;
}
/**
 * FixedDataTable v0.8.28 
 *
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTableCellGroupLayout
 */

.fixedDataTableCellGroupLayout_cellGroup {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  left: 0;
  overflow: hidden;
  position: absolute;
  top: 0;
  white-space: nowrap;
}

.fixedDataTableCellGroupLayout_cellGroup > .public_fixedDataTableCell_main {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}

.fixedDataTableCellGroupLayout_cellGroupWrapper {
  position: absolute;
  top: 0;
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTableCellLayout
 */

.fixedDataTableCellLayout_main {
  border-right-style: solid;
  border-right-width: 1px;
  border-width: 0 1px 0 0;
  box-sizing: border-box;
  display: block;
  overflow: hidden;
  position: absolute;
  white-space: normal;
}

.fixedDataTableCellLayout_lastChild {
  border-width: 0 1px 1px 0;
}

.fixedDataTableCellLayout_alignRight {
  text-align: right;
}

.fixedDataTableCellLayout_alignCenter {
  text-align: center;
}

.fixedDataTableCellLayout_wrap1 {
  display: table;
}

.fixedDataTableCellLayout_wrap2 {
  display: table-row;
}

.fixedDataTableCellLayout_wrap3 {
  display: table-cell;
  vertical-align: middle;
}

.fixedDataTableCellLayout_columnResizerContainer {
  position: absolute;
  right: 0px;
  width: 6px;
  z-index: 1;
}

.fixedDataTableCellLayout_columnResizerContainer:hover {
  cursor: ew-resize;
}

.fixedDataTableCellLayout_columnResizerContainer:hover .fixedDataTableCellLayout_columnResizerKnob {
  visibility: visible;
}

.fixedDataTableCellLayout_columnResizerKnob {
  position: absolute;
  right: 0px;
  visibility: hidden;
  width: 4px;
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTableColumnResizerLineLayout
 */

.fixedDataTableColumnResizerLineLayout_mouseArea {
  cursor: ew-resize;
  position: absolute;
  right: -5px;
  width: 12px;
}

.fixedDataTableColumnResizerLineLayout_main {
  border-right-style: solid;
  border-right-width: 1px;
  box-sizing: border-box;
  position: absolute;
  z-index: 10;
  pointer-events: none;
}

body[dir="rtl"] .fixedDataTableColumnResizerLineLayout_main {
  /* the resizer line is in the wrong position in RTL with no easy fix.
   * Disabling is more useful than displaying it.
   * #167 (github) should look into this and come up with a permanent fix.
   */
  display: none !important;
}

.fixedDataTableColumnResizerLineLayout_hiddenElem {
  display: none !important;
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTableLayout
 */

.fixedDataTableLayout_main {
  border-style: solid;
  border-width: 1px;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

.fixedDataTableLayout_header,
.fixedDataTableLayout_hasBottomBorder {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.fixedDataTableLayout_footer .public_fixedDataTableCell_main {
  border-top-style: solid;
  border-top-width: 1px;
}

.fixedDataTableLayout_topShadow,
.fixedDataTableLayout_bottomShadow {
  height: 4px;
  left: 0;
  position: absolute;
  right: 0;
  z-index: 1;
}

.fixedDataTableLayout_bottomShadow {
  margin-top: -4px;
}

.fixedDataTableLayout_rowsContainer {
  overflow: hidden;
  position: relative;
}

.fixedDataTableLayout_horizontalScrollbar {
  bottom: 0;
  position: absolute;
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTableRowLayout
 */

.fixedDataTableRowLayout_main {
  box-sizing: border-box;
  overflow: hidden;
  position: absolute;
  top: 0;
}

.fixedDataTableRowLayout_body {
  left: 0;
  position: absolute;
  top: 0;
}

.fixedDataTableRowLayout_rowExpanded {
  box-sizing: border-box;
  left: 0;
  position: absolute;
}

.fixedDataTableRowLayout_fixedColumnsDivider {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  border-left-style: solid;
  border-left-width: 1px;
  left: 0;
  position: absolute;
  top: 0;
  width: 0;
}

.fixedDataTableRowLayout_columnsShadow {
  position: absolute;
  width: 4px;
}

.fixedDataTableRowLayout_columnsRightShadow {
  right: 1px;
}

.fixedDataTableRowLayout_rowWrapper {
  position: absolute;
  top: 0;
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule ScrollbarLayout
 */

.ScrollbarLayout_main {
  box-sizing: border-box;
  outline: none;
  overflow: hidden;
  position: absolute;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.ScrollbarLayout_mainVertical {
  bottom: 0;
  right: 0;
  top: 0;
  width: 15px;
}

.ScrollbarLayout_mainHorizontal {
  bottom: 0;
  height: 15px;
  left: 0;
  transition-property: background-color height;
}

/* Touching the scroll-track directly makes the scroll-track bolder */
.ScrollbarLayout_mainHorizontal.public_Scrollbar_mainActive,
.ScrollbarLayout_mainHorizontal:hover {
  height: 17px;
}

.ScrollbarLayout_face {
  left: 0;
  overflow: hidden;
  position: absolute;
  z-index: 1;
  transition-duration: 250ms;
  transition-timing-function: ease;
  transition-property: width;
}

/**
 * This selector renders the "nub" of the scrollface. The nub must
 * be rendered as pseudo-element so that it won't receive any UI events then
 * we can get the correct `event.offsetX` and `event.offsetY` from the
 * scrollface element while dragging it.
 */
.ScrollbarLayout_face:after {
  border-radius: 6px;
  content: '';
  display: block;
  position: absolute;
  transition: background-color 250ms ease;
}

.ScrollbarLayout_faceHorizontal {
  bottom: 0;
  left: 0;
  top: 0;
}

.ScrollbarLayout_faceHorizontal:after {
  bottom: 4px;
  left: 0;
  top: 4px;
  width: 100%;
}

.ScrollbarLayout_faceHorizontal.public_Scrollbar_faceActive:after,
.ScrollbarLayout_main:hover .ScrollbarLayout_faceHorizontal:after {
  bottom: calc(4px/2);
}

.ScrollbarLayout_faceVertical {
  left: 0;
  right: 0;
  top: 0;
}

.ScrollbarLayout_faceVertical:after {
  height: 100%;
  left: 4px;
  right: 4px;
  top: 0;
}

.ScrollbarLayout_main:hover .ScrollbarLayout_faceVertical:after,
.ScrollbarLayout_faceVertical.public_Scrollbar_faceActive:after {
  left: calc(4px/2);
  right: calc(4px/2);
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTable
 *
 */

/**
 * Table.
 */
.public_fixedDataTable_main {
  border-color: #d3d3d3;
}

.public_fixedDataTable_header,
.public_fixedDataTable_hasBottomBorder {
  border-color: #d3d3d3;
}

.public_fixedDataTable_header .public_fixedDataTableCell_main {
  font-weight: bold;
}

.public_fixedDataTable_header,
.public_fixedDataTable_scrollbarSpacer,
.public_fixedDataTable_header .public_fixedDataTableCell_main {
  background-color: #f6f7f8;
  background-image: linear-gradient(#fff, #efefef);
}

.public_fixedDataTable_scrollbarSpacer {
  position: absolute;
  z-index: 99;
  top: 0;
}

.public_fixedDataTable_footer .public_fixedDataTableCell_main {
  background-color: #f6f7f8;
  border-color: #d3d3d3;
}

.public_fixedDataTable_topShadow {
  background-image: linear-gradient(180deg, rgba(0,0,0,0.1), rgba(0,0,0,0));
}

.public_fixedDataTable_bottomShadow {
  background-image: linear-gradient(0deg, rgba(0,0,0,0.1), rgba(0,0,0,0));
}

.public_fixedDataTable_horizontalScrollbar .public_Scrollbar_mainHorizontal {
  background-color: #fff;
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTableCell
 */

/**
 * Table cell.
 */
.public_fixedDataTableCell_main {
  background-color: #fff;
  border-color: #d3d3d3;
}

.public_fixedDataTableCell_highlighted {
  background-color: #f4f4f4;
}

.public_fixedDataTableCell_cellContent {
  padding: 8px;
}

.public_fixedDataTableCell_columnResizerKnob {
  background-color: #0284ff;
}
.public_fixedDataTableCell_hasReorderHandle .public_fixedDataTableCell_cellContent {
	margin-left: 12px;
}
/**
 * Column reorder goodies.
 */
.fixedDataTableCellLayout_columnReorderContainer {
  border-color: #0284ff;
  background-color: rgba(0,0,0,0.1);
  width: 12px;
  margin-right: -12px;
  float: left;
  cursor: move;
}
.fixedDataTableCellLayout_columnReorderContainer:after {
	content: '::';
	position: absolute;
	top: 50%;
	left: 1px;
	transform: translateY(-50%);
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTableColumnResizerLine
 *
 */

/**
 * Column resizer line.
 */
.public_fixedDataTableColumnResizerLine_main {
  border-color: #0284ff;
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule fixedDataTableRow
 */

/**
 * Table row.
 */
.public_fixedDataTableRow_main {
  background-color: #fff;
}

.public_fixedDataTableRow_highlighted,
.public_fixedDataTableRow_highlighted .public_fixedDataTableCell_main {
  background-color: #f6f7f8;
}

.public_fixedDataTableRow_fixedColumnsDivider {
  border-color: #d3d3d3;
}

.public_fixedDataTableRow_columnsShadow {
  background-image: linear-gradient(90deg, rgba(0,0,0,0.1), rgba(0,0,0,0));
}

.public_fixedDataTableRow_columnsRightShadow {
  transform: rotate(180deg);
}
/**
 * Copyright Schrodinger, LLC
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 *
 * @providesModule Scrollbar
 *
 */

/**
 * Scrollbars.
 */

/* Touching the scroll-track directly makes the scroll-track bolder */
.public_Scrollbar_main.public_Scrollbar_mainActive,
.public_Scrollbar_main {
  background-color: #fff;
  border-left: 1px solid #d3d3d3;
}

.public_Scrollbar_mainOpaque,
.public_Scrollbar_mainOpaque.public_Scrollbar_mainActive,
.public_Scrollbar_mainOpaque:hover {
  background-color: #fff;
}

.public_Scrollbar_face:after {
  background-color: #c2c2c2;
}

.public_Scrollbar_main:hover .public_Scrollbar_face:after,
.public_Scrollbar_mainActive .public_Scrollbar_face:after,
.public_Scrollbar_faceActive:after {
  background-color: #7d7d7d;
}

/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.import-clients-modal .input-button {
  position: relative;
}
.import-clients-modal .modal-button {
  margin: 1em;
  width: auto;
}
.import-clients-modal .pii-export-warning {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
  margin: 1em 1.5em 0;
}
.import-clients-modal .pii-export-warning .pii-export-warning-icon {
  flex-shrink: 0;
  margin-top: 2px;
}
.import-clients-modal .pii-export-warning p {
  color: #ed5454;
  font-size: 14px;
  margin: 0;
}
.import-clients-modal .add-client-form {
  margin: 1em;
}
.import-clients-modal .add-client-form a {
  margin-right: 1em;
}
.import-clients-modal .instruction {
  margin: 0 1.5em;
}
.import-clients-modal .upload-results {
  margin: 0 1.5em 1.5em;
}
.import-clients-modal .upload-results p {
  margin-bottom: 0;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.flatfile-importer-results-modal .modal {
  width: 40em;
}
.flatfile-importer-results-modal .green-close-button {
  color: #00bfa5;
  background: none;
  border: none;
  padding: 0;
  text-transform: uppercase;
  position: relative;
  float: right;
  bottom: 0.5em;
  right: 1.5em;
}
.flatfile-importer-results-modal .flatfile-importer-results-modal-close {
  position: relative;
  float: right;
  right: 1.5em;
  top: 1.5em;
}
@media (max-width: 671.125px) {
  .flatfile-importer-results-modal .flatfile-importer-results-modal-close {
    display: none;
  }
}
.flatfile-importer-results-modal .flatfile-importer-results-modal-row {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 1em 2em;
}
@media (max-width: 671.125px) {
  .flatfile-importer-results-modal .flatfile-importer-results-modal-row {
    padding: 1em 0.5em;
  }
}
.flatfile-importer-results-modal .flatfile-importer-results-modal-row h3 {
  margin-bottom: 0.5em;
  text-align: center;
}
.flatfile-importer-results-modal .flatfile-importer-results-modal-row p {
  color: #8a9199;
  margin: 0;
  padding: 0 1em;
  text-align: center;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.new-client-phone-modal .modal-container .modal .form .textfield {
  width: 100% !important;
}

.new-client-phone-modal .modal-container .modal {
  width: 36em;
}
.new-client-phone-modal .modal-container .modal .form {
  display: flex;
  flex-flow: column nowrap;
  justify-content: stretch;
  padding: 0 1.5em 1.5em 1.5em;
}
.new-client-phone-modal .modal-container .modal .form .message {
  margin-bottom: 1.5rem;
}
.new-client-phone-modal .modal-container .modal .form .buttons {
  display: flex;
  flex-direction: row;
  margin-bottom: 0;
}
.new-client-phone-modal .modal-container .modal .form .green {
  color: #00bfa5;
  cursor: pointer;
}
.new-client-phone-modal .modal-container .modal .form .green.disabled {
  color: #a9b1b8;
  cursor: inherit;
}
.new-client-phone-modal .modal-container .modal .form .no-continue {
  margin-top: 0.75rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.popup-modal .modal {
  width: 40em;
}
.popup-modal .green-close-button {
  color: #00bfa5;
  background: none;
  border: none;
  padding: 0;
  text-transform: uppercase;
  position: relative;
  float: right;
  bottom: 0.5em;
  right: 1.5em;
}
.popup-modal .popup-close {
  position: relative;
  float: right;
  right: 1.5em;
  top: 1.5em;
}
@media (max-width: 671.125px) {
  .popup-modal .popup-close {
    display: none;
  }
}
.popup-modal .popup-modal-content {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: center;
  padding: 2em 4em;
}
@media (max-width: 671.125px) {
  .popup-modal .popup-modal-content {
    padding: 2em 1em;
  }
}
.popup-modal .popup-modal-content h3 {
  top: -40px;
  padding-bottom: 1.5em;
  text-align: center;
}
.popup-modal .popup-modal-content p {
  color: #8a9199;
  margin: 0;
  padding: 0 1.5em;
  text-align: center;
}
.popup-modal .popup-modal-content span {
  text-align: center;
  color: #01579b;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.client-list .filter .section .header {
  width: 100% !important;
}

.client-list .filter .section .select-field {
  width: 46% !important;
}

.export-button, .client-list .filter .buttons button.cancel, .client-list .filter .buttons button.apply, .client-list .add-client-container button.add-client {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.export-button:disabled, .client-list .filter .buttons button.cancel:disabled, .client-list .filter .buttons button.apply:disabled, .client-list .add-client-container button.add-client:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.client-list .add-client-container button.add-client {
  border-color: #00bfa5;
  background-color: #00bfa5;
  color: white;
}

.client-list .add-client-container button.add-client {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.75em 1em;
}
.client-list .add-client-container button.add-client .icon-button-container {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
}
.client-list .add-client-container button.add-client .icon {
  height: 1.7em;
}

.client-list .filter .buttons button.apply {
  border-color: #00bfa5;
  color: #00bfa5;
}

.client-list .filter .buttons button.cancel {
  border-color: #ed5454;
  color: #ed5454;
}

.export-button:hover, .client-list .add-client-container button.add-client:hover, .client-list .filter .buttons button.apply:hover, .client-list .filter .buttons button.cancel:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.export-button:disabled:hover, .client-list .add-client-container button.add-client:disabled:hover, .client-list .filter .buttons button.apply:disabled:hover, .client-list .filter .buttons button.cancel:disabled:hover {
  cursor: default;
}

div.react-datagrid div.z-header-wrapper div.z-column-header {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 300;
}

.client-list .filter .section .header {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.client-list .filter .section .header {
  font-size: 1.1em;
  color: #01579b;
}

.client-list .tab-content {
  border: 1px solid #e5eaea;
}

.client-list .tab-content {
  padding: 1em 1.5em;
  background-color: white;
}

.add-client-container {
  margin: 2em 0;
  height: 3em;
}

.data-row {
  color: #333333;
}

.data-row:hover {
  color: #01579b;
}

.HEIGHT {
  width: 100%;
  height: 800px;
}

.public_fixedDataTable_header,
.public_fixedDataTable_header .public_fixedDataTableCell_main {
  background-color: #f7fafa;
  background-image: none !important;
}
.public_fixedDataTable_header a,
.public_fixedDataTable_header .public_fixedDataTableCell_main a {
  color: #a9b1b8;
}

.public_fixedDataTable_header:hover,
.public_fixedDataTable_header .public_fixedDataTableCell_main:hover {
  background-color: #e0f4f1;
}
.public_fixedDataTable_header:hover a,
.public_fixedDataTable_header .public_fixedDataTableCell_main:hover a {
  cursor: pointer;
  color: #1ebea5;
}
.public_fixedDataTable_header:hover a:hover,
.public_fixedDataTable_header .public_fixedDataTableCell_main:hover a:hover {
  text-decoration: none;
}

.export-button {
  color: #00bfa5;
}

.export-button:hover {
  cursor: pointer;
}

.client-list {
  margin-top: 6em;
  margin-right: 2em;
  display: flex;
  flex-flow: column wrap;
  justify-content: stretch;
}
.client-list .header {
  position: relative;
  margin-bottom: 2rem;
}
.client-list .header .button-wrapper {
  position: absolute;
  height: 20px;
  top: 7px;
  right: 0;
  font-size: 1rem;
}
.client-list .header .button-wrapper button {
  cursor: pointer;
  color: #01579b;
}
.client-list .header .button-wrapper button:hover {
  text-decoration: underline;
}
.client-list .header .button-wrapper .button {
  margin-left: 1rem;
  margin-right: 1rem;
}
.client-list .header .button-wrapper svg {
  padding-right: 1rem;
}
.client-list .header .button-wrapper .print-label {
  margin-right: 20px;
  color: #333333;
  cursor: pointer;
  font-size: 14px;
}
.client-list .header .tabs > div > div {
  background: transparent !important;
}
.client-list .header .tabs .nycfac-tab {
  background: transparent !important;
  color: #01579b !important;
  width: 3.5rem !important;
  height: 3.5rem !important;
}
.client-list .header .tabs .nycfac-tab svg {
  fill: #01579b !important;
  font-size: 16px !important;
}
.client-list .header .tabs .nycfac-tab.active {
  background: white !important;
  border: 1px solid #e5eaea !important;
  border-bottom: none !important;
}
.client-list .header .tabs .nycfac-tab.active svg {
  fill: #a9b1b8 !important;
}
.client-list .tab-content {
  margin-top: -1px;
}
.client-list .filter {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
}
.client-list .filter .section {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 46%;
}
.client-list .filter .section:first-child, .client-list .filter .section:nth-child(2) {
  margin-bottom: 2em;
}
.client-list .filter .section .header {
  margin-bottom: 0;
}
.client-list .filter .section .select-field > div {
  width: 100% !important;
  max-width: 256px !important;
}
.client-list .filter .buttons {
  display: flex;
  flex-flow: row nowrap;
  flex: 1 1 auto;
  align-items: flex-end;
  justify-content: flex-end;
}
.client-list .filter .buttons button.cancel {
  margin-right: 1em;
}
@media (max-width: 671.125px) {
  .client-list .filter {
    flex-flow: column nowrap;
  }
  .client-list .filter .section {
    width: 100% !important;
  }
  .client-list .filter .buttons {
    margin: 1em 0;
  }
}
.client-list .search {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.client-list .search input {
  flex: 1 1 auto;
  outline: none;
  border: none;
  font-size: 1.2em;
}
.client-list .search svg {
  cursor: pointer;
  color: #a9b1b8;
}
.client-list .add-client-container {
  align-self: flex-end;
}
.client-list .add-client-container button.add-client span {
  padding-right: 1em;
}
@media (max-width: 671.125px) {
  .client-list .add-client-container {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 2em 1em 2.2em 1em;
    background-color: #f0f0f0;
    z-index: 100;
    border-top: 1px solid #e5eaea;
  }
  .client-list .add-client-container .add-client {
    display: inline-block;
    width: 100%;
  }
}
@media (max-width: 671.125px) {
  .client-list {
    margin-right: 0;
    margin-top: 0;
  }
  .client-list .react-datagrid {
    margin-bottom: 8em;
  }
}
.client-list .plenti-pass-link {
  margin-right: 20px;
  color: #01579b;
  cursor: pointer;
  font-size: 14px;
}
.client-list .all-print-some {
  color: #a9b1b8;
}
.client-list .all-print-all {
  color: #00bfa5;
}
.client-list .print-checkbox {
  display: flex;
  justify-content: center;
  align-items: center;
}

div.react-datagrid {
  border: 1px solid #e5eaea;
}
div.react-datagrid div.z-header-wrapper {
  background: none;
  border-bottom: 1px solid #e5eaea;
}
div.react-datagrid div.z-header-wrapper div.z-header {
  padding-right: 0 !important;
}
div.react-datagrid div.z-header-wrapper div.z-column-header {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  border: 0 !important;
  color: #a9b1b8;
  padding: 1em;
  cursor: pointer;
}
div.react-datagrid div.z-header-wrapper div.z-column-header:hover {
  background: none;
}
div.react-datagrid div.z-header-wrapper div.z-column-header div.z-content {
  display: inline-block;
  padding: 0 !important;
}
div.react-datagrid div.z-header-wrapper div.z-column-header div.z-show-menu {
  display: inline-block;
  position: relative;
  background: none;
  border: 0;
  height: auto;
}
div.react-datagrid div.z-header-wrapper div.z-column-header div.z-show-menu:hover {
  background: none;
}
div.react-datagrid div.z-header-wrapper div.z-column-header div.z-show-menu svg {
  height: 0.75em !important;
  width: 1em !important;
  margin-left: -1em;
}
div.react-datagrid div.z-header-wrapper div.z-column-header div.z-show-menu svg > polygon {
  fill: #a9b1b8 !important;
}
div.react-datagrid div.z-content-wrapper div.z-content-wrapper-fix {
  max-width: 100% !important;
  width: 100%;
}
div.react-datagrid div.z-content-wrapper div.z-row {
  height: auto !important;
  background-color: white;
  border-bottom: 1px solid #e5eaea;
}
div.react-datagrid div.z-content-wrapper div.z-row:last-child {
  border-bottom: 0;
}
div.react-datagrid div.z-content-wrapper div.z-row.z-odd {
  background-color: white;
}
div.react-datagrid div.z-content-wrapper div.z-row div.z-cell {
  padding: 1em;
}
div.react-datagrid div.z-content-wrapper div.z-row div.z-cell:first-child {
  color: #00bfa5;
}
div.react-datagrid div.z-content-wrapper div.z-row div.z-cell div.z-content {
  padding: 0;
}
@media (max-width: 671.125px) {
  div.react-datagrid div.z-column-header:nth-child(2) {
    display: none !important;
  }
  div.react-datagrid div.z-content-wrapper div.z-row {
    flex-flow: row wrap;
  }
  div.react-datagrid div.z-content-wrapper div.z-cell {
    padding-top: 0.5em !important;
  }
  div.react-datagrid div.z-content-wrapper div.z-cell.z-first {
    padding-top: 1em !important;
  }
  div.react-datagrid div.z-content-wrapper div.z-cell.z-first {
    flex: 0 0 auto !important;
    padding-bottom: 0 !important;
    position: relative;
    display: block !important;
    width: 100%;
    font-size: 1.1em;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.upload-image-modal .input-button {
  position: relative;
}
.upload-image-modal .modal-button {
  margin: 1em;
  width: auto;
}
.upload-image-modal .add-client-form {
  margin: 1em;
}
.upload-image-modal .instruction {
  margin: 0 1.5em;
}
.upload-image-modal .upload-results {
  margin: 0 1.5em 1.5em;
}
.upload-image-modal .upload-results p {
  margin-bottom: 0;
}
.upload-image-modal .add-client-form label {
  vertical-align: top;
}
.upload-image-modal .image-preview {
  padding: 1em;
  max-height: 400px;
  max-width: 400px;
}
.upload-image-modal .error {
  color: #ed5454;
  margin-left: 1em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.delete-user-modal .modal .form .textfield {
  width: 100% !important;
}

.delete-user-modal .modal {
  width: 25em;
}
.delete-user-modal .modal .form {
  display: flex;
  flex-flow: column nowrap;
  justify-content: stretch;
  padding: 0 1.5em 1.5em 1.5em;
}
.delete-user-modal .buttons {
  display: flex;
  justify-content: space-between;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.client-main-details .client-image-container .client-image-overlay .upload-photo-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.client-main-details .client-image-container .client-image-overlay .upload-photo-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.client-main-details .client-image-container .client-image-overlay .upload-photo-button {
  color: white;
  border-color: white;
  border-radius: 0px;
}

.client-main-details .client-image-container .client-image-overlay .upload-photo-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.client-main-details .client-image-container .client-image-overlay .upload-photo-button:disabled:hover {
  cursor: default;
}

.field-group.toggle-group {
  margin-top: 3rem;
}

.field-group.checkbox-group {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  flex-wrap: wrap;
  position: relative;
  margin: 3rem 0 2rem;
}
.field-group.checkbox-group label.group-label {
  flex: 1 1 100%;
  color: #01579b;
  font-size: 16px;
  margin-bottom: 1rem;
}

.family-label {
  margin-bottom: 0;
  margin-top: 21px;
  font-size: 1rem;
}

.client-main-details .client-image-container {
  float: left;
  height: 9em;
  max-width: 9em;
  min-width: 9em;
  margin-right: 2em;
  margin-top: 1em;
  position: relative;
}
.client-main-details .client-image-container .client-image {
  width: 100%;
  vertical-align: top;
}
.client-main-details .client-image-container .client-image-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.25);
  opacity: 0;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.client-main-details .client-image-container .client-image-overlay .upload-photo-button {
  font-size: 14px;
  font-weight: 500;
  border-radius: 0px;
  padding: 0.4em 0.8em;
  max-width: 5rem;
  margin: auto;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.client-main-details .client-image-container:hover .client-image-overlay {
  opacity: 1;
}
@media (min-width: 671.125px) {
  .client-main-details .name {
    display: flex !important;
    flex-flow: column nowrap !important;
    align-items: stretch !important;
    flex: 1 0 55% !important;
    width: auto !important;
  }
}
.client-main-details .name > * {
  width: 100% !important;
}
.client-main-details .client-verification-status {
  display: none;
  width: 100%;
  margin-top: 1em;
}
.client-main-details .client-verification-status button {
  margin-bottom: 0em;
}
.client-main-details .client-previous-visits {
  display: none;
  margin-top: 1em;
  width: 100%;
}
.client-main-details .no-phone-number {
  margin-top: 2.25rem;
}
@media (max-width: 671.125px) {
  .client-main-details .client-verification-status {
    display: block;
  }
  .client-main-details .client-previous-visits {
    display: block;
  }
}
.client-main-details .field-with-icon {
  display: flex;
  flex-direction: row;
}
.client-main-details .field-with-icon .my-text-field {
  width: 75% !important;
}
.client-main-details .verified-icon-container {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  margin-bottom: 0.5rem;
}

.birth-date {
  width: 100% !important;
}
.birth-date * {
  width: 100% !important;
}

.verification {
  align-items: flex-start;
  align-items: flex-start;
}
.verification .tefap-text-container {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}
.verification .tefap {
  display: flex;
  width: 100%;
  align-items: flex-start;
  flex-direction: column;
  text-align: left;
}
.verification .tefap h4 {
  padding: 0 1rem;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  line-height: 2rem;
}
.verification .tefap p {
  margin: 0;
  flex: 1;
  padding: 0 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
}

.tefap-link {
  display: none;
}
@media (min-width: 670px) {
  .tefap-link {
    margin-bottom: 1rem;
    padding-right: 2.7rem;
    display: flex;
    justify-content: flex-end;
  }
  .tefap-link a {
    color: #a9b1b8;
    font-size: 14px;
  }
}

.client-detail-back {
  display: none;
  color: #a9b1b8;
  font-size: 1.25rem;
  margin-top: -2rem;
  margin-bottom: 0.75rem;
  transform: translateY(0.5rem);
  align-items: center;
}
.client-detail-back:hover {
  text-decoration: none;
}
.client-detail-back img {
  padding: 1rem;
}
@media (min-width: 896px) {
  .client-detail-back img {
    padding-left: 0;
  }
}
@media (min-width: 671.125px) {
  .client-detail-back {
    display: flex;
  }
}

.client-details .delete-user-button {
  float: right;
}
.client-details .household-toggle {
  margin-top: 0.9375rem;
  margin-bottom: 0.3125rem;
}
.client-details .toggle {
  display: inline-block !important;
  width: 30px !important;
}
.client-details .toggle-label {
  margin-left: 2.1875rem;
}
.client-details .individual-members {
  margin-top: 1.625rem;
}
.client-details .individual-members .age-group {
  margin-bottom: 4.5rem;
}
.client-details .individual-members .member-item {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #e5eaea;
}
.client-details .individual-members .member-name {
  padding-top: 1.25rem;
}
.client-details .individual-members .this-client {
  margin: 1.25rem 0.375rem 1.375rem 0;
}
.client-details .individual-members .person-info-menu {
  margin-left: 1em;
  cursor: pointer;
  color: #a9b1b8;
  position: relative;
}
.client-details .individual-members .person-info-menu .icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.client-details .individual-members .household-details-button-bar {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.25rem;
}
.client-details .button-row {
  display: flex;
  flex-direction: column;
  padding: 1rem;
}
.client-details .button-row button {
  margin-bottom: 1rem;
  padding: 0.85em;
}
@media (min-width: 671.125px) {
  .client-details .button-row {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media (min-width: 896px) {
  .client-details .button-row {
    padding-left: 0;
    padding-right: 0;
  }
}

.benefit-programs .form-container {
  padding-bottom: 0;
  padding-top: 0;
}
.benefit-programs .form-byline {
  color: #333333;
  display: inline-block;
  width: 70%;
}
.benefit-programs .my-select-field {
  width: 30% !important;
  top: 0;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.verification {
  display: flex;
  width: 100%;
  margin-bottom: 3rem;
  box-sizing: border-box;
  padding: 1.5rem;
  background: white;
}
.verification p {
  margin: 0;
  flex: 1;
  text-align: left;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  font-size: 1rem;
  line-height: 1.5rem;
}
@media (min-width: 671.125px) {
  .verification {
    flex-direction: row;
  }
}

.print-dropdown {
  position: relative;
  display: flex;
  flex-direction: column;
}
.print-dropdown-btn {
  width: 100%;
  border-radius: 3px;
  background-color: #f7fafa;
  border: 1px solid #e5eaea;
  color: #a9b1b8;
  padding: 12px 16px;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
.print-dropdown-btn:hover {
  background-color: #e5eaea;
}
.print-dropdown-content {
  display: none;
  position: absolute;
  background-color: white;
  height: auto;
  border-radius: 3px;
  right: 0;
  top: 48px;
  min-width: 200px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 2;
  margin: 0rem;
  padding: 0rem;
}
.print-dropdown-content a {
  padding: 0rem;
  margin: 0rem;
  text-decoration: none;
  color: #a9b1b8;
}
.print-dropdown-content .print-detail-link {
  margin: 0rem;
  padding: 1rem;
  color: #a9b1b8;
  font-size: 1.25rem;
}
.print-dropdown-content .print-detail-link:hover {
  background-color: #f7fafa;
  cursor: pointer;
}
.print-dropdown .show {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: white;
}

.client-previous-visits .previous-visit.row ~ .previous-visit.row {
  border-top: 0;
}
.client-previous-visits .element-title {
  font-size: 0.9em;
  color: #a0a0a0;
  margin-bottom: 0.3em;
}

.previous-visit.row {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  background-color: white;
  padding: 1rem;
  border: 1px solid #e5eaea;
}
.previous-visit.row > *:first-child {
  display: none;
  width: 100%;
}
.previous-visit.row > *:nth-child(2) {
  min-width: 10em;
}
.previous-visit.row > *:first-child,
.previous-visit.row > *:last-child {
  font-size: 0.8em;
  color: #a0a0a0;
}

.client-detail-container {
  margin-bottom: 2.5rem;
}
.client-detail-container .link-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.client-detail-container .link-container .print-link {
  font-size: 14px;
  text-transform: uppercase;
  cursor: pointer;
}
.client-detail-container .print-icon {
  margin-right: 1rem;
}
@media (min-width: 671.125px) {
  .client-detail-container aside {
    display: none;
  }
}
@media (min-width: 896px) {
  .client-detail-container aside {
    display: block;
  }
}
.client-detail-container aside .add-appointment-button {
  width: 100%;
  margin-bottom: 1rem;
}
.client-detail-container aside ul {
  overflow-y: scroll;
  overflow-x: hidden;
  max-height: calc(100vh - 225px);
}
.client-detail-container aside li.see-more {
  padding: 1rem;
}

#pdf {
  width: 100%;
  height: 100%;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.client-visit-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.client-visit-row .icon-container {
  position: relative;
  margin-left: 1.25rem;
}
.client-visit-row .icon {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: #a9b1b8;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.all-visits-modal .modal {
  width: 320px;
  height: 480px;
}
.all-visits-modal .modal h1 {
  font-size: 24px;
  font-weight: 400;
  padding: 18px 26px;
}
.all-visits-modal .modal-card {
  position: relative;
}
.all-visits-modal .all-visits-container {
  padding: 0 26px;
  height: 344px;
  overflow-y: auto;
}
.all-visits-modal .list-item {
  padding: 0;
  height: 46px;
  list-style: none;
}
.all-visits-modal .list-item .detail {
  font-size: 16px;
  padding-top: 16px;
  margin: 0;
}
.all-visits-modal .close-row {
  position: absolute;
  bottom: 24px;
  right: 24px;
  color: #a9b1b8;
  font-weight: 500;
  cursor: pointer;
}
.confirm-odd-hours-container .message-body {
  padding: 1em;
}
.confirm-odd-hours-container button {
  margin-right: 1em;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.help .section > .header {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.help .section > .header {
  font-size: 1.5em;
  color: #333333;
}

.help .section {
  margin-bottom: 3em;
}
.help .section > .header {
  margin-bottom: 1em;
}
.help .section .drawer .header {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  align-content: center;
  cursor: pointer;
  padding: 1em;
  border-bottom: 1px solid #e0e0e0;
}
.help .section .drawer .header svg {
  transform: rotate(270deg);
  color: #a9b1b8;
}
.help .section .drawer .body {
  padding: 1em;
  background-color: white;
  border-bottom: 1px solid #e0e0e0;
}
.help .section > .drawer ~ .drawer .header {
  border-top: 0;
}
.help .section .drawer.selected .header {
  background-color: #e5f9f6;
  color: #1ebea5;
}
.help .section .drawer.selected .header svg {
  transform: rotate(0deg);
}
.help .section .video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}
.help .section .video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.help .section .group-header {
  color: #01579b;
  font-size: 16px;
  font-weight: 900;
  padding: 1em;
  border-bottom: 1px solid #e0e0e0;
}
@media (max-width: 671.125px) {
  .help {
    margin-top: 2em;
    max-width: none;
  }
  .help .section > .header {
    margin-left: 1em;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.support .section > .header {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.support .section > .header {
  font-size: 1.5em;
  color: #333333;
}

.support .section {
  margin-bottom: 3em;
}
.support .section > .header {
  margin-bottom: 1em;
}
.support .contact {
  display: flex;
  flex-flow: column nowrap;
  align-items: stretch;
}
.support .contact button {
  align-self: flex-end;
  margin-top: 1.5em;
}
.support .contact textarea {
  padding: 1rem;
  height: 5em;
  font-size: 0.875rem;
}
.support .message-input-field p {
  margin-left: 1rem;
}
.support .message-received {
  padding: 1rem;
}
@media (max-width: 671.125px) {
  .support {
    margin-top: 2em;
    max-width: none;
  }
  .support .section > .header {
    margin-left: 1em;
  }
  .support .contact button {
    flex: 1 1 auto;
    margin: 1em;
    align-self: stretch;
  }
}
.support aside .action-button {
  height: 3em !important;
  padding: 0 !important;
  line-height: 3em !important;
}
.download-unverified-pantries .modal {
  justify-content: center;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.user-management table tr {
  border: 1px solid #e5eaea;
}

.user-management {
  align-items: stretch;
  display: flex;
  flex-flow: column nowrap;
  padding: 0 24px;
  width: inherit;
}
.user-management .invite-user-button {
  margin-bottom: 8px;
}
.user-management table {
  width: 100%;
}
.user-management table tr {
  background-color: #f5f5f5;
}
.user-management table tr.confirmed-user {
  background-color: white;
}
.user-management table th,
.user-management table td {
  padding: 1em;
  text-align: left;
}
.user-management table th {
  color: #01579b;
}
.user-management table td:first-child {
  color: #00bfa5;
}
.user-management table td:first-child span {
  display: block;
  font-size: 1.1em;
  color: #a9b1b8;
}
.user-management table td:first-child span:first-child {
  color: #00bfa5;
}
.user-management table td:first-child span:last-child {
  display: block;
  color: black;
  font-size: 1em;
}
.user-management table td:last-child {
  color: #a9b1b8;
  width: 1em;
  text-align: center;
  position: relative;
}
.user-management table td:last-child .edit-delete-user {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
@media (min-width: 671.125px) {
  .user-management table tbody tr:hover {
    background-color: #e5f9f6;
  }
  .user-management table tbody tr:hover > td:last-child > span {
    opacity: 0;
  }
  .user-management table tbody tr:hover > td:last-child .edit-delete-user {
    display: flex;
  }
  .user-management table tbody tr > td:last-child {
    width: 5em;
  }
  .user-management table tbody tr > td:last-child .edit-delete-user {
    display: none;
  }
}
.user-management .edit-user {
  display: inline-block;
  cursor: pointer;
}
.user-management .delete-user {
  cursor: pointer;
}
.user-management > button {
  align-self: flex-end;
}
.user-management .name-with-details {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}
.user-management .icon {
  color: #a9b1b8;
}
@media (max-width: 671.125px) {
  .user-management {
    margin: 0;
  }
  .user-management > button {
    margin: 1em;
    align-self: stretch;
  }
}

.edit-user-portal .modal-body,
.delete-user-portal .modal-body {
  box-sizing: border-box;
}
.edit-user-portal .modal-body .buttons,
.delete-user-portal .modal-body .buttons {
  display: flex;
  justify-content: space-between;
}
.edit-user-portal .modal,
.delete-user-portal .modal {
  width: 25em;
}
.edit-user-portal .textfield,
.delete-user-portal .textfield {
  margin-top: 1em;
}
.edit-user-portal .select-container,
.delete-user-portal .select-container {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.edit-user-portal .select-container .question-mark,
.delete-user-portal .select-container .question-mark {
  font-size: 16px;
  font-weight: bold;
  color: #a9b1b8;
  cursor: pointer;
}

.modal .hide-input {
  display: none;
}
.modal .modal-body {
  margin: 0 2em;
}

.user-role-dialog {
  font-size: 1rem;
}
.user-role-dialog .user-role-dialog-title {
  font-weight: bold;
  padding: 1rem;
  border-bottom: 1px solid #e5eaea;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.user-role-dialog .user-role-dialog-body {
  padding: 1rem;
}
.user-role-dialog .close {
  font-size: 16px;
  font-weight: bold;
  color: #a9b1b8;
  cursor: pointer;
}

.detail-user-portal .modal {
  min-width: 25em;
}
.pantry-avatar, .pantry-avatar--large, .pantry-avatar--medium, .pantry-avatar--small {
  border-radius: 4px;
  margin-right: 1rem;
}

.pantry-avatar--small {
  width: 3rem;
  height: 3rem;
}

.pantry-avatar--medium {
  width: 4rem;
  height: 4rem;
}

.pantry-avatar--large {
  width: 3rem;
  height: 3rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.pantry-info-card {
  background: white;
  padding: 1rem;
  margin-bottom: 1.875rem;
}
.pantry-info-card .admin-list {
  margin-bottom: 1.25rem;
}
.pantry-info-card .admin-list h4 {
  color: #01579b;
  margin: 0.625rem;
  font-weight: 700;
}
.pantry-info-card .admin-list tr {
  font-size: 0.875rem;
}
.pantry-info-card .admin-list td {
  padding: 0.625rem;
}
.pantry-info-card .admin-list th {
  text-align: left;
  padding: 0.625rem;
}

.pantry-info-card-header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.pantry-info-title-container p {
  margin: 0;
}

.pantry-info-title {
  color: #333333;
  font-size: 1.25rem;
  padding-bottom: 0.75em;
}

.pantry-info-subtitle {
  color: #a9b1b8 !important;
  font-size: 1rem;
}

.pantry-info-card-header {
  padding-bottom: 1rem;
}
@media (min-width: 671.125px) {
  .pantry-info-card-header {
    padding-bottom: 2rem;
  }
}

.pantry-info-card-item {
  display: flex;
  align-items: center;
  padding-bottom: 2rem;
  font-size: 1rem;
  color: #333333;
}
.pantry-info-card-item * {
  color: inherit;
}

.pantry-info-card-item-icon {
  width: 1.25rem;
  height: 1.25rem;
  padding-right: 1rem;
}

.pantry-info-card-item-text, .pantry-info-card-item-text--green {
  font-size: 1rem;
}
.pantry-info-card-item-text:hover, .pantry-info-card-item-text--green:hover {
  text-decoration: none;
}

.pantry-info-card-item-text--green {
  color: #00bfa5;
}

.pantry-info-card-edit-container {
  display: flex;
  justify-content: space-between;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.analytics-pagination-button {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}

.analytics-pagination {
  display: flex !important;
}

.analytics-pagination-button {
  display: flex;
  align-items: center;
  color: #a9b1b8;
  flex: 1;
  text-transform: uppercase;
  font-size: 0.8125rem;
}
.analytics-pagination-button:hover {
  cursor: pointer;
}
.analytics-pagination-button img {
  width: 2rem;
  height: 2rem;
}

.main-panel.pantry-analytics {
  padding: 0;
}
.main-panel.pantry-analytics .no-data-container {
  margin-bottom: 1.875rem;
  height: 18.75rem;
}
.main-panel.pantry-analytics .spinner {
  margin-top: 4.375rem;
}

.backbutton-container,
.analytics-pagination {
  height: 2rem;
}
@media (min-width: 671.125px) {
  .backbutton-container,
  .analytics-pagination {
    height: 4rem;
  }
}

.analytics-pagination {
  display: flex;
  flex: 1;
  justify-content: space-between;
  align-items: center;
}
.analytics-pagination .pagination-previous-month {
  justify-content: flex-start;
}
.analytics-pagination .pagination-previous-month img {
  transform: rotate(90deg);
}
.analytics-pagination .pagination-next-month {
  text-align: right;
  justify-content: flex-end;
}
.analytics-pagination .pagination-next-month img {
  transform: rotate(-90deg);
}
.analytics-pagination .pagination-current-month {
  flex: 2;
  color: #333333;
  text-align: center;
}
@media (min-width: 671.125px) {
  .analytics-pagination .pagination-current-month {
    font-size: 1.25rem;
  }
}

.backbutton-container {
  top: 0;
  position: absolute;
  display: flex;
  align-items: center;
}
.backbutton-container button {
  cursor: pointer;
}

.statistics-bar-container .statistics-title,
.statistics-bar-container .legend-title {
  font-size: 1em;
  font-weight: 400;
  letter-spacing: 0.02rem;
  line-height: 1;
  margin-bottom: 1rem;
  color: #a9b1b8;
}
.statistics-bar-container .statistics-items,
.statistics-bar-container .legend-items {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.statistics-bar-container .statistics-item,
.statistics-bar-container .legend-item {
  display: flex;
  padding: 0.75rem 0;
  border-bottom: 1px solid #e5eaea;
}
.statistics-bar-container .statistics-item p,
.statistics-bar-container .legend-item p {
  color: #333333;
  font-weight: 400;
  margin-right: 1em;
}
.statistics-bar-container .statistics-item:first-child,
.statistics-bar-container .legend-item:first-child {
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
  border-top: 1px solid #e5eaea;
}
.statistics-bar-container .statistics-item:last-child,
.statistics-bar-container .legend-item:last-child {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  margin-bottom: 1.25rem;
}
.statistics-bar-container .statistics-item > *,
.statistics-bar-container .legend-item > * {
  margin: 0;
}
.statistics-bar-container .statistics-item {
  justify-content: space-between;
}
.statistics-bar-container .legend-item svg {
  margin-right: 0.5em;
}
.statistics-bar-container .list-item {
  padding: 1rem;
  border-bottom: 1px solid #e5eaea;
  background: white;
  font-weight: 100;
}
.statistics-bar-container .list-item span.detail {
  color: #a9b1b8;
  font-weight: 400;
  display: block;
  margin-top: 8px;
}
.statistics-bar-container .list-item span.future {
  color: #333333;
}
.statistics-bar-container .list-item span.detail.error {
  color: #ed5454;
}
.statistics-bar-container .list-item a {
  color: #1ebea5;
  text-decoration: none;
  font-weight: 400;
}
.statistics-bar-container .list-item:first-child {
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
.statistics-bar-container .list-item:last-child {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  border-bottom: none;
}
.statistics-bar-container .list-item > * {
  margin: 0;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.create-user-account .textfield {
  flex: 1;
  padding-right: 1rem;
}
.create-user-account button:disabled {
  cursor: default;
  opacity: 0.5;
  background-color: #00bfa5;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.administrative-details .general {
  margin-bottom: 0.5rem;
}
.administrative-details .textfield {
  flex: 1;
}
.administrative-details .textfield:first-of-type {
  margin-right: 16px;
}
.administrative-details .field-group,
.administrative-details .textfield.full {
  min-width: 100%;
  flex-basis: 100%;
}
.administrative-details .half {
  min-width: 50%;
  flex-basis: 50%;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.subscription-details .green-text-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.subscription-details .green-text-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.subscription-details .green-text-button {
  color: #00bfa5;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.subscription-details .green-text-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.subscription-details .green-text-button:disabled:hover {
  cursor: default;
}

.subscription-details .section {
  margin: 0.625rem 0 2.125rem;
  padding-bottom: 0.5rem;
}
.subscription-details .columns {
  display: flex;
  border-bottom: 1px solid #e5eaea;
}
.subscription-details .left-column,
.subscription-details .right-column {
  flex: 1;
}
.subscription-details .plan-column .text-label {
  margin: 1rem 0 0.25rem 0;
}
.subscription-details .plan-column .text-description {
  margin: 0;
}
.subscription-details .form-sub-header {
  color: #01579b;
}
.subscription-details .text-label {
  color: #a9b1b8;
  font-size: 0.8125rem;
}
.subscription-details .toggle-container {
  display: flex;
  justify-content: flex-end;
}
.subscription-details .monthly-toggle {
  flex: 2;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  padding-bottom: 1.25rem;
}
.subscription-details .toggle-selected {
  color: #333333;
}
.subscription-details .toggle-not-selected {
  color: #a9b1b8;
}
.subscription-details .toggle-label {
  margin: 0.25rem 0.75rem 0.25rem 0;
  width: 4.6875rem;
  text-align: right;
}
.subscription-details .period-toggle {
  margin-top: 2rem;
}
.subscription-details .messages-remaining {
  flex-direction: column;
}
.subscription-details .messages-remaining .text-input {
  margin-top: 0;
  width: 15.625rem;
  border-bottom: 1px solid #e5eaea;
  padding-bottom: 0.375rem;
}
.subscription-details .button-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.payment-information .credit-card {
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid #e5eaea;
  width: 100%;
  margin-bottom: 1.875rem;
}
.payment-information .card-brand,
.payment-information .card-elipses {
  margin-right: 0.25rem;
}
.payment-information .no-cards-message {
  margin-bottom: 1.5rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.billing-statements .form-separator {
  margin-bottom: 0;
}
.billing-statements .form-container {
  padding: 1rem 0 0;
}
.billing-statements .form-header {
  margin: 1rem;
}
.billing-statements .charges-list .charge-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 0 1rem;
  border-bottom: 1px solid #e5eaea;
  height: 5rem;
}
.billing-statements .charges-list .charge-item.charges-header {
  font-size: 0.8125rem;
  color: #a9b1b8;
  height: 3.125rem;
}
.billing-statements .charges-list .charge-date {
  flex: 96;
}
.billing-statements .charges-list .charge-type {
  flex: 139;
}
.billing-statements .charges-list .charge-card {
  flex: 121;
}
.billing-statements .charges-list .charge-amount {
  flex: 71;
}
.billing-statements .charges-list .charge-actions {
  flex: 3;
}
.billing-statements .charges-list .charge-actions .action-container {
  box-sizing: border-box;
  height: 5rem;
  padding-top: 1.5625rem;
  color: #a9b1b8;
}
.billing-statements .no-cards-message {
  padding: 1rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.multi-site-container .button-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.summary {
  width: 20rem;
}
.summary .form-header {
  margin-bottom: 0.625rem;
}
.summary .confirm-subscription-form {
  width: 25rem;
  margin: 1.25rem;
  box-sizing: border-box;
}
.summary .row-item {
  margin-bottom: 0.625rem;
  padding-bottom: 0.625rem;
  display: flex;
  flex-direction: row;
  width: 100%;
  justify-content: space-between;
  position: relative;
}
.summary .plan-message,
.summary .plan-amount {
  font-weight: 700;
}
.summary .subscript {
  margin-top: 0.25rem;
  color: #a9b1b8;
  font-size: 0.8125rem;
  position: absolute;
  top: 0.875rem;
}
.summary .line-items {
  margin: 1.25rem 0 0.625rem;
}
.summary .sub-total,
.summary .total,
.summary .coupons {
  border-top: 1px solid #e5eaea;
  padding-top: 1.25rem;
}
.summary .due-later {
  margin-bottom: 1.25rem;
}
.summary .green-text {
  color: #00bfa5;
  font-size: 1.125rem;
  font-weight: 700;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.coupon .section {
  display: flex;
  flex-direction: row;
}
.coupon .coupon-input-container .coupon-input {
  width: 19.375rem;
  margin-right: 2.8125rem;
}
.coupon .coupon-input-container .coupon-added {
  color: #00bfa5;
  font-size: 0.75rem;
}
.coupon .coupon-apply {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  position: relative;
}
.coupon .form-button--reverse {
  position: absolute;
  top: 1.75rem;
  padding: 0.25rem !important;
  font-size: 0.875rem;
  text-transform: none;
}
.coupon .form-button--reverse:disabled {
  color: #e5eaea;
  border: 1px solid #e5eaea;
  cursor: default;
}
.coupon .form-button--reverse:disabled:hover {
  color: #e5eaea;
  border: 1px solid #e5eaea;
  background-color: white;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.confirm-container {
  display: flex;
  padding-top: 3.75rem;
  width: 60rem;
  margin: 0 auto;
}
@media (max-width: 1120px) {
  .confirm-container {
    flex-direction: column;
  }
}
.confirm-container .form {
  width: 30rem;
}
.confirm-container .button-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-top: 2rem;
}
.confirm-container .button-row .cancel-button {
  width: 6.25rem;
}
.confirm-container .button-row .confirm-button {
  width: 6.25rem;
}
.confirm-container .disabled-error {
  float: right;
  color: #ed5454;
  font-size: 0.75rem;
  margin-top: 0.5rem;
  margin-right: 0;
}
.confirm-container .explanation {
  color: #a9b1b8;
  font-size: 0.8125rem;
  margin-top: 1.875rem;
  width: 20rem;
  line-height: 1.1875rem;
}
.confirm-container .left-column {
  padding-right: 3rem;
}
@media (max-width: 896px) {
  .confirm-container .left-column {
    width: 30rem;
  }
}
.confirm-container .right-column {
  padding-left: 3rem;
}
@media (max-width: 1120px) {
  .confirm-container .right-column {
    padding-left: 0;
  }
}
@media (max-width: 896px) {
  .confirm-container .right-column {
    width: 20.625rem;
    padding-left: 3rem;
  }
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.import-auth-codes-modal .instruction {
  margin-top: 1rem;
}
.import-auth-codes-modal .add-auth-code-form {
  margin: 1rem;
}
.import-auth-codes-modal .add-auth-code-form label {
  vertical-align: top;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.auth-codes-container {
  margin-right: 2em;
}
.auth-codes-container .header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.5rem;
}
.auth-codes-container .header .back-to-my-pantry {
  margin-right: 1.25rem;
}
.auth-codes-container .search {
  height: 2.5rem;
  width: 18.75rem;
}
.auth-codes-container .search input {
  line-height: 2.25rem;
}
.auth-codes-container .search .icon-container {
  margin-left: -2.5rem;
}
.auth-codes-container .delete-button-container {
  padding: 0 2em;
}
.auth-codes-container .table-container {
  height: 50rem;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.settings-page .admin-image-container .admin-image-overlay .upload-photo-button, .settings-page .blue-text-button {
  vertical-align: middle;
  text-decoration: none;
  border-style: solid;
  border-radius: 4px;
  border-width: 1px;
  padding: 0.75em 1.5em;
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
  text-transform: uppercase;
  line-height: initial;
  font-size: 0.875rem;
  text-align: center;
  cursor: pointer;
}
.settings-page .admin-image-container .admin-image-overlay .upload-photo-button:disabled, .settings-page .blue-text-button:disabled {
  cursor: default;
  background-color: #e5eaea;
  border-color: #e5eaea;
}

.settings-page .blue-text-button {
  color: #01579b;
  height: 1.5em;
  padding: 0 !important;
  border: 0 !important;
}

.settings-page .admin-image-container .admin-image-overlay .upload-photo-button {
  color: white;
  border-color: white;
  border-radius: 0px;
}

.settings-page .blue-text-button:hover, .settings-page .admin-image-container .admin-image-overlay .upload-photo-button:hover {
  opacity: 0.7;
  cursor: pointer;
  text-decoration: none;
}
.settings-page .blue-text-button:disabled:hover, .settings-page .admin-image-container .admin-image-overlay .upload-photo-button:disabled:hover {
  cursor: default;
}

.settings-page {
  margin-bottom: 300px;
}
.settings-page .button-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin: 12px 0;
}
.settings-page .updated-message {
  color: #00bfa5;
}
.settings-page .admin-image-container {
  float: left;
  height: 9em;
  max-width: 9em;
  min-width: 9em;
  margin-right: 2em;
  margin-top: 1em;
  position: relative;
}
.settings-page .admin-image-container .admin-image {
  width: 100%;
  vertical-align: top;
}
.settings-page .admin-image-container .admin-image-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.25);
  opacity: 0;
  transition: all 0.3s;
  -webkit-transition: all 0.3s;
}
.settings-page .admin-image-container .admin-image-overlay .upload-photo-button {
  font-size: 14px;
  font-weight: 500;
  border-radius: 0px;
  padding: 0.4em 0.8em;
  max-width: 5rem;
  margin: auto;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}
.settings-page .admin-image-container:hover .admin-image-overlay {
  opacity: 1;
}
.settings-page .my-text-field.column {
  height: auto;
}
.settings-page .phone-verification {
  padding-top: 24px;
}
.settings-page .phone-verification .phone-verified {
  color: #00bfa5;
}
.settings-page .phone-verification .phone-unverified {
  color: #ed5454;
}
.settings-page .blue-text-button {
  display: inline-block;
  height: auto;
}
.settings-page .change-password {
  margin: 40px 0;
}
.settings-page .change-password .column {
  display: flex;
  flex-direction: column;
  width: 50%;
  margin-top: 24px;
}
.settings-page .change-password .gray-border-button {
  cursor: default;
}
.settings-page .phone-number {
  width: 100%;
}
.settings-page .roles-container {
  margin-top: 40px;
}
.settings-page .roles-container .role-column {
  display: flex;
  flex-direction: column;
}
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
/**
* Some components depend on this specific ordering, so changing it has a big blast radius.
*
 * TODO: Material Menu's default to z-index 1300,
 * so this should go higher or menus pop through the modal overlays.
 */
.settings-page h1,
.settings-page h3 {
  color: #01579b;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiO0FBa0JBOzs7OztFQUFBO0FBQUE7Ozs7O0VBQUE7QUNmQTtFQUNFO0FDV0Y7O0FENkNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzFDRjtBRGdERTtFQUNFO0VBQ0EseUJFM0VpQjtFRjRFakIscUJFNUVpQjtBRDhCckI7O0FEa0RBO0VBRUUscUJFeEZZO0VGeUZaLHlCRXpGWTtFRjBGWjtBQ2hERjs7QURvRUE7RUFFRSxxQkVoSFk7RUZpSFosY0VqSFk7QUQrQ2Q7O0FENkVBO0VBRUUscUJFbkhXO0VGb0hYLGNFcEhXO0FEeUNiOztBRDhFQTtFQUVFLHFCRS9IWTtFRmdJWixjRWhJWTtBRG9EZDs7QUR1RkE7RUFFRSxjRXZJVztFRndJWDtFQUNBO0VBQ0E7QUNyRkY7O0FEdUdBO0VBQ0U7RUFDQTtFQUNBO0FDcEdGO0FEcUdFO0VBQ0U7QUNuR0o7O0FEdUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ3BHRjs7QUR1R0E7RUFHRTtFQUNBO0VBQ0E7RUFDQSx5QkVqTVk7RUZrTVo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDdEdGO0FEd0dFO0VBQ0UseUJFNU1pQjtBRHNHckI7QUQ2R0U7RUFDRTtBQzNHSjtBRDhHRTtFQUNFO0FDNUdKO0FEOEdJO0VBQ0U7QUM1R047O0FEaUhBO0VBRUUseUJFeE5XO0FEeUdiO0FEaUhFO0VBQ0U7QUMvR0o7O0FEbUhBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QUNqSEY7O0FEb0hBO0VBRUUsY0VwUFk7QURrSWQ7QURtSEU7RUFDRSxtQkV4T3FCO0FEdUh6Qjs7QURxSEE7RUFDRTtBQ2xIRjtBRHNJQTtFRzlPRSxzRkpsQlU7RUltQlYsZ0JIOE8wQjtBQ25JNUI7O0FEc1BBO0VBQ0U7RUFDQSxhRHpYYTtBRXNJZjs7QUZqSUE7Ozs7O0VBQUE7QUFBQTs7Ozs7RUFBQTtBQ2ZBO0VBQ0U7QUMrSkY7O0FEdkdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzBHRjtBRHBHRTtFQUNFO0VBQ0EseUJFM0VpQjtFRjRFakIscUJFNUVpQjtBRGtMckI7O0FEbEdBO0VBRUUscUJFeEZZO0VGeUZaLHlCRXpGWTtFRjBGWjtBQ29HRjs7QURoRkE7RUFFRSxxQkVoSFk7RUZpSFosY0VqSFk7QURtTWQ7O0FEdkVBO0VBRUUscUJFbkhXO0VGb0hYLGNFcEhXO0FENkxiOztBRHRFQTtFQUVFLHFCRS9IWTtFRmdJWixjRWhJWTtBRHdNZDs7QUQ3REE7RUFFRSxjRXZJVztFRndJWDtFQUNBO0VBQ0E7QUMrREY7O0FEN0NBO0VBQ0U7RUFDQTtFQUNBO0FDZ0RGO0FEL0NFO0VBQ0U7QUNpREo7O0FEN0NBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ2dERjs7QUQ3Q0E7RUFHRTtFQUNBO0VBQ0E7RUFDQSx5QkVqTVk7RUZrTVo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDOENGO0FENUNFO0VBQ0UseUJFNU1pQjtBRDBQckI7QUR2Q0U7RUFDRTtBQ3lDSjtBRHRDRTtFQUNFO0FDd0NKO0FEdENJO0VBQ0U7QUN3Q047O0FEbkNBO0VBRUUseUJFeE5XO0FENlBiO0FEbkNFO0VBQ0U7QUNxQ0o7O0FEakNBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QUNtQ0Y7O0FEaENBO0VBRUUsY0VwUFk7QURzUmQ7QURqQ0U7RUFDRSxtQkV4T3FCO0FEMlF6Qjs7QUQvQkE7RUFDRTtBQ2tDRjtBRGRBO0VHOU9FLHNGSmxCVTtFSW1CVixnQkg4TzBCO0FDaUI1Qjs7QURrR0E7RUFDRTtFQUNBLGFEelhhO0FFMFJmOztBRzVRRTtFQ3hCRjtJQUVJO0VKdVNGO0FBQ0Y7QUl0U0U7RUFDRTtBSndTSjs7QUlwU0E7RUFDRTtBSnVTRjs7QUloU0E7RUFDRTtFQUNBO0VBQ0E7QUptU0Y7QUlsU0U7RUFFRTtBSm1TSjs7QUYzU0E7Ozs7O0VBQUE7QUFBQTs7Ozs7RUFBQTtBQ2ZBO0VBQ0U7QUN5VUY7O0FEalJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ29SRjtBRDlRRTtFQUNFO0VBQ0EseUJFM0VpQjtFRjRFakIscUJFNUVpQjtBRDRWckI7O0FENVFBO0VBRUUscUJFeEZZO0VGeUZaLHlCRXpGWTtFRjBGWjtBQzhRRjs7QUQxUEE7RUFFRSxxQkVoSFk7RUZpSFosY0VqSFk7QUQ2V2Q7O0FEalBBO0VBRUUscUJFbkhXO0VGb0hYLGNFcEhXO0FEdVdiOztBRGhQQTtFQUVFLHFCRS9IWTtFRmdJWixjRWhJWTtBRGtYZDs7QUR2T0E7RUFFRSxjRXZJVztFRndJWDtFQUNBO0VBQ0E7QUN5T0Y7O0FEdk5BO0VBQ0U7RUFDQTtFQUNBO0FDME5GO0FEek5FO0VBQ0U7QUMyTko7O0FEdk5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzBORjs7QUR2TkE7RUFHRTtFQUNBO0VBQ0E7RUFDQSx5QkVqTVk7RUZrTVo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDd05GO0FEdE5FO0VBQ0UseUJFNU1pQjtBRG9hckI7QURqTkU7RUFDRTtBQ21OSjtBRGhORTtFQUNFO0FDa05KO0FEaE5JO0VBQ0U7QUNrTk47O0FEN01BO0VBRUUseUJFeE5XO0FEdWFiO0FEN01FO0VBQ0U7QUMrTUo7O0FEM01BO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QUM2TUY7O0FEMU1BO0VBRUUsY0VwUFk7QURnY2Q7QUQzTUU7RUFDRSxtQkV4T3FCO0FEcWJ6Qjs7QUR6TUE7RUFDRTtBQzRNRjtBRHhMQTtFRzlPRSxzRkpsQlU7RUltQlYsZ0JIOE8wQjtBQzJMNUI7O0FEeEVBO0VBQ0U7RUFDQSxhRHpYYTtBRW9jZjs7QUsvY0E7RUFFRTtFQUNBO0FMaWRGO0FLL2NFO0VBQ0U7RUFDQSxzRlBPUTtBRTBjWjtBSzljRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMZ2RKO0FLOWNJO0VBQ0U7QUxnZE47O0FLMWNFO0VBQ0U7RUFDQTtBTDZjSjs7QUt4Y0U7RUFDRTtFQUNBO0VBQ0E7QUwyY0o7QUt6Y0k7RUFDRSxhSnZDYztBRGtmcEI7O0FGeGVBOzs7OztFQUFBO0FBQUE7Ozs7O0VBQUE7QUNmQTtFQUNFO0FDc2dCRjs7QUQ5Y0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDaWRGO0FEM2NFO0VBQ0U7RUFDQSx5QkUzRWlCO0VGNEVqQixxQkU1RWlCO0FEeWhCckI7O0FEemNBO0VBRUUscUJFeEZZO0VGeUZaLHlCRXpGWTtFRjBGWjtBQzJjRjs7QUR2YkE7RUFFRSxxQkVoSFk7RUZpSFosY0VqSFk7QUQwaUJkOztBRDlhQTtFQUVFLHFCRW5IVztFRm9IWCxjRXBIVztBRG9pQmI7O0FEN2FBO0VBRUUscUJFL0hZO0VGZ0laLGNFaElZO0FEK2lCZDs7QURwYUE7RUFFRSxjRXZJVztFRndJWDtFQUNBO0VBQ0E7QUNzYUY7O0FEcFpBO0VBQ0U7RUFDQTtFQUNBO0FDdVpGO0FEdFpFO0VBQ0U7QUN3Wko7O0FEcFpBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ3VaRjs7QURwWkE7RUFHRTtFQUNBO0VBQ0E7RUFDQSx5QkVqTVk7RUZrTVo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDcVpGO0FEblpFO0VBQ0UseUJFNU1pQjtBRGltQnJCO0FEOVlFO0VBQ0U7QUNnWko7QUQ3WUU7RUFDRTtBQytZSjtBRDdZSTtFQUNFO0FDK1lOOztBRDFZQTtFQUVFLHlCRXhOVztBRG9tQmI7QUQxWUU7RUFDRTtBQzRZSjs7QUR4WUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBQzBZRjs7QUR2WUE7RUFFRSxjRXBQWTtBRDZuQmQ7QUR4WUU7RUFDRSxtQkV4T3FCO0FEa25CekI7O0FEdFlBO0VBQ0U7QUN5WUY7QURyWEE7RUc5T0Usc0ZKbEJVO0VJbUJWLGdCSDhPMEI7QUN3WDVCOztBRHJRQTtFQUNFO0VBQ0EsYUR6WGE7QUVpb0JmOztBTXhvQkE7RUFFRSxlUk1tQjtBRW9vQnJCOztBTXZvQkE7RUFDRTtBTjBvQkY7O0FNdm9CQTtFQUVFLGNMWlk7RUthWjtFQUNBO0FOeW9CRjs7QU10b0JBO0VBQ0UsY0xqQlk7RUtrQlo7QU55b0JGOztBTXRvQkE7RUFFRTtBTndvQkY7O0FNcm9CQTtFQUNFO0FOd29CRjs7QU1yb0JBO0VBQ0U7RUFDQTtBTndvQkY7O0FNcm9CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FOd29CRjtBRzFwQkU7RUdjRjtJQU9JO0VOeW9CRjtBQUNGO0FNdm9CRTtFQUNFO0FOeW9CSjtBR2xxQkU7RUd3QkE7SUFHSTtFTjJvQko7QUFDRjs7QU12b0JBO0VBQ0U7RUFDQTtFQUNBO0FOMG9CRjtBTXhvQkU7RUFDRTtBTjBvQko7O0FNdG9CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FOeW9CRjtBR3ZyQkU7RUcwQ0Y7SUFPSTtFTjBvQkY7QUFDRjtBTXhvQkU7RUFDRTtBTjBvQko7QUcvckJFO0VHb0RBO0lBR0k7RU40b0JKO0FBQ0Y7QU16b0JFO0VBQ0U7QU4yb0JKO0FHdnNCRTtFRzJEQTtJQUdJO0VONm9CSjtBQUNGOztBTXpvQkE7RUFDRTtFQUNBO0VBQ0E7QU40b0JGO0FNMW9CRTtFQUNFO0VBQ0E7QU40b0JKOztBR3R0QkU7RUc4RUY7SUFFSTtFTjJvQkY7QUFDRjs7QU14b0JBO0VBQ0U7QU4yb0JGOztBTXhvQkE7RUFDRTtBTjJvQkY7QU16b0JFO0VBQ0U7QU4yb0JKOztBTXZvQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOMG9CRjtBR2x2QkU7RUdnR0Y7SUFXSTtFTjJvQkY7QUFDRjs7QU14b0JBO0VBQ0U7RUFDQTtBTjJvQkY7O0FNeG9CQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4yb0JGO0FNem9CRTtFQUNFLGNMakpVO0FENHhCZDtBTXhvQkU7RUFDRSxtQkxySlU7QUQreEJkOztBT3J5QkE7RUFDRTtBUHd5QkY7QUc5d0JFO0VJM0JGO0lBR0k7SUFDQTtFUDB5QkY7QUFDRjs7QU92eUJBO0VBQ0U7QVAweUJGO0FHeHhCRTtFSW5CRjtJQUdJO0lBQ0E7RVA0eUJGO0FBQ0Y7O0FHOXhCRTtFSVhGO0lBRUk7RVA0eUJGO0VPMXlCRTtJQUNFO0VQNHlCSjtFT3p5QkU7SUFDRTtJQUNBO0VQMnlCSjtBQUNGOztBRzN5QkU7RUlJRjtJQUVJO0VQMHlCRjtFT3h5QkU7SUFDRTtFUDB5Qko7RU92eUJFO0lBQ0U7RVB5eUJKO0FBQ0Y7QUd2ekJFO0VJa0JFO0lBQ0U7SUFDQTtFUHd5Qko7QUFDRjs7QVF4MUJBO0VBQ0U7RUFDQTtFQUNBO0FSMjFCRjs7QVF4MUJBO0VBQ0U7RUFDQTtBUjIxQkY7O0FGajFCQTs7Ozs7RUFBQTtBQUFBOzs7OztFQUFBO0FDZkE7RUFDRTtBQysyQkY7O0FEdnpCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUMwekJGO0FEcHpCRTtFQUNFO0VBQ0EseUJFM0VpQjtFRjRFakIscUJFNUVpQjtBRGs0QnJCOztBRGx6QkE7RUFFRSxxQkV4Rlk7RUZ5RloseUJFekZZO0VGMEZaO0FDb3pCRjs7QURoeUJBO0VBRUUscUJFaEhZO0VGaUhaLGNFakhZO0FEbTVCZDs7QUR2eEJBO0VBRUUscUJFbkhXO0VGb0hYLGNFcEhXO0FENjRCYjs7QUR0eEJBO0VBRUUscUJFL0hZO0VGZ0laLGNFaElZO0FEdzVCZDs7QUQ3d0JBO0VBRUUsY0V2SVc7RUZ3SVg7RUFDQTtFQUNBO0FDK3dCRjs7QUQ3dkJBO0VBQ0U7RUFDQTtFQUNBO0FDZ3dCRjtBRC92QkU7RUFDRTtBQ2l3Qko7O0FEN3ZCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNnd0JGOztBRDd2QkE7RUFHRTtFQUNBO0VBQ0E7RUFDQSx5QkVqTVk7RUZrTVo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDOHZCRjtBRDV2QkU7RUFDRSx5QkU1TWlCO0FEMDhCckI7QUR2dkJFO0VBQ0U7QUN5dkJKO0FEdHZCRTtFQUNFO0FDd3ZCSjtBRHR2Qkk7RUFDRTtBQ3d2Qk47O0FEbnZCQTtFQUVFLHlCRXhOVztBRDY4QmI7QURudkJFO0VBQ0U7QUNxdkJKOztBRGp2QkE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBQ212QkY7O0FEaHZCQTtFQUVFLGNFcFBZO0FEcytCZDtBRGp2QkU7RUFDRSxtQkV4T3FCO0FEMjlCekI7O0FEL3VCQTtFQUNFO0FDa3ZCRjtBRDl0QkE7RUc5T0Usc0ZKbEJVO0VJbUJWLGdCSDhPMEI7QUNpdUI1Qjs7QUQ5bUJBO0VBQ0U7RUFDQSxhRHpYYTtBRTArQmY7O0FTci9CQTtFUGdDRSxzRkpsQlU7RUltQlYsZ0JPaEMwQjtBVHkvQjVCOztBU3QvQkE7RVA0QkUsc0ZKbEJVO0VJbUJWLGdCTzVCMEI7QVQwL0I1Qjs7QVN2L0JBO0VQd0JFLHNGSmxCVTtFSW1CVixnQk94QjBCO0FUMi9CNUI7O0FTeC9CQTtFUG9CRSxzRkpsQlU7RUltQlYsZ0JPcEIwQjtBVDQvQjVCOztBU3ovQkE7RVBnQkUsc0ZKbEJVO0VJbUJWLGdCT2hCMEI7QVQ2L0I1Qjs7QVMxL0JBO0VQWUUsc0ZKbEJVO0VJbUJWLGdCT1owQjtBVDgvQjVCOztBUzMvQkE7Ozs7OztFQU1FO0VBQ0E7QVQ4L0JGOztBUzkrQkE7O0VBRUU7RUFkQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVGdnQ0Y7O0FTdi9CQTtFQUNFO0VBQ0E7RVB2QkEsc0ZKbEJVO0VJbUJWLGdCT3VCMEI7QVQyL0I1Qjs7QVN4L0JBO0VBQ0U7RUFDQTtFQUNBLGNSM0RZO0VDNkJaLHNGSmxCVTtFSW1CVixnQk84QjBCO0FUNC9CNUI7O0FTei9CQTtFQUNFO0VBQ0E7RVBwQ0Esc0ZKbEJVO0VJbUJWLGdCT29DMEI7QVQ2L0I1Qjs7QVMxL0JBO0VBQ0U7RUFDQTtFUDFDQSxzRkpsQlU7RUltQlYsZ0JPMEMwQjtBVDgvQjVCOztBUzMvQkE7RUFDRTtFQUNBO0VQaERBLHNGSmxCVTtFSW1CVixnQk9nRDBCO0FUKy9CNUI7O0FTNS9CQTtFQUNFO0VBQ0E7RVB0REEsc0ZKbEJVO0VJbUJWLGdCT3NEMEI7QVRnZ0M1Qjs7QVM3L0JBOzs7Ozs7RUFNRTtFQUNBO0VQakVBLHNGSmxCVTtFSW1CVixnQk9pRTBCO0FUaWdDNUI7O0FVcm1DQTtFQUNFO0VBQ0E7QVZ3bUNGOztBVXRtQ0E7RUFDRTtBVnltQ0Y7O0FVdm1DQTtFQUNFO0FWMG1DRjs7QVV4bUNBO0VBQ0U7QVYybUNGOztBVXptQ0E7RUFDRTtBVjRtQ0Y7O0FVMW1DQTtFQUNFO0VBQ0E7QVY2bUNGOztBVTFtQ0E7RUFDRTtBVjZtQ0Y7O0FVM21DQTtFQUNFO0VBQ0E7QVY4bUNGOztBVTVtQ0E7RUFDRTtBVittQ0Y7O0FVN21DQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmduQ0Y7O0FVOW1DQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVmluQ0Y7O0FVL21DQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZrbkNGOztBVWhuQ0E7RUFJRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWZ25DRjs7QVU5bUNBO0VBSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWOG1DRjs7QVU1bUNBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYrbUNGOztBVTdtQ0E7RUFDRTtBVmduQ0Y7O0FVOW1DQTtFQUNFO0FWaW5DRjs7QVUvbUNBO0VBS0U7QVY4bUNGOztBVTVtQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWK21DRjs7QVU3bUNBO0VBQ0U7QVZnbkNGOztBVTltQ0E7RUFDRTtBVmluQ0Y7O0FVL21DQTtFQUNFO0FWa25DRjs7QVVobkNBO0VBQ0U7QVZtbkNGOztBVWpuQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVm9uQ0Y7O0FVbG5DQTtFQUNFO0FWcW5DRjs7QVVubkNBO0VBQ0U7QVZzbkNGOztBVXBuQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZ1bkNGOztBVXJuQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVnduQ0Y7O0FVdG5DQTtFQUNFO0VBQ0E7QVZ5bkNGOztBVXZuQ0E7RUFDRTtFQUNBO0VBQ0E7QVYwbkNGOztBVXhuQ0E7RUFDRTtFQUNBO0VBQ0E7QVYybkNGOztBVXpuQ0E7RUFDRTtBVjRuQ0Y7O0FVMW5DQTtFQUNFO0VBQ0E7QVY2bkNGOztBVTNuQ0E7RUFDRTtBVjhuQ0Y7O0FVNW5DQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVYrbkNGOztBVTduQ0E7RUFDRTtBVmdvQ0Y7O0FVOW5DQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZpb0NGOztBVS9uQ0E7RUFDRTtFQUNBO0FWa29DRjs7QVVob0NBO0VBQ0U7QVZtb0NGOztBVWpvQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWb29D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LGNFdElZO0VGdUlaO0VBQ0E7RUFDQTtBcUh2R0Y7O0FySDBIQTtFQUVFO0VBQ0E7RUFDQTtBcUh4SEY7O0FySDJIQTtFQUNFO0VBQ0E7RUFDQTtBcUh4SEY7QXJIeUhFO0VBQ0U7QXFIdkhKOztBQXBEQTtFQUNFO0FBdURGO0FBckRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUF1REo7QUFyREU7RUFDRSxjbkhYVTtBbUhrRWQ7QUFwREU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXNESjtBQXBESTtFQUNFO0VBQ0E7QUFzRE47QUFuREk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFxRE47QUFuRE07RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQW9EUjtBQS9DTTtFQUNFO0FBaURSO0FBM0NJO0VBQ0U7QUE2Q047QUF6Q0U7RUFDRTtBQTJDSjtBQXpDSTtFQUNFLGNuSHZFUTtBbUhrSGQ7QUF4Q0k7RUFDRSxjbkhoRU87QW1IMEdiO0FBdENFO0VBR0U7RUFDQTtBQXNDSjtBQW5DRTtFQUNFO0FBcUNKO0FBbkNJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFxQ047QUFsQ0k7RUFDRTtBQW9DTjtBQWhDRTtFQUNFO0FBa0NKO0FBL0JFO0VBQ0U7QUFpQ0o7QUEvQkk7RUFDRTtFQUNBO0FBaUNOLEM7QXRIOUhBOzs7OztFQUFBO0FBQUE7Ozs7O0VBQUE7QXVIZkU7O0VBRUU7QUFVSixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvZXh0ZW5kcy5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvc3R5bGVzL2luZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvbWVkaWEtcXVlcmllcy5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvc3R5bGVzL2FkbWluLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvY2hhcnQuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL3N0eWxlcy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvc3R5bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvc3R5bGVzL21hdGVyaWFsLXVpLW92ZXJyaWRlcy5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9SZXVzYWJsZUNvbXBvbmVudHMvRXVsYUFjY2VwdGFuY2UvRXVsYUFjY2VwdGFuY2Uuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0V1bGFNb2RhbC9FdWxhTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvUmV1c2FibGVDb21wb25lbnRzL01vZGFsL01vZGFsQ2FyZC9Nb2RhbENhcmQuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvUmV1c2FibGVDb21wb25lbnRzL01vZGFsL01vZGFsSGVhZGVyL01vZGFsSGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1JldXNhYmxlQ29tcG9uZW50cy9Nb2RhbC9Nb2RhbEJ1dHRvbi9Nb2RhbEJ1dHRvbi5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9SZXVzYWJsZUNvbXBvbmVudHMvTW9kYWwvTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL1Nlc3Npb25Nb2RhbC9TZXNzaW9uTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTGF5b3V0L0xheW91dC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9NYWluSGVhZGVyL01haW5IZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvU2lkZWJhci9TaWRlYmFyTWVudS9TaWRlYmFyTWVudS5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9TaWRlYmFyL1NpZGViYXJNZW51SXRlbS9TaWRlYmFyTWVudUl0ZW0uc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvUGxlbnRpZnVsTG9nby9QbGVudGlmdWxMb2dvLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1BsZW50aWZ1bExvZ28vUGxlbnRpZnVsRnVsbExvZ28uc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTG9naW4vU2Vzc2lvbkV4cGlyZWRNb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29udGFpbmVycy9Ib21lQ29udGFpbmVyL0hvbWVDb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTG9naW4vVGZhQ29kZUZvcm0uc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvUmV1c2FibGVDb21wb25lbnRzL1Bhc3N3b3JkU3RyZW5ndGgvUGFzc3dvcmRTdHJlbmd0aC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Mb2dpbi9Mb2dpbi5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Gb3JtL0Zvcm0uc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvRm9ybS9aaXBDb2RlQ2hpcElucHV0LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01vZGFscy9SZWdpc3RyYXRpb25Nb2RhbC9SZWdpc3RyYXRpb25Nb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9SZWdpc3Rlci9PbmJvYXJkU2lnbnVwLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1JlZ2lzdGVyL09uYm9hcmRBY2NvdW50LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1JlZ2lzdGVyL1JlZ2lzdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1JlZ2lzdGVyL09uYm9hcmRXZWxjb21lLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL015UGFudHJ5L015UGFudHJ5LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9mZWF0dXJlcy90ZWZhcC9jb21wb25lbnRzL1RlZmFwTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvUmV1c2FibGVDb21wb25lbnRzL0NsaWVudEF1dG9jb21wbGV0ZS9DbGllbnRBdXRvY29tcGxldGUuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0R1cGxpY2F0ZVBob25lTW9kYWwvRHVwbGljYXRlUGhvbmVNb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Nb2RhbHMvQWRkSG91c2Vob2xkTWVtYmVyTW9kYWwvQWRkSG91c2Vob2xkTWVtYmVyTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2ZlYXR1cmVzL3N0YXRlLXByb2dyYW1zL1Byb2dyYW1BdHRlc3RhdGlvbkVycm9yLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9mZWF0dXJlcy9zdGF0ZS1wcm9ncmFtcy9Qcm9ncmFtQXR0ZXN0YXRpb25Nb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvZmVhdHVyZXMvc3RhdGUtcHJvZ3JhbXMvU3RhdGVQcm9ncmFtcy5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9XaXphcmRGb3JtL1dpemFyZEZvcm0uc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvV2l6YXJkRm9ybS9KU09ORm9ybXMuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvSlNPTkZvcm1zL1NlYXJjaGFibGVFbnVtQ29udHJvbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9SZXVzYWJsZUNvbXBvbmVudHMvQWN0aW9uUHJvbXB0L0FjdGlvblByb21wdC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvZmVhdHVyZXMvc3RhdGUtcHJvZ3JhbXMvVmlzaXRQcm9ncmFtTWVudUl0ZW0uc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2ZlYXR1cmVzL3N0YXRlLXByb2dyYW1zL1N0YXR1c0JhZGdlLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1NjaGVkdWxlL1NjaGVkdWxlTW9udGhFbnRyeS9TY2hlZHVsZU1vbnRoRW50cnkuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvU2NoZWR1bGUvTm9TZXJ2aWNlcy9Ob1NlcnZpY2VzLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1NjaGVkdWxlL1NlcnZpY2VNb2RhbC9TZXJ2aWNlTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvU2NoZWR1bGUvRGVsZXRlU2VydmljZU1vZGFsL0RlbGV0ZVNlcnZpY2VNb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29udGFpbmVycy9TY2hlZHVsZUNvbnRhaW5lci9TY2hlZHVsZU1vbnRoQ29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01vZGFscy9BZGRWaXNpdG9yTW9kYWwvVXNlckljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1NjaGVkdWxlL1BlcnNvblJvdy9QZXJzb25Sb3cuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvU2NoZWR1bGUvU2NoZWR1bGVTZXJ2aWNlRW50cnkvU2NoZWR1bGVTZXJ2aWNlRW50cnkuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL05vd1NlcnZpbmdNb2RhbC9Ob3dTZXJ2aW5nTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvU2NoZWR1bGUvQXBwb2ludG1lbnRCbG9jay9BcHBvaW50bWVudEJsb2NrLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1NjaGVkdWxlL0ZpbHRlckNsaWVudHMvRmlsdGVyQ2xpZW50cy5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9TY2hlZHVsZS9BcHBvaW50bWVudExpc3QvQXBwb2ludG1lbnRMaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1JldXNhYmxlQ29tcG9uZW50cy9TbGlkZXIvU2xpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01vZGFscy9TZXRXYWl0aW5nTGlzdE1vZGFsL1NldFdhaXRpbmdMaXN0TW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0VkaXRBcHBvaW50bWVudFRpbWVNb2RhbC9FZGl0QXBwb2ludG1lbnRUaW1lTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvQ2xpZW50cy9EZWFjdGl2YXRlZFBob25lL0RlYWN0aXZhdGVkUGhvbmUuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0FkZFZpc2l0b3JNb2RhbC9RclNjYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0FkZFZpc2l0b3JNb2RhbC9BZGRWaXNpdG9yTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL05leHRWaXNpdE1vZGFsL1Zpc2l0Q29sdW1uLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01vZGFscy9DaGFuZ2VWaXNpdE1vZGFsL0NoYW5nZVZpc2l0TW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL1ZlcmlmeUNsaWVudE1vZGFsL1ZlcmlmeUNsaWVudE1vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL0Zvcm0vQW5zd2VyRGlzcGxheS5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Nb2RhbHMvRWRpdEhvdXNlaG9sZE1vZGFsL0VkaXRIb3VzZWhvbGRNb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Nb2RhbHMvQ2xpZW50RGV0YWlsc01vZGFsL0NsaWVudERldGFpbHNNb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Nb2RhbHMvUmVxdWVzdGVkSW5mb01vZGFsL1JlcXVlc3RlZEluZm9Nb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9DbGllbnRzL1BsZW50aVBhc3NQcmludC9QbGVudGlQYXNzUHJpbnQuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbnRhaW5lcnMvU2NoZWR1bGVDb250YWluZXIvU2NoZWR1bGVTZXJ2aWNlQ29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01lc3NhZ2luZy9UcmFuc2xhdGlvbkFjY29yZGlvbi9UcmFuc2xhdGlvbkFjY29yZGlvbi5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Nb2RhbHMvU2VuZE1lc3NhZ2VNb2RhbC9TZW5kTWVzc2FnZU1vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01lc3NhZ2luZy9OZXdNZXNzYWdlTW9kYWwvTmV3TWVzc2FnZVBhbmVsLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01lc3NhZ2luZy9NZXNzYWdlL01lc3NhZ2Uuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0NvbmZpcm1Nb2RhbC9Db25maXJtTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbnRhaW5lcnMvTWVzc2FnZXNDb250YWluZXIvVGhyZWFkc0NvbnRhaW5lci5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9NZXNzYWdpbmcvU2luZ2xlTWVzc2FnZS9TaW5nbGVNZXNzYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL25vZGVfbW9kdWxlcy9maXhlZC1kYXRhLXRhYmxlLTIvZGlzdC9maXhlZC1kYXRhLXRhYmxlLm1pbi5jc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01vZGFscy9Eb3dubG9hZENsaWVudHNNb2RhbC9Eb3dubG9hZENsaWVudHNNb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Nb2RhbHMvRmxhdEZpbGVJbXBvcnRlclJlc3VsdHNNb2RhbC9GbGF0RmlsZUltcG9ydGVyUmVzdWx0c01vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01vZGFscy9OZXdDbGllbnRQaG9uZU1vZGFsL05ld0NsaWVudFBob25lTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL1BvcHVwTW9kYWwvUG9wdXBNb2RhbC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9DbGllbnRzL0NsaWVudExpc3QvQ2xpZW50TGlzdC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Nb2RhbHMvVXBsb2FkVXNlckltYWdlTW9kYWwvVXBsb2FkVXNlckltYWdlTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0RlbGV0ZVVzZXJNb2RhbC9EZWxldGVVc2VyTW9kYWwuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvQ2xpZW50cy9DbGllbnREZXRhaWwvQ2xpZW50RGV0YWlsLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb250YWluZXJzL0NsaWVudHNDb250YWluZXIvQ2xpZW50Q29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9zdHlsZXMvbWFya2V0aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL0NsaWVudHMvQ2xpZW50VmlzaXRSb3cvQ2xpZW50VmlzaXRSb3cuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0FsbFZpc2l0c01vZGFsL0FsbFZpc2l0c01vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL01vZGFscy9VcGRhdGVWaXNpdEhpc3RvcnkvVXBkYXRlVmlzaXRIaXN0b3J5LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL0hlbHAvSGVscC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9IZWxwL1N1cHBvcnQuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvTW9kYWxzL0RlbGV0ZVBhbnRyeU1vZGFsL01vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1VzZXJNYW5hZ2VtZW50L1VzZXJNYW5hZ2VtZW50LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL1BhbnRyeUF2YXRhci9QYW50cnlBdmF0YXIuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvUGFudHJ5U3RhdGlzdGljcy9QYW50cnlJbmZvQ2FyZC5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9QYW50cnlTdGF0aXN0aWNzL1BhbnRyeVN0YXRpc3RpY3Muc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvVXNlck1hbmFnZW1lbnQvQ3JlYXRlVXNlckFjY291bnQuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvQWNjb3VudC9BZG1pbmlzdHJhdGl2ZS9BZG1pbmlzdHJhdGl2ZS5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9BY2NvdW50L1N1YnNjcmlwdGlvbi9TdWJzY3JpcHRpb24uc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvQWNjb3VudC9QYXltZW50L1BheW1lbnQuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvQWNjb3VudC9TdGF0ZW1lbnRzL1N0YXRlbWVudHMuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvQWNjb3VudC9NdWx0aVNpdGUvTXVsdGlTaXRlLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL0FjY291bnQvU3VtbWFyeS9TdW1tYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL0FjY291bnQvQ291cG9uL0NvdXBvbi5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9BY2NvdW50L0NvbmZpcm1hdGlvblBhZ2UvQ29uZmlybWF0aW9uUGFnZS5zY3NzIiwid2VicGFjazovL255Y2ZhYy1wYW50cnkvLi9zcmMvanMvY29tcG9uZW50cy9Nb2RhbHMvSW1wb3J0QXV0aENvZGVzL0ltcG9ydEF1dGhDb2Rlc01vZGFsLnNjc3MiLCJ3ZWJwYWNrOi8vbnljZmFjLXBhbnRyeS8uL3NyYy9qcy9jb21wb25lbnRzL0F1dGhDb2Rlcy9BdXRoQ29kZXMuc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbXBvbmVudHMvU2V0dGluZ3MvU2V0dGluZ3Muc2NzcyIsIndlYnBhY2s6Ly9ueWNmYWMtcGFudHJ5Ly4vc3JjL2pzL2NvbnRhaW5lcnMvU2V0dGluZ3NDb250YWluZXIvU2V0dGluZ3NDb250YWluZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIkaGVhZGVyLWhlaWdodDogNjRweDtcbiRtb2JpbGUtaGVhZGVyLWhlaWdodDogMy41ZW07XG4kY29sdW1uLXBhZGRpbmc6IDJyZW07XG4kbWFpbi1oZWFkZXItY29udGVudC1zcGFjaW5nOiA2ZW07XG4kbWFpbi1zaWRlYmFyLXdpZHRoOiAyMGVtO1xuJHJpZ2h0LWNvbHVtbi13aWR0aDogMTVlbTtcbiRyaWdodC1jb2x1bW4tbWFyZ2luOiAyZW07XG4kbWVzc2FnZS1hdmF0YXItd2lkdGg6IDQuNWVtO1xuJHRyYW5zaXRpb24tdGltZTogMC4ycztcbiRtYWluLXZlcnRpY2FsLXBhZGRpbmc6IDRyZW07XG4kbWFpbi12ZXJ0aWNhbC1wYWRkaW5nLW1vYmlsZTogMnJlbTtcbiRzcGFjaW5nOiAxcmVtO1xuXG4kZm9ybS1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tcGFkZGluZy1sYXJnZTogMS41cmVtOyAvLyAyNCAvIDE2XG5cbiRiYXNlLWZvbnQ6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgXCJMdWNpZGEgR3JhbmRlXCIsIHNhbnMtc2VyaWY7XG5cbi8qKlxuKiBTb21lIGNvbXBvbmVudHMgZGVwZW5kIG9uIHRoaXMgc3BlY2lmaWMgb3JkZXJpbmcsIHNvIGNoYW5naW5nIGl0IGhhcyBhIGJpZyBibGFzdCByYWRpdXMuXG4qXG4gKiBUT0RPOiBNYXRlcmlhbCBNZW51J3MgZGVmYXVsdCB0byB6LWluZGV4IDEzMDAsXG4gKiBzbyB0aGlzIHNob3VsZCBnbyBoaWdoZXIgb3IgbWVudXMgcG9wIHRocm91Z2ggdGhlIG1vZGFsIG92ZXJsYXlzLlxuICovXG4kYmFzZS1tb2RhbC16LWluZGV4OiAxMDA7XG4kc3RhY2tlZC1tb2RhbC16LWluZGV4OiAyMDA7XG4iLCJAaW1wb3J0IFwiLi9taXhpbnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmFyaWFibGVzLnNjc3NcIjtcblxuJWJ1dHRvbi1zY2FsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC44NzUsIDAuODc1KTtcbn1cblxuLy8gTGF5b3V0XG5cbiVtYWluLWNvbnRlbnQtd2l0aC1yaWdodC1jb2x1bW4tbGF5b3V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBtYXJnaW46ICRtYWluLWhlYWRlci1jb250ZW50LXNwYWNpbmcgMCAyZW0gMDtcblxuICA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRyaWdodC1jb2x1bW4td2lkdGh9IC0gMiAqI3skcmlnaHQtY29sdW1uLW1hcmdpbn0pO1xuICAgIG1pbi13aWR0aDogMTRlbTtcblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIGFzaWRlLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE1ZW07XG4gICAgbWFyZ2luOiAwIDJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICBtYXJnaW46IDRlbSAwO1xuXG4gICAgYXNpZGUuY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiVmdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuJWhhbGYtd2lkdGgge1xuICB3aWR0aDogNDYlICFpbXBvcnRhbnQ7XG59XG5cbiVvbmUtdGhpcmQtd2lkdGgge1xuICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG59XG5cbiVmdWxsLXdpZHRoLW1vYmlsZSB7XG4gIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIGJ1dHRvbnNcblxuJWJ1dHRvbiB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgcGFkZGluZzogMC43NWVtIDEuNWVtO1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tdGltZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi10aW1lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgZm9udC1zaXplOiByZW0oMTQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBAZXh0ZW5kICVidXR0b24taG92ZXI7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBib3JkZXItY29sb3I6ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gIH1cbn1cblxuJWdyZWVuLWJ1dHRvbiB7XG4gIEBleHRlbmQgJWJ1dHRvbjtcbiAgYm9yZGVyLWNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4lZ3JlZW4tYnV0dG9uLXdpdGgtaWNvbiB7XG4gIEBleHRlbmQgJWdyZWVuLWJ1dHRvbjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICAuaWNvbi1idXR0b24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5pY29uIHtcbiAgICBoZWlnaHQ6IDEuN2VtO1xuICB9XG59XG5cbiVncmVlbi1ib3JkZXItYnV0dG9uIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xuICBib3JkZXItY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgY29sb3I6ICRueWNmYWMtdGVhbDtcbn1cblxuJWdyZWVuLXRleHQtYnV0dG9uIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xuICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4lcmVkLWJvcmRlci1idXR0b24ge1xuICBAZXh0ZW5kICVidXR0b247XG4gIGJvcmRlci1jb2xvcjogJG55Y2ZhYy1yZWQ7XG4gIGNvbG9yOiAkbnljZmFjLXJlZDtcbn1cblxuJWdyYXktYm9yZGVyLWJ1dHRvbiB7XG4gIEBleHRlbmQgJWJ1dHRvbjtcbiAgYm9yZGVyLWNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIGNvbG9yOiAkbnljZmFjLWdyYXk7XG59XG5cbiVibHVlLXRleHQtYnV0dG9uIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xuICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4lcmVkLXRleHQtYnV0dG9uLXNtYWxsIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xuICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gIGhlaWdodDogMS41ZW07XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbiVncmF5LXRleHQtYnV0dG9uLXNtYWxsIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xuICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICBoZWlnaHQ6IDEuNWVtO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xufVxuXG4ld2hpdGUtdGV4dC1idXR0b24ge1xuICBAZXh0ZW5kICVidXR0b247XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG4lYnV0dG9uLWhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG59XG5cbiVob2xsb3ctYnV0dG9uIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXI6IDJweCBzb2xpZCAkbnljZmFjLWdyYXk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMC43NWVtIDJlbTtcbiAgb3BhY2l0eTogMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLXRpbWU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tdGltZTtcbn1cblxuJWZvcm0tYnV0dG9uIHtcbiAgQGV4dGVuZCAlZm9udC1tZWRpdW07XG4gIEBleHRlbmQgJWJ1dHRvbi0tYW5pbWF0ZWQtc2NhbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC44NXJlbTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBtaW4td2lkdGg6IDcycHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtdGVhbC1hY3RpdmU7XG4gIH1cblxuICAmOmFjdGl2ZTplbmFibGVkIHtcbiAgICBAZXh0ZW5kICVidXR0b24tc2NhbGU7XG4gIH1cblxuICAmLmhhcy1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4lZm9ybS1idXR0b24tLXJlZCB7XG4gIEBleHRlbmQgJWZvcm0tYnV0dG9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLXJlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRueWNmYWMtcmVkLCA1JSk7XG4gIH1cbn1cblxuJWZvcm0tYnV0dG9uLS1uby1ib3JkZXIge1xuICBAZXh0ZW5kICVidXR0b24tLWFuaW1hdGVkLXNjYWxlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4lZm9ybS1idXR0b24tLW5vLWJvcmRlci0tZ3JlZW4ge1xuICBAZXh0ZW5kICVmb3JtLWJ1dHRvbi0tbm8tYm9yZGVyO1xuICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbnljZmFjLXRlYWwtYmFja2dyb3VuZDtcbiAgfVxufVxuXG4lYnV0dG9uLS1hbmltYXRlZC1zY2FsZSB7XG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi10aW1lO1xuICAmOmFjdGl2ZTplbmFibGVkIHtcbiAgICBAZXh0ZW5kICVidXR0b24tc2NhbGU7XG4gIH1cbn1cblxuLy8gSGVhZGVyc1xuXG4lZm9udC10aGluIHtcbiAgQGluY2x1ZGUgYmFzZS1mb250LXdlaWdodCgxMDApO1xufVxuXG4lZm9udC1saWdodCB7XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoMzAwKTtcbn1cblxuJWZvbnQtbm9ybWFsIHtcbiAgQGluY2x1ZGUgYmFzZS1mb250LXdlaWdodCg0MDApO1xufVxuXG4lZm9udC1tZWRpdW0ge1xuICBAaW5jbHVkZSBiYXNlLWZvbnQtd2VpZ2h0KDUwMCk7XG59XG5cbiVmb250LWJvbGQge1xuICBAaW5jbHVkZSBiYXNlLWZvbnQtd2VpZ2h0KDcwMCk7XG59XG5cbiVmb250LXVsdHJhLWJvbGQge1xuICBAaW5jbHVkZSBiYXNlLWZvbnQtd2VpZ2h0KDkwMCk7XG59XG5cbiVsYXJnZS10aGluLWhlYWRlciB7XG4gIEBleHRlbmQgJWZvbnQtbGlnaHQ7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xufVxuXG4lbWVkaXVtLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIEBleHRlbmQgJWZvbnQtbWVkaXVtO1xuICBjb2xvcjogJG55Y2ZhYy1kYXJrZXItZ3JheTtcbn1cblxuJW1lZGl1bS1oZWFkZXItbGlnaHQge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBAZXh0ZW5kICVmb250LWxpZ2h0O1xuICBjb2xvcjogJG55Y2ZhYy1kYXJrZXItZ3JheTtcbn1cblxuJW1lZGl1bS1ncmF5LWhlYWRlci1saWdodCB7XG4gIEBleHRlbmQgJW1lZGl1bS1oZWFkZXItbGlnaHQ7XG4gIGNvbG9yOiAkbnljZmFjLWdyYXk7XG59XG5cbiVzbWFsbC1oZWFkZXIge1xuICBAZXh0ZW5kICVmb250LW1lZGl1bTtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbn1cblxuJXNtYWxsLWdyYXktaGVhZGVyIHtcbiAgQGV4dGVuZCAlZm9udC1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGNvbG9yOiAkbnljZmFjLWdyYXk7XG59XG5cbiV4c21hbGwtaGVhZGVyIHtcbiAgQGV4dGVuZCAlZm9udC1tZWRpdW07XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGNvbG9yOiAkbnljZmFjLWJsdWU7XG59XG5cbiV4eHNtYWxsLWhlYWRlciB7XG4gIEBleHRlbmQgJWZvbnQtbGlnaHQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xufVxuXG4leHhzbWFsbC1ncmF5LWhlYWRlciB7XG4gIEBleHRlbmQgJWZvbnQtbGlnaHQ7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xufVxuXG4lZ3JheS1sYWJlbCB7XG4gIEBleHRlbmQgJWZvbnQtbWVkaXVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6ICRueWNmYWMtZ3JheTtcbn1cblxuLy8gT3RoZXJcblxuJXdoaXRlLWRpdi1wYWRkaW5nIHtcbiAgcGFkZGluZzogMS41ZW0gMmVtO1xufVxuXG4lZ3JheS1ib3JkZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xufVxuXG4ld2hpdGUtZGl2LXdpdGgtYm9yZGVyIHtcbiAgQGV4dGVuZCAlZ3JheS1ib3JkZXI7XG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbiVsaWdodC1ncmF5LWhyIHtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xufVxuXG4vLyBNQVJLOiBUYWJzXG4ldGFicy13aXRoLWJsdWUtbGluZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuXG4gIC50YWIge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRueWNmYWMtYmx1ZTtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWJsdWU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG59XG5cbiVmb3JtLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgcGFkZGluZzogJGZvcm0tcGFkZGluZztcbn1cbiIsIkBpbXBvcnQgXCIuL2NvbW1vbi5zY3NzXCI7XG5cbkBpbXBvcnQgXCIuL2FkbWluLnNjc3NcIjtcbkBpbXBvcnQgXCIuL2NoYXJ0LnNjc3NcIjtcbkBpbXBvcnQgXCIuL2ZvbnRzLnNjc3NcIjtcbkBpbXBvcnQgXCIuL2Zvcm0uc2Nzc1wiO1xuQGltcG9ydCBcIi4vbGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCIuL3N0eWxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiLi90eXBvZ3JhcGh5LnNjc3NcIjtcbkBpbXBvcnQgXCJtYXRlcmlhbC11aS1vdmVycmlkZXMuc2Nzc1wiO1xuXG5ib2R5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYmFja2dyb3VuZDogJG55Y2ZhYy1saWdodC1ncmF5O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAkbnljZmFjLXRlYWw7XG59XG5cbmE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxudGV4dGFyZWEge1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdXRsaW5lOiBub25lO1xuICByZXNpemU6IG5vbmU7XG5cbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cblxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTAwMHB4ICRueWNmYWMtbGlnaHQtZ3JheSBpbnNldCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxMDAwcHggJG55Y2ZhYy1saWdodC1ncmF5IGluc2V0ICFpbXBvcnRhbnQ7XG59XG5cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNsZWFyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG59XG5cbi5idXR0b24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nOiAwLjc1ZW0gMmVtO1xuICBvcGFjaXR5OiAxO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tdGltZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbi10aW1lO1xufVxuXG4uYnV0dG9uOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmhvbGxvdy1idXR0b24ge1xuICBAZXh0ZW5kICVob2xsb3ctYnV0dG9uO1xufVxuXG4uaG9sbG93LWJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5qdXN0aWZ5LWZsZXgtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubGF5b3V0LXJvdyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHRvcDtcbiAgJi5zdHJldGNoLWNvbHVtbnMge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG59XG5cbi5jb2wtMSxcbi5jb2wtMixcbi5jb2wtMyxcbi5jb2wtNCxcbi5jb2wtNSxcbi5jb2wtNixcbi5jb2wtNyxcbi5jb2wtOCxcbi5jb2wtOSxcbi5jb2wtMTAsXG4uY29sLTExLFxuLmNvbC0xMiB7XG4gIHBhZGRpbmc6ICRjb2x1bW4tcGFkZGluZztcbn1cblxuLmNvbC0xIHtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoMTAwLzEyKTtcbn1cblxuLmNvbC0yIHtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoMTAwLzEyKSAqIDI7XG59XG5cbi5jb2wtMyB7XG4gIHdpZHRoOiBwZXJjZW50YWdlKDEwMC8xMikgKiAzO1xufVxuXG4uY29sLTQge1xuICB3aWR0aDogcGVyY2VudGFnZSgxMDAvMTIpICogNDtcbn1cblxuLmNvbC01IHtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoMTAwLzEyKSAqIDU7XG59XG5cbi5jb2wtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5jb2wtNyB7XG4gIHdpZHRoOiBwZXJjZW50YWdlKDEwMC8xMikgKiA3O1xufVxuXG4uY29sLTgge1xuICB3aWR0aDogcGVyY2VudGFnZSgxMDAvMTIpICogODtcbn1cblxuLmNvbC05IHtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoMTAwLzEyKSAqIDk7XG59XG5cbi5jb2wtMTAge1xuICB3aWR0aDogcGVyY2VudGFnZSgxMDAvMTIpICogMTA7XG59XG5cbi5jb2wtMTEge1xuICB3aWR0aDogcGVyY2VudGFnZSgxMDAvMTIpICogMTE7XG59XG5cbi5jb2wtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gQ29uc3RhbnRzXG5cbi8vIEJ1dHRvbnNcblxuLmdyZWVuLWJ1dHRvbiB7XG4gIEBleHRlbmQgJWdyZWVuLWJ1dHRvbjtcbn1cblxuLmdyZWVuLWJvcmRlci1idXR0b24ge1xuICBAZXh0ZW5kICVncmVlbi1ib3JkZXItYnV0dG9uO1xufVxuXG4uZ3JheS1ib3JkZXItYnV0dG9uIHtcbiAgQGV4dGVuZCAlZ3JheS1ib3JkZXItYnV0dG9uO1xufVxuXG4ucmVkLWJvcmRlci1idXR0b24ge1xuICBAZXh0ZW5kICVyZWQtYm9yZGVyLWJ1dHRvbjtcbn1cblxuLmJ1dHRvbi0tYW5pbWF0ZWQtc2NhbGUge1xuICBAZXh0ZW5kICVidXR0b24tLWFuaW1hdGVkLXNjYWxlO1xufVxuXG4uZm9ybS1idXR0b24ge1xuICBAZXh0ZW5kICVmb3JtLWJ1dHRvbjtcbn1cblxuLmZvcm0tYnV0dG9uLS1yZWQge1xuICBAZXh0ZW5kICVmb3JtLWJ1dHRvbi0tcmVkO1xufVxuXG4uZm9ybS1idXR0b24tLXJldmVyc2Uge1xuICBAaW5jbHVkZSBmb3JtLWJ1dHRvbi0tcmV2ZXJzZSgkbnljZmFjLXRlYWwpO1xufVxuXG4uZm9ybS1idXR0b24tLXJldmVyc2UtLXJlZCB7XG4gIEBpbmNsdWRlIGZvcm0tYnV0dG9uLS1yZXZlcnNlKCRueWNmYWMtcmVkKTtcbn1cblxuLmZvcm0tYnV0dG9uLS1yZXZlcnNlLS1ncmF5IHtcbiAgQGluY2x1ZGUgZm9ybS1idXR0b24tLXJldmVyc2UoJG55Y2ZhYy1tZWRpdW0tZ3JheSk7XG59XG5cbi5mb3JtLWJ1dHRvbi0tbm8tYm9yZGVyIHtcbiAgQGV4dGVuZCAlZm9ybS1idXR0b24tLW5vLWJvcmRlcjtcbn1cblxuLmZvcm0tYnV0dG9uLS1sb3cge1xuICBAZXh0ZW5kICVmb3JtLWJ1dHRvbjtcbiAgcGFkZGluZzogN3B4O1xufVxuXG4uZm9ybS1idXR0b24tLWxvdy13aGl0ZS1ib3JkZXIge1xuICBAaW5jbHVkZSBmb3JtLWJ1dHRvbi0tcmV2ZXJzZSh3aGl0ZSk7XG4gIHBhZGRpbmc6IDdweDtcbn1cblxuLy8gQ2FuIHByb2JhYmx5IG1ha2UgYSBtaXhpblxuLmZvcm0tYnV0dG9uLS1uby1ib3JkZXItLWdyZWVuIHtcbiAgQGV4dGVuZCAlZm9ybS1idXR0b24tLW5vLWJvcmRlci0tZ3JlZW47XG59XG5cbi5mb3JtLWJ1dHRvbi0tbm8tYm9yZGVyLS1yZWQge1xuICBAZXh0ZW5kICVmb3JtLWJ1dHRvbi0tbm8tYm9yZGVyO1xuICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gIGJhY2tncm91bmQ6ICRueWNmYWMtcmVkLWJhY2tncm91bmQ7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRueWNmYWMtZGFyay1yZWQtYmFja2dyb3VuZDtcbiAgfVxufVxuXG4uZm9ybS1idXR0b24tLW5vLWJvcmRlci0tYmx1ZSB7XG4gIEBleHRlbmQgJWZvcm0tYnV0dG9uLS1uby1ib3JkZXI7XG4gIGNvbG9yOiAkbnljZmFjLWJsdWU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRueWNmYWMtYmx1ZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbi5mb3JtLWJ1dHRvbi0tbm8tYm9yZGVyLS1ncmF5IHtcbiAgQGV4dGVuZCAlZm9ybS1idXR0b24tLW5vLWJvcmRlcjtcbiAgY29sb3I6ICRueWNmYWMtbWVkaXVtLWdyYXk7XG4gIGJhY2tncm91bmQ6ICRueWNmYWMtZ3JheS1iYWNrZ3JvdW5kO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkbnljZmFjLWRhcmstZ3JheS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbi5mb3JtLWJ1dHRvbi0tbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMS43NXJlbTtcbn1cblxuLmZvcm0tYnV0dG9uLS1zbWFsbC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4vLyBGb3Jnb3QgcGFzc3dvcmQgc3R5bGVzXG4uZm9ybS1saW5rIHtcbiAgQGV4dGVuZCAlZm9udC1tZWRpdW07XG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbi10aW1lO1xuICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgJjpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZjBlYSAhaW1wb3J0YW50O1xuICB9XG4gICY6YWN0aXZlOmVuYWJsZWQge1xuICAgIEBleHRlbmQgJWJ1dHRvbi1zY2FsZTtcbiAgfVxufVxuXG4uc3VibWl0LWJ1dHRvbiB7XG4gIEBleHRlbmQgJWJ1dHRvbjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLXRlYWwtb3BhcXVlO1xuICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAwcHg7XG59XG5cbi5jYW5jZWwtYnV0dG9uIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbWVkaXVtLWdyYXktb3BhcXVlO1xuICBjb2xvcjogJG55Y2ZhYy1tZWRpdW0tZ3JheTtcbiAgcGFkZGluZzogMC41ZW07XG4gIGJvcmRlci13aWR0aDogMHB4O1xufVxuXG4ubW9kYWwtY2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wb3J0YWwtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4ucG9ydGFsIHtcbiAgd2lkdGg6IDQwMHB4O1xuICBoZWlnaHQ6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IGNhbGMoNTAlIC0gMjAwcHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDE1MHB4KTtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLmZpZWxkc2V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIHAubGFiZWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIH1cbn1cblxuLmZpZWxkLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgJi5zcGxpdCB7XG4gICAgLnRleHRmaWVsZCB7XG4gICAgICB3aWR0aDogNTklICFpbXBvcnRhbnQ7XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHdpZHRoOiAzMyUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50aGlyZCB7XG4gICAgPiBkaXYge1xuICAgICAgd2lkdGg6IDI5JSAhaW1wb3J0YW50O1xuICAgICAgLnRleHRmaWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2VudGVuY2UtaW5saW5lIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIC50ZXh0ZmllbGQge1xuICAgICAgd2lkdGg6IDIyJSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgfVxuICAgICYuYXBwb2ludG1lbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIC50ZXh0ZmllbGQuZGF0ZSA+IGRpdiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaW1hZ2UtZ3JpZC1zZWxlY3RvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLmltYWdlLXNlbGVjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBwYWRkaW5nLXRvcDogMC43NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuICBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbiAgICB3aWR0aDogMTBlbTtcbiAgICBoZWlnaHQ6IDEwZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5iZy1pbWFnZSB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcbiAgfVxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0uY2hlY2tlZCB+IC5iZy1pbWFnZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZXJyb3ItbWVzc2FnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLnNlcnZpY2UtdHlwZS1ncm91cCB7XG4gIGg0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlcmVkLXRleHQtYnV0dG9uLXNtYWxsO1xuICAgIEBleHRlbmQgJWZvbnQtbWVkaXVtO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIH1cbiAgLmZpZWxkLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZmllbGQtZ3JvdXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgfVxuICAgIC50ZXh0ZmllbGQge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi5yYWRpby1ncm91cCB7XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnZlcnRpY2FsLXBhZGRlZC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogJG1haW4tdmVydGljYWwtcGFkZGluZy1tb2JpbGU7XG4gIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgIHBhZGRpbmctdG9wOiAkbWFpbi12ZXJ0aWNhbC1wYWRkaW5nO1xuICB9XG59XG4iLCIkbnljZmFjLWxpZ2h0LXRlYWw6ICNlMGY0ZjE7XG4kbnljZmFjLXRlYWw6ICMwMGJmYTU7XG4kbnljZmFjLXRlYWwtYWN0aXZlOiAjMDA4NTczO1xuJG55Y2ZhYy1kYXJrLXRlYWw6ICMxZWJlYTU7XG4kbnljZmFjLWxpZ2h0LXRlYWw6ICNlNWY5ZjY7XG4kbnljZmFjLWJsdWU6ICMwMTU3OWI7XG4kbnljZmFjLWdyYXk6ICNhOWIxYjg7XG4kbnljZmFjLWdyYXktYm9yZGVyOiAjZTVlYWVhO1xuJG55Y2ZhYy1saWdodC1ncmF5OiAjZjdmYWZhO1xuJG55Y2ZhYy1saWdodGVyLWdyYXk6ICNmNWY1ZjU7XG4kbnljZmFjLW1lZGl1bS1ncmF5OiAjOGE5MTk5O1xuJG55Y2ZhYy1kYXJrZXItZ3JheTogIzMzMzMzMztcbiRueWNmYWMtcmVkOiAjZWQ1NDU0O1xuJG55Y2ZhYy1saWdodC1ibHVlOiAjZjJmY2ZhO1xuJG55Y2ZhYy1ibHVlLWJhY2tncm91bmQ6ICNjY2RkZWI7XG4kbnljZmFjLXRlYWwtYmFja2dyb3VuZDogI2RjZjBlYTtcbiRueWNmYWMtcmVkLWJhY2tncm91bmQ6ICNmNGU1ZTI7XG4kbnljZmFjLWRhcmstcmVkLWJhY2tncm91bmQ6ICNmM2I4YWM7XG4kbnljZmFjLWdyYXktYmFja2dyb3VuZDogI2VkZWVlYztcbiRueWNmYWMtZGFyay1ncmF5LWJhY2tncm91bmQ6ICNjOGNhYzc7XG4kbnljZmFjLWRhcmstYmx1ZTogIzA1NTc5ZDtcblxuJG55Y2ZhYy10ZWFsLW9wYXF1ZTogcmdiYSgwLCAxOTEsIDE2NSwgMC4xKTtcbiRueWNmYWMtbWVkaXVtLWdyYXktb3BhcXVlOiByZ2JhKDE2OSwgMTc3LCAxODQsIDAuMSk7XG4iLCJAaW1wb3J0IFwiLi9jb2xvcnMuc2Nzc1wiO1xuXG4kYmFzZUZvbnRTaXplOiAxNjtcblxuLy8gcGl4IHRvIGVtOiB1c2UgZW0oNDApIHRvIGdldCBhIDQwIHBpeGVsIGV4cHJlc3NlZCBpbiBlbVxuQGZ1bmN0aW9uIGVtKCRweCwgJGJhc2U6ICRiYXNlRm9udFNpemUgKiAxcHgpIHtcbiAgQHJldHVybiAoJHB4ICogMXB4IC8gJGJhc2UpICogMWVtO1xufVxuXG4vLyBwaXggdG8gcmVtXG5AZnVuY3Rpb24gcmVtKCRweCwgJGJhc2U6ICRiYXNlRm9udFNpemUgKiAxcHgpIHtcbiAgQHJldHVybiAoJHB4ICogMXB4IC8gJGJhc2UpICogMXJlbTtcbn1cblxuQG1peGluIGZvcm0tYnV0dG9uLS1yZXZlcnNlKCRjb2xvcikge1xuICBAZXh0ZW5kICVmb3JtLWJ1dHRvbjtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIGJvcmRlci1jb2xvcjogJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gYmFzZS1mb250LXdlaWdodCgkd2VpZ2h0KSB7XG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250O1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cbiIsIiRiYXNlLWZvbnQtc2l6ZTogMTQ7XG5cbiRtcXM6IChcbiAgc21hbGwtbW9iaWxlOiA0NjAgLyAxNixcbiAgLy8gNDAyXG4gIGFsbW9zdC1tb2JpbGU6IDU3MCAvIDE2LFxuICAvLyA0OTlcbiAgbW9iaWxlOiA3NjcgLyAxNixcbiAgLy8gNjcxXG4gIHRhYmxldDogMTAyNCAvIDE2LFxuICAvLyA4OTZcbiAgc21hbGwtZGVza3RvcDogMTI4MCAvIDE2LFxuICAvLyAxMTIwXG4gIG1lZGl1bS1kZXNrdG9wOiAxNDQwIC8gMTYsXG4gIC8vIDEyNjBcbiAgZGVza3RvcDogMTUwMCAvIDE2LCAvLyAxMzEyXG4pO1xuXG5AbWl4aW4gc21hbGxlci10aGFuKCRzaXplKSB7XG4gICR3aWR0aDogI3ttYXAtZ2V0KCRtcXMsICRzaXplKSAqICRiYXNlLWZvbnQtc2l6ZSAqIDFweH07XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkd2lkdGgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbGFyZ2VyLXRoYW4oJHNpemUpIHtcbiAgJHdpZHRoOiAje21hcC1nZXQoJG1xcywgJHNpemUpICogJGJhc2UtZm9udC1zaXplICogMXB4fTtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICR3aWR0aCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgJG1pbndpZHRoOiAje21hcC1nZXQoJG1xcywgJG1pbikgKiAkYmFzZS1mb250LXNpemUgKiAxcHh9O1xuICAkbWF4d2lkdGg6ICN7bWFwLWdldCgkbXFzLCAkbWF4KSAqICRiYXNlLWZvbnQtc2l6ZSAqIDFweH07XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkbWlud2lkdGgpIGFuZCAobWF4LXdpZHRoOiAkbWF4d2lkdGgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vY29tbW9uLnNjc3NcIjtcblxuLy8gYWRtaW4gb3ZlcnJpZGVzXG4uYWRtaW4tYm9keSB7XG4gIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDAgMnJlbTtcbiAgfVxuICAuc2lkZWJhci1tZW51LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLm1haW4tYWRtaW4tY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4uZGVsZXRlLXBhbnRyeSB7XG4gIEBleHRlbmQgJWZvcm0tYnV0dG9uO1xufVxuXG4ubWFpbi1oZWFkZXIgLm1pZGRsZSBhIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vY29tbW9uLnNjc3NcIjtcblxuLmNoYXJ0LWNvbnRhaW5lciB7XG4gIEBleHRlbmQgJWZvcm0tY29udGFpbmVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmICoge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogJGJhc2UtZm9udDtcbiAgfVxuXG4gIC5zYW1wbGUtbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogcmVtKDI2MCk7XG4gICAgaGVpZ2h0OiByZW0oNDIpO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgcGFkZGluZzogcmVtKDEwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDIwKTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICYuc3Bpbm5lci1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiByZW0oODApO1xuICAgIH1cbiAgfVxufVxuXG4uaGlnaGNoYXJ0cy1idXR0b24ge1xuICBpbWFnZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlnaGNoYXJ0cy1tYXAtbmF2aWdhdGlvbiB7XG4gIC5oaWdoY2hhcnRzLWJ1dHRvbi1ib3gge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI7XG4gICAgZmlsbDogI2ZmZjtcbiAgICBzdHJva2U6ICNlNWU1ZWE7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGZpbGw6ICRueWNmYWMtbGlnaHQtZ3JheTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL2NvbW1vbi5zY3NzXCI7XG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gIEBleHRlbmQgJWZvcm0tY29udGFpbmVyO1xufVxuXG4uZm9ybS1jb250YWluZXItLWxhcmdlLXBhZGRpbmcge1xuICBAZXh0ZW5kIC5mb3JtLWNvbnRhaW5lcjtcbiAgcGFkZGluZzogJGZvcm0tcGFkZGluZy1sYXJnZTtcbn1cblxuLmZvcm0tc2VwYXJhdG9yIHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cbi5mb3JtLWhlYWRlciB7XG4gIEBleHRlbmQgLmZvbnQtbm9ybWFsO1xuICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICBmb250LXNpemU6IDEuNXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMi43NXJlbTtcbn1cblxuLmZvcm0taW5mbyB7XG4gIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIG1hcmdpbjogMDtcbn1cblxuLmZvcm0tc3ViaGVhZGVyIHtcbiAgQGV4dGVuZCAuZm9ybS1oZWFkZXI7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbSAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS1pbmZvLWRldGFpbHMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZm9ybS1zdWJzZWN0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG59XG5cbi5mb3JtLXNwbGl0LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICYgPiAqIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDQ3LjUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLXNwbGl0LXJvdy0tYWx3YXlzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAmID4gKiB7XG4gICAgd2lkdGg6IDQ3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmZvcm0tc3BsaXQtcm93LS10aHJlZS1xdWFydGVycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICYgPiAqOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICYgPiAqIHtcbiAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZm9ybS1pbnB1dC0taGFsZi13aWR0aCB7XG4gIEBpbmNsdWRlIGxhcmdlci10aGFuKHNtYWxsLW1vYmlsZSkge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZm9ybS1pbnB1dC0tZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5jaGVja2JveCB7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDEuNXJlbSAtIDZweCk7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi52ZXJpZmljYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLnRmYS1mb3JtLWNvbnRhaW5lciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAyMHJlbTtcbn1cblxuLnRmYS1idXR0b25zLWFyZWEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAycmVtO1xuXG4gIGEuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIH1cblxuICBidXR0b25bZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAkbnljZmFjLWdyYXk7XG4gIH1cbn1cbiIsIi5vbmUtdGhpcmQge1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4odGFibGV0KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICB9XG59XG5cbi50d28tdGhpcmRzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIGxhcmdlci10aGFuKHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgfVxufVxuXG4udHdvLXRoaXJkcy1jb250YWluZXIge1xuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIGZsZXg6IDI7XG4gICAgfVxuXG4gICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIH1cbiAgfVxufVxuXG4udHdvLXRoaXJkcy1jb250YWluZXItZml4ZWQge1xuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiA2Ni42NiUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAzMy4zMyUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbih0YWJsZXQpIHtcbiAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAyNi41JSAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIiNhcHAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLnBhZ2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbiIsIkBpbXBvcnQgXCIuL2NvbW1vbi5zY3NzXCI7XG5cbi5mb250LXRoaW4ge1xuICBAaW5jbHVkZSBiYXNlLWZvbnQtd2VpZ2h0KDEwMCk7XG59XG5cbi5mb250LWxpZ2h0IHtcbiAgQGluY2x1ZGUgYmFzZS1mb250LXdlaWdodCgzMDApO1xufVxuXG4uZm9udC1ub3JtYWwge1xuICBAaW5jbHVkZSBiYXNlLWZvbnQtd2VpZ2h0KDQwMCk7XG59XG5cbi5mb250LW1lZGl1bSB7XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoNTAwKTtcbn1cblxuLmZvbnQtYm9sZCB7XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoNzAwKTtcbn1cblxuLmZvbnQtdWx0cmEtYm9sZCB7XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoOTAwKTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm9udC1sZWdpYmlsaXR5IHtcbiAgLXdlYmtpdC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC1tcy10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtby10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tcy1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1vLWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xufVxuXG5odG1sLFxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGZvbnQtbGVnaWJpbGl0eTtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoNTAwKTtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGNvbG9yOiAkbnljZmFjLWJsdWU7XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoNTAwKTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoNTAwKTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoNDAwKTtcbn1cblxuaDUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoNDAwKTtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gIEBpbmNsdWRlIGJhc2UtZm9udC13ZWlnaHQoNDAwKTtcbn1cblxucCxcbnVsIGxpLFxub2wgbGksXG5idXR0b24sXG5hLFxudGFibGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBAaW5jbHVkZSBiYXNlLWZvbnQtd2VpZ2h0KDQwMCk7XG59XG4iLCIuTXVpRm9ybUxhYmVsLXJvb3Qge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuLk11aUZvcm1MYWJlbC1hc3RlcmlzayB7XG4gIGNvbG9yOiAjMDBiZmE1O1xufVxuLk11aUlucHV0LXVuZGVybGluZTpiZWZvcmUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xufVxuLk11aVNlbGVjdC1pY29uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSkgIWltcG9ydGFudDtcbn1cbi5NdWlJbnB1dExhYmVsLXNocmluayB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEuNXB4KSAhaW1wb3J0YW50O1xufVxuLk11aVRvb2x0aXAtdG9vbHRpcCB7XG4gIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG59XG5cbi5yZWFjdC1zZWxlY3RpemUge1xuICBjb2xvcjogIzAwMDtcbn1cbi5yZWFjdC1zZWxlY3RpemUucm9vdC1ub2RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAwcHg7XG59XG4ucmVhY3Qtc2VsZWN0aXplLnJvb3Qtbm9kZS5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5yb290LW5vZGUgLnJlYWN0LXNlbGVjdGl6ZS1jb250cm9sIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtbW96LWJveC1hbGlnbjogc3RhcnQ7XG4gIC1vLWJveC1hbGlnbjogc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMnB4O1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5yb290LW5vZGUgLnJlYWN0LXNlbGVjdGl6ZS1jb250cm9sIC5yZWFjdC1zZWxlY3RpemUtcGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC1vLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDU2cHgpO1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5yb290LW5vZGUgLnJlYWN0LXNlbGVjdGl6ZS1jb250cm9sIC5yZWFjdC1zZWxlY3RpemUtc2VhcmNoLWZpZWxkLWFuZC1zZWxlY3RlZC12YWx1ZXMge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogMzBweDtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgLW1vei1ib3gtZmxleDogMTtcbiAgLW8tYm94LWZsZXg6IDE7XG4gIC1tcy1ib3gtZmxleDogMTtcbiAgYm94LWZsZXg6IDE7XG4gIC13ZWJraXQtZmxleC1ncm93OiAxO1xuICBmbGV4LWdyb3c6IDE7XG4gIC13ZWJraXQtYm94LWxpbmVzOiBtdWx0aXBsZTtcbiAgLW1vei1ib3gtbGluZXM6IG11bHRpcGxlO1xuICAtby1ib3gtbGluZXM6IG11bHRpcGxlO1xuICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5yb290LW5vZGVcbiAgLnJlYWN0LXNlbGVjdGl6ZS1jb250cm9sXG4gIC5yZWFjdC1zZWxlY3RpemUtc2VhcmNoLWZpZWxkLWFuZC1zZWxlY3RlZC12YWx1ZXNcbiAgLnJlc2l6YWJsZS1pbnB1dCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbjogMnB4O1xuICBwYWRkaW5nOiA0cHggMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMHB4O1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5yb290LW5vZGVcbiAgLnJlYWN0LXNlbGVjdGl6ZS1jb250cm9sXG4gIC5yZWFjdC1zZWxlY3RpemUtc2VhcmNoLWZpZWxkLWFuZC1zZWxlY3RlZC12YWx1ZXNcbiAgLnZhbHVlLXdyYXBwZXIge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW8tYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5yZWFjdC1zZWxlY3RpemUucm9vdC1ub2RlIC5yZWFjdC1zZWxlY3RpemUtY29udHJvbCAucmVhY3Qtc2VsZWN0aXplLXJlc2V0LWJ1dHRvbi1jb250YWluZXIsXG4ucmVhY3Qtc2VsZWN0aXplLnJvb3Qtbm9kZSAucmVhY3Qtc2VsZWN0aXplLWNvbnRyb2wgLnJlYWN0LXNlbGVjdGl6ZS10b2dnbGUtYnV0dG9uLWNvbnRhaW5lciB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC1tb3otYm94LWZsZXg6IDA7XG4gIC1vLWJveC1mbGV4OiAwO1xuICAtbXMtYm94LWZsZXg6IDA7XG4gIGJveC1mbGV4OiAwO1xuICAtd2Via2l0LWZsZXgtZ3JvdzogMDtcbiAgZmxleC1ncm93OiAwO1xuICAtd2Via2l0LWZsZXgtc2hyaW5rOiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW8tYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtbW96LWJveC1wYWNrOiBjZW50ZXI7XG4gIC1vLWJveC1wYWNrOiBjZW50ZXI7XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMzBweDtcbn1cbi5yZWFjdC1zZWxlY3RpemUucm9vdC1ub2RlIC5yZWFjdC1zZWxlY3RpemUtY29udHJvbCAucmVhY3Qtc2VsZWN0aXplLXJlc2V0LWJ1dHRvbi1jb250YWluZXIge1xuICB3aWR0aDogMTZweDtcbn1cbi5yZWFjdC1zZWxlY3RpemUucm9vdC1ub2RlIC5yZWFjdC1zZWxlY3RpemUtY29udHJvbCAucmVhY3Qtc2VsZWN0aXplLXRvZ2dsZS1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDMycHg7XG59XG4ucmVhY3Qtc2VsZWN0aXplLnJvb3Qtbm9kZVxuICAucmVhY3Qtc2VsZWN0aXplLWNvbnRyb2xcbiAgLnJlYWN0LXNlbGVjdGl6ZS1yZXNldC1idXR0b24tY29udGFpbmVyOmhvdmVyXG4gIC5yZWFjdC1zZWxlY3RpemUtcmVzZXQtYnV0dG9uXG4gIHBhdGgge1xuICBzdHJva2U6ICNjMDM5MmI7XG59XG4ucmVhY3Qtc2VsZWN0aXplLnJvb3Qtbm9kZSAucmVhY3Qtc2VsZWN0aXplLWNvbnRyb2wgLnJlYWN0LXNlbGVjdGl6ZS1yZXNldC1idXR0b24gcGF0aCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogc3Ryb2tlIDAuNXMgMHMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBzdHJva2UgMC41cyAwcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBzdHJva2UgMC41cyAwcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogc3Ryb2tlIDAuNXMgMHMgZWFzZTtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlIDAuNXMgMHMgZWFzZTtcbiAgc3Ryb2tlOiAjOTk5O1xuICBzdHJva2UtbGluZWNhcDogc3F1YXJlO1xuICBzdHJva2UtbGluZWpvaW46IG1pdHRlcjtcbn1cbi5yZWFjdC1zZWxlY3RpemUucm9vdC1ub2RlIC5yZWFjdC1zZWxlY3RpemUtY29udHJvbCAucmVhY3Qtc2VsZWN0aXplLXRvZ2dsZS1idXR0b24gcGF0aCB7XG4gIGZpbGw6ICM5OTk7XG59XG4ucmVhY3Qtc2VsZWN0aXplLmRyb3Bkb3duLW1lbnUtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5yZWFjdC1zZWxlY3RpemUuZHJvcGRvd24tbWVudS13cmFwcGVyLnRldGhlcmVkIHtcbiAgbWluLXdpZHRoOiAzMDBweDtcbn1cbi5yZWFjdC1zZWxlY3RpemUuZHJvcGRvd24tbWVudS13cmFwcGVyOm5vdCgudGV0aGVyZWQpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4ucmVhY3Qtc2VsZWN0aXplLmRyb3Bkb3duLW1lbnUge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWF4LWhlaWdodDogMjAwcHg7XG4gIHotaW5kZXg6IDEwO1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5kcm9wZG93bi1tZW51LnRldGhlcmVkIHtcbiAgbWluLXdpZHRoOiAzMDBweDtcbn1cbi5yZWFjdC1zZWxlY3RpemUuZHJvcGRvd24tbWVudTpub3QoLnRldGhlcmVkKSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5kcm9wZG93bi1tZW51IC5ncm91cHMuYXMtY29sdW1ucyB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5kcm9wZG93bi1tZW51IC5ncm91cHMuYXMtY29sdW1ucyA+IGRpdiB7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIC1tb3otYm94LWZsZXg6IDE7XG4gIC1vLWJveC1mbGV4OiAxO1xuICBib3gtZmxleDogMTtcbiAgLXdlYmtpdC1mbGV4OiAxO1xuICAtbXMtZmxleDogMTtcbiAgZmxleDogMTtcbn1cbi5yZWFjdC1zZWxlY3RpemUuZHJvcGRvd24tbWVudSAub3B0aW9uLXdyYXBwZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4ubXVsdGktc2VsZWN0LnJlYWN0LXNlbGVjdGl6ZS5yb290LW5vZGUgLnNpbXBsZS12YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ubXVsdGktc2VsZWN0LnJlYWN0LXNlbGVjdGl6ZS5yb290LW5vZGUgLnNpbXBsZS12YWx1ZSBzcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHggNXB4IDRweDtcbiAgdmVydGljYWwtYWxpZ246IGNlbnRlcjtcbn1cbi5zaW1wbGUtc2VsZWN0LnJlYWN0LXNlbGVjdGl6ZS5yb290LW5vZGUgLnNpbXBsZS12YWx1ZSB7XG4gIG1hcmdpbjogMnB4O1xufVxuLnNpbXBsZS1zZWxlY3QucmVhY3Qtc2VsZWN0aXplLnJvb3Qtbm9kZSAuc2ltcGxlLXZhbHVlIHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBjZW50ZXI7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgc2Fucy1zZXJpZjtcbn1cbi5yZWFjdC1zZWxlY3RpemUubWF0ZXJpYWwucm9vdC1ub2RlLm9wZW4gLnJlYWN0LXNlbGVjdGl6ZS1jb250cm9sOmFmdGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLnJvb3Qtbm9kZSAucmVhY3Qtc2VsZWN0aXplLWNvbnRyb2wge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5tYXRlcmlhbC5yb290LW5vZGUgLnJlYWN0LXNlbGVjdGl6ZS1jb250cm9sOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYmNkNDtcbiAgY29udGVudDogXCJcIjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gNDUwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtcztcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSA0NTBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSkgMG1zO1xuICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gNDUwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtcztcbiAgLW1zLXRyYW5zaXRpb246IC1tcy10cmFuc2Zvcm0gNDUwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtcztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDQ1MG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwbXM7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMHB4O1xuICBib3R0b206IC0xcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbn1cbi5yZWFjdC1zZWxlY3RpemUubWF0ZXJpYWwucm9vdC1ub2RlIC5yZWFjdC1zZWxlY3RpemUtY29udHJvbCAucmVhY3Qtc2VsZWN0aXplLXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgdGV4dC1pbmRlbnQ6IDRweDtcbn1cbi5yZWFjdC1zZWxlY3RpemUubWF0ZXJpYWwuZHJvcGRvd24tbWVudS13cmFwcGVyLmZsaXBwZWQge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUtd3JhcHBlci5mbGlwcGVkIC5kcm9wZG93bi1tZW51IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbn1cbi5yZWFjdC1zZWxlY3RpemUubWF0ZXJpYWwuZHJvcGRvd24tbWVudS13cmFwcGVyOm5vdCguZmxpcHBlZCkge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUtd3JhcHBlcjpub3QoLmZsaXBwZWQpIC5kcm9wZG93bi1tZW51IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUtd3JhcHBlciAuZHJvcGRvd24tbWVudS5jdXN0b20tZW50ZXItYWN0aXZlLFxuLnJlYWN0LXNlbGVjdGl6ZS5tYXRlcmlhbC5kcm9wZG93bi1tZW51LXdyYXBwZXIgLmRyb3Bkb3duLW1lbnUuY3VzdG9tLWxlYXZlLWFjdGl2ZSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjpcbiAgICAtd2Via2l0LXRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSkgMG1zLFxuICAgIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtcztcbiAgLW1vei10cmFuc2l0aW9uOlxuICAgIC1tb3otdHJhbnNmb3JtIDI1MG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwbXMsXG4gICAgb3BhY2l0eSAyNTBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSkgMG1zO1xuICAtby10cmFuc2l0aW9uOlxuICAgIC1vLXRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSkgMG1zLFxuICAgIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtcztcbiAgLW1zLXRyYW5zaXRpb246XG4gICAgLW1zLXRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSkgMG1zLFxuICAgIG9wYWNpdHkgMjUwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtcztcbiAgdHJhbnNpdGlvbjpcbiAgICB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAuMjMsIDEsIDAuMzIsIDEpIDBtcyxcbiAgICBvcGFjaXR5IDI1MG1zIGN1YmljLWJlemllcigwLjIzLCAxLCAwLjMyLCAxKSAwbXM7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUtd3JhcHBlciAuZHJvcGRvd24tbWVudS5jdXN0b20tZW50ZXIge1xuICBvcGFjaXR5OiAwO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMCwgMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5tYXRlcmlhbC5kcm9wZG93bi1tZW51LXdyYXBwZXIgLmRyb3Bkb3duLW1lbnUuY3VzdG9tLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIC1tcy1maWx0ZXI6IG5vbmU7XG4gIGZpbHRlcjogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5tYXRlcmlhbC5kcm9wZG93bi1tZW51LXdyYXBwZXIgLmRyb3Bkb3duLW1lbnUuY3VzdG9tLWxlYXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgLW1zLWZpbHRlcjogbm9uZTtcbiAgZmlsdGVyOiBub25lO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUtd3JhcHBlciAuZHJvcGRvd24tbWVudS5jdXN0b20tbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDtcbiAgLW1zLWZpbHRlcjogXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzpcbiAgICByZ2JhKDAsIDAsIDAsIDAuMTE4KSAwcHggMXB4IDZweCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMTE4KSAwcHggMXB4IDRweDtcbiAgYm94LXNoYWRvdzpcbiAgICByZ2JhKDAsIDAsIDAsIDAuMTE4KSAwcHggMXB4IDZweCxcbiAgICByZ2JhKDAsIDAsIDAsIDAuMTE4KSAwcHggMXB4IDRweDtcbiAgbWF4LWhlaWdodDogMjUwcHg7XG4gIHBhZGRpbmc6IDhweCAwcHg7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUuZmxpcHBlZCB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cbi5yZWFjdC1zZWxlY3RpemUubWF0ZXJpYWwuZHJvcGRvd24tbWVudTpub3QoLmZsaXBwZWQpIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5tYXRlcmlhbC5kcm9wZG93bi1tZW51IC5uby1yZXN1bHRzLWZvdW5kIHtcbiAgZm9udC1zdHlsZTogb2JsaXF1ZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDBweCAxNnB4O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1vei1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW1vei1ib3gtYWxpZ246IGNlbnRlcjtcbiAgLW8tYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5yZWFjdC1zZWxlY3RpemUubWF0ZXJpYWwuZHJvcGRvd24tbWVudSAuZ3JvdXBzOm5vdCguYXMtY29sdW1ucykgPiBkaXY6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuLnJlYWN0LXNlbGVjdGl6ZS5tYXRlcmlhbC5kcm9wZG93bi1tZW51IC5zaW1wbGUtZ3JvdXAtdGl0bGUge1xuICBjb2xvcjogIzhmOGY4ZjtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tb3otYm94LWFsaWduOiBjZW50ZXI7XG4gIC1vLWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAwcHggMTBweDtcbn1cbi5yZWFjdC1zZWxlY3RpemUubWF0ZXJpYWwuZHJvcGRvd24tbWVudSAub3B0aW9uLXdyYXBwZXIuaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA5OCk7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUgLm9wdGlvbi13cmFwcGVyIC5zaW1wbGUtb3B0aW9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NzUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtby1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtbW96LWJveC1hbGlnbjogc3RhcnQ7XG4gIC1vLWJveC1hbGlnbjogc3RhcnQ7XG4gIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgLW1vei1ib3gtcGFjazogY2VudGVyO1xuICAtby1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGhlaWdodDogNDhweDtcbiAgcGFkZGluZzogMHB4IDE2cHg7XG59XG4ucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLmRyb3Bkb3duLW1lbnUgLm9wdGlvbi13cmFwcGVyIC5zaW1wbGUtb3B0aW9uLm5vdC1zZWxlY3RhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgY29sb3I6ICM5OTk7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZm9udC1zdHlsZTogb2JsaXF1ZTtcbiAgdGV4dC1zaGFkb3c6IDBweCAxcHggMHB4ICNmZmY7XG59XG4ubXVsdGktc2VsZWN0LnJlYWN0LXNlbGVjdGl6ZS5tYXRlcmlhbC5yb290LW5vZGUgLnNpbXBsZS12YWx1ZSBzcGFuIHtcbiAgcGFkZGluZzogMHB4O1xufVxuLm11bHRpLXNlbGVjdC5yZWFjdC1zZWxlY3RpemUubWF0ZXJpYWwucm9vdC1ub2RlIC5zaW1wbGUtdmFsdWUgc3BhbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLFwiO1xufVxuLnNpbXBsZS1zZWxlY3QucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLnJvb3Qtbm9kZSAuc2ltcGxlLXZhbHVlIHtcbiAgbWFyZ2luOiA0cHggM3B4IDNweCAycHg7XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5ldWxhLWRvY3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1saWdodC1ncmF5O1xuICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwKTtcblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMyU7XG4gIH1cblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNi41JTtcbiAgfVxuXG4gIC5ldWxhLWRvYyB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDMwKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDI0KTtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSgyMCk7XG4gICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gIH1cblxuICBoMyB7XG4gICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgcGFkZGluZzogMCByZW0oMTYpIHJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIHAge1xuICAgIGNvbG9yOiAkbnljZmFjLWRhcmtlci1ncmF5O1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDIwKTtcbiAgfVxuXG4gIC5pbnRybyB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuICB9XG5cbiAgLnNjcm9sbC1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgaGVpZ2h0OiByZW0oMjY0KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBwYWRkaW5nOiByZW0oMTYpO1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggMHB4ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gIH1cblxuICAuZXVsYS1mb3JtLWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMik7XG4gIH1cblxuICAuZXVsYS1hZ3JlZSB7XG4gICAgbWFyZ2luOiByZW0oMjApIDAgcmVtKDM1KTtcbiAgfVxuXG4gIC5ncmVlbi1idXR0b24ge1xuICAgIHdpZHRoOiByZW0oOTApO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5ldWxhLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBtYXJnaW4tdG9wOiByZW0oMTAwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbSg1MCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbGlnaHQtZ3JheTtcbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLm1vZGFsLWNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMWVtIDEuNWVtIDAgMS41ZW07XG5cbiAgaDMge1xuICAgIEBleHRlbmQgJW1lZGl1bS1oZWFkZXI7XG4gIH1cblxuICAuY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIG1hcmdpbi10b3A6IC0wLjJlbTtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICB3aWR0aDogMmVtO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5tb2RhbC1idXR0b24ge1xuICBAZXh0ZW5kICVncmVlbi1idXR0b247XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgc3BhbiB+IHN2ZyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIH1cblxuICAmLnNlY29uZGFyeSB7XG4gICAgQGV4dGVuZCAlZ3JlZW4tYm9yZGVyLWJ1dHRvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4ubW9kYWwtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgei1pbmRleDogJGJhc2UtbW9kYWwtei1pbmRleDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICA+IC5tb2RhbCB7XG4gICAgbWFyZ2luOiAwIDJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0ZW0pO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAubW9kYWwtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgLnRleHRmaWVsZCB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZG1pblxuXG4uZGVsZXRlLXBhbnRyeS1idXR0b24ge1xuICBAZXh0ZW5kICVmb3JtLWJ1dHRvbi0tcmVkO1xufVxuLmRlbGV0ZS1wYW50cnktY29udGFpbmVyIHtcbiAgLmRlbGV0ZS1wYW50cnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxZW07XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAwIDEuNWVtO1xuICAgIH1cbiAgfVxuXG4gICYgLm1vZGFsLWNhcmQge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWluLXdpZHRoOiAyMHJlbTtcbiAgICBtaW4taGVpZ2h0OiAxMHJlbTtcblxuICAgICYgPiAubW9kYWwtaGVhZGVyIHtcbiAgICAgIGZsZXg6IDA7XG4gICAgfVxuXG4gICAgJiAuZGVsZXRlLXBhbnRyeS1idXR0b24ge1xuICAgICAgQGV4dGVuZCAlZm9ybS1idXR0b24tLXJlZDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnNlc3Npb24tbW9kYWwge1xuICAuc3Bpbm5lci1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLm1haW4tY29udGFpbmVyIHtcbiAgLnJlZ2lzdGVyLWNvbnRhaW5lci5yZWdpc3Rlci1zdWNjZXNzIC5tYWluLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5ib2R5LXNwYWNlciB7XG4gICAgaGVpZ2h0OiByZW0oMzIpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5tYWluLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tYWluLWhlYWRlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiAxIDAgMTAwJTtcbiAgei1pbmRleDogMTAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBoaWRlIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIGRyb3AgZG93biBzZWxlY3RvcnNcbiAgLk11aUlucHV0LXVuZGVybGluZTo6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDBweDtcbiAgfVxuICAuTXVpU2VsZWN0LXNlbGVjdDpmb2N1cyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubWFpbi1oZWFkZXItLW5vLWxlZnQtcGFkZGluZyB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4ubWFpbi1ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxleDogMSAwIDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2ZhZmE7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRoZWFkZXItaGVpZ2h0fSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgMXJlbTtcblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgbWFyZ2luLXRvcDogJGhlYWRlci1oZWlnaHQ7XG4gIH1cbn1cblxuLm1haW4tYm9keS0tbm8tcGFkZGluZy1tb2JpbGUge1xuICBAZXh0ZW5kIC5tYWluLWJvZHk7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zaWRlYmFyLW1lbnUge1xuICB3aWR0aDogMjUlO1xuICBmbGV4OiAxIDAgMjUlO1xufVxuXG5AaW5jbHVkZSBzbWFsbGVyLXRoYW4odGFibGV0KSB7XG4gIC5zaWRlYmFyLW1lbnUge1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5tYWluLWNvbnRlbnQge1xuICB3aWR0aDogNzUlO1xuICBmbGV4OiAxIDAgNzUlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5tYWluLWNvbnRlbnQtLXBhZGRlZCB7XG4gIEBleHRlbmQgLm1haW4tY29udGVudDtcbiAgcGFkZGluZzogJG1haW4tdmVydGljYWwtcGFkZGluZy1tb2JpbGUgMCAwIDA7XG4gIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgIHBhZGRpbmc6ICRtYWluLXZlcnRpY2FsLXBhZGRpbmcgMCAwIDA7XG4gIH1cbn1cblxuLmFkbWluLW1haW4tY29udGVudC0tcGFkZGVkIHtcbiAgQGV4dGVuZCAubWFpbi1jb250ZW50LS1wYWRkZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLXRvcDogJG1haW4tdmVydGljYWwtcGFkZGluZy1tb2JpbGU7XG5cbiAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLXRvcDogJG1haW4tdmVydGljYWwtcGFkZGluZztcbiAgfVxufVxuXG5AaW5jbHVkZSBzbWFsbGVyLXRoYW4odGFibGV0KSB7XG4gIC5tYWluLWNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDEgMCAxMDAlO1xuICB9XG59XG5cbi5tYWluLWNvbnRlbnQtaW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtICN7JGhlYWRlci1oZWlnaHR9KTtcbn1cblxuQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAubWFpbi1jb250ZW50LWlubmVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLm1haW4tcGFuZWwge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4ubm8tc2lkZWJhciAubWFpbi1wYW5lbCB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5uby1zaWRlYmFyLmNlbnRlcmVkLWNvbnRlbnQgLm1haW4tcGFuZWwge1xuICB3aWR0aDogNjAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbkBpbmNsdWRlIHNtYWxsZXItdGhhbih0YWJsZXQpIHtcbiAgLm5vLXNpZGViYXIuY2VudGVyZWQtY29udGVudCAubWFpbi1wYW5lbCB7XG4gICAgd2lkdGg6IDYwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAubWFpbi1wYW5lbCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAubm8tc2lkZWJhci5jZW50ZXJlZC1jb250ZW50IC5tYWluLXBhbmVsIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYXNpZGUuY29sdW1uIHtcbiAgLy8gYmFja2dyb3VuZDogYmx1ZSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogMnJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogY2FsYygjeyRoZWFkZXItaGVpZ2h0fSArIDRyZW0pICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC5hY3Rpb24tYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAycmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmFjdGlvbi1idXR0b24ubm90LWZpeGVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmID4gKiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgYXNpZGUuY29sdW1uIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiBnb2xkZW5yb2Q7XG4gICAgd2lkdGg6IDMyMHB4ICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IGNhbGMoKDEwMCUgLSAxMjgwcHgpIC8gMik7XG4gIH1cbn1cblxuQGluY2x1ZGUgc21hbGxlci10aGFuKHRhYmxldCkge1xuICBhc2lkZS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzJSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKCN7JGhlYWRlci1oZWlnaHR9ICsgM3JlbSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gIGFzaWRlLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIC5hY3Rpb24tYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnBhbnRyeS1kcm9wZG93bi1zZWxlY3Qge1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAzLjVlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMy41ZW0gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgJiAqOm5vdChzdmcpIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gICYgc3ZnIHtcbiAgICB0b3A6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuICAmLmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ucGxlbnRpZnVsLWxvZ28tbW9iaWxlIHtcbiAgd2lkdGg6IDIuNGVtO1xuICBoZWlnaHQ6IDIuNGVtO1xufVxuXG4uc2V0dGluZ3MtbmF2IHtcbiAgLnVzZXItbG9nbyB7XG4gICAgd2lkdGg6IDY0cHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNjRweDtcbiAgICB0b3A6IDBweDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4ubWFpbi1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5tYWluLWhlYWRlci10b3Age1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICBAZXh0ZW5kICVmb250LW1lZGl1bTtcbiAgfVxuXG4gIHAge1xuICAgIEBleHRlbmQgJWZvbnQtbGlnaHQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmxlZnQge1xuICAgIGZsZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC5taWRkbGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5yaWdodCB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgIGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luOiAwIDFlbTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxvZ28ge1xuICAgIGhlaWdodDogMmVtO1xuICAgIHdpZHRoOiAyZW07XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgfVxuXG4gIC5sZWZ0IHAgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gICYubW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjhyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAubG9nby1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgLnBhbnRyeS1sb2dvLWNvbnRhaW5lciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiAkaGVhZGVyLWhlaWdodDtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogJGhlYWRlci1oZWlnaHQ7XG4gICAgICAgIGhlaWdodDogJGhlYWRlci1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5vdGlmaWNhdGlvbi1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtcmVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiByZW0oOCk7XG5cbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBzbWFsbGVyLXRoYW4odGFibGV0KSB7XG4gIC5tYWluLWhlYWRlciB7XG4gICAgJi5tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAubWFpbi1oZWFkZXIge1xuICAgIC5sZWZ0IHtcbiAgICAgIGhlaWdodDogMzFweDtcbiAgICAgIHdpZHRoOiAzMXB4O1xuICAgIH1cbiAgfVxuICAubWFpbi1oZWFkZXIuc2lnbmluLWFuZC1yZWdpc3RlciB7XG4gICAgLnJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBzcGFuIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnNpZGViYXItbWVudS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiA0cmVtIDJyZW0gMCAycmVtO1xuXG4gIGhyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICB9XG5cbiAgLm1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIC5oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAyZW0gMS41ZW07XG4gICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgQGV4dGVuZCAlZm9udC1tZWRpdW07XG4gICAgICBzdmcge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjRlbTtcbiAgICAgICAgd2lkdGg6IDIuNGVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbnUtaXRlbXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZmFmYTtcbiAgICB9XG4gIH1cblxuICAuZGVza3RvcCB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIHRvIG1ha2UgdGhlIHN0YXRpc3RpY3MgaWNvbiBhbGlnbiBiZXR0ZXJcbiAgICAvLyAmIGRpdiB7XG4gICAgLy8gICAmOm50aC1jaGlsZCgzKSB7XG4gICAgLy8gICAgIHN2ZyB7XG4gICAgLy8gICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vICAgICAgIHRvcDogMnB4O1xuICAgIC8vICAgICAgIGxlZnQ6IDJweDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgfVxuXG4gIC5zaWRlYmFyLWl0ZW0tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNtYWxsZXItdGhhbih0YWJsZXQpIHtcbiAgICAuZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4odGFibGV0KSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogcmVtKDY0KTtcbiAgICBib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgzMik7XG4gIH1cbn1cblxuQGluY2x1ZGUgc21hbGxlci10aGFuKHRhYmxldCkge1xuICAuc2lkZWJhci1tZW51LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAzcmVtIDJyZW0gMCAycmVtO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5zaWRlYmFyLW1lbnUtaXRlbS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMWVtIDEuNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblxuICAtd2Via2l0LXRyYW5zaXRpb246XG4gICAgY29sb3IgJHRyYW5zaXRpb24tdGltZSxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWU7XG4gIHRyYW5zaXRpb246XG4gICAgY29sb3IgJHRyYW5zaXRpb24tdGltZSxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWU7XG5cbiAgLmljb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICB9XG5cbiAgc3ZnIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLXRpbWU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tdGltZTtcblxuICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIH1cblxuICBzcGFuIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLXRpbWU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tdGltZTtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cblxuICAudGl0bGUge1xuICAgIC8vIC4uLlxuICB9XG5cbiAgJi5hY3RpdmUsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbGlnaHQtdGVhbDtcbiAgICBjb2xvcjogJG55Y2ZhYy1kYXJrLXRlYWw7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLWxpZ2h0LXRlYWw7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1kYXJrLXRlYWw7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL21lZGlhLXF1ZXJpZXMuc2Nzc1wiO1xuXG4ucGxlbnRpZnVsLWxvZ28ge1xuICB3aWR0aDogMnJlbTtcbiAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgd2lkdGg6IDIuNzE0Mjg1cmVtO1xuICB9XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9tZWRpYS1xdWVyaWVzLnNjc3NcIjtcblxuLnBsZW50aWZ1bC1mdWxsLWxvZ28ge1xuICB3aWR0aDogMnJlbTtcblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICB3aWR0aDogMTEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb25cIjtcblxuLnNlc3Npb24tZXhwaXJlZC1tb2RhbC1jb250YWluZXIge1xuICBwIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbiAgLm1lc3NhZ2UtYm9keSB7XG4gICAgcGFkZGluZzogMWVtO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmhvbWUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGgxIHtcbiAgICBAZXh0ZW5kICVsYXJnZS10aGluLWhlYWRlcjtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTUyJTtcblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsaW5lLWhlaWdodDogMTUyJTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuXG4gIC5ob21lLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih0YWJsZXQpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAudGV4dC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihzbWFsbC1kZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnZoO1xuICAgIH1cbiAgfVxuXG4gIC5wbGVudGlmdWwtZnVsbC1sb2dvLW1haW4ge1xuICAgIHdpZHRoOiByZW0oMjI1KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAucmVnaXN0cmF0aW9uLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IHJlbSg4MCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDQ4KTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogcmVtKDMyMCk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKHRhYmxldCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiByZW0oMzgwKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSgyMCk7XG5cbiAgICAgIGEge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSgxNjQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kZXNrdG9wLWJhY2tncm91bmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogcmVtKDEwKTtcblxuICAgICAgLmJnLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IHJlbSgzNjApO1xuICAgICAgfVxuXG4gICAgICAuaG9tZS1iZy1sZWZ0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL2JhY2tncm91bmQvbW9tX3Nvbl93YWxraW5nLnBuZ1wiKTtcbiAgICAgIH1cblxuICAgICAgLmhvbWUtYmctcmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL2JhY2tncm91bmQvdHdvX3Blb3BsZV9zaXR0aW5nLnBuZ1wiKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihzbWFsbC1kZXNrdG9wKSB7XG4gICAgICBib3R0b206IHJlbSg3MCk7XG4gICAgfVxuICB9XG59XG5cbi5tYWluLWNvbnRhaW5lci0taG9tZSB7XG4gIGNvbG9yOiB3aGl0ZTtcblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihzbWFsbC1kZXNrdG9wKSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAuY2VudGVyZWQtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAubWFpbi1ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWI3OGI3O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vblwiO1xuXG4udGZhLWZvcm0tY29udGFpbmVyIHtcbiAgLnNpZ25pbi1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgfVxuXG4gIGEge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnBhc3N3b3JkLXN0cmVuZ3RoLWNvbnRhaW5lciB7XG4gIGNvbG9yOiAkbnljZmFjLWRhcmtlci1ncmF5O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIC5zdHJlbmd0aC1pbmRpY2F0b3Ige1xuICAgIC5zdHJlbmd0aC1pbmRpY2F0b3ItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5O1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgbWFyZ2luOiA0cHggNHB4IDAgMDtcbiAgICB9XG4gICAgLnJlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLXJlZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgfVxuICAgIC5ncmVlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgICBib3JkZXItY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICB9XG4gIH1cbiAgLnBhc3N3b3JkLXRpcHMge1xuICAgIHAsXG4gICAgbGkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb25cIjtcblxuJGZvcm0tc2VjdGlvbi1zcGFjaW5nOiAyLjU3O1xuXG4uc2lnbmluLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG5cbiAgJi5zaWduaW4tZm9ybS1jb250YWluZXIge1xuICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG5cbiAgICAuc2lnbmluLWZvcm0ge1xuICAgICAgJiA+ICo6bm90KGJ1dHRvbikge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBpbnB1dDotd2Via2l0LWF1dG9maWxsLFxuICAgICAgICBpbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICAgICAgICBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuICAgICAgICBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwIDEwMDBweCAjZmZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gKiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvcm0uaW52YWxpZC1mb3JtIHtcbiAgICAuc2lnbmluLWZpZWxkIGhyIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmUgJG55Y2ZhYy1yZWQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZSAkbnljZmFjLXJlZCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRueWNmYWMtcmVkICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItbGVmdDogbm9uZSAkbnljZmFjLXJlZCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5zaWduaW4tZXJyb3Ige1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgaDUge1xuICAgICAgY29sb3I6ICRueWNmYWMtcmVkO1xuICAgIH1cbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB9XG4gIH1cblxuICBoMyB7XG4gICAgQGV4dGVuZCAlZm9udC1ub3JtYWw7XG4gICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIGlucHV0LnNpZ25pbi1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBwYWRkaW5nLXRvcDogY2FsYygzcmVtIC0gOHB4KTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICYgPiAqIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICYgPiAqIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJlcXVlc3RlZC1tZXNzYWdlLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogJGZvcm0tcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbnljZmFjLWJsdWU7XG4gICAgJiAucmVxdWVzdGVkLW1lc3NhZ2Uge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLnNpZ25pbiB7XG4gICAgQGV4dGVuZCAlZ3JlZW4tYnV0dG9uO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tc3VidGl0bGUge1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgZm9udC1zaXplOiAxLjE0Mjg1N2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG5cbiAgcC5pbnRyby10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4ucGFudHJ5LXNlbGVjdC1yYWRpbyB7XG4gIG1hcmdpbjogMS41ZW0gMDtcbn1cblxuLm5ldy1vci1leGlzdGluZy1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5teS10ZXh0LWZpZWxkLFxuLm15LXRpbWUtcGlja2VyIHtcbiAgQGV4dGVuZCAlaGFsZi13aWR0aDtcbiAgJi5mdWxsIHtcbiAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICB9XG4gICYuZnVsbC13aWR0aC1tb2JpbGUge1xuICAgIEBleHRlbmQgJWZ1bGwtd2lkdGgtbW9iaWxlO1xuICB9XG4gIGhlaWdodDogNzJweDtcbiAgdG9wOiAxN3B4O1xufVxuXG4ubXktc2VsZWN0LWZpZWxkIHtcbiAgQGV4dGVuZCAlaGFsZi13aWR0aDtcbiAgJi5mdWxsIHtcbiAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICB9XG4gICYuZnVsbC13aWR0aC1tb2JpbGUge1xuICAgIEBleHRlbmQgJWZ1bGwtd2lkdGgtbW9iaWxlO1xuICB9XG4gIGhlaWdodDogNzJweDtcbiAgdG9wOiAyMHB4O1xuXG4gIC5NdWlJbnB1dC1yb290IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5teS1zZWxlY3QtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG4ubXktc2xpZGVyIHtcbiAgQGV4dGVuZCAlaGFsZi13aWR0aDtcbiAgJi5mdWxsIHtcbiAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICB9XG4gICYuZnVsbC13aWR0aC1tb2JpbGUge1xuICAgIEBleHRlbmQgJWZ1bGwtd2lkdGgtbW9iaWxlO1xuICB9XG4gIGhlaWdodDogNzJweDtcbiAgbWFyZ2luLXRvcDogMTdweDtcbn1cblxuLmFkZHJlc3MtZm9ybSB7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgZmxleC1iYXNpczogMTAwJTtcblxuICAuaGlkZGVuLWZpZWxkIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbn1cblxuLmluY3JlbWVudGVyIHtcbiAgLmluY3JlbWVudGVyLWJ0bi1ncnAge1xuICAgIG1hcmdpbjogMTJweCAwcHg7XG5cbiAgICAuYnRuLWRvd24sXG4gICAgLmJ0bi11cCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmJ0bi12YWwge1xuICAgICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lcnJvciB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNyYy9zdHlsZXMvY29sb3JzLnNjc3NcIjtcblxuLnppcC1jb2RlLWNoaXAtaW5wdXQge1xuICB3aWR0aDogMTAwJTtcblxuICAuemlwLWNvZGUtbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgfVxuXG4gIC5jaGlwLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiA4cHggMTJweDtcbiAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yMyk7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBib3JkZXItY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgcGFkZGluZzogN3B4IDExcHg7XG4gICAgfVxuXG4gICAgJi5lcnJvciB7XG4gICAgICBib3JkZXItY29sb3I6ICRueWNmYWMtcmVkO1xuICAgIH1cbiAgfVxuXG4gIC5jaGlwcy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDZweDtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuemlwLWNoaXAge1xuICAgIG1hcmdpbjogMnB4IDA7XG5cbiAgICAmLk11aUNoaXAtY29sb3JQcmltYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtdGVhbC1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAuTXVpQ2hpcC1kZWxldGVJY29uIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hpcC1pbnB1dC1maWVsZCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuXG4gICAgLk11aUlucHV0LXJvb3Qge1xuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIH1cbiAgfVxuXG4gIC5jbGVhci1hbGwtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgICB9XG4gIH1cblxuICAuTXVpRm9ybUhlbHBlclRleHQtcm9vdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5yZWdpc3Rlci1tb2RhbCB7XG4gIC5tb2RhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5tb2RhbC1jYXJkIHtcbiAgICB3aWR0aDogcmVtKDUwMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHJlbSg4KSByZW0oMzIpO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbWFnZS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAuaW1hZ2Utb3ZlcmxheS1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uL2ltYWdlcy9iZ19icmVhZC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IHJlbSgxMDQpO1xuICAgIHdpZHRoOiByZW0oOTcpO1xuICB9XG5cbiAgLmltYWdlLW92ZXJsYXktcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uLy4uL2ltYWdlcy9iZ19hcHBsZS5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBoZWlnaHQ6IHJlbSgxMTIpO1xuICAgIHdpZHRoOiByZW0oNzApO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5vbmJvYXJkaW5nLXBhZ2UtemVybyB7XG4gIC5oZWxwLXRleHQsXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuXG4gIC5oYXZlLWFjY291bnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMzIpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzIpO1xuICB9XG5cbiAgLmhhdmUtYWNjb3VudC1xdWVzdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDYpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtKDMyKTtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnBheW1lbnQtY29uZmlybWF0aW9uIHtcbiAgd2lkdGg6IHJlbSg5NjApO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4odGFibGV0KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIC5mb3JtIHtcbiAgICB3aWR0aDogcmVtKDQ4MCk7XG4gIH1cblxuICAubGVmdC1jb2x1bW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg0OCk7XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4odGFibGV0KSB7XG4gICAgICB3aWR0aDogcmVtKDQ4MCk7XG4gICAgfVxuICB9XG5cbiAgLnJpZ2h0LWNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0oNDgpO1xuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4odGFibGV0KSB7XG4gICAgICB3aWR0aDogcmVtKDMzMCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0OCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbmZpcm0tYnV0dG9uIHtcbiAgICB3aWR0aDogcmVtKDMyMCk7XG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZC1lcnJvciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgbWFyZ2luLXRvcDogcmVtKDgpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtKDY1KTtcbiAgfVxuXG4gIC5leHBsYW5hdGlvbiB7XG4gICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgbWFyZ2luLXRvcDogcmVtKDMwKTtcbiAgICB3aWR0aDogcmVtKDMyMCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbSgxOSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnJlZ2lzdGVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNzVweCk7XG4gIHBhZGRpbmc6ICRtYWluLXZlcnRpY2FsLXBhZGRpbmctbW9iaWxlIDA7XG5cbiAgLm1haW4tY29udGVudCB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cblxuICAuZm9ybS1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAkbWFpbi12ZXJ0aWNhbC1wYWRkaW5nIDA7XG4gIH1cblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihzbWFsbC1kZXNrdG9wKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbWFpbi12ZXJ0aWNhbC1wYWRkaW5nLW1vYmlsZTtcbiAgfVxuICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgfVxuICAucmVnaXN0ZXItc3VjY2VzcyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaDMge1xuICAgICAgQGV4dGVuZCAlbGFyZ2UtdGhpbi1oZWFkZXI7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBAZXh0ZW5kICVsYXJnZS10aGluLWhlYWRlcjtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgfVxuXG4gIGg0IHtcbiAgICBAZXh0ZW5kICVtZWRpdW0taGVhZGVyO1xuICB9XG5cbiAgLy9Gb3JtIExheW91dFxuICAudGV4dGZpZWxkIHtcbiAgICBAZXh0ZW5kICVoYWxmLXdpZHRoO1xuICAgICYuZnVsbCB7XG4gICAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgLmltYWdlLWdyaWQtc2VsZWN0b3Ige1xuICAgIG1hcmdpbjogMnJlbSAwO1xuICB9XG5cbiAgLnBsZW50aWZ1bC10b29sdGlwIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9XG5cbiAgLy9CdXR0b25zXG4gIC5iYWNrLWJ1dHRvbixcbiAgLnNlY29uZGFyeS1idXR0b24sXG4gIC5hY3Rpb24tYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG4gIH1cblxuICAuYmFjay1idXR0b24ge1xuICAgIEBleHRlbmQgJWhvbGxvdy1idXR0b247XG4gICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgfVxuXG4gIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVob2xsb3ctYnV0dG9uO1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgYm9yZGVyLWNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIH1cblxuICAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlYnV0dG9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgaGVpZ2h0OiByZW0oNDgpO1xuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gIH1cblxuICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgQGV4dGVuZCAlYnV0dG9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY3Vyc29yOiBpbml0aWFsO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAuc2VydmljZS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBidXR0b246bnRoLWNoaWxkKDIpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgfVxuICAgIGJ1dHRvbjpudGgtY2hpbGQoMykge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy9TZXJ2aWNlIFNjaGVkdWxlIExpc3RcbiAgLnNpbmdsZS1zZXJ2aWNlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDNlbTtcblxuICAgIC5zZXJ2aWNlLXRpdGxlIHtcbiAgICAgIEBleHRlbmQgJWZvbnQtbWVkaXVtO1xuICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICB9XG5cbiAgICBidXR0b24ucmVtb3ZlIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgICAgIH1cblxuICAgICAgYTpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLXNlcnZpY2Utc2VsZWN0LWZpZWxkIHtcbiAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuc2luZ2xlLXNlcnZpY2Utc2VsZWN0LWZpZWxkLWxhcmdlIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvL01hbmFnZW1lbnQgVHlwZSBTdHlsZXNcbiAgLmFsbC1tYW5hZ2VtZW50cy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMnJlbSAtMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmYWZhO1xuXG4gICAgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnN0ZXBzLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5zdGVwLWNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IDEwZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuNWVtO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogNS41ZW07XG4gICAgICB9XG5cbiAgICAgIC5hcnJvdyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBoZWlnaHQ6IDUuNWVtO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMTRweDtcblxuICAgICAgICAgIC5oaWRkZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaGlkZGVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdGVwcy1sZWZ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB3aWR0aDogODUlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5zdGVwcy1yaWdodCB7XG4gICAgICB3aWR0aDogMTUlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIC5zZWxlY3QtYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAlaG9sbG93LWJ1dHRvbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogLTJlbSAwIDAgMDtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBjb250ZW50OiBcIlNFTEVDVFwiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNpbmdsZS1tYW5hZ2VtZW50LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJG55Y2ZhYy1saWdodC1ncmF5O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbGlnaHQtZ3JheTtcbiAgICBwYWRkaW5nOiAyLjVlbTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIGgzIHtcbiAgICAgIEBleHRlbmQgJWZvbnQtbm9ybWFsO1xuICAgICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMnJlbSAwO1xuICAgIH1cbiAgfVxuXG4gIGxhYmVsLmxpbmUtbWFuYWdlbWVudC1yb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIH4gLnNpbmdsZS1tYW5hZ2VtZW50LWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLWxpZ2h0ZXItZ3JheTtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxMXB4IDEuNXB4IHJnYmEoMjA3LCAyMDcsIDIwNywgMC40KTtcbiAgICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgMHB4IDBweCAxMXB4IDEuNXB4IHJnYmEoMjA3LCAyMDcsIDIwNywgMC40KTtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAwcHggMTFweCAxLjVweCByZ2JhKDIwNywgMjA3LCAyMDcsIDAuNCk7XG4gICAgICAuc2VsZWN0LWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLWRhcmstdGVhbDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbnljZmFjLWRhcmstdGVhbDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJTRUxFQ1RFRFwiO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGFiZWwubGluZS1tYW5hZ2VtZW50LXJvdzpudGgtY2hpbGQoMykge1xuICAgIC5zdGVwcy1jb250YWluZXIge1xuICAgICAgLnN0ZXAtY29sdW1uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLW1hbmFnZW1lbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLWxpZ2h0LWJsdWU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTBweCA0cHggcmdiYSgyMDcsIDIwNywgMjA3LCAwLjUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDRweCByZ2JhKDIwNywgMjA3LCAyMDcsIDAuNSk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IDRweCByZ2JhKDIwNywgMjA3LCAyMDcsIDAuNSk7XG5cbiAgICAuc2VsZWN0LWJ1dHRvbiB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1kYXJrLXRlYWw7XG4gICAgICBib3JkZXItY29sb3I6ICRueWNmYWMtZGFyay10ZWFsO1xuICAgIH1cbiAgfVxufVxuXG4vL1NpZGViYXJcbi5yZWdpc3Rlci1zaWRlYmFyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLWxpZ2h0LWdyYXk7XG5cbiAgLmJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5zdGVwLTAxLXNpZGViYXIge1xuICAuYm90dG9tIHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLmZ1bGwtcGFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLy9Nb2JpbGUgTGF5b3V0XG5AaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gIC5yZWdpc3Rlci1jb250YWluZXIge1xuICAgICYubGF5b3V0LXJvdyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5tYWluLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIH1cbiAgICAgIC50ZXh0ZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmZpZWxkLWdyb3VwIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgJi5zcGxpdCB7XG4gICAgICAgICAgLnRleHRmaWVsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnRoaXJkIHtcbiAgICAgICAgICAudGV4dGZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5qdXN0aWZ5LWZsZXgtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIC5iYWNrLWJ1dHRvbixcbiAgICAgICAgLnNlY29uZGFyeS1idXR0b24sXG4gICAgICAgIC5hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuYmFjay1idXR0b24ge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnNlcnZpY2UtYWN0aW9ucyB7XG4gICAgICAgICAgYnV0dG9uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNlcnZpY2UtdHlwZS1ncm91cCB7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hbGwtbWFuYWdlbWVudHMtY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbjogMnJlbSAwO1xuICAgICAgICAuc2luZ2xlLW1hbmFnZW1lbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdGVwcy1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAuc3RlcHMtbGVmdCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAuc3RlcC1jb2x1bW4ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycmVtIDAgMCAwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zdGVwcy1yaWdodCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIC5zZWxlY3QtYnV0dG9uIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBtYXJnaW46IDAuNXJlbSAwIDAgMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpc3Rlci1zaWRlYmFyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgLmJvdHRvbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5vbmJvYXJkaW5nLWdldC1zdGFydGVkIHtcbiAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL29uYm9hcmRpbmdfZ2V0X3N0YXJ0ZWQucG5nJyk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDM0KTtcbiAgfVxuXG4gIHAge1xuICAgIHdpZHRoOiByZW0oNjAwKTtcbiAgICBsaW5lLWhlaWdodDogcmVtKDMyKTtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbWFyZ2luOiByZW0oMzIpIGF1dG8gcmVtKDQwKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4ubXktcGFudHJ5IGZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAuZmllbGQtZ3JvdXAsXG4gIC50ZXh0ZmllbGQuZnVsbCB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cbn1cbkBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgLm15LXBhbnRyeSBmb3JtIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLmZpZWxkLWdyb3VwIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cbn1cblxuLm15LXBhbnRyeSB7XG4gIC5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIEBleHRlbmQgJW1lZGl1bS1oZWFkZXI7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmdlbmVyYWwge1xuICAgIC50ZXh0ZmllbGQge1xuICAgICAgQGV4dGVuZCAlaGFsZi13aWR0aDtcbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgQGV4dGVuZCAlZnVsbC13aWR0aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZnVsbC13aWR0aCB7XG4gICAgQGV4dGVuZCAlZnVsbC13aWR0aDtcbiAgfVxuXG4gIGJ1dHRvbi5hZGQtc2VydmljZSB7XG4gICAgQGV4dGVuZCAlZ3JlZW4tYm9yZGVyLWJ1dHRvbjtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogLTNyZW0gMCA1ZW0gMDtcbiAgfVxuXG4gIC5zZXJ2aWNlIHtcbiAgICAucmVtb3ZlIHtcbiAgICAgIEBleHRlbmQgJXJlZC10ZXh0LWJ1dHRvbi1zbWFsbDtcbiAgICB9XG4gICAgLnNlbGVjdGZpZWxkIHtcbiAgICAgIEBleHRlbmQgJW9uZS10aGlyZC13aWR0aDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kaWdpdGFsLXNlcnZpY2Utb3B0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYWRkaXRpb25hbC1kZXRhaWxzIHtcbiAgICAuc2VsZWN0ZmllbGQsXG4gICAgLnRleHRmaWVsZCB7XG4gICAgICBAZXh0ZW5kICVoYWxmLXdpZHRoO1xuXG4gICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgIEBleHRlbmQgJWZ1bGwtd2lkdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgQGV4dGVuZCAleHhzbWFsbC1ncmF5LWhlYWRlcjtcbiAgICB9XG5cbiAgICAuaW1hZ2UtZ3JpZC1zZWxlY3RvciB7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuXG4gICAgLnRvZ2dsZSB7XG4gICAgICBAZXh0ZW5kICVoYWxmLXdpZHRoO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgbWFyZ2luOiAyZW0gMCAwIDA7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLnNhdmUtY2hhbmdlcyB7XG4gICAgQGV4dGVuZCAlZ3JlZW4tYnV0dG9uO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMWVtIDRlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgLm15LXBhbnRyeSB7XG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgICAgfVxuXG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgfVxuXG4gICAgICBidXR0b24uYWRkLXNlcnZpY2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgIH1cblxuICAgICAgLnNlY3Rpb24ge1xuICAgICAgICAmLmdlbmVyYWwge1xuICAgICAgICAgIC50ZXh0ZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNlcnZpY2Uge1xuICAgICAgICAgIC50ZXh0ZmllbGQsXG4gICAgICAgICAgLnNlbGVjdGZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZGlnaXRhbC1zZXJ2aWNlLW9wdGlvbnMge1xuICAgICAgICAgIC5lbGVtZW50LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjNlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLmFkZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICAgICAgLnRleHRmaWVsZCxcbiAgICAgICAgICAuc2VsZWN0ZmllbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYWR2YW5jZS1yZWdpc3RyYXRpb24ge1xuICAgIC5teS1zZWxlY3QtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLnZlcmlmeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAucGFudHJ5LWxhbmd1YWdlcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgfVxuXG4gIC5zZXJ2aWNlLXNjaGVkdWxlLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogJG55Y2ZhYy10ZWFsLWFjdGl2ZTtcbiAgfVxufVxuXG4uZGlnaXRhbC1zZXJ2aWNlLW9wdGlvbnMge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAuZWxlbWVudC10aXRsZSB7XG4gICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gIH1cblxuICBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nOiAxLjVlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG5cbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltZTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1lO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1saWdodC10ZWFsO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICB9XG5cbiAgICAgIC5yYWRpbyB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgIC5yYWRpby1zZWxlY3RlZCB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGFiZWwgfiBsYWJlbCB7XG4gICAgPiBkaXYge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgfiBkaXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbGlnaHQtdGVhbDtcbiAgICAucmFkaW8ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnJhZGlvLXNlbGVjdGVkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLnN1Y2Nlc3MtbWVzc2FnZSxcbi5nbG9iYWwtZXJyb3ItbWVzc2FnZSxcbi5pbmZvcm1hdGlvbmFsLW1lc3NhZ2Uge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDE5MCwgMTY1LCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGgzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gIH1cbn1cblxuLmdsb2JhbC1lcnJvci1tZXNzYWdlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzcsIDg0LCA4NCwgMC45KTtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmluZm9ybWF0aW9uYWwtbWVzc2FnZSB7XG4gIGJhY2tncm91bmQ6ICRueWNmYWMtYmx1ZS1iYWNrZ3JvdW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi52ZXJpZmljYXRpb24ge1xuICAuZm9ybS1idXR0b24tLXJldmVyc2UtLXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIH1cblxuICAuZm9ybS1idXR0b24tLXJldmVyc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi5zZXJ2aWNlLWdyb3VwcyB7XG4gIC5zZXJ2aWNlLXR5cGUtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gIH1cblxuICBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiByZW0oMjgpIHJlbSgyMCk7XG4gIH1cblxuICAubXktdGV4dC1maWVsZCxcbiAgLm15LXNlbGVjdC1maWVsZCB7XG4gICAgd2lkdGg6IDM1JSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZ1bGwge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIG1hcmdpbi10b3A6IHJlbSgxNik7XG4gIH1cbn1cblxuLnBhbnRyeS1mb29kYmFuay1pZGVudGlmaWVycyB7XG4gIC50eXBlLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogNjAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gIH1cbiAgLmZvb2RiYW5rLWFjY2Vzcy1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbSgyNCk7XG4gIH1cbn1cblxuLnppcC1yZXN0cmljdGlvbnMtc2VjdGlvbiB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbi56aXAtcmVzdHJpY3Rpb25zLXdhcm5pbmcge1xuICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luOiA4cHggMCAxNnB4IDA7XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi50ZWZhcC1tb2RhbCB7XG4gIC5tb2RhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGxlZnQ6IDAuNXJlbTtcbiAgICByaWdodDogMC41cmVtO1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogcmVtKDU2MCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaDUge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnV0dG9uLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIHJlbSgyMCk7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCByZW0oMjApIHJlbSgxNSk7XG5cbiAgICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBlcnNvbi1kZXRhaWxzIHtcbiAgICBtYXJnaW46IDIwcHggMjBweCAwO1xuICB9XG5cbiAgLmV4cGxhbmF0aW9uIHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgfVxuXG4gIHRkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAudmVyaWZpZWQtdW50aWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbnRhYmxlLmNsaWVudC1hdXRvY29tcGxldGUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0ciB7XG4gICAgICB0ZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgY29sb3I6ICNhMWE5YjA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ubG9hZGluZy1zcGlubmVyLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMWVtO1xufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uZHVwbGljYXRlLXBob25lLW1vZGFsIHtcbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgLm1vZGFsIHtcbiAgICAgIHdpZHRoOiAyN2VtO1xuXG4gICAgICAuZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNWVtIDEuNWVtIDEuNWVtO1xuXG4gICAgICAgIC50ZXh0ZmllbGQge1xuICAgICAgICAgIEBleHRlbmQgJWZ1bGwtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2FuY2VsIHtcbiAgICAgICAgICBAZXh0ZW5kICVob2xsb3ctYnV0dG9uO1xuICAgICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29uZmlybSB7XG4gICAgICAgICAgQGV4dGVuZCAlYnV0dG9uO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG55Y2ZhYy10ZWFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5hZGQtaG91c2Vob2xkLW1lbWJlci1tb2RhbC1vdmVybGF5IHtcbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLm1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjVyZW07XG4gICAgbGVmdDogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNXJlbTtcbiAgICAgIGxlZnQ6IDJyZW07XG4gICAgICByaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA0MHJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDAgMS41ZW0gMmVtIDEuNWVtO1xuICAgICAgLnRleHRmaWVsZCxcbiAgICAgIC5mYW1pbHktc2xpZGVyLFxuICAgICAgLmZhbWlseS1sYWJlbCB7XG4gICAgICAgIEBleHRlbmQgJWZ1bGwtd2lkdGg7XG4gICAgICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgICAgIHdpZHRoOiA0NiUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZhbWlseS1oZWFkZXIge1xuICAgICAgICBtYXJnaW46IDFlbSAwIDA7XG4gICAgICB9XG4gICAgICAuZmFtaWx5LXNsaWRlciB7XG4gICAgICAgIGhlaWdodDogM2VtO1xuICAgICAgfVxuICAgICAgLmZhbWlseS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuc21zLW9wdC1pbiB7XG4gICAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICAgIH1cbiAgICAuZXJyb3Ige1xuICAgICAgcGFkZGluZzogMCAxLjVlbSAyZW0gMS41ZW07XG4gICAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgfVxuXG4gICAgLm1vZGFsLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiByZW0oMzAwKTtcbiAgICB9XG4gIH1cblxuICAubWVyZ2UtbWVtYmVyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIHJlbSgyNCk7XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1kYXJrZXItZ3JheTtcbiAgICB9XG5cbiAgICAubWVyZ2UtbWVtYmVyLWl0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLnN1Ym1pdC1tZW1iZXJzIHtcbiAgICAgIEBleHRlbmQgJWdyZWVuLWJvcmRlci1idXR0b247XG4gICAgICBtYXJnaW4tbGVmdDogcmVtKDMwKTtcbiAgICB9XG5cbiAgICAuY2FuY2VsLW1lbWJlcnMge1xuICAgICAgQGV4dGVuZCAlcmVkLWJvcmRlci1idXR0b247XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAub3ZlcnJpZGUtY29udGFpbmVyIHtcbiAgICAuZXJyb3Ige1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLnRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIucHJvZ3JhbS1hdHRlc3RhdGlvbi1lcnJvciB7XG4gIC5lcnJvci1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMCAxLjVyZW07XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmljb24tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDBlbTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBmb250LXNpemU6IDRyZW07XG4gICAgfVxuICB9XG5cbiAgLmVycm9yLWJvZHkge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAuZGlhZ25vc3RpYy1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcCB7XG4gICAgICBjb2xvcjogZGFya2dyYXk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmVycm9yLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vU3RhdGVQcm9ncmFtcy5zY3NzXCI7XG5cbi5wcm9ncmFtLWF0dGVzdGF0aW9uLXJlYWN0LW1vZGFsLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwOyAvLyBzdHJldGNoIHRvIGZpbGwgZW50aXJlIGNvbnRhaW5lclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKFxuICAgIDAsXG4gICAgMCxcbiAgICAwLFxuICAgIDAuOFxuICApOyAvLyBzaGFkZSBiYWNrZ3JvdW5kIGRyYW1hdGljYWxseSB0byBub3QgZGlzdHJhY3QgdXNlciB3aXRoIHVuZGVybHlpbmcgY29udGVudFxuICB6LWluZGV4OiAkc3RhY2tlZC1tb2RhbC16LWluZGV4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5wcm9ncmFtLWF0dGVzdGF0aW9uLXJlYWN0LW1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGluc2V0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDkwJTtcbiAgbWF4LWhlaWdodDogOTAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnByb2dyYW0tYXR0ZXN0YXRpb24tbW9kYWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IGNsYW1wKDMwMHB4LCA0MHZ3LCAxMjAwcHgpO1xuXG4gIC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubW9kYWwtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMWVtIDEuNWVtO1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAubW9kYWwtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG4gIH1cblxuICAuY29tcGxldGUtaWNvbiB7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbiAgLmludHJvZHVjdGlvbi1pY29uIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi5wcm9ncmFtLWF0dGVzdGF0aW9uLWludHJvZHVjdGlvbiB7XG4gIGgyIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBwIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cbn1cblxuLnByb2dyYW0tYXR0ZXN0YXRpb24tZWxpZ2liaWxpdHktY29uZmlybWF0aW9uIHtcbiAgaDIge1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgaDQge1xuICAgIGNvbG9yOiBibGFjaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gIC5lbGlnaWJsZS1pY29uIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgY29sb3I6ICRzdGF0ZS1wcm9ncmFtcy1lbGlnaWJsZTtcbiAgfVxuXG4gIC5pbmVsaWdpYmxlLWljb24ge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBjb2xvcjogJHN0YXRlLXByb2dyYW1zLWluZWxpZ2libGU7XG4gIH1cbn1cblxuLnByb2dyYW0tYXR0ZXN0YXRpb24tc3VibWlzc2lvbiB7XG4gIGgyLFxuICBoNCB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICB9XG5cbiAgLmVsaWdpYmxlLWljb24ge1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBjb2xvcjogJHN0YXRlLXByb2dyYW1zLWVsaWdpYmxlO1xuICB9XG5cbiAgLmluZWxpZ2libGUtaWNvbiB7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIGNvbG9yOiAkc3RhdGUtcHJvZ3JhbXMtaW5lbGlnaWJsZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3N0eWxlcy9jb2xvcnMuc2Nzc1wiO1xuXG4kc3RhdGUtcHJvZ3JhbXMtZWxpZ2libGU6ICM1NmJjYTY7XG4kc3RhdGUtcHJvZ3JhbXMtaW5lbGlnaWJsZTogI2VhYjg0MztcbiRzdGF0ZS1wcm9ncmFtcy11bmF0dGVzdGVkOiAjZGU1ZTU3O1xuJHN0YXRlLXByb2dyYW1zLXVua25vd246IGJsYWNrO1xuIiwiLndpemFyZC1mb3JtIHtcbiAgLndpemFyZC1mb3JtLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIH1cblxuICAud2l6YXJkLWZvcm0tcmVxdWlyZWQtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gaWYgdGhlcmUgaXMgb25seSBvbmUgYnV0dG9uIGluIGZvb3RlciwgcHV0IGl0IG9uIHRoZSByaWdodFxuICAud2l6YXJkLWZvcm0tZm9vdGVyIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuIiwiLy8gSW1wb3J0IHByb2plY3QgY29sb3IgYW5kIHZhcmlhYmxlIGRlZmluaXRpb25zXG5AaW1wb3J0IFwiLi4vLi4vLi4vc3R5bGVzL2NvbG9ycy5zY3NzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcy5zY3NzXCI7XG5cbi5qc29uZm9ybXMge1xuICAvKiBpbnB1dHMgYW5kIGNvbnRyb2xzICovXG4gIC5jb250cm9sIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuaW5wdXQtd3JhcHBlcjpub3QoLm11bHRpc2VsZWN0KSB7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgNnB4IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLXRpbWU7XG5cbiAgICAmLmludmFsaWQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG55Y2ZhYy10ZWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTFweDsgLyogTWFpbnRhaW4gbGF5b3V0IHdoZW4gYm9yZGVyIGluY3JlYXNlcyAqL1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMCAwIHJnYmEoMCwgMTkxLCAxNjUsIDAuMSk7XG5cbiAgICAgICYuaW52YWxpZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRueWNmYWMtcmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tdGltZTtcbiAgfVxuXG4gIC5zZWxlY3Qge1xuICAgICYuaW52YWxpZCB7XG4gICAgICBib3JkZXItY29sb3I6ICRueWNmYWMtcmVkO1xuICAgIH1cbiAgfVxuXG4gIC5jaGVja2JveCB7XG4gICAgaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAmLmludmFsaWQge1xuICAgICAgb3V0bGluZTogMC4xcmVtIHNvbGlkICRueWNmYWMtcmVkO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDAuMXJlbTtcbiAgICB9XG4gIH1cblxuICAucmFkaW8ge1xuICAgIGhlaWdodDogMXJlbTtcbiAgICAmLmludmFsaWQge1xuICAgICAgb3V0bGluZTogMC4xcmVtIHNvbGlkICRueWNmYWMtcmVkO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDAuMXJlbTtcbiAgICB9XG4gIH1cblxuICAvKiBEZXNjcmlwdGlvbi9oZWxwIHRleHQgKi9cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1tZWRpdW0tZ3JheTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG5cbiAgICAmLnZhbGlkYXRpb24tZXJyb3Ige1xuICAgICAgY29sb3I6ICRueWNmYWMtcmVkO1xuICAgIH1cbiAgfVxuXG4gIC8qIEdyb3VwIHN0eWxpbmcgKi9cbiAgLmdyb3VwLWxheW91dCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5ncm91cC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5ncm91cC1sYXlvdXQtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uLy4uL3N0eWxlcy9jb2xvcnMuc2Nzc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL3N0eWxlcy92YXJpYWJsZXMuc2Nzc1wiO1xuXG4uc2VhcmNoYWJsZS1lbnVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNlYXJjaGFibGUtZW51bS1pbnB1dCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LWZhbWlseTogJGJhc2UtZm9udDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxMHB4IDAgNnB4IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb24tdGltZTtcblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG55Y2ZhYy10ZWFsO1xuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMCAwIHJnYmEoMCwgMTkxLCAxNjUsIDAuMSk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmLS1zdGFsZSB7XG4gICAgY29sb3I6ICRueWNmYWMtbWVkaXVtLWdyYXk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG59XG5cbi8vIE9wdGlvbiBsaXN0IGlzIHJlbmRlcmVkIHZpYSBhIHBvcnRhbCB0byBkb2N1bWVudC5ib2R5IHNvIGl0IGVzY2FwZXMgYW55XG4vLyBvdmVyZmxvdzpoaWRkZW4gYW5jZXN0b3JzIChlLmcuLCB0aGUgbW9kYWwgYm9keSkuIFRvcC9sZWZ0L3dpZHRoIGFyZSBzZXRcbi8vIGlubGluZSBmcm9tIHRoZSBpbnB1dCdzIGJvdW5kaW5nIGNsaWVudCByZWN0LlxuLnNlYXJjaGFibGUtZW51bS1kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTMwMDtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5zZWFyY2hhYmxlLWVudW0tb3B0aW9uIHtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcblxuICAmOmhvdmVyLFxuICAmLmhpZ2hsaWdodGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICB9XG5cbiAgJi5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy10ZWFsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRueWNmYWMtdGVhbC1hY3RpdmU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICYuaGlnaGxpZ2h0ZWQuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkbnljZmFjLXRlYWwtYmFja2dyb3VuZCwgNSUpO1xuICB9XG5cbiAgJi0tY2xlYXIge1xuICAgIGNvbG9yOiAkbnljZmFjLW1lZGl1bS1ncmF5O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxufVxuXG4uc2VhcmNoYWJsZS1lbnVtLW5vLXJlc3VsdHMge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGNvbG9yOiAkbnljZmFjLW1lZGl1bS1ncmF5O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbiIsIi5hY3Rpb24tcHJvbXB0IHtcbiAgLmFjdGlvbi1wcm9tcHQtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuYWN0aW9uLXByb21wdC1ib2R5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAuYWN0aW9uLXByb21wdC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogM3JlbTtcbiAgfVxuXG4gIC8vIGlmIHRoZXJlIGlzIG9ubHkgb25lIGJ1dHRvbiBpbiBmb290ZXIsIHB1dCBpdCBvbiB0aGUgcmlnaHRcbiAgLmFjdGlvbi1wcm9tcHQtZm9vdGVyIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vU3RhdGVQcm9ncmFtcy5zY3NzXCI7XG5cbi52aXNpdC1wcm9ncmFtLW1lbnUtaXRlbS11bmF0dGVzdGVkIHtcbiAgY29sb3I6ICRzdGF0ZS1wcm9ncmFtcy11bmF0dGVzdGVkICFpbXBvcnRhbnQ7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc3R5bGVzL2NvbG9ycy5zY3NzXCI7XG5AaW1wb3J0IFwiLi9TdGF0ZVByb2dyYW1zLnNjc3NcIjtcblxuLnByb2dyYW0tc3RhdHVzLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgaGVpZ2h0OiAxLjJyZW07IC8vIHRoZSBvdGhlciBiYWRnZSBpY29ucyBhcmUgZGVmaW5lZCBieSB3aWR0aCwgYnV0IGJlY2F1c2UgdGhlc2UgYmFkZ2VzIGFyZSBkeW5hbWljIHdpZHRoLCB0aGlzIGhlaWdodCBtYWtlcyB0aGVtIG1hdGNoIHRoZSB0ZWZhcC1pY29uXG4gIHBhZGRpbmc6IDAgMC40cmVtO1xuICBtYXJnaW46IDAuMnJlbSAwLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZ2FwOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC5iYWRnZS10ZXh0IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmJhZGdlLWljb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgJi51bmF0dGVzdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtcHJvZ3JhbXMtdW5hdHRlc3RlZDtcbiAgfVxuXG4gICYuZWxpZ2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdGF0ZS1wcm9ncmFtcy1lbGlnaWJsZTtcbiAgfVxuXG4gICYubm90YXBwbGljYWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXRlLXByb2dyYW1zLWVsaWdpYmxlO1xuICB9XG5cbiAgJi5pbmVsaWdpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtcHJvZ3JhbXMtaW5lbGlnaWJsZTtcbiAgfVxuXG4gICYudW5rbm93biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXRlLXByb2dyYW1zLXVua25vd247XG4gIH1cblxuICAmLmxvYWRpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdyYXk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnNjaGVkdWxlLWVudHJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgaGVpZ2h0OiByZW0oOTYpO1xuXG4gICYgfiAuc2NoZWR1bGUtZW50cnkge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICAuZGF0ZS1jaXJjbGUge1xuICAgIG1hcmdpbjogMCByZW0oMTYpO1xuICAgIHdpZHRoOiByZW0oNjQpO1xuICAgIGhlaWdodDogcmVtKDY0KTtcbiAgICBib3JkZXItcmFkaXVzOiByZW0oNDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLndlZWstZGF5IHtcbiAgICAgIEBleHRlbmQgJWZvbnQtbGlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgfVxuICAgIC5tb250aC1kYXkge1xuICAgICAgQGV4dGVuZCAlZm9udC1saWdodDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgIH1cbiAgfVxuXG4gIC5kYXRlLWRldGFpbHMge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJG55Y2ZhYy1kYXJrZXItZ3JheTtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgLmNvdW50IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gIH1cblxuICAuZGF0ZS1tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAuaWNvbiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEsXG4gICAgYTpob3ZlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuc2NoZWR1bGUtbW9udGgtZHJvcGRvd24ge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJi53aGl0ZS1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1saWdodC10ZWFsO1xuICAgIH1cbiAgfVxuXG4gICYuZ3JlZW4tdGl0bGUge1xuICAgIC5tb250aC1kYXkge1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICB9XG4gIH1cblxuICAmLnJlZC10aXRsZSB7XG4gICAgLm1vbnRoLWRheSB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1wYXN0IHtcbiAgICAuZGF0ZS1jaXJjbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIH1cbiAgfVxuXG4gIC5zcGlubmVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCByZW0oMTYpO1xuICB9XG5cbiAgLnNtYWxsLXNwaW5uZXIge1xuICAgIGhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDtcbiAgfVxufVxuXG5hLm1lbnUtYS1saW5rLFxuYS5tZW51LWEtbGluazpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5uby1zZXJ2aWNlcy1jb250YWluZXIge1xuICBwYWRkaW5nOiByZW0oMTYpO1xuXG4gIC5zcGFjZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbSg2NCk7XG4gIH1cblxuICAudGV4dCB7XG4gICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuICB9XG5cbiAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5AaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5zZXJ2aWNlLW1vZGFsIHtcbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5tb2RhbCB7XG4gICAgd2lkdGg6IDU2MHB4O1xuICAgIG1hcmdpbi10b3A6IHJlbSgxMDApO1xuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgbWFyZ2luOiA5MnB4IDAgMDtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMmVtKTtcbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgcGFkZGluZzogMS41ZW07XG5cbiAgICAgIC5pbnB1dC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjMycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mcm9tLXVudGlsLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cblxuICAgICAgLnRpbWUtcGlja2VyIHtcbiAgICAgICAgd2lkdGg6IDExMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hbGVydC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1yZWQtYmFja2dyb3VuZDtcbiAgICAgIHBhZGRpbmc6IDAgMTZweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICAuc3Bpbm5lci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IHJlbSgxMzApO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmVycm9yIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gIH1cblxuICAubW9kYWwtY2FyZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLnNlcnZpY2UtZXJyb3ItbWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtcmVkO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIG1hcmdpbjogMCAxLjVlbSAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgcCB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLmljb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXJnaW46IDEwcHg7XG4gIH1cbn1cblxuLmltcGFjdGVkLXNlcnZpY2VzLWNvbnRhaW5lciB7XG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjQpO1xuICB9XG4gIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICB9XG59XG5cbi5zZXJ2aWNlLWNhcGFjaXR5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbnljZmFjLXRlYWwsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDEyO1xuICBtYXJnaW46IDFlbSAwIDJlbTtcbn1cblxuLnNlcnZpY2UtY2FwYWNpdHlfX3N1bW1hcnkge1xuICBtYXJnaW46IDAgMCAxZW07XG59XG5cbi5zZXJ2aWNlLWNhcGFjaXR5X190b2dnbGUge1xuICBmb250LXNpemU6IDg1JTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYsXG4gICY6Om1hcmtlciB7XG4gICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gIH1cbn1cblxuLnNlcnZpY2UtY2FwYWNpdHlfX2RldGFpbHMge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgIzAwMDAwMDEyO1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmRlbGV0ZS1zZXJ2aWNlLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxLjVlbTtcblxuICBwIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cblxuICAuZGVsZXRlLXF1ZXN0aW9uIHtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuXG4gIC5idXR0b25zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAuZm9ybS1idXR0b24tLXJldmVyc2UtLXJlZCB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtKDI0KTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLy8gVE9ETzogYnJlYWsgaW50byBjb21wb25lbnRzXG5cbi5zY2hlZHVsZSB7XG4gIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtZWRpdW0tZGVza3RvcCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxNik7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgyNCk7XG4gIH1cbiAgQGluY2x1ZGUgc21hbGxlci10aGFuKHRhYmxldCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgwKTtcbiAgfVxuXG4gIC5oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogMy40ZW07XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTYpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtKDE2KTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBAZXh0ZW5kICVtZWRpdW0tZ3JheS1oZWFkZXItbGlnaHQ7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1kYXJrZXItZ3JheTtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLmxpbmstY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG5cbiAgICAgIC5saW5rLWNvbnRhaW5lci1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgyNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHNtYWxsLWRlc2t0b3ApIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBidXR0b24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1vYmlsZS1saW5rLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQpO1xuICAgICAgfVxuXG4gICAgICAuc3BhY2VyIHtcbiAgICAgICAgd2lkdGg6IHJlbSgxMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0oNik7XG4gICAgfVxuXG4gICAgLnNjaGVkdWxlLW1vbnRoLWV4cG9ydCBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRlZmFwLXByaW50IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtKDIwKTtcbiAgICAgIHdpZHRoOiByZW0oMTAwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVudHJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG5cbiAgICAmIH4gLmVudHJ5IHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgLmRhdGUge1xuICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgIC5tb250aC1kYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGV4dGVuZCAlbGFyZ2UtdGhpbi1oZWFkZXI7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuICAgICAgfVxuXG4gICAgICAuZGF5LXRpbWUge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb3VudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMmVtO1xuXG4gICAgICAmIH4gLmNvdW50IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5uZXcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgIC5tb250aC1kYXkge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uZXh0LXByZXYtbW9udGgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGhlaWdodDogcmVtKDY0KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcblxuICAgIC5tb250aC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogMS41ZW0gMC41ZW0gMCAxZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYubGFiZWwtcmlnaHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zY2hlZHVsZS1tZW51LW1vYmlsZS1kcm9wZG93biB7XG4gIG1hcmdpbi10b3A6IHJlbSg2Mik7XG5cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuXG4gICAgOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmltcGFjdGVkLXNlcnZpY2VzIHtcbiAgbWF4LXdpZHRoOiByZW0oNDAwKTtcblxuICAuaW1wYWN0ZWQtc2VydmljZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLm5hbWUge1xuICAgIHdpZHRoOiByZW0oMzAwKTtcbiAgfVxufVxuXG4ucHJpbnQtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAucHJpbnQtZHJvcGRvd24tYnRuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IHJlbSg4KSByZW0oMCk7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLnByaW50LWljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oOCk7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi51c2VyLWljb25zLWNvbnRhaW5lciB7XG4gIC5pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC5hbGVydCB7XG4gICAgY29sb3I6ICRueWNmYWMtcmVkO1xuICB9XG5cbiAgLmFkZGl0aW9uYWwtaW5mbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4ucGVyc29uLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5pbmZvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIC50aW1lIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJi5hbGVydC10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtcmVkO1xuICAgICAgfVxuXG4gICAgICAmLnVudmVyaWZpZWQge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm51bWJlciB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZGV0YWlsID4gc3BhbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICB9XG5cbiAgLnJlcGx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIH1cblxuICAuaG9tZSB7XG4gICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgfVxuXG4gIC51c2VyLWljb25zIHtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICB9XG5cbiAgJi5ncmVlbi10aW1lIHtcbiAgICAuaW5mbyA+IGJ1dHRvbiB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgIH1cbiAgfVxuXG4gICYuZ3JlZW4tbnVtYmVyIHtcbiAgICAuaW5mbyB7XG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgID4gLm51bWJlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmdyYXktbnVtYmVyIHtcbiAgICAuaW5mbyB7XG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC50aW1lIHtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICAgIH1cblxuICAgICAgPiAubnVtYmVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4udG9kYXktY2xpZW50LXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICYuaGFzLXNwYWNlLWJlZm9yZSB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbiAgfVxuICAmLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jaGVja2JveC1jaGVja2VkLFxuICAuYXJyb3cge1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIH1cblxuICAuY2hlY2tib3gtbm90LWNoZWNrZWQge1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIH1cblxuICAvLyBieSBkZWZhdWx0IHNob3cgcmlnaHQgZ3JlZW4gYXJyb3dcbiAgLmNoZWNrYm94LW5vdC1jaGVja2VkLFxuICAuY2hlY2tib3gtY2hlY2tlZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYuY2hlY2tlZCB7XG4gICAgLmNoZWNrYm94LW5vdC1jaGVja2VkLFxuICAgIC5hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jaGVja2JveC1jaGVja2VkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cblxuICAmLnVuY2hlY2tlZCB7XG4gICAgLmNoZWNrYm94LWNoZWNrZWQsXG4gICAgLmFycm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoZWNrYm94LW5vdC1jaGVja2VkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cblxuICAucGVyc29uLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleDogMSAxIGF1dG87XG5cbiAgICA+IGRpdiB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAuY2hlY2tib3gtY2hlY2tlZDpob3ZlcixcbiAgICAuY2hlY2tib3gtbm90LWNoZWNrZWQge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuICAudW52ZXJpZmllZCB7XG4gICAgY29sb3I6ICRueWNmYWMtcmVkO1xuICB9XG5cbiAgLnNlcnZlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB9XG5cbiAgICAuY2hlY2sge1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICB9XG5cbiAgICAuZXJyb3Ige1xuICAgICAgY29sb3I6ICRueWNmYWMtcmVkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbih0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5zZXJ2ZWQtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVncmVlbi1ib3JkZXItYnV0dG9uO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIHBhZGRpbmc6IDAuNGVtIDA7XG5cbiAgICAmLnVuc2VydmVkIHtcbiAgICAgIEBleHRlbmQgJWdyYXktYm9yZGVyLWJ1dHRvbjtcbiAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgcGFkZGluZzogMC40ZW0gMDtcbiAgICB9XG4gIH1cblxuICAubmV4dC1hcHBvaW50bWVudCB7XG4gICAgQGV4dGVuZCAlZ3JlZW4tYm9yZGVyLWJ1dHRvbjtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgcGFkZGluZzogMC40ZW0gMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAuc2NoZWR1bGUtY29uZmlybWF0aW9uIHtcbiAgICB3aWR0aDogMTQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnBlcnNvbi1pbmZvLW1lbnUge1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrLWhlYWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG1hcmdpbi10b3A6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDByZW0gMXJlbTtcbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLm5vdy1zZXJ2aW5nLW1vZGFsIHtcbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgLm1vZGFsIHtcbiAgICAgIHdpZHRoOiAyN2VtO1xuXG4gICAgICAuZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICBwYWRkaW5nOiAwIDEuNWVtIDEuNWVtIDEuNWVtO1xuXG4gICAgICAgIC50ZXh0ZmllbGQge1xuICAgICAgICAgIEBleHRlbmQgJWZ1bGwtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2FuY2VsIHtcbiAgICAgICAgICBAZXh0ZW5kICVob2xsb3ctYnV0dG9uO1xuICAgICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29uZmlybSB7XG4gICAgICAgICAgQGV4dGVuZCAlYnV0dG9uO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJG55Y2ZhYy10ZWFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5ibG9jay1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogMi4zZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjNlbTtcbiAgcGFkZGluZzogMC41ZW0gMC41ZW0gMC41ZW0gMWVtO1xuXG4gIC5ncmVlbi1ib3JkZXItYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMTIpO1xuICB9XG5cbiAgLmV4cGFuZC1idXR0b24tY29udGFpbmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uY2xpZW50LWZpbHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbn1cblxuLnNlYXJjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBpbnB1dCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmV4cGFuZC1jb2xsYXBzZS1hbGwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luOiAwIDFlbSAtMS41ZW0gMDtcblxuICBwIHtcbiAgICBtYXJnaW46IDAuNWVtIDAgMCAxZW07XG4gICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnNsaWRlci1jb250YWluZXIge1xuICB3aWR0aDogODBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG5cbiAgLnNsaWRlci1sZWZ0IHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgfVxuICB9XG4gIC5zbGlkZXItbWlkZGxlIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTNweDtcbiAgfVxuICAuc2xpZGVyLXJpZ2h0IHtcbiAgICB3aWR0aDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgfVxuICB9XG4gIC5zbGlkZXItbnVtYmVyIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIGlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAvKiBkaXNwbGF5OiBub25lOyA8LSBDcmFzaGVzIENocm9tZSBvbiBob3ZlciAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IC8qIDwtLSBBcHBhcmVudGx5IHNvbWUgbWFyZ2luIGFyZSBzdGlsbCB0aGVyZSBldmVuIHRob3VnaCBpdCdzIGhpZGRlbiAqL1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIEZpcmVmb3ggKi9cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uc2V0LXdhaXRpbmctbGlzdC1tb2RhbCB7XG4gIC5tb2RhbCB7XG4gICAgLmZvcm0ge1xuICAgICAgcGFkZGluZzogMCAxLjVlbSAxZW0gMS41ZW07XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC50ZXh0LXJvd3Mge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICB9XG5cbiAgICAgIC5pbmxpbmUtaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbnMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMS41ZW0gMCAxZW07XG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICBAZXh0ZW5kICVncmVlbi10ZXh0LWJ1dHRvbjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmVkaXQtYXBwb2ludG1lbnQtdGltZS1tb2RhbCB7XG4gIC5tb2RhbC1jb250YWluZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5tb2RhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGxlZnQ6IDAuNXJlbTtcbiAgICByaWdodDogMC41cmVtO1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIHdpZHRoOiByZW0oNTYwKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiByZW0oMjApIHJlbSgzNSk7XG4gIH1cblxuICAubW9kYWwtY2FyZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLm1vZGFsLWZvcm0ge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5zdWJoZWFkaW5nIHtcbiAgICBtYXJnaW46IHJlbSgtMTUpIHJlbSgzNSkgcmVtKDIwKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAubW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBoZWlnaHQ6IHJlbSgzMzApO1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgbWFyZ2luOiByZW0oMCkgcmVtKDM1KSByZW0oMjApO1xuXG4gICAgLnJhZGlvLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHdpZHRoOiAxNjJweDtcblxuICAgICAgLnJhZGlvLXNlbGVjdGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgIH1cblxuICAgICAgLnJhZGlvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgfVxuXG4gICAgICAucmFkaW8sXG4gICAgICAucmFkaW8tc2VsZWN0ZWQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTApIHJlbSgxNSkgcmVtKDE1KSAwO1xuXG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgIC5yYWRpby1zZWxlY3RlZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5yYWRpbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnJhZGlvIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3BvdHMtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICAuc3BvdHMtcmVtYWluaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogcmVtKDApIHJlbSgyMCkgcmVtKDIwKTtcblxuICAgIC5jbGVhci1saW5rIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMzApO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmRlYWN0aXZhdGVkLXBob25lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAudG9nZ2xlLXdpdGgtaW5zdHJ1Y3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAudG9nZ2xlIHtcbiAgICBtYXJnaW4tbGVmdDogLThweDtcbiAgICB3aWR0aDogMzBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmluc3RydWN0aW9uIHtcbiAgICBtYXJnaW4tbGVmdDogMmVtO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5xci1zY2FubmVyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICB2aWRlbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgfVxuXG4gIC5jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAzMjBweDtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAucmlnaHQtY29sdW1uIHtcbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5hZGQtdmlzaXRvci1tb2RhbC1vdmVybGF5IHtcbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLm1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjVyZW07XG4gICAgbGVmdDogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiByZW0oNTYwKTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiByZW0oMjApIHJlbSgzNSk7XG4gIH1cblxuICAubW9kYWwtY2FyZCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogcmVtKDApIHJlbSgzNSk7XG5cbiAgICAgIC50ZXh0ZmllbGQge1xuICAgICAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICAgICAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgICAgICB3aWR0aDogNDYlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mYW1pbHktaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gMDtcbiAgICAgIH1cbiAgICAgIC5mYW1pbHktc2xpZGVyIHtcbiAgICAgICAgaGVpZ2h0OiAyZW07XG4gICAgICB9XG4gICAgICAuZmFtaWx5LWxhYmVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB9XG4gICAgICAubm8tcGhvbmUtbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIH1cbiAgICAgIC5jbGllbnQtdGltZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBoZWlnaHQ6IHJlbSg1MCk7XG5cbiAgICAgICAgLnRpbWUtbGFiZWwge1xuICAgICAgICAgIC8vIHRvb2sgdGhpcyBmcm9tIHRoZSB0aW1lIGxhYmVsc1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQ5ODAzOSk7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgICAgIC50aW1lLWZpZWxkIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAyN3B4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiKDIyNCwgMjI0LCAyMjQpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAuZWRpdCB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucXItc2Nhbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgIH1cbiAgICAuc21zLW9wdC1pbiB7XG4gICAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICAgIH1cbiAgICAuZXJyb3ItY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogcmVtKDApIHJlbSgzNSk7XG4gICAgfVxuICAgIC5lcnJvciB7XG4gICAgICBwYWRkaW5nOiAxZW0gMCAyZW0gMDtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgICB9XG5cbiAgICAubW9kYWwtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgLnFyLWNvZGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvdy13aXRoLXFyLWJ1dHRvbiB7XG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICAgICAgd2lkdGg6IDQ2JTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLXJvdyB7XG4gICAgICBtYXJnaW46IHJlbSgxMCkgcmVtKDM1KTtcbiAgICB9XG5cbiAgICAuc2xpZGVyLXJvdyB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgbWFyZ2luOiA4cHggMCA4cHg7XG4gICAgfVxuXG4gICAgLmNsZWFyLWxpbmsge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC5zZWxlY3QtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40OTgwMzkpO1xuICAgIH1cblxuICAgIC5kZWFjdGl2YXRlZC1waG9uZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC5zdWJtaXQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTIpO1xuXG4gICAgICAgICYudW52ZXJpZmllZCB7XG4gICAgICAgICAgY29sb3I6ICRueWNmYWMtcmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm92ZXJyaWRlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiByZW0oMCkgcmVtKDM1KTtcblxuICAgIC5lcnJvciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtKDIwKTtcbiAgICB9XG5cbiAgICAub3ZlcnJpZGUtdG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IHJlbSgtMjQpIDAgcmVtKDgpIDA7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1yZXN1bHRzIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgfVxuXG4gIC5uby1yZXN1bHRzIHtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAubm9uLW1vYmlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnZpc2l0LWNvbHVtbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAxLjVlbSAyZW0gMS41ZW07XG4gIG1heC1oZWlnaHQ6IDIwZW07XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG5cbi5yYWRpby1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAxNzVweDtcblxuICAucmFkaW8tc2VsZWN0ZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgfVxuXG4gIC5yYWRpbyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIH1cblxuICAucmFkaW8sXG4gIC5yYWRpby1zZWxlY3RlZCB7XG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xuICB9XG5cbiAgLnRpbWUtcm93IHtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cblxuICBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDAuNzVlbSAxLjVlbSAwLjc1ZW0gMDtcblxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgLnJhZGlvLXNlbGVjdGVkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuICAgICAgLnJhZGlvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIC5yYWRpbyB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTk5cHg7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmNoYW5nZS12aXNpdC1tb2RhbC1vdmVybGF5IHtcbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLm1vZGFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjVyZW07XG4gICAgbGVmdDogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuNXJlbTtcbiAgICAgIGxlZnQ6IDJyZW07XG4gICAgICByaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA0MHJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNhcmQge1xuICAgIC5oZWFkZXIsXG4gICAgLmRhdGUtc2VsZWN0b3Ige1xuICAgICAgaGVpZ2h0OiAzLjVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICAgIGgzIHtcbiAgICAgICAgQGV4dGVuZCAlbWVkaXVtLWhlYWRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBwYWRkaW5nOiAwLjdlbSAwIDAgMWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAuZGF0ZS1zZWxlY3RvciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAuYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgICAgLmRpc3BsYXktZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gICAgICB9XG4gICAgICAuYXJyb3ctbGVmdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYXJyb3ctcmlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA2cHg7XG4gICAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDAgMS41ZW0gMmVtIDEuNWVtO1xuICAgIH1cbiAgICAuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgfVxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICB9XG4gICAgLmJsb2NrcyB7XG4gICAgICBwYWRkaW5nOiAxLjRlbTtcbiAgICB9XG4gICAgLmVycm9yIHtcbiAgICAgIHBhZGRpbmc6IDAgMS41ZW0gMmVtIDEuNWVtO1xuICAgICAgY29sb3I6ICRueWNmYWMtcmVkO1xuICAgIH1cbiAgICBidXR0b24sXG4gICAgLmJ1dHRvbiB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDFlbSAzZW0gMWVtIDNlbTtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi52ZXJpZnktY2xpZW50LW1vZGFsIHtcbiAgLm1vZGFsIHtcbiAgICB3aWR0aDogcmVtKDM4MCk7XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIHdpZHRoOiByZW0oNjAwKTtcbiAgICB9XG4gIH1cblxuICAubW9kYWwtY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmJ1dHRvbi1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIHJlbSgyMCk7XG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIGEge1xuICAgICAgbWFyZ2luOiAwIHJlbSgyMCkgcmVtKDE1KTtcblxuICAgICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIHJlbSgxNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBlcnNvbi1kZXRhaWxzIHtcbiAgICBtYXJnaW46IDIwcHggMjBweCAwO1xuICB9XG5cbiAgLmV4cGxhbmF0aW9uIHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgfVxuXG4gIHRkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAudmVyaWZpZWQtdW50aWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5uby1hbnN3ZXIge1xuICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5lZGl0LWhvdXNlaG9sZC1tb2RhbCB7XG4gIC5tb2RhbCB7XG4gICAgd2lkdGg6IHJlbSgzODApO1xuICB9XG4gIC5tb2RhbC1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmZhbWlseS1tZW1iZXJzIHtcbiAgICBtYXJnaW46IDAgcmVtKDI0KSByZW0oMjQpO1xuICB9XG4gIC5hcHBseS10byB7XG4gICAgbWFyZ2luLXRvcDogcmVtKC0zNik7XG4gICAgd2lkdGg6IHJlbSgzMDApICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmJ1dHRvbi1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cbiAgLmZhbWlseS1zbGlkZXIge1xuICAgIGhlaWdodDogcmVtKDI0KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTQpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5jbGllbnQtZGV0YWlscy1tb2RhbCB7XG4gIC5tb2RhbCB7XG4gICAgd2lkdGg6IDI1ZW07XG5cbiAgICAuY2xpZW50LWRldGFpbHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgIHBhZGRpbmc6IDEuNWVtIDEuNWVtIDEuNWVtIDEuNWVtO1xuICAgIH1cblxuICAgIC50YWJsZS1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmVkaXQtaW5mby1tb2RhbCB7XG4gIC5tb2RhbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGxlZnQ6IDAuNXJlbTtcbiAgICByaWdodDogMC41cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IHJlbSg1NjApO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5idXR0b24tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAxLjVlbSByZW0oMjApIDA7XG4gICAgfVxuXG4gICAgLmNhbmNlbCB7XG4gICAgICBAZXh0ZW5kICVncmF5LWJvcmRlci1idXR0b247XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIH1cbiAgfVxuXG4gIC5lZGl0LXJvdyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIHJlbSg0KTtcblxuICAgIC5lZGl0LWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAuZWRpdC1sYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5saW5rIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICB9XG5cbiAgICAuZGlzcGxheS12YWx1ZSB7XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lZGl0LWluZm8tZmllbGRzIHtcbiAgICAuYnV0dG9uLXJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgfVxuICB9XG5cbiAgLmdyZWVuLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4ucHJpbnQtY2FyZC1zdGFydC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLnByaW50LWNhcmQtc3RhcnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC5pbnB1dC1sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLm15LXNlbGVjdC1sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnByaW50LWxpbmsge1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAuaW5hY3RpdmUtcHJpbnQtbGluayB7XG4gICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5wcmludC1pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxMCk7XG4gIH1cblxuICAucHJpbnQtaWNvbi1hY3RpdmUge1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnNjaGVkdWxlLXNlcnZpY2UtY29udGFpbmVyIHtcbiAgLmRheSB7XG4gICAgLmRhdGUtaGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLWJsdWU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0ZS1oZWFkZXItZGF0ZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuNGVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBmb250LXdlaWdodDogMTAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuZGF0ZS1oZWFkZXItY29weSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC5zZWFyY2gtYmFyLW9wZW4gJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGUtaGVhZGVyLWljb25zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIC5zZWFyY2gtYmFyLW9wZW4gJiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRlLWhlYWRlci1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgIC5zZWFyY2gtYmFyLW9wZW4gJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAuaWNvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGF5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRhYnMge1xuICAgICAgQGV4dGVuZCAldGFicy13aXRoLWJsdWUtbGluZXM7XG4gICAgICBtYXJnaW4tdG9wOiAyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgbWFyZ2luOiAwIDAgNS42N2VtIDA7XG5cbiAgICAgIC50YWJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgLmRhdGUtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgLmRhdGUtaGVhZGVyLWNvcHkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC5kYXRlLWhlYWRlci1kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE0ZW07XG4gICAgICB9XG5cbiAgICAgIC5kYXRlLWhlYWRlci1pY29ucyB7XG4gICAgICAgIC5zZWFyY2gtYmFyLW9wZW4gJiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zdGF0aXN0aWNzLXRpdGxlLFxuICAubGVnZW5kLXRpdGxlIHtcbiAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgfVxuXG4gIC5zdGF0aXN0aWNzLWl0ZW1zLFxuICAubGVnZW5kLWl0ZW1zIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuc3RhdGlzdGljcy1pdGVtLFxuICAubGVnZW5kLWl0ZW0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgcCB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1kYXJrZXItZ3JheTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbiAgICB9XG4gICAgJiA+ICoge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGF0aXN0aWNzLWl0ZW0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC5sZWdlbmQtaXRlbSB7XG4gICAgc3ZnLFxuICAgIGltZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGVtKDgpO1xuICAgIH1cbiAgfVxuXG4gIC50ZWZhcC1pY29uIHtcbiAgICB3aWR0aDogcmVtKDcyKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmxpc3QtaXRlbSB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIHNwYW4uZGV0YWlsIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgfVxuICAgIHNwYW4uZnV0dXJlIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWRhcmtlci1ncmF5O1xuICAgIH1cbiAgICBzcGFuLmRldGFpbC5lcnJvciB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICRueWNmYWMtZGFyay10ZWFsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgICYgPiAqIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuYmctbWVzc2FnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAuZmxleC1pbm5lci13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICBtYXJnaW46IDJyZW0gMCAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmFkZC12aXNpdG9yLWxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxNik7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmFjY29yZGlvbi1sb2FkaW5nLWNvbnRhaW5lcixcbi5hY2NvcmRpb24tZXJyb3ItY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNGVtO1xufVxuXG4uYWNjb3JkaW9uLWxvYWRpbmctbWVzc2FnZSB7XG4gIG1hcmdpbjogMmVtIDAgMDtcbn1cblxuLmFjY29yZGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcblxuICAuYWNjb3JkaW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY2VsbCB7XG4gICAgcGFkZGluZzogMmVtIDFlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAuaWNvbi1zcGFjaW5nIHtcbiAgICAgIHBhZGRpbmc6IDAuNGVtO1xuICAgIH1cblxuICAgIC5hY2NvcmRpb24tbGVmdC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5sYW5ndWFnZS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLW1lZGl1bS1ncmF5O1xuICAgICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBwYWRkaW5nOiAwLjJlbSAwLjJlbTtcbiAgICB9XG5cbiAgICAuYmx1ZS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWJsdWU7XG4gICAgfVxuXG4gICAgLmdyZWVuLXRleHQge1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbC1hY3RpdmU7XG4gICAgfVxuXG4gICAgLmJvbGQge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICBtYXJnaW46IDA7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42NWVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uc2VudC1tZXNzYWdlcy1tb2RhbCB7XG4gIC5tb2RhbC1pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA0MGVtO1xuICAgIHBhZGRpbmc6IDRlbSA0ZW0gMmVtO1xuICB9XG5cbiAgLmRvbmUtYnV0dG9uIHtcbiAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDFlbSA0ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuNWVtO1xuICAgIHRvcDogMS41ZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAubW9kYWwtY29udGVudCB7XG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMS41ZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1tZWRpdW0tZ3JheTtcbiAgICB9XG5cbiAgICBlbSB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICB9XG5cbiAgLmxvYWRpbmctbWVzc2FnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5uZXctbWVzc2FnZS1hcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgLmNhbmNlbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4taGVpZ2h0OiAkbWFpbi12ZXJ0aWNhbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbGlnaHQtZ3JheTtcblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAkbnljZmFjLW1lZGl1bS1ncmF5O1xuICAgIH1cblxuICAgIGJ1dHRvbi5ncmVlbiB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsLWFjdGl2ZTtcbiAgICB9XG4gIH1cblxuICAubmV3LW1lc3NhZ2UtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgbWluLWhlaWdodDogMWVtO1xuICB9XG5cbiAgLm5ldy1tZXNzYWdlLXNlbGVjdC1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbSAyZW07XG4gIH1cblxuICAubmV3LW1lc3NhZ2UtY2xpZW50LWNvdW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuXG4gIC5uZXctbWVzc2FnZS1jbGllbnQtY291bnQtdGV4dCB7XG4gICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgfVxuXG4gIC5zcGFjZXIge1xuICAgIG1pbi13aWR0aDogMC41ZW07XG4gIH1cblxuICAubGlnaHQtdGV4dCB7XG4gICAgY29sb3I6ICRueWNmYWMtbWVkaXVtLWdyYXk7XG4gIH1cblxuICAubmV3LW1lc3NhZ2UtY2xpZW50LWNvdW50LXRleHQge1xuICAgIGNvbG9yOiAkbnljZmFjLWJsdWU7XG4gIH1cblxuICAubW9kYWwge1xuICAgIHdpZHRoOiAzNWVtO1xuICB9XG5cbiAgcC5tb2JpbGUtbWVzc2FnZXMtcmVtYWluaW5nIHtcbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdC1yZWNpcGllbnRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxZW0gMS41ZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuXG4gICAgLnRvIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICAgICAgY29sb3I6ICNiOGI4Yjg7XG4gICAgfVxuXG4gICAgLnJlY2lwaWVudHMge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgfVxuICAgIC5yZWFjdC1zZWxlY3RpemUucm9vdC1ub2RlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBwYWRkaW5nOiAxZW0gMS41ZW0gMCAxLjVlbTtcbiAgICBmbGV4OiAxIDEgYXV0bztcblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jaGFyYWN0ZXItY291bnQge1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICB9XG4gIH1cblxuICAubm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2ZW07XG4gICAgfVxuXG4gICAgYnV0dG9uLmNhbmNlbCB7XG4gICAgICBAZXh0ZW5kICVncmF5LWJvcmRlci1idXR0b247XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIH1cblxuICAgIGJ1dHRvbi5zdWJtaXQge1xuICAgICAgQGV4dGVuZCAlZ3JlZW4tYnV0dG9uO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRueWNmYWMtbWVkaXVtLWdyYXk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xuICAgIH1cblxuICAgIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcblxuICAgICAgJi5lcnJvciB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hhcmFjdGVyLWNvdW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS41ZW07XG4gICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgIH1cbiAgfVxuXG4gIC5tdWx0aS1zZWxlY3QucmVhY3Qtc2VsZWN0aXplLm1hdGVyaWFsLnJvb3Qtbm9kZSB7XG4gICAgLnNpbXBsZS12YWx1ZSB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1ibHVlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLWJsdWU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAucmVhY3Qtc2VsZWN0aXplLWNvbnRyb2wge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgLnJlYWN0LXNlbGVjdGl6ZS1zZWFyY2gtZmllbGQtYW5kLXNlbGVjdGVkLXZhbHVlcyB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiVG86IFwiO1xuICAgICAgICBwYWRkaW5nOiA3cHggNXB4IDAgMDtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJlYWN0LXNlbGVjdGl6ZS1wbGFjZWhvbGRlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgIH1cbiAgfVxufVxuXG4ubmV3LW1lc3NhZ2UtYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjc1ZW0gMS41ZW07XG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLXRlYWwtYWN0aXZlO1xuICB9XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIGJvcmRlci1jb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIGN1cnNvcjogaW5pdGlhbDtcbiAgfVxuXG4gICYubGVmdCB7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDRlbTtcbiAgfVxufVxuXG5hc2lkZS5jb2x1bW4tbmV3LW1lc3NhZ2Uge1xuICAvLyBiYWNrZ3JvdW5kOiBibHVlICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogMnJlbTtcbiAgcGFkZGluZy10b3A6IGNhbGMoI3skaGVhZGVyLWhlaWdodH0gKyA0cmVtKSAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwO1xuXG4gICYgPiAqIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZGVsaXZlci1vdmVyLXNtcy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IHJlbSgxNCk7XG4gICAgcGFkZGluZzogcmVtKDE2KSAwIHJlbSgxNikgcmVtKDE2KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICB3aWR0aDogMzIwcHggIWltcG9ydGFudDtcbiAgICByaWdodDogY2FsYygoMTAwJSAtIDEyODBweCkgLyAyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJldHdlZW4odGFibGV0LCBzbWFsbC1kZXNrdG9wKSB7XG4gICAgd2lkdGg6IDI2LjQlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4odGFibGV0KSB7XG4gICAgd2lkdGg6IDMzLjMzMzMlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoI3skaGVhZGVyLWhlaWdodH0gKyAzcmVtKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm5ldy1tZXNzYWdlLWFjdGlvbi1iYXIge1xuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5tb2JpbGUtYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmVycm9yIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gIH1cbn1cblxuLm5ldy1tZXNzYWdlLWNvbnRhaW5lciB7XG4gIEBleHRlbmQgJW1haW4tY29udGVudC13aXRoLXJpZ2h0LWNvbHVtbi1sYXlvdXQ7XG5cbiAgLm5ldy1tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgIC5oZWFkZXIge1xuICAgICAgZmxleDogMSBhdXRvO1xuICAgICAgQGV4dGVuZCAlbWVkaXVtLWhlYWRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG5cbiAgICAuc2VsZWN0LXJlY2lwaWVudHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgcGFkZGluZzogMWVtIDJlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjFlbTtcblxuICAgICAgLnRvIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIGNvbG9yOiAjYjhiOGI4O1xuICAgICAgfVxuXG4gICAgICAucmVjaXBpZW50cyB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZXNzYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIEBleHRlbmQgJXdoaXRlLWRpdi13aXRoLWJvcmRlcjtcbiAgICAgIHBhZGRpbmc6IDJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEzZW07XG4gICAgICB9XG5cbiAgICAgIC5jaGFyYWN0ZXItY291bnQge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbi5jYW5jZWwge1xuICAgICAgQGV4dGVuZCAlZ3JheS1ib3JkZXItYnV0dG9uO1xuICAgIH1cblxuICAgIGJ1dHRvbi5zdWJtaXQge1xuICAgICAgQGV4dGVuZCAlZ3JlZW4tYnV0dG9uO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuXG4gICAgLm5ldy1tZXNzYWdlIHtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAuaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1ZW07XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1ZW07XG4gICAgICAgIC8vIG1heC13aWR0aDogNTAlO1xuICAgICAgfVxuICAgICAgLnNlbGVjdC1yZWNpcGllbnRzLFxuICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMWVtO1xuICAgICAgfVxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG5cbiAgICAgICAgJiB+IGJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLm1lc3NhZ2UtY29udGFpbmVyIHtcbiAgLm1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLnVzZXItYXZhdGFyIHtcbiAgICAgIHdpZHRoOiA0LjVyZW07XG4gICAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgICAgfVxuXG4gICAgICAmICoge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZS1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC50b3AsXG4gICAgLmJvdHRvbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cblxuICAgIC5tZXNzYWdlLXRleHQge1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgLy8gd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGhlaWdodDogMi41ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG5cbiAgICAgIG1hcmdpbjogMC41cmVtIDA7XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVsZXRlIHtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHJpZ2h0OiAyZW07XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMS41ZW07XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRlIHtcbiAgICAgIEBleHRlbmQgJWZvbnQtbGlnaHQ7XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICB9XG5cbiAgICAuZGVsZXRlLFxuICAgIC5kYXRlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgfVxuXG4gICAgJi50aHJlYWQge1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWUgbGluZWFyO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1lO1xuXG4gICAgICAuYXZhdGFyIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC44ZW07XG4gICAgICB9XG4gICAgICAuYm90dG9tIC5tZXNzYWdlLXRleHQge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudW5yZWFkIHtcbiAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZXNzYWdlLXRleHQge1xuICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLWxpZ2h0LXRlYWw7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLWxpZ2h0LXRlYWw7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuZGVsZXRlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudW5yZWFkLWNvdW50IHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgYm9yZGVyLXJhZGl1czogMTBlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLm1lc3NhZ2luZy10aHJlYWQge1xuICA+IC5oZWFkZXIge1xuICAgIHBhZGRpbmc6IDEuNWVtIDFlbTtcbiAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuXG4gICAgLmJhY2sge1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLnNwYW4ge1xuICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgPiAuaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5tYWluLWJsb2NrIHtcbiAgICAuY29tcG9zZSB7XG4gICAgICBwYWRkaW5nOiAxZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgbWFyZ2luLXRvcDogM2VtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcblxuICAgICAgPiAub3B0aW9ucyB7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBhZ2luYXRpb24ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDFlbSAwIDAgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxpLmFjdGl2ZSB7XG4gICAgYSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb25maXJtLW1vZGFsLWNvbnRhaW5lciB7XG4gIC5tZXNzYWdlLWJvZHkge1xuICAgIHBhZGRpbmc6IDEuNWVtO1xuICAgIG1heC13aWR0aDogMjRlbTtcbiAgfVxuICBidXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5tZXNzYWdpbmctY29udGFpbmVyIHtcbiAgLm1lc3NhZ2VzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5lbnRlci1tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHJlbSg2MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLm1lc3NhZ2UtaW5wdXQtZmllbGQge1xuICAgIGhyIHtcbiAgICAgIGJvdHRvbTogcmVtKC02KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5zZW5kLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSgxMCk7XG4gICAgcmlnaHQ6IHJlbSgxMCk7XG4gIH1cblxuICAuaW5zdHJ1Y3Rpb25zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyOTBweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgcGFkZGluZzogcmVtKDE3MCkgMCAwO1xuICB9XG5cbiAgLmluc3RydWN0aW9ucy10ZXh0IHtcbiAgICB3aWR0aDogcmVtKDI3Nyk7XG4gICAgbWFyZ2luOiByZW0oMjApIGF1dG87XG5cbiAgICB1bCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgLm1lc3NhZ2UtYWN0aW9uLWJhciB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IHJlbSg1MCk7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rpb25zIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQwMHB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLnNpbmdsZS1tZXNzYWdlLWNvbnRhaW5lciB7XG4gIC5iYWNrLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDI4cHg7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAuc2luZ2xlLW1lc3NhZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICAgLm1lc3NhZ2UtdG8ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiByZW0oMjApIHJlbSgyNCk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLnRvLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICB3aWR0aDogcmVtKDQ0KTtcbiAgICAgIH1cblxuICAgICAgLnRvLW5hbWUtY29udGFpbmVyIHtcbiAgICAgICAgLm5hbWVzIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRlLXNlbnQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudG8tcmVjaXBpZW50cy1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiByZW0oMjQpO1xuXG4gICAgICAgIC50by1yZWNpcGllbnRzIHtcbiAgICAgICAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZS1ib2R5IHtcbiAgICAgIHBhZGRpbmc6IHJlbSgyMCkgcmVtKDI0KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDI4NnB4KTtcbiAgICB9XG4gIH1cbn1cblxuLm1lc3NhZ2UtYWN0aW9uLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcblxuICAucmVjaXBpZW50IHtcbiAgICBoNCB7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIHNwYW46Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgICA+IHNwYW4ge1xuICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgfVxuICB9XG5cbiAgLm1lc3NhZ2UtYWN0aW9uLWJhci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gIH1cblxuICA+IHAge1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDU7XG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJG55Y2ZhYy1kYXJrLXRlYWw7XG4gIH1cblxuICAuaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgIC5ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDQuMWVtO1xuICAgICAgbWF4LXdpZHRoOiA0LjFlbTtcbiAgICAgID4gKiB7XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgfVxuICAgICAgKjpmaXJzdC1jaGlsZCxcbiAgICAgICo6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4xZW07XG4gICAgICB9XG5cbiAgICAgIGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hY3Rpb24tYnV0dG9uLmRpc2FibGVkIHtcbiAgY29sb3I6ICNmZmY7XG59XG4iLCIvKipcbiAqIEZpeGVkRGF0YVRhYmxlIHYwLjguMjggXG4gKlxuICogQ29weXJpZ2h0IFNjaHJvZGluZ2VyLCBMTENcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICovXG5cbi8qKlxuICogQ29weXJpZ2h0IFNjaHJvZGluZ2VyLCBMTENcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBmaXhlZERhdGFUYWJsZUNlbGxHcm91cExheW91dFxuICovXG5cbi5maXhlZERhdGFUYWJsZUNlbGxHcm91cExheW91dF9jZWxsR3JvdXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uZml4ZWREYXRhVGFibGVDZWxsR3JvdXBMYXlvdXRfY2VsbEdyb3VwID4gLnB1YmxpY19maXhlZERhdGFUYWJsZUNlbGxfbWFpbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLmZpeGVkRGF0YVRhYmxlQ2VsbEdyb3VwTGF5b3V0X2NlbGxHcm91cFdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cbi8qKlxuICogQ29weXJpZ2h0IFNjaHJvZGluZ2VyLCBMTENcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBmaXhlZERhdGFUYWJsZUNlbGxMYXlvdXRcbiAqL1xuXG4uZml4ZWREYXRhVGFibGVDZWxsTGF5b3V0X21haW4ge1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5maXhlZERhdGFUYWJsZUNlbGxMYXlvdXRfbGFzdENoaWxkIHtcbiAgYm9yZGVyLXdpZHRoOiAwIDFweCAxcHggMDtcbn1cblxuLmZpeGVkRGF0YVRhYmxlQ2VsbExheW91dF9hbGlnblJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5maXhlZERhdGFUYWJsZUNlbGxMYXlvdXRfYWxpZ25DZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5maXhlZERhdGFUYWJsZUNlbGxMYXlvdXRfd3JhcDEge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLmZpeGVkRGF0YVRhYmxlQ2VsbExheW91dF93cmFwMiB7XG4gIGRpc3BsYXk6IHRhYmxlLXJvdztcbn1cblxuLmZpeGVkRGF0YVRhYmxlQ2VsbExheW91dF93cmFwMyB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5maXhlZERhdGFUYWJsZUNlbGxMYXlvdXRfY29sdW1uUmVzaXplckNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDBweDtcbiAgd2lkdGg6IDZweDtcbiAgei1pbmRleDogMTtcbn1cblxuLmZpeGVkRGF0YVRhYmxlQ2VsbExheW91dF9jb2x1bW5SZXNpemVyQ29udGFpbmVyOmhvdmVyIHtcbiAgY3Vyc29yOiBldy1yZXNpemU7XG59XG5cbi5maXhlZERhdGFUYWJsZUNlbGxMYXlvdXRfY29sdW1uUmVzaXplckNvbnRhaW5lcjpob3ZlciAuZml4ZWREYXRhVGFibGVDZWxsTGF5b3V0X2NvbHVtblJlc2l6ZXJLbm9iIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmZpeGVkRGF0YVRhYmxlQ2VsbExheW91dF9jb2x1bW5SZXNpemVyS25vYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDBweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogNHB4O1xufVxuLyoqXG4gKiBDb3B5cmlnaHQgU2Nocm9kaW5nZXIsIExMQ1xuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGZpeGVkRGF0YVRhYmxlQ29sdW1uUmVzaXplckxpbmVMYXlvdXRcbiAqL1xuXG4uZml4ZWREYXRhVGFibGVDb2x1bW5SZXNpemVyTGluZUxheW91dF9tb3VzZUFyZWEge1xuICBjdXJzb3I6IGV3LXJlc2l6ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTVweDtcbiAgd2lkdGg6IDEycHg7XG59XG5cbi5maXhlZERhdGFUYWJsZUNvbHVtblJlc2l6ZXJMaW5lTGF5b3V0X21haW4ge1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmJvZHlbZGlyPVwicnRsXCJdIC5maXhlZERhdGFUYWJsZUNvbHVtblJlc2l6ZXJMaW5lTGF5b3V0X21haW4ge1xuICAvKiB0aGUgcmVzaXplciBsaW5lIGlzIGluIHRoZSB3cm9uZyBwb3NpdGlvbiBpbiBSVEwgd2l0aCBubyBlYXN5IGZpeC5cbiAgICogRGlzYWJsaW5nIGlzIG1vcmUgdXNlZnVsIHRoYW4gZGlzcGxheWluZyBpdC5cbiAgICogIzE2NyAoZ2l0aHViKSBzaG91bGQgbG9vayBpbnRvIHRoaXMgYW5kIGNvbWUgdXAgd2l0aCBhIHBlcm1hbmVudCBmaXguXG4gICAqL1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5maXhlZERhdGFUYWJsZUNvbHVtblJlc2l6ZXJMaW5lTGF5b3V0X2hpZGRlbkVsZW0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKipcbiAqIENvcHlyaWdodCBTY2hyb2RpbmdlciwgTExDXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZml4ZWREYXRhVGFibGVMYXlvdXRcbiAqL1xuXG4uZml4ZWREYXRhVGFibGVMYXlvdXRfbWFpbiB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5maXhlZERhdGFUYWJsZUxheW91dF9oZWFkZXIsXG4uZml4ZWREYXRhVGFibGVMYXlvdXRfaGFzQm90dG9tQm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbn1cblxuLmZpeGVkRGF0YVRhYmxlTGF5b3V0X2Zvb3RlciAucHVibGljX2ZpeGVkRGF0YVRhYmxlQ2VsbF9tYWluIHtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbn1cblxuLmZpeGVkRGF0YVRhYmxlTGF5b3V0X3RvcFNoYWRvdyxcbi5maXhlZERhdGFUYWJsZUxheW91dF9ib3R0b21TaGFkb3cge1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTtcbn1cblxuLmZpeGVkRGF0YVRhYmxlTGF5b3V0X2JvdHRvbVNoYWRvdyB7XG4gIG1hcmdpbi10b3A6IC00cHg7XG59XG5cbi5maXhlZERhdGFUYWJsZUxheW91dF9yb3dzQ29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZml4ZWREYXRhVGFibGVMYXlvdXRfaG9yaXpvbnRhbFNjcm9sbGJhciB7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLyoqXG4gKiBDb3B5cmlnaHQgU2Nocm9kaW5nZXIsIExMQ1xuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGZpeGVkRGF0YVRhYmxlUm93TGF5b3V0XG4gKi9cblxuLmZpeGVkRGF0YVRhYmxlUm93TGF5b3V0X21haW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLmZpeGVkRGF0YVRhYmxlUm93TGF5b3V0X2JvZHkge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLmZpeGVkRGF0YVRhYmxlUm93TGF5b3V0X3Jvd0V4cGFuZGVkIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uZml4ZWREYXRhVGFibGVSb3dMYXlvdXRfZml4ZWRDb2x1bW5zRGl2aWRlciB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDA7XG59XG5cbi5maXhlZERhdGFUYWJsZVJvd0xheW91dF9jb2x1bW5zU2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNHB4O1xufVxuXG4uZml4ZWREYXRhVGFibGVSb3dMYXlvdXRfY29sdW1uc1JpZ2h0U2hhZG93IHtcbiAgcmlnaHQ6IDFweDtcbn1cblxuLmZpeGVkRGF0YVRhYmxlUm93TGF5b3V0X3Jvd1dyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cbi8qKlxuICogQ29weXJpZ2h0IFNjaHJvZGluZ2VyLCBMTENcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBTY3JvbGxiYXJMYXlvdXRcbiAqL1xuXG4uU2Nyb2xsYmFyTGF5b3V0X21haW4ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdXRsaW5lOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5TY3JvbGxiYXJMYXlvdXRfbWFpblZlcnRpY2FsIHtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTVweDtcbn1cblxuLlNjcm9sbGJhckxheW91dF9tYWluSG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBsZWZ0OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yIGhlaWdodDtcbn1cblxuLyogVG91Y2hpbmcgdGhlIHNjcm9sbC10cmFjayBkaXJlY3RseSBtYWtlcyB0aGUgc2Nyb2xsLXRyYWNrIGJvbGRlciAqL1xuLlNjcm9sbGJhckxheW91dF9tYWluSG9yaXpvbnRhbC5wdWJsaWNfU2Nyb2xsYmFyX21haW5BY3RpdmUsXG4uU2Nyb2xsYmFyTGF5b3V0X21haW5Ib3Jpem9udGFsOmhvdmVyIHtcbiAgaGVpZ2h0OiAxN3B4O1xufVxuXG4uU2Nyb2xsYmFyTGF5b3V0X2ZhY2Uge1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGg7XG59XG5cbi8qKlxuICogVGhpcyBzZWxlY3RvciByZW5kZXJzIHRoZSBcIm51YlwiIG9mIHRoZSBzY3JvbGxmYWNlLiBUaGUgbnViIG11c3RcbiAqIGJlIHJlbmRlcmVkIGFzIHBzZXVkby1lbGVtZW50IHNvIHRoYXQgaXQgd29uJ3QgcmVjZWl2ZSBhbnkgVUkgZXZlbnRzIHRoZW5cbiAqIHdlIGNhbiBnZXQgdGhlIGNvcnJlY3QgYGV2ZW50Lm9mZnNldFhgIGFuZCBgZXZlbnQub2Zmc2V0WWAgZnJvbSB0aGVcbiAqIHNjcm9sbGZhY2UgZWxlbWVudCB3aGlsZSBkcmFnZ2luZyBpdC5cbiAqL1xuLlNjcm9sbGJhckxheW91dF9mYWNlOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNTBtcyBlYXNlO1xufVxuXG4uU2Nyb2xsYmFyTGF5b3V0X2ZhY2VIb3Jpem9udGFsIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG59XG5cbi5TY3JvbGxiYXJMYXlvdXRfZmFjZUhvcml6b250YWw6YWZ0ZXIge1xuICBib3R0b206IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiA0cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uU2Nyb2xsYmFyTGF5b3V0X2ZhY2VIb3Jpem9udGFsLnB1YmxpY19TY3JvbGxiYXJfZmFjZUFjdGl2ZTphZnRlcixcbi5TY3JvbGxiYXJMYXlvdXRfbWFpbjpob3ZlciAuU2Nyb2xsYmFyTGF5b3V0X2ZhY2VIb3Jpem9udGFsOmFmdGVyIHtcbiAgYm90dG9tOiBjYWxjKDRweC8yKTtcbn1cblxuLlNjcm9sbGJhckxheW91dF9mYWNlVmVydGljYWwge1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xufVxuXG4uU2Nyb2xsYmFyTGF5b3V0X2ZhY2VWZXJ0aWNhbDphZnRlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogNHB4O1xuICByaWdodDogNHB4O1xuICB0b3A6IDA7XG59XG5cbi5TY3JvbGxiYXJMYXlvdXRfbWFpbjpob3ZlciAuU2Nyb2xsYmFyTGF5b3V0X2ZhY2VWZXJ0aWNhbDphZnRlcixcbi5TY3JvbGxiYXJMYXlvdXRfZmFjZVZlcnRpY2FsLnB1YmxpY19TY3JvbGxiYXJfZmFjZUFjdGl2ZTphZnRlciB7XG4gIGxlZnQ6IGNhbGMoNHB4LzIpO1xuICByaWdodDogY2FsYyg0cHgvMik7XG59XG4vKipcbiAqIENvcHlyaWdodCBTY2hyb2RpbmdlciwgTExDXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZml4ZWREYXRhVGFibGVcbiAqXG4gKi9cblxuLyoqXG4gKiBUYWJsZS5cbiAqL1xuLnB1YmxpY19maXhlZERhdGFUYWJsZV9tYWluIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDNkM2QzO1xufVxuXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlX2hlYWRlcixcbi5wdWJsaWNfZml4ZWREYXRhVGFibGVfaGFzQm90dG9tQm9yZGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDNkM2QzO1xufVxuXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlX2hlYWRlciAucHVibGljX2ZpeGVkRGF0YVRhYmxlQ2VsbF9tYWluIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wdWJsaWNfZml4ZWREYXRhVGFibGVfaGVhZGVyLFxuLnB1YmxpY19maXhlZERhdGFUYWJsZV9zY3JvbGxiYXJTcGFjZXIsXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlX2hlYWRlciAucHVibGljX2ZpeGVkRGF0YVRhYmxlQ2VsbF9tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjdmODtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmZmYsICNlZmVmZWYpO1xufVxuXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlX3Njcm9sbGJhclNwYWNlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogOTk7XG4gIHRvcDogMDtcbn1cblxuLnB1YmxpY19maXhlZERhdGFUYWJsZV9mb290ZXIgLnB1YmxpY19maXhlZERhdGFUYWJsZUNlbGxfbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY3Zjg7XG4gIGJvcmRlci1jb2xvcjogI2QzZDNkMztcbn1cblxuLnB1YmxpY19maXhlZERhdGFUYWJsZV90b3BTaGFkb3cge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsMCwwLDAuMSksIHJnYmEoMCwwLDAsMCkpO1xufVxuXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlX2JvdHRvbVNoYWRvdyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsMCwwLDAuMSksIHJnYmEoMCwwLDAsMCkpO1xufVxuXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlX2hvcml6b250YWxTY3JvbGxiYXIgLnB1YmxpY19TY3JvbGxiYXJfbWFpbkhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuLyoqXG4gKiBDb3B5cmlnaHQgU2Nocm9kaW5nZXIsIExMQ1xuICogQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0Qtc3R5bGUgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4gQW4gYWRkaXRpb25hbCBncmFudFxuICogb2YgcGF0ZW50IHJpZ2h0cyBjYW4gYmUgZm91bmQgaW4gdGhlIFBBVEVOVFMgZmlsZSBpbiB0aGUgc2FtZSBkaXJlY3RvcnkuXG4gKlxuICogQHByb3ZpZGVzTW9kdWxlIGZpeGVkRGF0YVRhYmxlQ2VsbFxuICovXG5cbi8qKlxuICogVGFibGUgY2VsbC5cbiAqL1xuLnB1YmxpY19maXhlZERhdGFUYWJsZUNlbGxfbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2QzZDNkMztcbn1cblxuLnB1YmxpY19maXhlZERhdGFUYWJsZUNlbGxfaGlnaGxpZ2h0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlQ2VsbF9jZWxsQ29udGVudCB7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLnB1YmxpY19maXhlZERhdGFUYWJsZUNlbGxfY29sdW1uUmVzaXplcktub2Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDI4NGZmO1xufVxuLnB1YmxpY19maXhlZERhdGFUYWJsZUNlbGxfaGFzUmVvcmRlckhhbmRsZSAucHVibGljX2ZpeGVkRGF0YVRhYmxlQ2VsbF9jZWxsQ29udGVudCB7XG5cdG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuLyoqXG4gKiBDb2x1bW4gcmVvcmRlciBnb29kaWVzLlxuICovXG4uZml4ZWREYXRhVGFibGVDZWxsTGF5b3V0X2NvbHVtblJlb3JkZXJDb250YWluZXIge1xuICBib3JkZXItY29sb3I6ICMwMjg0ZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4xKTtcbiAgd2lkdGg6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogLTEycHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IG1vdmU7XG59XG4uZml4ZWREYXRhVGFibGVDZWxsTGF5b3V0X2NvbHVtblJlb3JkZXJDb250YWluZXI6YWZ0ZXIge1xuXHRjb250ZW50OiAnOjonO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiAxcHg7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi8qKlxuICogQ29weXJpZ2h0IFNjaHJvZGluZ2VyLCBMTENcbiAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQlNELXN0eWxlIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuIEFuIGFkZGl0aW9uYWwgZ3JhbnRcbiAqIG9mIHBhdGVudCByaWdodHMgY2FuIGJlIGZvdW5kIGluIHRoZSBQQVRFTlRTIGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5LlxuICpcbiAqIEBwcm92aWRlc01vZHVsZSBmaXhlZERhdGFUYWJsZUNvbHVtblJlc2l6ZXJMaW5lXG4gKlxuICovXG5cbi8qKlxuICogQ29sdW1uIHJlc2l6ZXIgbGluZS5cbiAqL1xuLnB1YmxpY19maXhlZERhdGFUYWJsZUNvbHVtblJlc2l6ZXJMaW5lX21haW4ge1xuICBib3JkZXItY29sb3I6ICMwMjg0ZmY7XG59XG4vKipcbiAqIENvcHlyaWdodCBTY2hyb2RpbmdlciwgTExDXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgZml4ZWREYXRhVGFibGVSb3dcbiAqL1xuXG4vKipcbiAqIFRhYmxlIHJvdy5cbiAqL1xuLnB1YmxpY19maXhlZERhdGFUYWJsZVJvd19tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnB1YmxpY19maXhlZERhdGFUYWJsZVJvd19oaWdobGlnaHRlZCxcbi5wdWJsaWNfZml4ZWREYXRhVGFibGVSb3dfaGlnaGxpZ2h0ZWQgLnB1YmxpY19maXhlZERhdGFUYWJsZUNlbGxfbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY3Zjg7XG59XG5cbi5wdWJsaWNfZml4ZWREYXRhVGFibGVSb3dfZml4ZWRDb2x1bW5zRGl2aWRlciB7XG4gIGJvcmRlci1jb2xvcjogI2QzZDNkMztcbn1cblxuLnB1YmxpY19maXhlZERhdGFUYWJsZVJvd19jb2x1bW5zU2hhZG93IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsMCwwLDAuMSksIHJnYmEoMCwwLDAsMCkpO1xufVxuXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlUm93X2NvbHVtbnNSaWdodFNoYWRvdyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG4vKipcbiAqIENvcHlyaWdodCBTY2hyb2RpbmdlciwgTExDXG4gKiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRC1zdHlsZSBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLiBBbiBhZGRpdGlvbmFsIGdyYW50XG4gKiBvZiBwYXRlbnQgcmlnaHRzIGNhbiBiZSBmb3VuZCBpbiB0aGUgUEFURU5UUyBmaWxlIGluIHRoZSBzYW1lIGRpcmVjdG9yeS5cbiAqXG4gKiBAcHJvdmlkZXNNb2R1bGUgU2Nyb2xsYmFyXG4gKlxuICovXG5cbi8qKlxuICogU2Nyb2xsYmFycy5cbiAqL1xuXG4vKiBUb3VjaGluZyB0aGUgc2Nyb2xsLXRyYWNrIGRpcmVjdGx5IG1ha2VzIHRoZSBzY3JvbGwtdHJhY2sgYm9sZGVyICovXG4ucHVibGljX1Njcm9sbGJhcl9tYWluLnB1YmxpY19TY3JvbGxiYXJfbWFpbkFjdGl2ZSxcbi5wdWJsaWNfU2Nyb2xsYmFyX21haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkM2QzZDM7XG59XG5cbi5wdWJsaWNfU2Nyb2xsYmFyX21haW5PcGFxdWUsXG4ucHVibGljX1Njcm9sbGJhcl9tYWluT3BhcXVlLnB1YmxpY19TY3JvbGxiYXJfbWFpbkFjdGl2ZSxcbi5wdWJsaWNfU2Nyb2xsYmFyX21haW5PcGFxdWU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4ucHVibGljX1Njcm9sbGJhcl9mYWNlOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbn1cblxuLnB1YmxpY19TY3JvbGxiYXJfbWFpbjpob3ZlciAucHVibGljX1Njcm9sbGJhcl9mYWNlOmFmdGVyLFxuLnB1YmxpY19TY3JvbGxiYXJfbWFpbkFjdGl2ZSAucHVibGljX1Njcm9sbGJhcl9mYWNlOmFmdGVyLFxuLnB1YmxpY19TY3JvbGxiYXJfZmFjZUFjdGl2ZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZDdkN2Q7XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5pbXBvcnQtY2xpZW50cy1tb2RhbCB7XG4gIC5pbnB1dC1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tb2RhbC1idXR0b24ge1xuICAgIG1hcmdpbjogMWVtO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLnBpaS1leHBvcnQtd2FybmluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBnYXA6IDAuNWVtO1xuICAgIG1hcmdpbjogMWVtIDEuNWVtIDA7XG5cbiAgICAucGlpLWV4cG9ydC13YXJuaW5nLWljb24ge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLmFkZC1jbGllbnQtZm9ybSB7XG4gICAgbWFyZ2luOiAxZW07XG4gICAgYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICB9XG4gIH1cblxuICAuaW5zdHJ1Y3Rpb24ge1xuICAgIG1hcmdpbjogMCAxLjVlbTtcbiAgfVxuXG4gIC51cGxvYWQtcmVzdWx0cyB7XG4gICAgbWFyZ2luOiAwIDEuNWVtIDEuNWVtO1xuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmZsYXRmaWxlLWltcG9ydGVyLXJlc3VsdHMtbW9kYWwge1xuICAubW9kYWwge1xuICAgIHdpZHRoOiA0MGVtO1xuICB9XG5cbiAgLmdyZWVuLWNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3R0b206IDAuNWVtO1xuICAgIHJpZ2h0OiAxLjVlbTtcbiAgfVxuXG4gIC5mbGF0ZmlsZS1pbXBvcnRlci1yZXN1bHRzLW1vZGFsLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHJpZ2h0OiAxLjVlbTtcbiAgICB0b3A6IDEuNWVtO1xuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZmxhdGZpbGUtaW1wb3J0ZXItcmVzdWx0cy1tb2RhbC1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFlbSAyZW07XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAxZW0gMC41ZW07XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1tZWRpdW0tZ3JheTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4ubmV3LWNsaWVudC1waG9uZS1tb2RhbCB7XG4gIC5tb2RhbC1jb250YWluZXIge1xuICAgIC5tb2RhbCB7XG4gICAgICB3aWR0aDogMzZlbTtcblxuICAgICAgLmZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgICAgcGFkZGluZzogMCAxLjVlbSAxLjVlbSAxLjVlbTtcblxuICAgICAgICAubWVzc2FnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0ZmllbGQge1xuICAgICAgICAgIEBleHRlbmQgJWZ1bGwtd2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZ3JlZW4ge1xuICAgICAgICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uby1jb250aW51ZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4ucG9wdXAtbW9kYWwge1xuICAubW9kYWwge1xuICAgIHdpZHRoOiA0MGVtO1xuICB9XG5cbiAgLmdyZWVuLWNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3R0b206IDAuNWVtO1xuICAgIHJpZ2h0OiAxLjVlbTtcbiAgfVxuXG4gIC5wb3B1cC1jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICByaWdodDogMS41ZW07XG4gICAgdG9wOiAxLjVlbTtcblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnBvcHVwLW1vZGFsLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJlbSA0ZW07XG5cbiAgICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAyZW0gMWVtO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIHRvcDogLTQwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1tZWRpdW0tZ3JheTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMS41ZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uYWRkLWNsaWVudC1jb250YWluZXIge1xuICBtYXJnaW46IDJlbSAwO1xuICBoZWlnaHQ6IDNlbTtcbn1cblxuLmRhdGEtcm93IHtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbi5kYXRhLXJvdzpob3ZlciB7XG4gIGNvbG9yOiAkbnljZmFjLWJsdWU7XG59XG5cbi5IRUlHSFQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MDBweDtcbn1cblxuLnB1YmxpY19maXhlZERhdGFUYWJsZV9oZWFkZXIsXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlX2hlYWRlciAucHVibGljX2ZpeGVkRGF0YVRhYmxlQ2VsbF9tYWluIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZmFmYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBhIHtcbiAgICBjb2xvcjogI2E5YjFiODtcbiAgfVxufVxuXG4ucHVibGljX2ZpeGVkRGF0YVRhYmxlX2hlYWRlcjpob3Zlcixcbi5wdWJsaWNfZml4ZWREYXRhVGFibGVfaGVhZGVyIC5wdWJsaWNfZml4ZWREYXRhVGFibGVDZWxsX21haW46aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBmNGYxO1xuICBhIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRueWNmYWMtZGFyay10ZWFsO1xuICB9XG5cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5leHBvcnQtYnV0dG9uIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xuICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xufVxuXG4uZXhwb3J0LWJ1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNsaWVudC1saXN0IHtcbiAgbWFyZ2luLXRvcDogJG1haW4taGVhZGVyLWNvbnRlbnQtc3BhY2luZztcbiAgbWFyZ2luLXJpZ2h0OiAyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcblxuICAuaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiA3cHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgICAgc3ZnIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIH1cbiAgICAgIC5wcmludC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAudGFicyB7XG4gICAgICA+IGRpdiA+IGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAubnljZmFjLXRhYiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLWJsdWUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDMuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDMuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBzdmcge1xuICAgICAgICAgIGZpbGw6ICRueWNmYWMtYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXIgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIGZpbGw6ICRueWNmYWMtZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWItY29udGVudCB7XG4gICAgQGV4dGVuZCAld2hpdGUtZGl2LXdpdGgtYm9yZGVyO1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gIH1cblxuICAuZmlsdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgLnNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogNDYlO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICB9XG5cbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBAZXh0ZW5kICV4c21hbGwtaGVhZGVyO1xuICAgICAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgLnNlbGVjdC1maWVsZCB7XG4gICAgICAgIEBleHRlbmQgJWhhbGYtd2lkdGg7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1heC13aWR0aDogMjU2cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgIGJ1dHRvbi5jYW5jZWwge1xuICAgICAgICBAZXh0ZW5kICVyZWQtYm9yZGVyLWJ1dHRvbjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICB9XG4gICAgICBidXR0b24uYXBwbHkge1xuICAgICAgICBAZXh0ZW5kICVncmVlbi1ib3JkZXItYnV0dG9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIC5zZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLmJ1dHRvbnMge1xuICAgICAgICBtYXJnaW46IDFlbSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBpbnB1dCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIH1cbiAgfVxuXG4gIC5hZGQtY2xpZW50LWNvbnRhaW5lciB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgYnV0dG9uLmFkZC1jbGllbnQge1xuICAgICAgQGV4dGVuZCAlZ3JlZW4tYnV0dG9uLXdpdGgtaWNvbjtcbiAgICAgIHNwYW4ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKG1vYmlsZSkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMmVtIDFlbSAyLjJlbSAxZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG5cbiAgICAgIC5hZGQtY2xpZW50IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAucmVhY3QtZGF0YWdyaWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOGVtO1xuICAgIH1cbiAgfVxuXG4gIC5wbGVudGktcGFzcy1saW5rIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgLmFsbC1wcmludC1zb21lIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICB9XG5cbiAgLmFsbC1wcmludC1hbGwge1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIH1cblxuICAucHJpbnQtY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG5kaXYucmVhY3QtZGF0YWdyaWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuXG4gIGRpdi56LWhlYWRlci13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuXG4gICAgZGl2LnotaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBkaXYuei1jb2x1bW4taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgQGV4dGVuZCAlZm9udC1saWdodDtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGRpdi56LWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgZGl2Lnotc2hvdy1tZW51IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgIGhlaWdodDogMC43NWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDFlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuXG4gICAgICAgICAgPiBwb2x5Z29uIHtcbiAgICAgICAgICAgIGZpbGw6ICRueWNmYWMtZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRpdi56LWNvbnRlbnQtd3JhcHBlciB7XG4gICAgZGl2LnotY29udGVudC13cmFwcGVyLWZpeCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGRpdi56LXJvdyB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICYuei1vZGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgZGl2LnotY2VsbCB7XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2LnotY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICBkaXYuei1jb2x1bW4taGVhZGVyIHtcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdi56LWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBkaXYuei1yb3cge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgfVxuICAgICAgZGl2LnotY2VsbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjVlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICYuei1maXJzdCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDFlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkaXYuei1jZWxsLnotZmlyc3Qge1xuICAgICAgICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4udXBsb2FkLWltYWdlLW1vZGFsIHtcbiAgLmlucHV0LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLm1vZGFsLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAxZW07XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAuYWRkLWNsaWVudC1mb3JtIHtcbiAgICBtYXJnaW46IDFlbTtcbiAgfVxuXG4gIC5pbnN0cnVjdGlvbiB7XG4gICAgbWFyZ2luOiAwIDEuNWVtO1xuICB9XG5cbiAgLnVwbG9hZC1yZXN1bHRzIHtcbiAgICBtYXJnaW46IDAgMS41ZW0gMS41ZW07XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5hZGQtY2xpZW50LWZvcm0ge1xuICAgIGxhYmVsIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICB9XG5cbiAgLmltYWdlLXByZXZpZXcge1xuICAgIHBhZGRpbmc6IDFlbTtcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICB9XG5cbiAgLmVycm9yIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uZGVsZXRlLXVzZXItbW9kYWwge1xuICAubW9kYWwge1xuICAgIHdpZHRoOiAyNWVtO1xuXG4gICAgLmZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICAgIHBhZGRpbmc6IDAgMS41ZW0gMS41ZW0gMS41ZW07XG5cbiAgICAgIC50ZXh0ZmllbGQge1xuICAgICAgICBAZXh0ZW5kICVmdWxsLXdpZHRoO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uZmllbGQtZ3JvdXAudG9nZ2xlLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuLmZpZWxkLWdyb3VwLmNoZWNrYm94LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogM3JlbSAwIDJyZW07XG4gIGxhYmVsLmdyb3VwLWxhYmVsIHtcbiAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbi5mYW1pbHktbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAyMXB4O1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi5jbGllbnQtbWFpbi1kZXRhaWxzIHtcbiAgLmNsaWVudC1pbWFnZS1jb250YWluZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogOWVtO1xuICAgIG1heC13aWR0aDogOWVtO1xuICAgIG1pbi13aWR0aDogOWVtO1xuICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY2xpZW50LWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuY2xpZW50LWltYWdlLW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cbiAgICAgIC51cGxvYWQtcGhvdG8tYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAld2hpdGUtdGV4dC1idXR0b247XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICBwYWRkaW5nOiAwLjRlbSAwLjhlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA1cmVtO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmNsaWVudC1pbWFnZS1vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmFtZSB7XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXAgIWltcG9ydGFudDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4OiAxIDAgNTUlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmNsaWVudC12ZXJpZmljYXRpb24tc3RhdHVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwZW07XG4gICAgfVxuICB9XG5cbiAgLmNsaWVudC1wcmV2aW91cy12aXNpdHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm5vLXBob25lLW51bWJlciB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDM2KTtcbiAgfVxuXG4gIEBpbmNsdWRlIHNtYWxsZXItdGhhbihtb2JpbGUpIHtcbiAgICAuY2xpZW50LXZlcmlmaWNhdGlvbi1zdGF0dXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5jbGllbnQtcHJldmlvdXMtdmlzaXRzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC13aXRoLWljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgIC5teS10ZXh0LWZpZWxkIHtcbiAgICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAudmVyaWZpZWQtaWNvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oOCk7XG4gIH1cbn1cblxuLmJpcnRoLWRhdGUge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAmICoge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZlcmlmaWNhdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAudGVmYXAtdGV4dC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gIC50ZWZhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICBoNCB7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4udGVmYXAtbGluayB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NzBweCkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMi43cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuICB9XG59XG5cbi5jbGllbnQtZGV0YWlsLWJhY2sge1xuICBkaXNwbGF5OiBub25lO1xuICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbi10b3A6IHJlbSgtMzIpO1xuICBtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC41cmVtKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBpbWcge1xuICAgIHBhZGRpbmc6IDFyZW07XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5jbGllbnQtZGV0YWlscyB7XG4gIC5kZWxldGUtdXNlci1idXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5ob3VzZWhvbGQtdG9nZ2xlIHtcbiAgICBtYXJnaW4tdG9wOiByZW0oMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg1KTtcbiAgfVxuXG4gIC50b2dnbGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudG9nZ2xlLWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtKDM1KTtcbiAgfVxuXG4gIC5pbmRpdmlkdWFsLW1lbWJlcnMge1xuICAgIG1hcmdpbi10b3A6IHJlbSgyNik7XG5cbiAgICAuYWdlLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg3Mik7XG4gICAgfVxuXG4gICAgLm1lbWJlci1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICB9XG5cbiAgICAubWVtYmVyLW5hbWUge1xuICAgICAgcGFkZGluZy10b3A6IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgLnRoaXMtY2xpZW50IHtcbiAgICAgIG1hcmdpbjogcmVtKDIwKSByZW0oNikgcmVtKDIyKSAwO1xuICAgIH1cblxuICAgIC5wZXJzb24taW5mby1tZW51IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhvdXNlaG9sZC1kZXRhaWxzLWJ1dHRvbi1iYXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tdG9wOiByZW0oMjApO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZzogMC44NWVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbih0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5iZW5lZml0LXByb2dyYW1zIHtcbiAgLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC5mb3JtLWJ5bGluZSB7XG4gICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA3MCU7XG4gIH1cblxuICAubXktc2VsZWN0LWZpZWxkIHtcbiAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi52ZXJpZmljYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMS41cmVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4ucHJpbnQtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgJi1idG4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGxlbnRpZnVsLWxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHBsZW50aWZ1bC1ncmF5LWJvcmRlcjtcbiAgICBjb2xvcjogJHBsZW50aWZ1bC1ncmF5O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGxlbnRpZnVsLWdyYXktYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDQ4cHg7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDE2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogMHJlbTtcbiAgICBwYWRkaW5nOiAwcmVtO1xuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICB9XG5cbiAgICAucHJpbnQtZGV0YWlsLWxpbmsge1xuICAgICAgbWFyZ2luOiAwcmVtO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGxlbnRpZnVsLWxpZ2h0LWdyYXk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2hvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICB9XG59XG5cbi8vIFRPRE8gcmVwZWF0ZWQgQ1NTLCBsaWtlbHkgZG9uJ3QgbmVlZC5cbi5jbGllbnQtcHJldmlvdXMtdmlzaXRzIHtcbiAgLnByZXZpb3VzLXZpc2l0LnJvdyB+IC5wcmV2aW91cy12aXNpdC5yb3cge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbiAgLmVsZW1lbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgY29sb3I6ICNhMGEwYTA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zZW07XG4gIH1cbn1cblxuLnByZXZpb3VzLXZpc2l0LnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG5cbiAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAqOm50aC1jaGlsZCgyKSB7XG4gICAgbWluLXdpZHRoOiAxMGVtO1xuICB9XG5cbiAgPiAqOmZpcnN0LWNoaWxkLFxuICA+ICo6bGFzdC1jaGlsZCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBjb2xvcjogI2EwYTBhMDtcbiAgfVxufVxuXG4uY2xpZW50LWRldGFpbC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuXG4gIC5saW5rLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLnByaW50LWxpbmsge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAucHJpbnQtaWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oMTYpO1xuICB9XG5cbiAgYXNpZGUge1xuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4odGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuYWRkLWFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIyNXB4KTtcbiAgICB9XG5cbiAgICBsaS5zZWUtbW9yZSB7XG4gICAgICBwYWRkaW5nOiByZW0oMTYpO1xuICAgIH1cbiAgfVxufVxuXG4jcGRmIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbiIsIi8vIGZyb20gbWFya2V0aW5nIHNpdGUgc28gd2UgY2FuIHJlLXVzZSBwcmljaW5nLnNjc3NcbkBtaXhpbiBzbWFsbC1hbmQtdXAge1xuICBAbWVkaWEgKG1pbi13aWR0aDogNTcwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaXVtLWFuZC11cCB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaHVnZS1hbmQtdXAge1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuJHBsZW50aWZ1bC10ZWFsOiAjMDBiZmE1O1xuJHBsZW50aWZ1bC10ZWFsLWFjdGl2ZTogIzAwODU3MztcbiRwbGVudGlmdWwtZGFyay10ZWFsOiAjMWViZWE1O1xuJHBsZW50aWZ1bC1saWdodC10ZWFsOiAjZTVmOWY2O1xuJHBsZW50aWZ1bC1saWdodGVyLXRlYWw6ICNmOGZiZmI7XG4kcGxlbnRpZnVsLWJsdWU6ICMwMTU3OWI7XG4kcGxlbnRpZnVsLWRhcmstYmx1ZTogIzFiMmU3YTtcbiRwbGVudGlmdWwtbGlnaHQtYmx1ZTogIzEwNzdiYTtcbiRwbGVudGlmdWwtZ3JheTogI2E5YjFiODtcbiRwbGVudGlmdWwtZ3JheS1ib3JkZXI6ICNlNWVhZWE7XG4kcGxlbnRpZnVsLWxpZ2h0LWdyYXk6ICNmN2ZhZmE7XG4kcGxlbnRpZnVsLWRhcmtlci1ncmF5OiAjMzMzMzMzO1xuJHBsZW50aWZ1bC1zZW1pLXRyYW5zcGFyZW50LXdoaXRlOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5jbGllbnQtdmlzaXQtcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5pY29uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0oMjApO1xuICB9XG4gIC5pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmFsbC12aXNpdHMtbW9kYWwge1xuICAubW9kYWwge1xuICAgIHdpZHRoOiAzMjBweDtcbiAgICBoZWlnaHQ6IDQ4MHB4O1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBwYWRkaW5nOiAxOHB4IDI2cHg7XG4gICAgfVxuICB9XG4gIC5tb2RhbC1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmFsbC12aXNpdHMtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDI2cHg7XG4gICAgaGVpZ2h0OiAzNDRweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG4gIC5saXN0LWl0ZW0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiA0NnB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLmRldGFpbCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLmNsb3NlLXJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjRweDtcbiAgICByaWdodDogMjRweDtcbiAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCIuY29uZmlybS1vZGQtaG91cnMtY29udGFpbmVyIHtcbiAgLm1lc3NhZ2UtYm9keSB7XG4gICAgcGFkZGluZzogMWVtO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmhlbHAge1xuICAuc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuXG4gICAgPiAuaGVhZGVyIHtcbiAgICAgIEBleHRlbmQgJW1lZGl1bS1oZWFkZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuXG4gICAgLmRyYXdlciB7XG4gICAgICAuaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHJlbW92ZSB0aGUgdG9wIGJvcmRlciBmcm9tIGFsbCBidXQgdGhlIGZpcnN0IGRyYXdlciBoZWFkZXJcbiAgICA+IC5kcmF3ZXIgfiAuZHJhd2VyIHtcbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kcmF3ZXIuc2VsZWN0ZWQge1xuICAgICAgLmhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbGlnaHQtdGVhbDtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZGFyay10ZWFsO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICBoZWlnaHQ6IDA7XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ncm91cC1oZWFkZXIge1xuICAgICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICBwYWRkaW5nOiAxZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgIC5zZWN0aW9uID4gLmhlYWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uc3VwcG9ydCB7XG4gIC5zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XG5cbiAgICA+IC5oZWFkZXIge1xuICAgICAgQGV4dGVuZCAlbWVkaXVtLWhlYWRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gIH1cblxuICAuY29udGFjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICBidXR0b24ge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgICB9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBwYWRkaW5nOiByZW0oMTYpO1xuICAgICAgaGVpZ2h0OiA1ZW07XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgfVxuICB9XG5cbiAgLm1lc3NhZ2UtaW5wdXQtZmllbGQge1xuICAgIHAge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxNik7XG4gICAgfVxuICB9XG5cbiAgLm1lc3NhZ2UtcmVjZWl2ZWQge1xuICAgIHBhZGRpbmc6IHJlbSgxNik7XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgIC5zZWN0aW9uID4gLmhlYWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIH1cblxuICAgIC5jb250YWN0IGJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbjogMWVtO1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB9XG4gIH1cblxuICBhc2lkZSB7XG4gICAgLmFjdGlvbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiAzZW0gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzZW0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5kb3dubG9hZC11bnZlcmlmaWVkLXBhbnRyaWVzIHtcbiAgLm1vZGFsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4udXNlci1tYW5hZ2VtZW50IHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgcGFkZGluZzogMCAyNHB4O1xuICB3aWR0aDogaW5oZXJpdDtcblxuICAuaW52aXRlLXVzZXItYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIH1cblxuICB0YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICB0ciB7XG4gICAgICBAZXh0ZW5kICVncmF5LWJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbGlnaHRlci1ncmF5O1xuICAgICAgJi5jb25maXJtZWQtdXNlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuZWRpdC1kZWxldGUtdXNlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgICB0Ym9keSB0ciB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRueWNmYWMtbGlnaHQtdGVhbDtcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5lZGl0LWRlbGV0ZS11c2VyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICB3aWR0aDogNWVtO1xuICAgICAgICAgIC5lZGl0LWRlbGV0ZS11c2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVkaXQtdXNlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5kZWxldGUtdXNlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgPiBidXR0b24ge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB9XG5cbiAgLm5hbWUtd2l0aC1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmljb24ge1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIH1cblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4obW9iaWxlKSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBidXR0b24ge1xuICAgICAgbWFyZ2luOiAxZW07XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgIH1cbiAgfVxufVxuXG4uZWRpdC11c2VyLXBvcnRhbCxcbi5kZWxldGUtdXNlci1wb3J0YWwge1xuICAubW9kYWwtYm9keSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvL0J1dHRvbnNcbiAgICAuYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gIC5tb2RhbCB7XG4gICAgd2lkdGg6IDI1ZW07XG4gIH1cblxuICAudGV4dGZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gIH1cblxuICAuc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAucXVlc3Rpb24tbWFyayB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbCB7XG4gIC5oaWRlLWlucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5tb2RhbC1ib2R5IHtcbiAgICBtYXJnaW46IDAgMmVtO1xuICB9XG59XG5cbi51c2VyLXJvbGUtZGlhbG9nIHtcbiAgZm9udC1zaXplOiByZW0oMTYpO1xuXG4gIC51c2VyLXJvbGUtZGlhbG9nLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiByZW0oMTYpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC51c2VyLXJvbGUtZGlhbG9nLWJvZHkge1xuICAgIHBhZGRpbmc6IHJlbSgxNik7XG4gIH1cblxuICAuY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4uZGV0YWlsLXVzZXItcG9ydGFsIHtcbiAgLm1vZGFsIHtcbiAgICBtaW4td2lkdGg6IDI1ZW07XG4gIH1cbn1cbiIsIiRhdmF0YXItc2l6ZS1zbWFsbDogM3JlbTtcbiRhdmF0YXItc2l6ZS1tZWRpdW06IDRyZW07XG4kYXZhdGFyLXNpemUtbGFyZ2U6IDRyZW07XG5cbi5wYW50cnktYXZhdGFyIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5wYW50cnktYXZhdGFyLS1zbWFsbCB7XG4gIEBleHRlbmQgLnBhbnRyeS1hdmF0YXI7XG4gIHdpZHRoOiAkYXZhdGFyLXNpemUtc21hbGw7XG4gIGhlaWdodDogJGF2YXRhci1zaXplLXNtYWxsO1xufVxuXG4ucGFudHJ5LWF2YXRhci0tbWVkaXVtIHtcbiAgQGV4dGVuZCAucGFudHJ5LWF2YXRhcjtcbiAgd2lkdGg6ICRhdmF0YXItc2l6ZS1tZWRpdW07XG4gIGhlaWdodDogJGF2YXRhci1zaXplLW1lZGl1bTtcbn1cblxuLnBhbnRyeS1hdmF0YXItLWxhcmdlIHtcbiAgQGV4dGVuZCAucGFudHJ5LWF2YXRhcjtcbiAgd2lkdGg6ICRhdmF0YXItc2l6ZS1zbWFsbDtcbiAgaGVpZ2h0OiAkYXZhdGFyLXNpemUtc21hbGw7XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5wYW50cnktaW5mby1jYXJkIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6ICRzcGFjaW5nO1xuICBtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXG4gIC5hZG1pbi1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuXG4gICAgaDQge1xuICAgICAgY29sb3I6ICRueWNmYWMtYmx1ZTtcbiAgICAgIG1hcmdpbjogcmVtKDEwKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIHRyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gICAgdGQge1xuICAgICAgcGFkZGluZzogcmVtKDEwKTtcbiAgICB9XG4gICAgdGgge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IHJlbSgxMCk7XG4gICAgfVxuICB9XG59XG5cbi5wYW50cnktaW5mby1jYXJkLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnBhbnRyeS1pbmZvLXRpdGxlLWNvbnRhaW5lciB7XG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4ucGFudHJ5LWluZm8tdGl0bGUge1xuICBjb2xvcjogJG55Y2ZhYy1kYXJrZXItZ3JheTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NWVtO1xufVxuXG4ucGFudHJ5LWluZm8tc3VidGl0bGUge1xuICBjb2xvcjogJG55Y2ZhYy1ncmF5ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLnBhbnRyeS1pbmZvLWNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIEBpbmNsdWRlIGxhcmdlci10aGFuKG1vYmlsZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAjeyRzcGFjaW5nICogMn07XG4gIH1cbn1cblxuLnBhbnRyeS1pbmZvLWNhcmQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAjeyRzcGFjaW5nICogMn07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG5cbiAgJiAqIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4ucGFudHJ5LWluZm8tY2FyZC1pdGVtLWljb24ge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2luZztcbn1cblxuLnBhbnRyeS1pbmZvLWNhcmQtaXRlbS10ZXh0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4ucGFudHJ5LWluZm8tY2FyZC1pdGVtLXRleHQtLWdyZWVuIHtcbiAgQGV4dGVuZCAucGFudHJ5LWluZm8tY2FyZC1pdGVtLXRleHQ7XG4gIGNvbG9yOiAkbnljZmFjLXRlYWw7XG59XG5cbi5wYW50cnktaW5mby1jYXJkLWVkaXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4kYXJyb3ctd2lkdGg6IDJyZW07XG4kcGFudHJ5LWluZm8tYXZhdGFyLXdpZHRoOiA2cmVtO1xuXG4uYW5hbHl0aWNzLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5hbmFseXRpY3MtcGFnaW5hdGlvbi1idXR0b24ge1xuICBAZXh0ZW5kICVmb250LW1lZGl1bTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgZmxleDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJGFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJGFycm93LXdpZHRoO1xuICB9XG59XG5cbi5tYWluLXBhbmVsLnBhbnRyeS1hbmFseXRpY3Mge1xuICBwYWRkaW5nOiAwO1xuXG4gIC5uby1kYXRhLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcbiAgICBoZWlnaHQ6IHJlbSgzMDApO1xuICB9XG5cbiAgLnNwaW5uZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbSg3MCk7XG4gIH1cbn1cblxuLmJhY2tidXR0b24tY29udGFpbmVyLFxuLmFuYWx5dGljcy1wYWdpbmF0aW9uIHtcbiAgaGVpZ2h0OiAkbWFpbi12ZXJ0aWNhbC1wYWRkaW5nLW1vYmlsZTtcbiAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4obW9iaWxlKSB7XG4gICAgaGVpZ2h0OiAkbWFpbi12ZXJ0aWNhbC1wYWRkaW5nO1xuICB9XG59XG5cbi5hbmFseXRpY3MtcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAucGFnaW5hdGlvbi1wcmV2aW91cy1tb250aCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2luYXRpb24tbmV4dC1tb250aCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBpbWcge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gIH1cblxuICAucGFnaW5hdGlvbi1jdXJyZW50LW1vbnRoIHtcbiAgICBmbGV4OiAyO1xuICAgIGNvbG9yOiAkbnljZmFjLWRhcmtlci1ncmF5O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBsYXJnZXItdGhhbihtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLmJhY2tidXR0b24tY29udGFpbmVyIHtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5zdGF0aXN0aWNzLWJhci1jb250YWluZXIge1xuICAuc3RhdGlzdGljcy10aXRsZSxcbiAgLmxlZ2VuZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gIH1cblxuICAuc3RhdGlzdGljcy1pdGVtcyxcbiAgLmxlZ2VuZC1pdGVtcyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLnN0YXRpc3RpY3MtaXRlbSxcbiAgLmxlZ2VuZC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLWRhcmtlci1ncmF5O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG55Y2ZhYy1ncmF5LWJvcmRlcjtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgIH1cbiAgICAmID4gKiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0YXRpc3RpY3MtaXRlbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmxlZ2VuZC1pdGVtIHtcbiAgICBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBlbSg4KTtcbiAgICB9XG4gIH1cblxuICAubGlzdC1pdGVtIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgc3Bhbi5kZXRhaWwge1xuICAgICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICB9XG4gICAgc3Bhbi5mdXR1cmUge1xuICAgICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gICAgfVxuICAgIHNwYW4uZGV0YWlsLmVycm9yIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy1kYXJrLXRlYWw7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gICAgJiA+ICoge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uY3JlYXRlLXVzZXItYWNjb3VudCB7XG4gIC50ZXh0ZmllbGQge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDE2KTtcbiAgfVxuICBidXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYmZhNTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uYWRtaW5pc3RyYXRpdmUtZGV0YWlscyB7XG4gIC5nZW5lcmFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oOCk7XG4gIH1cbiAgLnRleHRmaWVsZCB7XG4gICAgZmxleDogMTtcbiAgfVxuICAudGV4dGZpZWxkOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgfVxuICAuZmllbGQtZ3JvdXAsXG4gIC50ZXh0ZmllbGQuZnVsbCB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cbiAgLmhhbGYge1xuICAgIG1pbi13aWR0aDogNTAlO1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uc3Vic2NyaXB0aW9uLWRldGFpbHMge1xuICAuc2VjdGlvbiB7XG4gICAgbWFyZ2luOiByZW0oMTApIDAgcmVtKDM0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgpO1xuICB9XG5cbiAgLmNvbHVtbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gIH1cblxuICAubGVmdC1jb2x1bW4sXG4gIC5yaWdodC1jb2x1bW4ge1xuICAgIGZsZXg6IDE7XG4gIH1cblxuICAucGxhbi1jb2x1bW4ge1xuICAgIC50ZXh0LWxhYmVsIHtcbiAgICAgIG1hcmdpbjogcmVtKDE2KSAwIHJlbSg0KSAwO1xuICAgIH1cblxuICAgIC50ZXh0LWRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1zdWItaGVhZGVyIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICB9XG5cbiAgLnRleHQtbGFiZWwge1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICB9XG5cbiAgLnRvZ2dsZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gIC5tb250aGx5LXRvZ2dsZSB7XG4gICAgZmxleDogMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMjApO1xuICB9XG5cbiAgLnRvZ2dsZS1zZWxlY3RlZCB7XG4gICAgY29sb3I6ICRueWNmYWMtZGFya2VyLWdyYXk7XG4gIH1cblxuICAudG9nZ2xlLW5vdC1zZWxlY3RlZCB7XG4gICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgfVxuXG4gIC50b2dnbGUtbGFiZWwge1xuICAgIG1hcmdpbjogcmVtKDQpIHJlbSgxMikgcmVtKDQpIDA7XG4gICAgd2lkdGg6IHJlbSg3NSk7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAucGVyaW9kLXRvZ2dsZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDMyKTtcbiAgfVxuXG4gIC5tZXNzYWdlcy1yZW1haW5pbmcge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAudGV4dC1pbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgd2lkdGg6IHJlbSgyNTApO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDYpO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmdyZWVuLXRleHQtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVncmVlbi10ZXh0LWJ1dHRvbjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4ucGF5bWVudC1pbmZvcm1hdGlvbiB7XG4gIC5jcmVkaXQtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XG4gIH1cblxuICAuY2FyZC1icmFuZCxcbiAgLmNhcmQtZWxpcHNlcyB7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oNCk7XG4gIH1cblxuICAubm8tY2FyZHMtbWVzc2FnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uYmlsbGluZy1zdGF0ZW1lbnRzIHtcbiAgLmZvcm0tc2VwYXJhdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxcmVtIDAgMDtcbiAgfVxuXG4gIC5mb3JtLWhlYWRlciB7XG4gICAgbWFyZ2luOiAxcmVtO1xuICB9XG5cbiAgLmNoYXJnZXMtbGlzdCB7XG4gICAgLmNoYXJnZS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgcmVtKDE2KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgaGVpZ2h0OiByZW0oODApO1xuXG4gICAgICAmLmNoYXJnZXMtaGVhZGVyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgICBoZWlnaHQ6IHJlbSg1MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNoYXJnZS1kYXRlIHtcbiAgICAgIGZsZXg6IDk2O1xuICAgIH1cblxuICAgIC5jaGFyZ2UtdHlwZSB7XG4gICAgICBmbGV4OiAxMzk7XG4gICAgfVxuXG4gICAgLmNoYXJnZS1jYXJkIHtcbiAgICAgIGZsZXg6IDEyMTtcbiAgICB9XG5cbiAgICAuY2hhcmdlLWFtb3VudCB7XG4gICAgICBmbGV4OiA3MTtcbiAgICB9XG5cbiAgICAuY2hhcmdlLWFjdGlvbnMge1xuICAgICAgZmxleDogMztcblxuICAgICAgLmFjdGlvbi1jb250YWluZXIge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IHJlbSg4MCk7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMjUpO1xuICAgICAgICBjb2xvcjogJG55Y2ZhYy1ncmF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uby1jYXJkcy1tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5tdWx0aS1zaXRlLWNvbnRhaW5lciB7XG4gIC5idXR0b24tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5zdW1tYXJ5IHtcbiAgd2lkdGg6IHJlbSgzMjApO1xuXG4gIC5mb3JtLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcbiAgfVxuXG4gIC5jb25maXJtLXN1YnNjcmlwdGlvbi1mb3JtIHtcbiAgICB3aWR0aDogcmVtKDQwMCk7XG4gICAgbWFyZ2luOiByZW0oMjApO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAucm93LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgxMCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAucGxhbi1tZXNzYWdlLFxuICAucGxhbi1hbW91bnQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICAuc3Vic2NyaXB0IHtcbiAgICBtYXJnaW4tdG9wOiByZW0oNCk7XG4gICAgY29sb3I6ICRueWNmYWMtZ3JheTtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtKDE0KTtcbiAgfVxuXG4gIC5saW5lLWl0ZW1zIHtcbiAgICBtYXJnaW46IHJlbSgyMCkgMCByZW0oMTApO1xuICB9XG5cbiAgLnN1Yi10b3RhbCxcbiAgLnRvdGFsLFxuICAuY291cG9ucyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgcGFkZGluZy10b3A6IHJlbSgyMCk7XG4gIH1cblxuICAuZHVlLWxhdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICB9XG5cbiAgLmdyZWVuLXRleHQge1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuL3NyYy9zdHlsZXMvY29tbW9uLnNjc3NcIjtcblxuLmNvdXBvbiB7XG4gIC5zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAuY291cG9uLWlucHV0LWNvbnRhaW5lciB7XG4gICAgLmNvdXBvbi1pbnB1dCB7XG4gICAgICB3aWR0aDogcmVtKDMxMCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg0NSk7XG4gICAgfVxuICAgIC5jb3Vwb24tYWRkZWQge1xuICAgICAgY29sb3I6ICRueWNmYWMtdGVhbDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICB9XG4gIH1cblxuICAuY291cG9uLWFwcGx5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZm9ybS1idXR0b24tLXJldmVyc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbSgyOCk7XG4gICAgcGFkZGluZzogMC4yNXJlbSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbnljZmFjLWdyYXktYm9yZGVyO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRueWNmYWMtZ3JheS1ib3JkZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uY29uZmlybS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogcmVtKDYwKTtcbiAgd2lkdGg6IHJlbSg5NjApO1xuICBtYXJnaW46IDAgYXV0bztcblxuICBAaW5jbHVkZSBzbWFsbGVyLXRoYW4oc21hbGwtZGVza3RvcCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAuZm9ybSB7XG4gICAgd2lkdGg6IHJlbSg0ODApO1xuICB9XG5cbiAgLmJ1dHRvbi1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogcmVtKDMyKTtcblxuICAgIC5jYW5jZWwtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiByZW0oMTAwKTtcbiAgICB9XG4gICAgLmNvbmZpcm0tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiByZW0oMTAwKTtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQtZXJyb3Ige1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjb2xvcjogJG55Y2ZhYy1yZWQ7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIG1hcmdpbi10b3A6IHJlbSg4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAuZXhwbGFuYXRpb24ge1xuICAgIGNvbG9yOiAkbnljZmFjLWdyYXk7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIG1hcmdpbi10b3A6IHJlbSgzMCk7XG4gICAgd2lkdGg6IHJlbSgzMjApO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0oMTkpO1xuICB9XG5cbiAgLmxlZnQtY29sdW1uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNDgpO1xuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHRhYmxldCkge1xuICAgICAgd2lkdGg6IHJlbSg0ODApO1xuICAgIH1cbiAgfVxuXG4gIC5yaWdodC1jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogcmVtKDQ4KTtcblxuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbihzbWFsbC1kZXNrdG9wKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgc21hbGxlci10aGFuKHRhYmxldCkge1xuICAgICAgd2lkdGg6IHJlbSgzMzApO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNDgpO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uaW1wb3J0LWF1dGgtY29kZXMtbW9kYWwge1xuICAuaW5zdHJ1Y3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IHJlbSgxNik7XG4gIH1cblxuICAuYWRkLWF1dGgtY29kZS1mb3JtIHtcbiAgICBtYXJnaW46IDFyZW07XG5cbiAgICBsYWJlbCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uYXV0aC1jb2Rlcy1jb250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IDJlbTtcblxuICAuaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjQpO1xuXG4gICAgLmJhY2stdG8tbXktcGFudHJ5IHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtKDIwKTtcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoIHtcbiAgICBoZWlnaHQ6IHJlbSg0MCk7XG4gICAgd2lkdGg6IHJlbSgzMDApO1xuXG4gICAgaW5wdXQge1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNik7XG4gICAgfVxuXG4gICAgLmljb24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0oLTQwKTtcbiAgICB9XG4gIH1cblxuICAuZGVsZXRlLWJ1dHRvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAgMmVtO1xuICB9XG5cbiAgLnRhYmxlLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiByZW0oODAwKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vc3JjL3N0eWxlcy9jb21tb24uc2Nzc1wiO1xuXG4uc2V0dGluZ3MtcGFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwMHB4O1xuXG4gIC5idXR0b24tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogMTJweCAwO1xuICB9XG4gIC51cGRhdGVkLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAkbnljZmFjLXRlYWw7XG4gIH1cblxuICAuYWRtaW4taW1hZ2UtY29udGFpbmVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDllbTtcbiAgICBtYXgtd2lkdGg6IDllbTtcbiAgICBtaW4td2lkdGg6IDllbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDJlbTtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmFkbWluLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG5cbiAgICAuYWRtaW4taW1hZ2Utb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcztcblxuICAgICAgLnVwbG9hZC1waG90by1idXR0b24ge1xuICAgICAgICBAZXh0ZW5kICV3aGl0ZS10ZXh0LWJ1dHRvbjtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAuNGVtIDAuOGVtO1xuICAgICAgICBtYXgtd2lkdGg6IDVyZW07XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuYWRtaW4taW1hZ2Utb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm15LXRleHQtZmllbGQge1xuICAgICYuY29sdW1uIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAucGhvbmUtdmVyaWZpY2F0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcblxuICAgIC5waG9uZS12ZXJpZmllZCB7XG4gICAgICBjb2xvcjogJG55Y2ZhYy10ZWFsO1xuICAgIH1cblxuICAgIC5waG9uZS11bnZlcmlmaWVkIHtcbiAgICAgIGNvbG9yOiAkbnljZmFjLXJlZDtcbiAgICB9XG4gIH1cblxuICAuYmx1ZS10ZXh0LWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlYmx1ZS10ZXh0LWJ1dHRvbjtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAuY2hhbmdlLXBhc3N3b3JkIHtcbiAgICBtYXJnaW46IDQwcHggMDtcblxuICAgIC5jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG5cbiAgICAuZ3JheS1ib3JkZXItYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICAucGhvbmUtbnVtYmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb2xlcy1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAucm9sZS1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi9zcmMvc3R5bGVzL2NvbW1vbi5zY3NzXCI7XG5cbi5zZXR0aW5ncy1wYWdlIHtcbiAgaDEsXG4gIGgzIHtcbiAgICBjb2xvcjogJG55Y2ZhYy1ibHVlO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/