@charset "UTF-8";
/***
  The new CSS reset - version 1.5.1 (last updated 1.3.2022)
  GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
  Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
  - The "symbol *" part is to solve Firefox SVG sprite bug
 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap");
*:where(:not(iframe, canvas, img, svg, video, pre):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a,
button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}

/* reset default text opacity of input placeholder */
::-webkit-input-placeholder {
  color: unset;
}
::-moz-placeholder {
  color: unset;
}
::-ms-input-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
 display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
 - fix for the content editable attribute will work properly. */
:where([contenteditable]) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  line-break: after-white-space;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
  -webkit-user-drag: element;
}

:root {
  --z-index-base: 1;
}

html {
  background: #fff;
  font-size: 62.5%;
  scroll-behavior: smooth;
}

@media screen and (max-width: 800px) {
  html {
    font-size: calc(100vw / 80);
  }
}

body {
  position: relative;
  color: #333;
  font-weight: normal;
  font-size: 3.4rem;
  line-height: 1.5;
  letter-spacing: normal;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Noto Sans JP", sans-serif;
}

.only-pc {
  display: inline !important;
}

@media screen and (max-width: 800px) {
  .only-pc {
    display: none !important;
  }
}

.only-sp {
  display: none !important;
}

@media screen and (max-width: 800px) {
  .only-sp {
    display: inline !important;
  }
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-transition-property: opacity, color;
  -o-transition-property: opacity, color;
  transition-property: opacity, color;
}

@media (hover: hover) {
  a:hover {
    opacity: 0.8;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
    -webkit-transition-property: opacity, color;
    -o-transition-property: opacity, color;
    transition-property: opacity, color;
  }
}

* _::-webkit-full-page-media, * _:future, :root * {
  -webkit-margin-before: 0;
  margin-block-start: 0;
  -webkit-margin-after: 0;
  margin-block-end: 0;
  -webkit-padding-before: 0;
  padding-block-start: 0;
  -webkit-padding-after: 0;
  padding-block-end: 0;
  -webkit-margin-start: 0;
  margin-inline-start: 0;
  -webkit-margin-end: 0;
  margin-inline-end: 0;
  -webkit-padding-start: 0;
  padding-inline-start: 0;
  -webkit-padding-end: 0;
  padding-inline-end: 0;
}

.inner {
  max-width: 840px;
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 800px) {
  .inner {
    padding: 0 5vw;
  }
}

.inner--full {
  max-width: 800px;
  padding: 0;
}

.font--en {
  font-family: "Roboto", sans-serif;
}

.font--cn {
  font-family: "Microsoft YaHei", 微软雅黑, sans-serif;
}

.header {
  padding: 40px 0 36px;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .header {
    padding: 5vw 0 4.5vw;
  }
}

.header__logo {
  width: 590px;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .header__logo {
    width: 73.75vw;
  }
}

.how__inner {
  padding: 64px 40px 68px;
  background: #dff6ff;
}

@media screen and (max-width: 800px) {
  .how__inner {
    padding: 8vw 5vw 10vw;
  }
}

.how-cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 36px;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 800px) {
  .how-cards {
    margin-bottom: 4.5vw;
  }
}

.how-cards__item {
  width: 240px;
  margin: 0 16px;
}

@media screen and (max-width: 800px) {
  .how-cards__item {
    width: 30vw;
    margin: 0 2vw;
  }
}

.how__text {
  margin-top: 16px;
}

@media screen and (max-width: 800px) {
  .how__text {
    margin-top: 2vw;
  }
}

.note__inner {
  padding: 64px 40px 88px;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .note__inner {
    padding: 8vw 5vw 11vw;
  }
}

.note-heading {
  position: relative;
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 4.2rem;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .note-heading {
    margin-bottom: 2.5vw;
  }
}

.note-heading::before {
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 100%;
  height: 4px;
  margin-top: 2px;
  background: #4056b7;
  content: "";
}

@media screen and (max-width: 800px) {
  .note-heading::before {
    height: 2px;
    margin-top: 1px;
  }
}

.note-heading:nth-of-type(n+2) {
  margin-top: 40px;
}

@media screen and (max-width: 800px) {
  .note-heading:nth-of-type(n+2) {
    margin-top: 5vw;
  }
}

.note-heading__text {
  position: relative;
  padding: 0 32px;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .note-heading__text {
    padding: 0 4vw;
  }
}

.note-list__item {
  position: relative;
  padding-left: 40px;
  font-size: 3.2rem;
}

@media screen and (max-width: 800px) {
  .note-list__item {
    padding-left: 5vw;
  }
}

.note-list__item + .note-list__item {
  margin-top: 12px;
}

@media screen and (max-width: 800px) {
  .note-list__item + .note-list__item {
    margin-top: 1.5vw;
  }
}

.note-list__item::before {
  position: absolute;
  top: 17px;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #4056b7;
  content: "";
}

@media screen and (max-width: 800px) {
  .note-list__item::before {
    top: 2vw;
    width: 2.5vw;
    height: 2.5vw;
  }
}

.band {
  font-size: 0;
}

.band__inner {
  padding: 44px 0;
  background: #4056b7;
  text-align: center;
}

@media screen and (max-width: 800px) {
  .band__inner {
    padding: 5.5vw 0;
  }
}

.band__image {
  width: 716px;
}

@media screen and (max-width: 800px) {
  .band__image {
    width: 89.5vw;
  }
}

.shops__inner {
  padding: 56px 70px 72px;
  background: #dff6ff;
}

@media screen and (max-width: 800px) {
  .shops__inner {
    padding: 7vw 9vw 9vw;
  }
}

.shops-list__item + .shops-list__item {
  margin-top: 24px;
}

@media screen and (max-width: 800px) {
  .shops-list__item + .shops-list__item {
    margin-top: 3vw;
  }
}

.map__inner {
  padding: 72px 40px;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .map__inner {
    padding: 9vw 5vw;
  }
}

.cta__inner {
  padding: 60px 0;
  background: url("/common/images/promo/coupon/background.png") no-repeat center/cover;
}

@media screen and (max-width: 800px) {
  .cta__inner {
    padding: 7.5vw 0;
  }
}

.cta-button {
  width: 680px;
  margin: 0 auto;
}

@media screen and (max-width: 800px) {
  .cta-button {
    width: 85vw;
  }
}

.cta-button__link {
  display: block;
}

.footer {
  position: relative;
  text-align: center;
}

.footer::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 8px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #00146e), color-stop(50%, #00146e), color-stop(50%, #00aff0), to(#00aff0));
  background: -o-linear-gradient(#00146e 0, #00146e 50%, #00aff0 50%, #00aff0 100%);
  background: linear-gradient(#00146e 0, #00146e 50%, #00aff0 50%, #00aff0 100%);
  content: "";
}

@media screen and (max-width: 800px) {
  .footer::before {
    height: 4px;
  }
}

.footer__inner {
  padding: 38px 0 32px;
  background: #fff;
}

@media screen and (max-width: 800px) {
  .footer__inner {
    padding: 5vw 0 4vw;
  }
}

.footer__copyright {
  display: block;
  color: #00146e;
  font-size: 2.4rem;
  letter-spacing: 0.04em;
  line-height: 1;
}
/* PC・タブレット：5分割（前回のまま） */ 
.image-links {
 max-width: 800px;
  margin: 0 auto;
  display: flex;
  gap: 8px;
}

/* PC：5列 */ 
.image-links a {
 flex: 1;
} 

.image-links img {
 width: 100%;
 height: auto;
 display: block;
} 

/* iPhone SE：2列 */ 
@media (max-width: 480px) { 
  .image-links {
   flex-wrap: wrap;
  } 
  .image-links a {
   flex: 0 0 calc(50% - 4px); /* gap分を少し引くと確実に2列になる */ 
 }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1vbi9jc3MvcHJvbW8vY291cG9uL3N0eWxlLmNzcyIsImNvbW1vbi9jc3MvcHJvbW8vY291cG9uL2luY2x1ZGUvX3Jlc2V0LnNjc3MiLCJjb21tb24vY3NzL3Byb21vL2NvdXBvbi9pbmNsdWRlL192YXJpYWJsZS5zY3NzIiwiY29tbW9uL2Nzcy9wcm9tby9jb3Vwb24vaW5jbHVkZS9fYmFzZS5zY3NzIiwiY29tbW9uL2Nzcy9wcm9tby9jb3Vwb24vaW5jbHVkZS9fbWl4aW4uc2NzcyIsImNvbW1vbi9jc3MvcHJvbW8vY291cG9uL3N0eWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7SUFHSTtBQUVKOzs7R0FHRztBQ1JILG1HQUFZO0FBQ1osNkZBQVk7QURRWDtFQUNDLFdBQVU7RUFDVixnQkFBZTtDQUNoQjs7QUFFRCxnQ0FBZ0M7QUFDaEM7OztFQUdFLCtCQUFzQjtFQUF0Qix1QkFBc0I7Q0FDdkI7O0FBRUQsZ0RBQWdEO0FBQ2hEOztFQUVFLGVBQWM7Q0FDZjs7QUFFRCwwQ0FBMEM7QUFDMUM7OztFQUdFLGlCQUFnQjtDQUNqQjs7QUFFRCx5REFBeUQ7QUFDekQ7RUFDRSxnQkFBZTtFQUNmLGFBQVk7RUFDWix1QkFBc0I7Q0FDdkI7O0FBRUQsNkNBQTZDO0FBQzdDO0VBQ0UsMEJBQXlCO0NBQzFCOztBQUVELHVFQUF1RTtBQUN2RTtFQUNFLG9CQUFtQjtDQUNwQjs7QUFFRCxtREFBbUQ7QUFDbkQ7RUFDRSwyQkFBMEI7RUFDMUIsd0JBQWtCO0VBQWxCLG1CQUFrQjtDQUNuQjs7QUFFRCxxREFBcUQ7QUFDckQ7RUFDRSxhQUFZO0NBQ2I7QUFGRDtFQUNFLGFBQVk7Q0FDYjtBQUZEO0VBQ0UsYUFBWTtDQUNiO0FBRkQ7RUFDRSxhQUFZO0NBQ2I7O0FBRUQ7MERBQzBEO0FBQzFEO0VBQ0UsY0FBYTtDQUNkOztBQUVEO2dFQUNnRTtBQUNoRTtFQUNFLDZCQUE0QjtFQUM1QixnQ0FBK0I7RUFDL0IsMEJB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LGlCQUFnQjtHQUVuQjtDTHFORjs7QUtqTkM7RUFDRSxnQkFBZTtFQUNmLHFGQUFtRTtDQUlwRTs7QUQxTUQ7RUNvTUE7SUFJSSxpQkFBZ0I7R0FFbkI7Q0xzTkY7O0FLck5DO0VBQ0UsYUFBWTtFQUNaLGVBQWM7Q0FPZjs7QURwTkQ7RUMyTUE7SUFJSSxZQUFXO0dBS2Q7Q0x1TkY7O0FLMU5HO0VBQ0UsZUFBYztDQUNmOztBQUlMO0VBQ0UsbUJBQWtCO0VBQ2xCLG1CQUFrQjtDQWdDbkI7O0FBbENEO0VBSUksbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLFlBQVc7RUFDWCxxSkFLQztFQUxELGtGQUtDO0VBTEQsK0VBS0M7RUFDRCxZQUFXO0NBSVo7O0FEMU9EO0VDdU5GO0lBaUJNLFlBQVc7R0FFZDtDTDBORjs7QUt6TkM7RUFDRSxxQkFBb0I7RUFDcEIsaUJBQWdCO0NBSWpCOztBRGpQRDtFQzJPQTtJQUlJLG1CQUFrQjtHQUVyQjtDTDhORjs7QUs3TkM7RUFDRSxlQUFjO0VBQ2QsZUhoUHFCO0VHaVByQixrQkFBaUI7RUFDakIsdUJBQXNCO0VBQ3RCLGVBQWM7Q0FDZiIsImZpbGUiOiJjb21tb24vY3NzL3Byb21vL2NvdXBvbi9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKioqXG4gIFRoZSBuZXcgQ1NTIHJlc2V0IC0gdmVyc2lvbiAxLjUuMSAobGFzdCB1cGRhdGVkIDEuMy4yMDIyKVxuICBHaXRIdWIgcGFnZTogaHR0cHM6Ly9naXRodWIuY29tL2VsYWQyNDEyL3RoZS1uZXctY3NzLXJlc2V0XG4qKiovXG4vKlxuICBSZW1vdmUgYWxsIHRoZSBzdHlsZXMgb2YgdGhlIFwiVXNlci1BZ2VudC1TdHlsZXNoZWV0XCIsIGV4Y2VwdCBmb3IgdGhlICdkaXNwbGF5JyBwcm9wZXJ0eVxuICAtIFRoZSBcInN5bWJvbCAqXCIgcGFydCBpcyB0byBzb2x2ZSBGaXJlZm94IFNWRyBzcHJpdGUgYnVnXG4gKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Ob3RvK1NhbnMrSlA6d2dodEA0MDA7NTAwOzcwMCZkaXNwbGF5PXN3YXBcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzUwMDs3MDAmZGlzcGxheT1zd2FwXCIpO1xuKjp3aGVyZSg6bm90KGlmcmFtZSwgY2FudmFzLCBpbWcsIHN2ZywgdmlkZW8sIHByZSk6bm90KHN2ZyAqLCBzeW1ib2wgKikpIHtcbiAgYWxsOiB1bnNldDtcbiAgZGlzcGxheTogcmV2ZXJ0O1xufVxuXG4vKiBQcmVmZXJyZWQgYm94LXNpemluZyB2YWx1ZSAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogUmVhcHBseSB0aGUgcG9pbnRlciBjdXJzb3IgZm9yIGFuY2hvciB0YWdzICovXG5hLFxuYnV0dG9uIHtcbiAgY3Vyc29yOiByZXZlcnQ7XG59XG5cbi8qIFJlbW92ZSBsaXN0IHN0eWxlcyAoYnVsbGV0cy9udW1iZXJzKSAqL1xub2wsXG51bCxcbm1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3IgaW1hZ2VzIHRvIG5vdCBiZSBhYmxlIHRvIGV4Y2VlZCB0aGVpciBjb250YWluZXIgKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vKiByZW1vdmVzIHNwYWNpbmcgYmV0d2VlbiBjZWxscyBpbiB0YWJsZXMgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuLyogcmV2ZXJ0IHRoZSAnd2hpdGUtc3BhY2UnIHByb3BlcnR5IGZvciB0ZXh0YXJlYSBlbGVtZW50cyBvbiBTYWZhcmkgKi9cbnRleHRhcmVhIHtcbiAgd2hpdGUtc3BhY2U6IHJldmVydDtcbn1cblxuLyogbWluaW11bSBzdHlsZSB0byBhbGxvdyB0byBzdHlsZSBtZXRlciBlbGVtZW50ICovXG5tZXRlciB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogcmV2ZXJ0O1xuICBhcHBlYXJhbmNlOiByZXZlcnQ7XG59XG5cbi8qIHJlc2V0IGRlZmF1bHQgdGV4dCBvcGFjaXR5IG9mIGlucHV0IHBsYWNlaG9sZGVyICovXG46OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHVuc2V0O1xufVxuXG4vKiBmaXggdGhlIGZlYXR1cmUgb2YgJ2hpZGRlbicgYXR0cmlidXRlLlxuIGRpc3BsYXk6cmV2ZXJ0OyByZXZlcnQgdG8gZWxlbWVudCBpbnN0ZWFkIG9mIGF0dHJpYnV0ZSAqL1xuOndoZXJlKFtoaWRkZW5dKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIHJldmVydCBmb3IgYnVnIGluIENocm9taXVtIGJyb3dzZXJzXG4gLSBmaXggZm9yIHRoZSBjb250ZW50IGVkaXRhYmxlIGF0dHJpYnV0ZSB3aWxsIHdvcmsgcHJvcGVybHkuICovXG46d2hlcmUoW2NvbnRlbnRlZGl0YWJsZV0pIHtcbiAgLW1vei11c2VyLW1vZGlmeTogcmVhZC13cml0ZTtcbiAgLXdlYmtpdC11c2VyLW1vZGlmeTogcmVhZC13cml0ZTtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTtcbiAgbGluZS1icmVhazogYWZ0ZXItd2hpdGUtc3BhY2U7XG59XG5cbi8qIGFwcGx5IGJhY2sgdGhlIGRyYWdnYWJsZSBmZWF0dXJlIC0gZXhpc3Qgb25seSBpbiBDaHJvbWl1bSBhbmQgU2FmYXJpICovXG46d2hlcmUoW2RyYWdnYWJsZT1cInRydWVcIl0pIHtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IGVsZW1lbnQ7XG59XG5cbjpyb290IHtcbiAgLS16LWluZGV4LWJhc2U6IDE7XG59XG5cbmh0bWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LXNpemU6IDYyLjUlO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiBjYWxjKDEwMHZ3IC8gODApO1xuICB9XG59XG5cbmJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDMuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgZm9udC1mYW1pbHk6IFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIk5vdG8gU2FucyBKUFwiLCBzYW5zLXNlcmlmO1xufVxuXG4ub25seS1wYyB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAub25seS1wYyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5vbmx5LXNwIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAub25seS1zcCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGNvbG9yO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBjb2xvcjtcbiAgfVxufVxuXG4qIF86Oi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhLCAqIF86ZnV0dXJlLCA6cm9vdCAqIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiAwO1xuICBwYWRkaW5nLWJsb2NrLWVuZDogMDtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogMDtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IDA7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IDA7XG59XG5cbi5pbm5lciB7XG4gIG1heC13aWR0aDogODQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5pbm5lciB7XG4gICAgcGFkZGluZzogMCA1dnc7XG4gIH1cbn1cblxuLmlubmVyLS1mdWxsIHtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmZvbnQtLWVuIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5mb250LS1jbiB7XG4gIGZvbnQtZmFtaWx5OiBcIk1pY3Jvc29mdCBZYUhlaVwiLCDlvq7ova/pm4Xpu5EsIHNhbnMtc2VyaWY7XG59XG5cbi5oZWFkZXIge1xuICBwYWRkaW5nOiA0MHB4IDAgMzZweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmhlYWRlciB7XG4gICAgcGFkZGluZzogNXZ3IDAgNC41dnc7XG4gIH1cbn1cblxuLmhlYWRlcl9fbG9nbyB7XG4gIHdpZHRoOiA1OTBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5oZWFkZXJfX2xvZ28ge1xuICAgIHdpZHRoOiA3My43NXZ3O1xuICB9XG59XG5cbi5ob3dfX2lubmVyIHtcbiAgcGFkZGluZzogNjRweCA0MHB4IDY4cHg7XG4gIGJhY2tncm91bmQ6ICNkZmY2ZmY7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5ob3dfX2lubmVyIHtcbiAgICBwYWRkaW5nOiA4dncgNXZ3IDEwdnc7XG4gIH1cbn1cblxuLmhvdy1jYXJkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuaG93LWNhcmRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjV2dztcbiAgfVxufVxuXG4uaG93LWNhcmRzX19pdGVtIHtcbiAgd2lkdGg6IDI0MHB4O1xuICBtYXJnaW46IDAgMTZweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmhvdy1jYXJkc19faXRlbSB7XG4gICAgd2lkdGg6IDMwdnc7XG4gICAgbWFyZ2luOiAwIDJ2dztcbiAgfVxufVxuXG4uaG93X190ZXh0IHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmhvd19fdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMnZ3O1xuICB9XG59XG5cbi5ub3RlX19pbm5lciB7XG4gIHBhZGRpbmc6IDY0cHggNDBweCA4OHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAubm90ZV9faW5uZXIge1xuICAgIHBhZGRpbmc6IDh2dyA1dncgMTF2dztcbiAgfVxufVxuXG4ubm90ZS1oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiA0LjJyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLm5vdGUtaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41dnc7XG4gIH1cbn1cblxuLm5vdGUtaGVhZGluZzo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIG1hcmdpbi10b3A6IDJweDtcbiAgYmFja2dyb3VuZDogIzQwNTZiNztcbiAgY29udGVudDogXCJcIjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLm5vdGUtaGVhZGluZzo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW4tdG9wOiAxcHg7XG4gIH1cbn1cblxuLm5vdGUtaGVhZGluZzpudGgtb2YtdHlwZShuKzIpIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLm5vdGUtaGVhZGluZzpudGgtb2YtdHlwZShuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiA1dnc7XG4gIH1cbn1cblxuLm5vdGUtaGVhZGluZ19fdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAzMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAubm90ZS1oZWFkaW5nX190ZXh0IHtcbiAgICBwYWRkaW5nOiAwIDR2dztcbiAgfVxufVxuXG4ubm90ZS1saXN0X19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAubm90ZS1saXN0X19pdGVtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDV2dztcbiAgfVxufVxuXG4ubm90ZS1saXN0X19pdGVtICsgLm5vdGUtbGlzdF9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDEycHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5ub3RlLWxpc3RfX2l0ZW0gKyAubm90ZS1saXN0X19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAxLjV2dztcbiAgfVxufVxuXG4ubm90ZS1saXN0X19pdGVtOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTdweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjNDA1NmI3O1xuICBjb250ZW50OiBcIlwiO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAubm90ZS1saXN0X19pdGVtOjpiZWZvcmUge1xuICAgIHRvcDogMnZ3O1xuICAgIHdpZHRoOiAyLjV2dztcbiAgICBoZWlnaHQ6IDIuNXZ3O1xuICB9XG59XG5cbi5iYW5kIHtcbiAgZm9udC1zaXplOiAwO1xufVxuXG4uYmFuZF9faW5uZXIge1xuICBwYWRkaW5nOiA0NHB4IDA7XG4gIGJhY2tncm91bmQ6ICM0MDU2Yjc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmJhbmRfX2lubmVyIHtcbiAgICBwYWRkaW5nOiA1LjV2dyAwO1xuICB9XG59XG5cbi5iYW5kX19pbWFnZSB7XG4gIHdpZHRoOiA3MTZweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmJhbmRfX2ltYWdlIHtcbiAgICB3aWR0aDogODkuNXZ3O1xuICB9XG59XG5cbi5zaG9wc19faW5uZXIge1xuICBwYWRkaW5nOiA1NnB4IDcwcHggNzJweDtcbiAgYmFja2dyb3VuZDogI2RmZjZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLnNob3BzX19pbm5lciB7XG4gICAgcGFkZGluZzogN3Z3IDl2dyA5dnc7XG4gIH1cbn1cblxuLnNob3BzLWxpc3RfX2l0ZW0gKyAuc2hvcHMtbGlzdF9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5zaG9wcy1saXN0X19pdGVtICsgLnNob3BzLWxpc3RfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDN2dztcbiAgfVxufVxuXG4ubWFwX19pbm5lciB7XG4gIHBhZGRpbmc6IDcycHggNDBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLm1hcF9faW5uZXIge1xuICAgIHBhZGRpbmc6IDl2dyA1dnc7XG4gIH1cbn1cblxuLmN0YV9faW5uZXIge1xuICBwYWRkaW5nOiA2MHB4IDA7XG4gIGJhY2tncm91bmQ6IHVybChcIi9jb21tb24vaW1hZ2VzL3Byb21vL2NvdXBvbi9iYWNrZ3JvdW5kLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyL2NvdmVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuY3RhX19pbm5lciB7XG4gICAgcGFkZGluZzogNy41dncgMDtcbiAgfVxufVxuXG4uY3RhLWJ1dHRvbiB7XG4gIHdpZHRoOiA2ODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5jdGEtYnV0dG9uIHtcbiAgICB3aWR0aDogODV2dztcbiAgfVxufVxuXG4uY3RhLWJ1dHRvbl9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mb290ZXI6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMDAxNDZlIDAsICMwMDE0NmUgNTAlLCAjMDBhZmYwIDUwJSwgIzAwYWZmMCAxMDAlKTtcbiAgY29udGVudDogXCJcIjtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZvb3Rlcjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDRweDtcbiAgfVxufVxuXG4uZm9vdGVyX19pbm5lciB7XG4gIHBhZGRpbmc6IDM4cHggMCAzMnB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZm9vdGVyX19pbm5lciB7XG4gICAgcGFkZGluZzogNXZ3IDAgNHZ3O1xuICB9XG59XG5cbi5mb290ZXJfX2NvcHlyaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAwMTQ2ZTtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuIiwiLyoqKlxuICBUaGUgbmV3IENTUyByZXNldCAtIHZlcnNpb24gMS41LjEgKGxhc3QgdXBkYXRlZCAxLjMuMjAyMilcbiAgR2l0SHViIHBhZ2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9lbGFkMjQxMi90aGUtbmV3LWNzcy1yZXNldFxuKioqL1xuXG4vKlxuICBSZW1vdmUgYWxsIHRoZSBzdHlsZXMgb2YgdGhlIFwiVXNlci1BZ2VudC1TdHlsZXNoZWV0XCIsIGV4Y2VwdCBmb3IgdGhlICdkaXNwbGF5JyBwcm9wZXJ0eVxuICAtIFRoZSBcInN5bWJvbCAqXCIgcGFydCBpcyB0byBzb2x2ZSBGaXJlZm94IFNWRyBzcHJpdGUgYnVnXG4gKi9cbiAqOndoZXJlKDpub3QoaWZyYW1lLCBjYW52YXMsIGltZywgc3ZnLCB2aWRlbywgcHJlKTpub3Qoc3ZnICosIHN5bWJvbCAqKSkge1xuICBhbGw6IHVuc2V0O1xuICBkaXNwbGF5OiByZXZlcnQ7XG59XG5cbi8qIFByZWZlcnJlZCBib3gtc2l6aW5nIHZhbHVlICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBSZWFwcGx5IHRoZSBwb2ludGVyIGN1cnNvciBmb3IgYW5jaG9yIHRhZ3MgKi9cbmEsXG5idXR0b24ge1xuICBjdXJzb3I6IHJldmVydDtcbn1cblxuLyogUmVtb3ZlIGxpc3Qgc3R5bGVzIChidWxsZXRzL251bWJlcnMpICovXG5vbCxcbnVsLFxubWVudSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvciBpbWFnZXMgdG8gbm90IGJlIGFibGUgdG8gZXhjZWVkIHRoZWlyIGNvbnRhaW5lciAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi8qIHJlbW92ZXMgc3BhY2luZyBiZXR3ZWVuIGNlbGxzIGluIHRhYmxlcyAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG4vKiByZXZlcnQgdGhlICd3aGl0ZS1zcGFjZScgcHJvcGVydHkgZm9yIHRleHRhcmVhIGVsZW1lbnRzIG9uIFNhZmFyaSAqL1xudGV4dGFyZWEge1xuICB3aGl0ZS1zcGFjZTogcmV2ZXJ0O1xufVxuXG4vKiBtaW5pbXVtIHN0eWxlIHRvIGFsbG93IHRvIHN0eWxlIG1ldGVyIGVsZW1lbnQgKi9cbm1ldGVyIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiByZXZlcnQ7XG4gIGFwcGVhcmFuY2U6IHJldmVydDtcbn1cblxuLyogcmVzZXQgZGVmYXVsdCB0ZXh0IG9wYWNpdHkgb2YgaW5wdXQgcGxhY2Vob2xkZXIgKi9cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdW5zZXQ7XG59XG5cbi8qIGZpeCB0aGUgZmVhdHVyZSBvZiAnaGlkZGVuJyBhdHRyaWJ1dGUuXG4gZGlzcGxheTpyZXZlcnQ7IHJldmVydCB0byBlbGVtZW50IGluc3RlYWQgb2YgYXR0cmlidXRlICovXG46d2hlcmUoW2hpZGRlbl0pIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogcmV2ZXJ0IGZvciBidWcgaW4gQ2hyb21pdW0gYnJvd3NlcnNcbiAtIGZpeCBmb3IgdGhlIGNvbnRlbnQgZWRpdGFibGUgYXR0cmlidXRlIHdpbGwgd29yayBwcm9wZXJseS4gKi9cbjp3aGVyZShbY29udGVudGVkaXRhYmxlXSkge1xuICAtbW96LXVzZXItbW9kaWZ5OiByZWFkLXdyaXRlO1xuICAtd2Via2l0LXVzZXItbW9kaWZ5OiByZWFkLXdyaXRlO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWxpbmUtYnJlYWs6IGFmdGVyLXdoaXRlLXNwYWNlO1xuICBsaW5lLWJyZWFrOiBhZnRlci13aGl0ZS1zcGFjZTtcbn1cblxuLyogYXBwbHkgYmFjayB0aGUgZHJhZ2dhYmxlIGZlYXR1cmUgLSBleGlzdCBvbmx5IGluIENocm9taXVtIGFuZCBTYWZhcmkgKi9cbjp3aGVyZShbZHJhZ2dhYmxlPVwidHJ1ZVwiXSkge1xuICAtd2Via2l0LXVzZXItZHJhZzogZWxlbWVudDtcbn1cbiIsIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU5vdG8rU2FucytKUDp3Z2h0QDQwMDs1MDA7NzAwJmRpc3BsYXk9c3dhcCcpO1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9Um9ib3RvOndnaHRANDAwOzUwMDs3MDAmZGlzcGxheT1zd2FwJyk7XG5cbiRmb250LWRlZmF1bHQ6IFwiSGlyYWdpbm8gS2FrdSBHb3RoaWMgUHJvXCIsIFwi44OS44Op44Ku44OO6KeS44K0IFBybyBXM1wiLCBcIk5vdG8gU2FucyBKUFwiLCBzYW5zLXNlcmlmO1xuJGZvbnQtcm9ib3RvOiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuJGZvbnQteWFoZWk6IFwiTWljcm9zb2Z0IFlhSGVpXCIsIOW+rui9r+mbhem7kSwgc2Fucy1zZXJpZjtcblxuJGNvbG9yLXRleHQtbWFpbjogIzMzMztcbiRjb2xvci10ZXh0LWxpbms6IGluaGVyaXQ7XG5cbiRjb2xvci1ibHVlOiAjNDA1NmI3O1xuJGNvbG9yLWJsdWUtZGFyazogIzAwMTQ2ZTtcbiRjb2xvci1ibHVlLWxpZ2h0OiAjZGZmNmZmO1xuJGNvbG9yLXllbGxvdzogI2ZmZjY4ZjtcblxuOnJvb3Qge1xuICAtLXotaW5kZXgtYmFzZTogMTtcbn1cbiIsImh0bWwge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250LXNpemU6IDYyLjUlO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgQGluY2x1ZGUgc3Age1xuICAgIGZvbnQtc2l6ZTogY2FsYygxMDB2dyAvIDgwKTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNvbG9yLXRleHQtbWFpbjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAzLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1kZWZhdWx0O1xufVxuXG4ub25seS1wYyB7XG4gIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBzcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5vbmx5LXNwIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBzcCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiAkY29sb3ItdGV4dC1saW5rO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGNvbG9yO1xufVxuXG5AaW5jbHVkZSBob3ZlciB7XG4gIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGNvbG9yO1xuICB9XG59XG5cbi8vIGlPU+mWoumAo+WvvuW/nFxuKiB7XG4gIF86Oi13ZWJraXQtZnVsbC1wYWdlLW1lZGlhLCBfOmZ1dHVyZSwgOnJvb3QgJiB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IDA7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogMDtcbiAgICBwYWRkaW5nLWJsb2NrLWVuZDogMDtcbiAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogMDtcbiAgfVxufVxuIiwiQG1peGluIHBjIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAxcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gc3Age1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwcmludCB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGhvdmVyIHtcbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4vaW5jbHVkZS9fcmVzZXRcIjtcbkBpbXBvcnQgXCIuL2luY2x1ZGUvX3ZhcmlhYmxlXCI7XG5AaW1wb3J0IFwiLi9pbmNsdWRlL19taXhpblwiO1xuQGltcG9ydCBcIi4vaW5jbHVkZS9fYmFzZVwiO1xuXG4kcGF0aCA6IFwiL2NvbW1vbi9pbWFnZXMvcHJvbW8vY291cG9uXCI7XG5cbi5pbm5lciB7XG4gIG1heC13aWR0aDogODQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIEBpbmNsdWRlIHNwIHtcbiAgICBwYWRkaW5nOiAwIDV2dztcbiAgfVxuICAmLS1mdWxsIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLmZvbnQge1xuICAmLS1lbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXJvYm90bztcbiAgfVxuICAmLS1jbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXlhaGVpO1xuICB9XG59XG5cbi5oZWFkZXIge1xuICBwYWRkaW5nOiA0MHB4IDAgMzZweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgQGluY2x1ZGUgc3Age1xuICAgIHBhZGRpbmc6IDV2dyAwIDQuNXZ3O1xuICB9XG4gICZfX2xvZ28ge1xuICAgIHdpZHRoOiA1OTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB3aWR0aDogNzMuNzV2dztcbiAgICB9XG4gIH1cbn1cblxuLmhvdyB7XG4gICZfX2lubmVyIHtcbiAgICBwYWRkaW5nOiA2NHB4IDQwcHggNjhweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBwYWRkaW5nOiA4dncgNXZ3IDEwdnc7XG4gICAgfVxuICB9XG4gICYtY2FyZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjV2dztcbiAgICB9XG4gICAgJl9faXRlbSB7XG4gICAgICB3aWR0aDogMjQwcHg7XG4gICAgICBtYXJnaW46IDAgMTZweDtcbiAgICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgICAgd2lkdGg6IDMwdnc7XG4gICAgICAgIG1hcmdpbjogMCAydnc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3RleHQge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luLXRvcDogMnZ3O1xuICAgIH1cbiAgfVxufVxuXG4ubm90ZSB7XG4gICZfX2lubmVyIHtcbiAgICBwYWRkaW5nOiA2NHB4IDQwcHggODhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIHBhZGRpbmc6IDh2dyA1dncgMTF2dztcbiAgICB9XG4gIH1cbiAgJi1oZWFkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDQuMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41dnc7XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGluY2x1ZGUgc3Age1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOm50aC1vZi10eXBlKG4rMikge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXZ3O1xuICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBAaW5jbHVkZSBzcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgNHZ3O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLWxpc3Qge1xuICAgICZfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICBAaW5jbHVkZSBzcCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXZ3O1xuICAgICAgfVxuICAgICAgJiArICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICBAaW5jbHVkZSBzcCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS41dnc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbTo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTdweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgICAgdG9wOiAydnc7XG4gICAgICAgIHdpZHRoOiAyLjV2dztcbiAgICAgICAgaGVpZ2h0OiAyLjV2dztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJhbmQge1xuICBmb250LXNpemU6IDA7XG4gICZfX2lubmVyIHtcbiAgICBwYWRkaW5nOiA0NHB4IDA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIHBhZGRpbmc6IDUuNXZ3IDA7XG4gICAgfVxuICB9XG4gICZfX2ltYWdlIHtcbiAgICB3aWR0aDogNzE2cHg7XG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgd2lkdGg6IDg5LjV2dztcbiAgICB9XG4gIH1cbn1cblxuLnNob3BzIHtcbiAgJl9faW5uZXIge1xuICAgIHBhZGRpbmc6IDU2cHggNzBweCA3MnB4O1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIHBhZGRpbmc6IDd2dyA5dncgOXZ3O1xuICAgIH1cbiAgfVxuICAmLWxpc3Qge1xuICAgICZfX2l0ZW0gKyAmX19pdGVtIHtcbiAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICBAaW5jbHVkZSBzcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDN2dztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1hcCB7XG4gICZfX2lubmVyIHtcbiAgICBwYWRkaW5nOiA3MnB4IDQwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBwYWRkaW5nOiA5dncgNXZ3O1xuICAgIH1cbiAgfVxufVxuXG4uY3RhIHtcbiAgJl9faW5uZXIge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIjeyRwYXRofS9iYWNrZ3JvdW5kLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIC8gY292ZXI7XG4gICAgQGluY2x1ZGUgc3Age1xuICAgICAgcGFkZGluZzogNy41dncgMDtcbiAgICB9XG4gIH1cbiAgJi1idXR0b24ge1xuICAgIHdpZHRoOiA2ODBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICB3aWR0aDogODV2dztcbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAkY29sb3ItYmx1ZS1kYXJrIDAsXG4gICAgICAkY29sb3ItYmx1ZS1kYXJrIDUwJSxcbiAgICAgICMwMGFmZjAgNTAlLFxuICAgICAgIzAwYWZmMCAxMDAlXG4gICAgKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIEBpbmNsdWRlIHNwIHtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgIH1cbiAgfVxuICAmX19pbm5lciB7XG4gICAgcGFkZGluZzogMzhweCAwIDMycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBAaW5jbHVkZSBzcCB7XG4gICAgICBwYWRkaW5nOiA1dncgMCA0dnc7XG4gICAgfVxuICB9XG4gICZfX2NvcHlyaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICRjb2xvci1ibHVlLWRhcms7XG4gICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuIl19 */