﻿@charset "UTF-8";
.wpcf7-response-output {
  display: none !important;
}

.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  word-wrap: normal !important;
}

.wpcf7 .hidden-fields-container {
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid #00a0d2; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
  border-color: #f56e28; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-not-valid-tip {
  color: #dc3232; /* Red */
  font-size: 1em;
  font-weight: normal;
  display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
  position: relative;
  top: -2ex;
  left: 1em;
  z-index: 100;
  border: 1px solid #dc3232;
  background: #fff;
  padding: 0.2em 0.8em;
  width: 24em;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
  content: " ";
}

.wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #23282d; /* Dark Gray 800 */
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 0 24px;
  position: relative;
}

form.submitting .wpcf7-spinner {
  visibility: visible;
}

.wpcf7-spinner::before {
  content: "";
  position: absolute;
  background-color: #fbfbfc; /* Light Gray 100 */
  top: 4px;
  left: 4px;
  width: 6px;
  height: 6px;
  border: none;
  border-radius: 100%;
  transform-origin: 8px 8px;
  animation-name: spin;
  animation-duration: 1000ms;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
  .wpcf7-spinner::before {
    animation-name: blink;
    animation-duration: 2000ms;
  }
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes blink {
  from {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.wpcf7 [inert] {
  opacity: 0.5;
}

.wpcf7 input[type=file] {
  cursor: pointer;
}

.wpcf7 input[type=file]:disabled {
  cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed;
}

.wpcf7 input[type=url],
.wpcf7 input[type=email],
.wpcf7 input[type=tel] {
  direction: ltr;
}

.wpcf7-reflection > output {
  display: list-item;
  list-style: none;
}

.wpcf7-reflection > output[hidden] {
  display: none;
}

:root {
  --pc-contents-max-width:1200px;
  --z-index-header:1000;
  --hover-opacity-duration:.2s;
  --hover-opacity-ease:ease;
  --color-white:#FFFFFF;
  --color-black:#000000;
  --color-gray900:#222222;
  --color-gray800:#323232;
  --color-gray600:#505050;
  --color-gray500:#666666;
  --color-gray400:#B0B0B0;
  --color-gray300:#D7D7D7;
  --color-gray200:#EDEDED;
  --color-gray100:#F0F0F0;
  --color-blue1200:#1D60B0;
  --color-blue1000:#2588FE;
  --color-blue900:#2577D8;
  --color-blue800:#4085D6;
  --color-blue400:#A6C5E5;
  --color-blue300:#C0D9F2;
  --color-blue200:#EAF3FC;
  --color-blue100:#F0F6FB;
  --color-green100:#DDF1D9;
  --color-red900:#EE2F34;
}

/*
pxをvwに変換
*/
/************************************************************
header用
*************************************************************/
/*
メディアクエリ
記述例
body{
  @include mixin.ms-w('max',1200){
    background-color: red;
  }
}
*/
/*
フォームリセット
*/
/*
ICON FONT
*/
[class^=icons-], [class*=" icons-"] {
  display: inline-block;
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icons-arrow-1:before {
  content: "\ea01";
}

.icons-arrow-2:before {
  content: "\ea02";
}

.icons-search:before {
  content: "\ea03";
}

.icons-lang:before {
  content: "\ea04";
}

.icons-circle-plus:before {
  content: "\ea05";
}

.icons-check:before {
  content: "\ea06";
}

.icons-close:before {
  content: "\ea07";
}

.icons-slash:before {
  content: "\ea08";
}

.icons-download:before {
  content: "\ea09";
}

.icons-blank:before {
  content: "\ea0a";
}

.icons-circle-minus:before {
  content: "\ea0b";
}

.icons-bldg:before {
  content: "\ea0c";
}

.icons-pen:before {
  content: "\ea0d";
}

.icons-flow:before {
  content: "\ea0e";
}

.icons-prize:before {
  content: "\ea0f";
}

.icons-global:before {
  content: "\ea10";
}

.icons-strength:before {
  content: "\ea11";
}

.icons-tel:before {
  content: "\ea12";
}

.icons-mail:before {
  content: "\ea13";
}

.icons-wakaba:before {
  content: "\ea14";
}

.icons-faq:before {
  content: "\ea15";
}

.icons-x:before {
  content: "\ea16";
}

.icons-facebook:before {
  content: "\ea17";
}

.icons-instagram:before {
  content: "\ea18";
}

.icons-youtube:before {
  content: "\ea19";
}

.icons-line:before {
  content: "\ea1a";
}

/*
mixin
*/
/************************************************************
SCREEN RESPONSIVE
*************************************************************/
@media only screen and (min-width:769px) {
  .c-page-ttl {
    padding-top: 5.6rem;
  }
}
@media only screen and (max-width:768px) {
  .c-page-ttl {
    padding-top: 3.3rem;
  }
}
@media only screen and (min-width:769px) {
  .c-page-ttl {
    padding-bottom: 6.4rem;
  }
}
@media only screen and (max-width:768px) {
  .c-page-ttl {
    padding-bottom: 4.8rem;
  }
}
.c-page-ttl__main {
  text-align: center;
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.product-name__inner {
  border: 1px solid var(--color-gray400);
}
@media only screen and (min-width:769px) {
  .product-name__inner {
    border-radius: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  .product-name__inner {
    border-radius: 0.8rem;
  }
}
@media only screen and (min-width:769px) {
  .product-name__inner {
    padding: 3.2rem 2.4rem;
  }
}
@media only screen and (max-width:768px) {
  .product-name__inner {
    padding: 2.4rem;
  }
}
.product-name .name {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-blue900);
}
.product-name .model {
  font-weight: 500;
  line-height: 1.6;
  color: var(--color-gray900);
  margin-top: 0.8rem;
}
@media only screen and (min-width:769px) {
  .product-name .model {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width:768px) {
  .product-name .model {
    font-size: 1.6rem;
  }
} /************************************************************
SCREEN RESPONSIVE
*************************************************************/
::placeholder {
  color: var(--color-gray400);
}

input[type=text],
input[type=tel],
input[type=email],
input[type=date],
input[type=url],
input[type=num],
select,
textarea {
  width: 100%;
  font-weight: 400;
  color: var(--color-gray900);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray300);
  border-radius: 0.4rem;
}
@media only screen and (min-width:769px) {
  input[type=text],
input[type=tel],
input[type=email],
input[type=date],
input[type=url],
input[type=num],
select,
textarea {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  input[type=text],
input[type=tel],
input[type=email],
input[type=date],
input[type=url],
input[type=num],
select,
textarea {
    font-size: 1.4rem;
  }
}
@media only screen and (min-width:769px) {
  input[type=text],
input[type=tel],
input[type=email],
input[type=date],
input[type=url],
input[type=num],
select,
textarea {
    padding: 1.4rem 1.6rem 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  input[type=text],
input[type=tel],
input[type=email],
input[type=date],
input[type=url],
input[type=num],
select,
textarea {
    padding: 1.65rem 1.6rem;
  }
}
input[type=text].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
input[type=email].wpcf7-not-valid,
input[type=date].wpcf7-not-valid,
input[type=url].wpcf7-not-valid,
input[type=num].wpcf7-not-valid,
select.wpcf7-not-valid,
textarea.wpcf7-not-valid {
  border-color: var(--color-red900);
}

.wpcf7-not-valid-tip {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-red900);
  margin-top: 0.8rem;
}

.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item {
  display: block;
  margin: 0;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item:nth-child(n+2) {
  margin-top: 1.2rem;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=radio] {
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label {
  font-size: 1.4rem;
  font-weight: 400;
  position: relative;
  padding-left: 2.4rem;
  cursor: pointer;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label::before, .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label::after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  transition: 0.3s;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label::before {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray300);
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=radio] + .wpcf7-list-item-label::after {
  background-color: var(--color-white);
  border: 5px solid var(--color-blue900);
  opacity: 0;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=radio]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=checkbox] {
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label {
  font-size: 1.4rem;
  font-weight: 400;
  position: relative;
  padding-left: 4rem;
  cursor: pointer;
  overflow: hidden;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::before, .wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::after {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 2px;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::before {
  background-color: var(--color-white);
  border: 1px solid var(--color-gray300);
  transition: background-color 0.2s, border 0.2s;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=checkbox] + .wpcf7-list-item-label::after {
  content: "\ea06";
  font-family: "icons";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--color-white);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transform: translateY(-200%);
  transition: opacity 0.2s, transform 0.3s;
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background-color: var(--color-blue900);
  border: 1px solid var(--color-blue900);
}
.wpcf7-form-control-wrap .wpcf7-form-control .wpcf7-list-item label input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
  transform: translateY(0);
}
.wpcf7-form-control-wrap .wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
  text-align: center;
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.fieldset-list {
  color: var(--color-gray900);
  background-color: var(--color-blue100);
}
@media only screen and (min-width:769px) {
  .fieldset-list {
    border-radius: 1.6rem;
  }
}
@media only screen and (max-width:768px) {
  .fieldset-list {
    border-radius: 0.8rem;
  }
}
@media only screen and (min-width:769px) {
  .fieldset-list {
    padding: 4.8rem 5.6rem;
  }
}
@media only screen and (max-width:768px) {
  .fieldset-list {
    padding: 3.2rem 1.6rem;
  }
}
.fieldset-list .fieldset:nth-child(n+2) {
  margin-top: 3.2rem;
}
.fieldset-list .fieldset .label {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
}
html:lang(en) .fieldset-list .fieldset .label {
  font-weight: bold;
}
.fieldset-list .fieldset .label.required {
  display: flex;
  align-items: center;
}
.fieldset-list .fieldset .label.required::after {
  content: "必須";
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: var(--color-red900);
  margin-left: 0.8rem;
}
html:lang(en) .fieldset-list .fieldset .label.required::after {
  content: "Required";
}
html:lang(zh-hans) .fieldset-list .fieldset .label.required::after {
  content: "必填";
}
.fieldset-list .fieldset .input-box {
  margin-top: 0.8rem;
}

.agreement {
  margin-top: 3.2rem;
}
.agreement, .agreement a {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
}
.agreement a {
  color: var(--color-blue900);
  text-decoration: underline;
}

.h-captcha {
  text-align: center;
}
@media only screen and (min-width:769px) {
  .h-captcha {
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width:768px) {
  .h-captcha {
    margin-top: 2.4rem;
  }
}

@media only screen and (min-width:769px) {
  .submit {
    margin-top: 3.2rem;
  }
}
@media only screen and (max-width:768px) {
  .submit {
    margin-top: 2.4rem;
  }
}
.submit input[type=submit] {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  height: 5.6rem;
  color: var(--color-white);
  background-color: var(--color-blue900);
  border: 1px solid var(--color-blue900);
  display: block;
  padding: 1.6rem;
  margin: 0 auto;
  cursor: pointer;
  transition: background-color var(--hover-opacity-duration) var(--hover-opacity-ease), color var(--hover-opacity-duration) var(--hover-opacity-ease), border-color var(--hover-opacity-duration) var(--hover-opacity-ease);
}
@media only screen and (min-width:769px) {
  .submit input[type=submit] {
    width: 32rem;
  }
}
@media only screen and (max-width:768px) {
  .submit input[type=submit] {
    width: 24rem;
  }
}
@media (hover: hover) {
  .submit input[type=submit]:not(:disabled):hover {
    background-color: var(--color-blue1000);
  }
}
.submit input[type=submit]:disabled {
  background-color: var(--color-gray400);
  border: 1px solid var(--color-gray400);
}
.submit .wpcf7-spinner {
  display: block;
  margin: 1.2rem auto 0;
}

/************************************************************
SCREEN RESPONSIVE
*************************************************************/
.form {
  color: var(--color-gray900);
}
@media only screen and (min-width:769px) {
  .form {
    margin-top: 4rem;
  }
}
@media only screen and (max-width:768px) {
  .form {
    margin-top: 2.4rem;
  }
}
@media only screen and (min-width:769px) {
  .form {
    padding-bottom: 11.6rem;
  }
}
@media only screen and (max-width:768px) {
  .form {
    padding-bottom: 6rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwYWdlcy9jb250YWN0L2NvbnRhY3Rfc3R5bGVzL193cGNmNy5zY3NzIiwiX2ZvdW5kYXRpb24vX3ZhcnMuc2NzcyIsIl9mb3VuZGF0aW9uL19mdW5jdGlvbi5zY3NzIiwiX2ZvdW5kYXRpb24vX21lZGlhLnNjc3MiLCJfZm91bmRhdGlvbi9fbWl4aW4uc2NzcyIsIl9mb3VuZGF0aW9uL19pY29uZm9udC5zY3NzIiwicGFnZXMvY29udGFjdC1wcm9kdWN0cy9jb250YWN0X3N0eWxlcy9fcGFnZS10dGwuc2NzcyIsInBhZ2VzL2NvbnRhY3QtcHJvZHVjdHMvY29udGFjdF9zdHlsZXMvX3Byb2R1Y3QtbmFtZS5zY3NzIiwicGFnZXMvY29udGFjdC9jb250YWN0X3N0eWxlcy9fZm9ybS1wYXJ0cy5zY3NzIiwicGFnZXMvY29udGFjdC9jb250YWN0X3N0eWxlcy9fZm9ybS1sYXlvdXQuc2NzcyIsInBhZ2VzL2NvbnRhY3QtcHJvZHVjdHMvY29udGFjdF9zdHlsZXMvX2Zvcm0uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7RUFDQzs7O0FBRUQ7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7OztBQUdEO0FBQUE7QUFBQTtFQUdDOzs7QUFHRDtFQUNDOzs7QUFHRDtBQUFBO0VBRUM7OztBQUdEO0VBQ0M7OztBQUdEO0FBQUE7QUFBQTtFQUdDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTs7O0FBR0Q7QUFBQTtFQUVDOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQztJQUNDO0lBQ0E7OztBQUlGO0VBQ0M7SUFDQzs7RUFHRDtJQUNDOzs7QUFJRjtFQUNDO0lBQ0M7O0VBR0Q7SUFDQzs7RUFHRDtJQUNDOzs7QUFJRjtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUNDOzs7QUFHRDtBQUFBO0FBQUE7RUFHQzs7O0FBR0Q7RUFDQztFQUNBOzs7QUFHRDtFQUNDOzs7QUMzS0Q7RUFDRTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQy9CRjtBQUFBO0FBQUE7QUNtQkE7QUFBQTtBQUFBO0FDbEJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBO0FBQUE7QUFBQTtBQWlDQTtBQUFBO0FBQUE7QUNuREE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFBd0I7OztBQUN4QjtFQUF3Qjs7O0FBQ3hCO0VBQXVCOzs7QUFDdkI7RUFBcUI7OztBQUNyQjtFQUE0Qjs7O0FBQzVCO0VBQXNCOzs7QUFDdEI7RUFBc0I7OztBQUN0QjtFQUFzQjs7O0FBQ3RCO0VBQXlCOzs7QUFDekI7RUFBc0I7OztBQUN0QjtFQUE2Qjs7O0FBQzdCO0VBQXFCOzs7QUFDckI7RUFBb0I7OztBQUNwQjtFQUFxQjs7O0FBQ3JCO0VBQXNCOzs7QUFDdEI7RUFBdUI7OztBQUN2QjtFQUF5Qjs7O0FBQ3pCO0VBQW9COzs7QUFDcEI7RUFBcUI7OztBQUNyQjtFQUF1Qjs7O0FBQ3ZCO0VBQW9COzs7QUFDcEI7RUFBa0I7OztBQUNsQjtFQUF5Qjs7O0FBQ3pCO0VBQTBCOzs7QUFDMUI7RUFBd0I7OztBQUN4QjtFQUFxQjs7O0FBR3JCO0FBQUE7QUFBQTtBQy9CQTtBQUFBO0FBQUE7QUhIRTtFR01GO0lIQWdCLGFHQ21COzs7QUhKakM7RUdHRjtJSENnQjs7O0FBUGQ7RUdNRjtJSEFnQixnQkdFc0I7OztBSExwQztFR0dGO0lIQ2dCLGdCR0M4Qjs7O0FBQzVDO0VBQ0U7OztBQ1BKO0FBQUE7QUFBQTtBQUtFO0VBQ0U7O0FKVEY7RUlRQTtJSkZjLGVJSXVCOzs7QUpQckM7RUlLQTtJSkRjLGVJRytCOzs7QUpWN0M7RUlRQTtJSkZjLFNJS2lCOzs7QUpSL0I7RUlLQTtJSkRjLFNJSWdDOzs7QUFFOUM7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUVFO0VBQ0E7RUFDQTtFQUNBOztBSnhCRjtFSW1CQTtJSmJjLFdJY21COzs7QUpqQmpDO0VJZ0JBO0lKWmMsV0lhMkI7O0VDakIzQztBQUFBO0FBQUE7QUFHQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBUUU7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBTHhCQTtFS1VGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUxKZ0IsV0thaUI7OztBTGhCL0I7RUtPRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0lMSGdCLFdLWXlCOzs7QUxuQnZDO0VLVUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtJTEpnQixTS21CZTs7O0FMdEI3QjtFS09GO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUxIZ0IsU0trQnFDOzs7QUFDbkQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtFO0VBQ0U7RUFDQTs7QUFDQTtFQUNFOztBQUdBO0VKMkNOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBSS9DUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFJRjtFQUNFOztBQUlOO0VKTU47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FJVlE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFPUjtFQUNFOzs7QUM1SVI7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBOztBTlRBO0VNT0Y7SU5EZ0IsZU1JcUI7OztBTlBuQztFTUlGO0lOQWdCLGVNRzZCOzs7QU5WM0M7RU1PRjtJTkRnQixTTUtlOzs7QU5SN0I7RU1JRjtJTkFnQixTTUk4Qjs7O0FBRTFDO0VBQ0U7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7O0FBQ0E7RUFBa0I7O0FBQ2xCO0VBQ0U7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUF5Qjs7QUFDekI7RUFBOEI7O0FBR2xDO0VBQ0U7OztBQUtOO0VBQ0U7O0FBQ0E7RUFDRTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBOzs7QUFJSjtFQUNFOztBTnpEQTtFTXdERjtJTmxEZ0IsWU1vRGtCOzs7QU52RGhDO0VNcURGO0lOakRnQixZTW1EMEI7Ozs7QU4xRHhDO0VNNkRGO0lOdkRnQixZTXdEa0I7OztBTjNEaEM7RU0wREY7SU50RGdCLFlNdUQwQjs7O0FBQ3hDO0VBQ0U7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBTjVFRjtFTStEQTtJTnpEYyxPTTZEZTs7O0FOaEU3QjtFTTREQTtJTnhEYyxPTTREc0I7OztBTnhEcEM7RUFDRTtJTW1FSTs7O0FBR0o7RUFDRTtFQUNBOztBQUdKO0VBQ0U7RUFDQTs7O0FDbkZKO0FBQUE7QUFBQTtBQUlBO0VBQ0U7O0FQWEE7RU9VRjtJUEpnQixZT01rQjs7O0FQVGhDO0VPT0Y7SVBIZ0IsWU9Ld0I7OztBUFp0QztFT1VGO0lQSmdCLGdCT09zQjs7O0FQVnBDO0VPT0Y7SVBIZ0IsZ0JPTStCIiwiZmlsZSI6InBhZ2VzL2NvbnRhY3QtcHJvZHVjdHMvY29udGFjdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLndwY2Y3IC5zY3JlZW4tcmVhZGVyLXJlc3BvbnNlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcblx0aGVpZ2h0OiAxcHg7XG5cdHdpZHRoOiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4ud3BjZjcgLmhpZGRlbi1maWVsZHMtY29udGFpbmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndwY2Y3IGZvcm0gLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdG1hcmdpbjogMmVtIDAuNWVtIDFlbTtcblx0cGFkZGluZzogMC4yZW0gMWVtO1xuXHRib3JkZXI6IDJweCBzb2xpZCAjMDBhMGQyOyAvKiBCbHVlICovXG59XG5cbi53cGNmNyBmb3JtLmluaXQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbi53cGNmNyBmb3JtLnJlc2V0dGluZyAud3BjZjctcmVzcG9uc2Utb3V0cHV0LFxuLndwY2Y3IGZvcm0uc3VibWl0dGluZyAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLndwY2Y3IGZvcm0uc2VudCAud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcblx0Ym9yZGVyLWNvbG9yOiAjNDZiNDUwOyAvKiBHcmVlbiAqL1xufVxuXG4ud3BjZjcgZm9ybS5mYWlsZWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbi53cGNmNyBmb3JtLmFib3J0ZWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdGJvcmRlci1jb2xvcjogI2RjMzIzMjsgLyogUmVkICovXG59XG5cbi53cGNmNyBmb3JtLnNwYW0gLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdGJvcmRlci1jb2xvcjogI2Y1NmUyODsgLyogT3JhbmdlICovXG59XG5cbi53cGNmNyBmb3JtLmludmFsaWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbi53cGNmNyBmb3JtLnVuYWNjZXB0ZWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCxcbi53cGNmNyBmb3JtLnBheW1lbnQtcmVxdWlyZWQgLndwY2Y3LXJlc3BvbnNlLW91dHB1dCB7XG5cdGJvcmRlci1jb2xvcjogI2ZmYjkwMDsgLyogWWVsbG93ICovXG59XG5cbi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLndwY2Y3LW5vdC12YWxpZC10aXAge1xuXHRjb2xvcjogI2RjMzIzMjsgLyogUmVkICovXG5cdGZvbnQtc2l6ZTogMWVtO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLnVzZS1mbG9hdGluZy12YWxpZGF0aW9uLXRpcCAud3BjZjctbm90LXZhbGlkLXRpcCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dG9wOiAtMmV4O1xuXHRsZWZ0OiAxZW07XG5cdHotaW5kZXg6IDEwMDtcblx0Ym9yZGVyOiAxcHggc29saWQgI2RjMzIzMjtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0cGFkZGluZzogLjJlbSAuOGVtO1xuXHR3aWR0aDogMjRlbTtcbn1cblxuLndwY2Y3LWxpc3QtaXRlbSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0bWFyZ2luOiAwIDAgMCAxZW07XG59XG5cbi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6OmJlZm9yZSxcbi53cGNmNy1saXN0LWl0ZW0tbGFiZWw6OmFmdGVyIHtcblx0Y29udGVudDogXCIgXCI7XG59XG5cbi53cGNmNy1zcGlubmVyIHtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyMzI4MmQ7IC8qIERhcmsgR3JheSA4MDAgKi9cblx0b3BhY2l0eTogMC43NTtcblx0d2lkdGg6IDI0cHg7XG5cdGhlaWdodDogMjRweDtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDAgMjRweDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5mb3JtLnN1Ym1pdHRpbmcgLndwY2Y3LXNwaW5uZXIge1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ud3BjZjctc3Bpbm5lcjo6YmVmb3JlIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYzsgLyogTGlnaHQgR3JheSAxMDAgKi9cblx0dG9wOiA0cHg7XG5cdGxlZnQ6IDRweDtcblx0d2lkdGg6IDZweDtcblx0aGVpZ2h0OiA2cHg7XG5cdGJvcmRlcjogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogMTAwJTtcblx0dHJhbnNmb3JtLW9yaWdpbjogOHB4IDhweDtcblx0YW5pbWF0aW9uLW5hbWU6IHNwaW47XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHQud3BjZjctc3Bpbm5lcjo6YmVmb3JlIHtcblx0XHRhbmltYXRpb24tbmFtZTogYmxpbms7XG5cdFx0YW5pbWF0aW9uLWR1cmF0aW9uOiAyMDAwbXM7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBzcGluIHtcblx0ZnJvbSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdH1cblxuXHR0byB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rIHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG5cdHRvIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi53cGNmNyBbaW5lcnRdIHtcblx0b3BhY2l0eTogMC41O1xufVxuXG4ud3BjZjcgaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi53cGNmNyBpbnB1dFt0eXBlPVwiZmlsZVwiXTpkaXNhYmxlZCB7XG5cdGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLndwY2Y3IC53cGNmNy1zdWJtaXQ6ZGlzYWJsZWQge1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ud3BjZjcgaW5wdXRbdHlwZT1cInVybFwiXSxcbi53cGNmNyBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4ud3BjZjcgaW5wdXRbdHlwZT1cInRlbFwiXSB7XG5cdGRpcmVjdGlvbjogbHRyO1xufVxuXG4ud3BjZjctcmVmbGVjdGlvbiA+IG91dHB1dCB7XG5cdGRpc3BsYXk6IGxpc3QtaXRlbTtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLndwY2Y3LXJlZmxlY3Rpb24gPiBvdXRwdXRbaGlkZGVuXSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4iLCIkc2NyZWVuX3NwOlwic2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KVwiO1xuJHNjcmVlbl9wYzpcInNjcmVlbiBhbmQgKG1pbi13aWR0aDo3NjlweClcIjtcblxuJHNjcmVlbl9oZWFkZXJfc3A6XCJzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTA4MHB4KVwiO1xuJHNjcmVlbl9oZWFkZXJfcGM6XCJzY3JlZW4gYW5kIChtaW4td2lkdGg6MTA4MXB4KVwiO1xuXG46cm9vdCB7XG4gIC0tcGMtY29udGVudHMtbWF4LXdpZHRoOjEyMDBweDsgLy9QQ+OBruOCs+ODs+ODhuODs+ODhOW5heOBruacgOWkp1xuICAtLXotaW5kZXgtaGVhZGVyOjEwMDA7IC8v44OY44OD44OA44O844Guei1pbmRleFxuXG4gIC8v6YCP6YGO44KE6Imy5aSJ5pu057O744Gu44Ki44OL44Oh44O844K344On44Oz5YCkXG4gIC0taG92ZXItb3BhY2l0eS1kdXJhdGlvbjouMnM7XG4gIC0taG92ZXItb3BhY2l0eS1lYXNlOmVhc2U7XG5cbiAgLS1jb2xvci13aGl0ZTojRkZGRkZGO1xuICAtLWNvbG9yLWJsYWNrOiMwMDAwMDA7XG4gIC0tY29sb3ItZ3JheTkwMDojMjIyMjIyO1xuICAtLWNvbG9yLWdyYXk4MDA6IzMyMzIzMjtcbiAgLS1jb2xvci1ncmF5NjAwOiM1MDUwNTA7XG4gIC0tY29sb3ItZ3JheTUwMDojNjY2NjY2O1xuICAtLWNvbG9yLWdyYXk0MDA6I0IwQjBCMDtcbiAgLS1jb2xvci1ncmF5MzAwOiNEN0Q3RDc7XG4gIC0tY29sb3ItZ3JheTIwMDojRURFREVEO1xuICAtLWNvbG9yLWdyYXkxMDA6I0YwRjBGMDtcbiAgLS1jb2xvci1ibHVlMTIwMDojMUQ2MEIwO1xuICAtLWNvbG9yLWJsdWUxMDAwOiMyNTg4RkU7XG4gIC0tY29sb3ItYmx1ZTkwMDojMjU3N0Q4O1xuICAtLWNvbG9yLWJsdWU4MDA6IzQwODVENjtcbiAgLS1jb2xvci1ibHVlNDAwOiNBNkM1RTU7XG4gIC0tY29sb3ItYmx1ZTMwMDojQzBEOUYyO1xuICAtLWNvbG9yLWJsdWUyMDA6I0VBRjNGQztcbiAgLS1jb2xvci1ibHVlMTAwOiNGMEY2RkI7XG4gIC0tY29sb3ItZ3JlZW4xMDA6I0RERjFEOTtcbiAgLS1jb2xvci1yZWQ5MDA6I0VFMkYzNDtcbn1cblxuXG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8qXG5weOOCknZ344Gr5aSJ5o+bXG4qL1xuQGZ1bmN0aW9uIGdldHZ3KCRzaXplLCAkdmlld3BvcnQ6MzkwKXtcbiAgJHJhdGU6IG1hdGguZGl2KDEwMCwkdmlld3BvcnQpO1xuICBAcmV0dXJuICRyYXRlICogJHNpemUgKiAxdnc7XG59XG5cbi8v77yF44KS6L+U44GZXG5AZnVuY3Rpb24gZ2V0cGVyKCRzaXplLCAkcGFyZW50KXtcbiAgJHJhdGU6IG1hdGguZGl2KDEwMCwkcGFyZW50KTtcbiAgQHJldHVybiAkcmF0ZSAqICRzaXplICogMSU7XG59XG5cbi8v5Y2K5YiG44Gu44K144Kk44K644KScHjjgafov5TjgZlcbkBmdW5jdGlvbiBnZXRoYWxmKCRzaXplKXtcbiAgQHJldHVybiAkc2l6ZSAqIDAuNXB4O1xufVxuXG4vL3JlbeOCkui/lOOBmVxuQGZ1bmN0aW9uIGdldHJlbSgkc2l6ZSwgJGJhc2U6IDE2KSB7XG5cdEByZXR1cm4gbWF0aC5kaXYoJHNpemUsICRiYXNlKSArIHJlbTtcbn1cblxuLy9saW5lLWhlaWdodOOBrmVt44KS6KiI566XXG5AZnVuY3Rpb24gZ2V0bGhlbSgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcblx0QHJldHVybiBtYXRoLmRpdigkbGluZS1oZWlnaHQsJGZvbnQtc2l6ZSkgKyBlbTtcbn1cblxuLy9sZXR0ZXItc3BhY2luZ+OBrmVt44KS6KiI566XXG5AZnVuY3Rpb24gZ2V0bHNlbSgkZm9udC1zaXplLCAkcHgpIHtcblx0QHJldHVybiBtYXRoLmRpdigkcHgsJGZvbnQtc2l6ZSkgKyBlbTtcbn0iLCJAdXNlIFwiLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5cbkBtaXhpbiBwYyB7XG4gIEBtZWRpYSBvbmx5ICN7dmFycy4kc2NyZWVuX3BjfSB7IEBjb250ZW50OyB9XG59XG5AbWl4aW4gc3Age1xuICBAbWVkaWEgb25seSAje3ZhcnMuJHNjcmVlbl9zcH0geyBAY29udGVudDsgfVxufVxuQG1peGluIHJlc3AoJGF0ciwgJHBjLCAkc3ApIHtcbiAgQGluY2x1ZGUgcGMgeyAjeyRhdHJ9OiAkcGM7IH1cbiAgQGluY2x1ZGUgc3AgeyAjeyRhdHJ9OiAkc3A7IH1cbn1cblxuQG1peGluIGhvdmVye1xuICBAbWVkaWEoaG92ZXI6aG92ZXIpIHtcbiAgICAmOmhvdmVye1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmhlYWRlcueUqFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQG1peGluIGhlYWRlcl9wYyB7XG4gIEBtZWRpYSBvbmx5ICN7dmFycy4kc2NyZWVuX2hlYWRlcl9wY30geyBAY29udGVudDsgfVxufVxuQG1peGluIGhlYWRlcl9zcCB7XG4gIEBtZWRpYSBvbmx5ICN7dmFycy4kc2NyZWVuX2hlYWRlcl9zcH0geyBAY29udGVudDsgfVxufVxuQG1peGluIGhlYWRlcl9yZXNwKCRhdHIsICRwYywgJHNwKSB7XG4gIEBpbmNsdWRlIGhlYWRlcl9wYyB7ICN7JGF0cn06ICRwYzsgfVxuICBAaW5jbHVkZSBoZWFkZXJfc3AgeyAjeyRhdHJ9OiAkc3A7IH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuL21lZGlhXCIgYXMgbWVkaWE7XG5cbi8qXG7jg6Hjg4fjgqPjgqLjgq/jgqjjg6pcbuiomOi/sOS+i1xuYm9keXtcbiAgQGluY2x1ZGUgbWl4aW4ubXMtdygnbWF4JywxMjAwKXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG4gIH1cbn1cbiovXG5AbWl4aW4gbXMtdygkbWF4bWluLCR2YWwpe1xuICBAbWVkaWEgc2NyZWVuIGFuZCAoI3skbWF4bWlufS13aWR0aDojeyR2YWx9cHgpe1xuICAgIEBjb250ZW50O1xuICB9O1xufVxuXG4vKlxu44OV44Kp44O844Og44Oq44K744OD44OIXG4qL1xuQG1peGluIGZvcm0tcmVzZXR7XG4gIGJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY29sb3I6aW5oZXJpdDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgdGV4dGFyZWF7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG4vKlxuSUNPTiBGT05UXG4qL1xuXG5AbWl4aW4gaWNvbnMtZm9udHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGljb25zLXh7IGNvbnRlbnQ6IFwiXFxFQTA0XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1mYWNlYm9va3sgY29udGVudDogXCJcXEVBMDVcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWluc3RhZ3JhbXsgY29udGVudDogXCJcXEVBMDZcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXlvdXR1YmV7IGNvbnRlbnQ6IFwiXFxFQTA3XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1saW5leyBjb250ZW50OiBcIlxcRUEwOFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5cbkBtaXhpbiBkcm9wc2hhZG93RnJhbWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDEuNnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmcsNHJlbSwyLjRyZW0gMS42cmVtKTtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUxMjAwKTtcbiAgICBmaWx0ZXI6IGJsdXIoMS42cmVtKTtcbiAgICBib3JkZXItcmFkaXVzOiAxLjZyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC44cmVtO1xuICAgIGxlZnQ6IDAuOHJlbTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwLjI7XG4gIH1cbn1cblxuQG1peGluIGhpZGUge1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufSIsIltjbGFzc149XCJpY29ucy1cIl0sIFtjbGFzcyo9XCIgaWNvbnMtXCJde1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4uaWNvbnMtYXJyb3ctMTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwMVwiIH1cbi5pY29ucy1hcnJvdy0yOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTAyXCIgfVxuLmljb25zLXNlYXJjaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwM1wiIH1cbi5pY29ucy1sYW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA0XCIgfVxuLmljb25zLWNpcmNsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA1XCIgfVxuLmljb25zLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA2XCIgfVxuLmljb25zLWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA3XCIgfVxuLmljb25zLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA4XCIgfVxuLmljb25zLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTA5XCIgfVxuLmljb25zLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBBXCIgfVxuLmljb25zLWNpcmNsZS1taW51czpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwQlwiIH1cbi5pY29ucy1ibGRnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBDXCIgfVxuLmljb25zLXBlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUEwRFwiIH1cbi5pY29ucy1mbG93OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBFXCIgfVxuLmljb25zLXByaXplOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTBGXCIgfVxuLmljb25zLWdsb2JhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExMFwiIH1cbi5pY29ucy1zdHJlbmd0aDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExMVwiIH1cbi5pY29ucy10ZWw6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTJcIiB9XG4uaWNvbnMtbWFpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExM1wiIH1cbi5pY29ucy13YWthYmE6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTRcIiB9XG4uaWNvbnMtZmFxOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTE1XCIgfVxuLmljb25zLXg6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTZcIiB9XG4uaWNvbnMtZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTdcIiB9XG4uaWNvbnMtaW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFQTE4XCIgfVxuLmljb25zLXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogXCJcXEVBMTlcIiB9XG4uaWNvbnMtbGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRUExQVwiIH1cblxuXG4vKlxubWl4aW5cbiovXG5cbkBtaXhpbiBpY29ucy1mb250e1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJpY29uc1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBpY29ucy1hcnJvdy0xIHsgY29udGVudDogXCJcXEVBMDFcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWFycm93LTIgeyBjb250ZW50OiBcIlxcRUEwMlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtc2VhcmNoIHsgY29udGVudDogXCJcXEVBMDNcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWxhbmcgeyBjb250ZW50OiBcIlxcRUEwNFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2lyY2xlLXBsdXMgeyBjb250ZW50OiBcIlxcRUEwNVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2hlY2sgeyBjb250ZW50OiBcIlxcRUEwNlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2xvc2UgeyBjb250ZW50OiBcIlxcRUEwN1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtc2xhc2ggeyBjb250ZW50OiBcIlxcRUEwOFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZG93bmxvYWQgeyBjb250ZW50OiBcIlxcRUEwOVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtYmxhbmsgeyBjb250ZW50OiBcIlxcRUEwQVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtY2lyY2xlLW1pbnVzIHsgY29udGVudDogXCJcXEVBMEJcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWJsZGcgeyBjb250ZW50OiBcIlxcRUEwQ1wiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtcGVuIHsgY29udGVudDogXCJcXEVBMERcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLWZsb3cgeyBjb250ZW50OiBcIlxcRUEwRVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtcHJpemUgeyBjb250ZW50OiBcIlxcRUEwRlwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMtZ2xvYmFsIHsgY29udGVudDogXCJcXEVBMTBcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXN0cmVuZ3RoIHsgY29udGVudDogXCJcXEVBMTFcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXRlbCB7IGNvbnRlbnQ6IFwiXFxFQTEyXCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1tYWlsIHsgY29udGVudDogXCJcXEVBMTNcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuQG1peGluIGljb25zLXdha2FiYSB7IGNvbnRlbnQ6IFwiXFxFQTE0XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1mYXEgeyBjb250ZW50OiBcIlxcRUExNVwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMteCB7IGNvbnRlbnQ6IFwiXFxFQTE2XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1mYWNlYm9vayB7IGNvbnRlbnQ6IFwiXFxFQTE3XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1pbnN0YWdyYW0geyBjb250ZW50OiBcIlxcRUExOFwiOyBAaW5jbHVkZSBpY29ucy1mb250OyB9XG5AbWl4aW4gaWNvbnMteW91dHViZSB7IGNvbnRlbnQ6IFwiXFxFQTE5XCI7IEBpbmNsdWRlIGljb25zLWZvbnQ7IH1cbkBtaXhpbiBpY29ucy1saW5lIHsgY29udGVudDogXCJcXEVBMUFcIjsgQGluY2x1ZGUgaWNvbnMtZm9udDsgfVxuXG4iLCJAdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jLXBhZ2UtdHRse1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKHBhZGRpbmctdG9wLCA1LjZyZW0sIDMuM3JlbSk7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy1ib3R0b20sIDYuNHJlbSwgNC44cmVtKTtcbiAgJl9fbWFpbntcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi92YXJzXCIgYXMgdmFycztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9mdW5jdGlvblwiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWl4aW5cIiBhcyBtaXhpbjtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9tZWRpYVwiIGFzIG1lZGlhO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2ljb25mb250XCIgYXMgaWNvbnM7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblNDUkVFTiBSRVNQT05TSVZFXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4ucHJvZHVjdC1uYW1lIHtcbiAgJl9faW5uZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXk0MDApO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoYm9yZGVyLXJhZGl1cywgMS42cmVtLCAwLjhyZW0pO1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZywgMy4ycmVtIDIuNHJlbSwgMi40cmVtKTtcbiAgfVxuICAubmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgfVxuICAubW9kZWwge1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3AoZm9udC1zaXplLCAxLjhyZW0sIDEuNnJlbSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5OTAwKTtcbiAgICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIH1cbn0iLCJAdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vdmFyc1wiIGFzIHZhcnM7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vZnVuY3Rpb25cIiBhcyBmdW5jO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21peGluXCIgYXMgbWl4aW47XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vbWVkaWFcIiBhcyBtZWRpYTtcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9pY29uZm9udFwiIGFzIGljb25zO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5TQ1JFRU4gUkVTUE9OU0lWRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTQwMCk7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJudW1cIl0sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKGZvbnQtc2l6ZSwgMS42cmVtLCAxLjRyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheTkwMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheTMwMCk7XG4gIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChwYWRkaW5nLCAxLjRyZW0gMS42cmVtIDEuNnJlbSwgMS42NXJlbSAxLjZyZW0pO1xuICAmLndwY2Y3LW5vdC12YWxpZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQ5MDApO1xuICB9XG59XG5cbi53cGNmNy1ub3QtdmFsaWQtdGlwIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1yZWQ5MDApO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG59XG5cbi53cGNmNy1mb3JtLWNvbnRyb2wtd3JhcCB7XG4gIC53cGNmNy1mb3JtLWNvbnRyb2wge1xuICAgIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1peGluLmhpZGU7XG4gICAgICAgICAgKyAud3BjZjctbGlzdC1pdGVtLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygxLjZyZW0gKyAwLjhyZW0pO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICB3aWR0aDogMS42cmVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEuNnJlbTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpjaGVja2VkICsgLndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgQGluY2x1ZGUgbWl4aW4uaGlkZTtcbiAgICAgICAgICArIC53cGNmNy1saXN0LWl0ZW0tbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDIuNHJlbSArIDEuNnJlbSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICB3aWR0aDogMi40cmVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDIuNHJlbTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5MzAwKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzLCBib3JkZXIgMC4ycztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJ1xcRUEwNic7XG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImljb25zXCI7XG4gICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpjaGVja2VkICsgLndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmx1ZTkwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi53cGNmNy1hY2NlcHRhbmNlIHtcbiAgICAgIC53cGNmNy1saXN0LWl0ZW0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5maWVsZHNldC1saXN0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXk5MDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlMTAwKTtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChib3JkZXItcmFkaXVzLCAxLjZyZW0sIDAuOHJlbSk7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZywgNC44cmVtIDUuNnJlbSwgMy4ycmVtIDEuNnJlbSk7XG4gIC5maWVsZHNldCB7XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBtYXJnaW4tdG9wOiAzLjJyZW07XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgaHRtbDpsYW5nKGVuKSAmIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgICYucmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJ+W/hemgiCc7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcmVkOTAwKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC44cmVtO1xuXG4gICAgICAgIH1cbiAgICAgICAgaHRtbDpsYW5nKGVuKSAmOjphZnRlciB7IGNvbnRlbnQ6ICdSZXF1aXJlZCc7IH1cbiAgICAgICAgaHRtbDpsYW5nKHpoLWhhbnMpICY6OmFmdGVyIHsgY29udGVudDogJ+W/heWhqyc7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LWJveCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gICAgfVxuICB9XG59XG5cbi5hZ3JlZW1lbnQge1xuICBtYXJnaW4tdG9wOiAzLjJyZW07XG4gICYsIGEge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZTkwMCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLmgtY2FwdGNoYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgbWVkaWEucmVzcChtYXJnaW4tdG9wLCAzLjJyZW0sIDIuNHJlbSk7XG59XG5cbi5zdWJtaXQge1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsIDMuMnJlbSwgMi40cmVtKTtcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIEBpbmNsdWRlIG1lZGlhLnJlc3Aod2lkdGgsIDMycmVtLCAyNHJlbSk7XG4gICAgaGVpZ2h0OiA1LjZyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibHVlOTAwKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjZyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0taG92ZXItb3BhY2l0eS1kdXJhdGlvbikgdmFyKC0taG92ZXItb3BhY2l0eS1lYXNlKSxjb2xvciB2YXIoLS1ob3Zlci1vcGFjaXR5LWR1cmF0aW9uKSB2YXIoLS1ob3Zlci1vcGFjaXR5LWVhc2UpLGJvcmRlci1jb2xvciB2YXIoLS1ob3Zlci1vcGFjaXR5LWR1cmF0aW9uKSB2YXIoLS1ob3Zlci1vcGFjaXR5LWVhc2UpO1xuICAgICY6bm90KDpkaXNhYmxlZCkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEuaG92ZXJ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUxMDAwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5NDAwKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXk0MDApO1xuICAgIH1cbiAgfVxuICAud3BjZjctc3Bpbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAxLjJyZW0gYXV0byAwO1xuICB9XG59IiwiQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL3ZhcnNcIiBhcyB2YXJzO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL2Z1bmN0aW9uXCIgYXMgZnVuYztcbkB1c2UgXCIuLi8uLi8uLi9fZm91bmRhdGlvbi9taXhpblwiIGFzIG1peGluO1xuQHVzZSBcIi4uLy4uLy4uL19mb3VuZGF0aW9uL21lZGlhXCIgYXMgbWVkaWE7XG5AdXNlIFwiLi4vLi4vLi4vX2ZvdW5kYXRpb24vaWNvbmZvbnRcIiBhcyBpY29ucztcblxuQHVzZSBcIi4uLy4uL2NvbnRhY3QvY29udGFjdF9zdHlsZXMvZm9ybS1wYXJ0c1wiO1xuQHVzZSBcIi4uLy4uL2NvbnRhY3QvY29udGFjdF9zdHlsZXMvZm9ybS1sYXlvdXRcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuU0NSRUVOIFJFU1BPTlNJVkVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5mb3JtIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXk5MDApO1xuICBAaW5jbHVkZSBtZWRpYS5yZXNwKG1hcmdpbi10b3AsIDRyZW0sIDIuNHJlbSk7XG4gIEBpbmNsdWRlIG1lZGlhLnJlc3AocGFkZGluZy1ib3R0b20sIDExLjZyZW0sIDZyZW0pO1xufSJdfQ== */