html, body, div, span, applet, object, iframe, h1, h2, h3, h4, button, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, menu, nav, section {
  display: block; }

* {
  box-sizing: border-box; }

body {
  line-height: 1; }
  @media (min-width: 30.0625em) {
    body {
      text-rendering: optimizeLegibility;
      font-variant-ligatures: common-ligatures;
      font-feature-settings: "kern";
      font-kerning: normal; } }

ol, ul {
  list-style: none; }

blockquote {
  quotes: none; }
  blockquote:before, blockquote:after {
    content: '';
    content: none; }

q {
  quotes: none; }
  q:before, q:after {
    content: '';
    content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
  display: none !important; }

@font-face {
  font-family: 'Magorian Regular';
  font-display: swap;
  src: url("../assets/Magorian-web.eot");
  src: url("../assets/Magorian-web.eot?#iefix") format("embedded-opentype"), url("../assets/Magorian-web.woff2") format("woff2"), url("../assets/Magorian-web.woff") format("woff"), url("../assets/Magorian-web.ttf") format("truetype"), url("../assets/Magorian-web.svg#magorianregular") format("svg"); }

@font-face {
  font-family: 'Crimson Regular';
  font-display: swap;
  src: url("../assets/crimson-roman-web.eot");
  src: url("../assets/crimson-roman-web.eot?#iefix") format("embedded-opentype"), url("../assets/crimson-roman-web.woff2") format("woff2"), url("../assets/crimson-roman-web.woff") format("woff"), url("../assets/crimson-roman-web.ttf") format("truetype"), url("../assets/crimson-roman-web.svg#crimsonroman") format("svg"); }

@font-face {
  font-family: 'Crimson Bold';
  font-display: swap;
  src: url("../assets/crimson-bold-web.eot");
  src: url("../assets/crimson-bold-web.eot?#iefix") format("embedded-opentype"), url("../assets/crimson-bold-web.woff2") format("woff2"), url("../assets/crimson-bold-web.woff") format("woff"), url("../assets/crimson-bold-web.ttf") format("truetype"), url("../assets/crimson-bold-web.svg#crimsonbold") format("svg"); }

@font-face {
  font-family: 'Crimson Italic';
  font-display: swap;
  src: url("../assets/crimson-italic-web.eot");
  src: url("../assets/crimson-italic-web.eot?#iefix") format("embedded-opentype"), url("../assets/crimson-italic-web.woff2") format("woff2"), url("../assets/crimson-italic-web.woff") format("woff"), url("../assets/crimson-italic-web.ttf") format("truetype"), url("../assets/crimson-italic-web.svg#crimsonitalic") format("svg"); }

@font-face {
  font-family: 'Roboto Regular';
  font-display: swap;
  src: url("../assets/roboto-regular.eot");
  src: url("../assets/roboto-regular.eot?#iefix") format("embedded-opentype"), url("../assets/roboto-regular.woff2") format("woff2"), url("../assets/roboto-regular.woff") format("woff"), url("../assets/roboto-regular.ttf") format("truetype"), url("../assets/roboto-regular.svg#robotoregular") format("svg"); }

@font-face {
  font-family: 'Roboto Light';
  font-display: swap;
  src: url("../assets/roboto-light.eot");
  src: url("../assets/roboto-light.eot?#iefix") format("embedded-opentype"), url("../assets/roboto-light.woff2") format("woff2"), url("../assets/roboto-light.woff") format("woff"), url("../assets/roboto-light.ttf") format("truetype"), url("../assets/roboto-light.svg#robotolight") format("svg"); }

@font-face {
  font-family: 'zilla_slablight';
  font-display: swap;
  src: url("../assets/zillaslab-light.eot");
  src: url("../assets/zillaslab-light.eot?#iefix") format("embedded-opentype"), url("../assets/zillaslab-light.woff2") format("woff2"), url("../assets/zillaslab-light.woff") format("woff"), url("../assets/zillaslab-light.ttf") format("truetype"), url("../assets/zillaslab-light.svg#zilla_slablight") format("svg"); }

@font-face {
  font-family: 'zilla_slabmedium';
  font-display: swap;
  src: url("../assets/zillaslab-medium.eot");
  src: url("../assets/zillaslab-medium.eot?#iefix") format("embedded-opentype"), url("../assets/zillaslab-medium.woff2") format("woff2"), url("../assets/zillaslab-medium.woff") format("woff"), url("../assets/zillaslab-medium.ttf") format("truetype"), url("../assets/zillaslab-medium.svg#zilla_slabmedium") format("svg"); }

@font-face {
  font-family: 'zilla_slabsemibold';
  font-display: swap;
  src: url("../assets/zillaslab-semibold.eot");
  src: url("../assets/zillaslab-semibold.eot?#iefix") format("embedded-opentype"), url("../assets/zillaslab-semibold.woff2") format("woff2"), url("../assets/zillaslab-semibold.woff") format("woff"), url("../assets/zillaslab-semibold.ttf") format("truetype"), url("../assets/zillaslab-semibold.svg#zilla_slabsemibold") format("svg"); }

body {
  color: #333; }

h1, h2, h3, h4, button, h5 {
  font-family: "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

h1 {
  font-size: calc(98px * 0.75);
  line-height: calc(104px * 0.75); }

h2 {
  font-size: calc(60px * 0.75);
  line-height: calc(64px * 0.75); }

h3 {
  font-size: calc(48px * 0.75);
  line-height: calc(51px * 0.75); }

h4, button {
  font-size: calc(36px * 0.75);
  line-height: calc(38px * 0.75); }

h5 {
  font-size: calc(36px * 0.75);
  line-height: calc(38px * 0.75); }

body {
  font-family: "Crimson Regular", Georgia, Times, "Times New Roman", serif;
  font-size: calc(36px * 0.75);
  line-height: calc(60px * 0.75); }

.lang-ja {
  font-family: "MS Mincho", TakaoPGothic, "Hiragino Mincho Pro", "Hiragino Mincho Pro N", "HiraMinProN-W3", "Arial unicode MS", "Droid Sans Japanese", serif !important; }
  .lang-ja p {
    font-family: "MS Mincho", TakaoPGothic, "Hiragino Mincho Pro", "Hiragino Mincho Pro N", "HiraMinProN-W3", "Arial unicode MS", "Droid Sans Japanese", serif !important; }
  .lang-ja h2 {
    font-family: "MS Mincho", TakaoPGothic, "Hiragino Mincho Pro", "Hiragino Mincho Pro N", "HiraMinProN-W3", "Arial unicode MS", "Droid Sans Japanese", serif !important; }

.caption, .caption--heavy {
  font-family: "Roboto Regular", Arial, sans;
  font-size: calc(22px * 0.75);
  line-height: calc(34px * 0.75);
  kerning: 100;
  letter-spacing: 1px; }

.caption--heavy {
  font-family: "Roboto Regular", Arial, sans; }

.accreditation {
  background-color: #f5f5f5;
  font: 12px/18px "Roboto Regular", Arial, sans;
  line-height: calc(28px * 0.75);
  kerning: 100; }

@media (min-width: 481px) {
  h1, h2, h3, h4, button, h5 {
    font-family: "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  h1 {
    font-size: 90px;
    line-height: 96px; }
  h1 {
    font-size: 98px;
    line-height: 104px; }
  h2 {
    font-size: 60px;
    line-height: 64px; }
  h3 {
    font-size: 48px;
    line-height: 51px; }
  h4, button {
    font-size: 36px;
    line-height: 38px; }
  h5 {
    font-size: 24px;
    line-height: 26px; }
  body {
    font-family: "Crimson Regular", Georgia, Times, "Times New Roman", serif;
    font-size: 22px;
    line-height: 40px; }
  .caption, .caption--heavy {
    font-family: "Roboto Regular", Arial, sans;
    font-size: 16px;
    line-height: 24px; }
  .accreditation {
    font-size: 12px; } }

@font-face {
  font-family: icomoon;
  font-display: swap;
  src: url("../assets/icomoon-v1.7.eot?nhzry1");
  src: url("../assets/icomoon-v1.7.eot?nhzry1#iefix") format("embedded-opentype"), url("../assets/icomoon-v1.7.ttf?nhzry1") format("truetype"), url("../assets/icomoon-v1.7.woff?nhzry1") format("woff"), url("../assets/icomoon-v1.7.svg?nhzry1#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: icomoon !important;
  font-display: swap;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.8;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-award:before {
  content: "\e932"; }

.icon-award2:before {
  content: "\e933"; }

.icon-selling-fast:before {
  content: "\e900"; }

.icon-exclusive:before {
  content: "\e901"; }

.icon-last-chance:before {
  content: "\e902"; }

.icon-limited-edition:before {
  content: "\e931"; }

.icon-loves:before {
  content: "\e903"; }

.icon-new:before {
  content: "\e904"; }

.icon-chamber:before {
  content: "\e905"; }

.icon-stone:before {
  content: "\e906"; }

.icon-email:before {
  content: "\e907"; }

.icon-stumbleupon:before {
  content: "\e908"; }

.icon-goblet:before {
  content: "\e909"; }

.icon-hallows:before {
  content: "\e90a"; }

.icon-phoenix:before, .icon-order:before {
  content: "\e90b"; }

.icon-prince:before {
  content: "\e90c"; }

.icon-read:before {
  content: "\e90d"; }

.icon-azkaban:before, .icon-prisoner:before {
  content: "\e90e"; }

.icon-discuss:before {
  content: "\e90f"; }

.icon-examine:before {
  content: "\e910"; }

.icon-share:before {
  content: "\e91f"; }

.icon-arrow-left:before {
  content: "\e911"; }

.icon-arrow-right:before {
  content: "\e912"; }

.icon-basket:before {
  content: "\e913"; }

.icon-big-minus:before {
  content: "\e914"; }

.icon-big-plus:before {
  content: "\e915"; }

.icon-bundle:before {
  content: "\e916"; }

.icon-chevron-down-in-circle:before {
  content: "\e917"; }

.icon-chevron-up-in-circle:before {
  content: "\e918"; }

.icon-close:before {
  content: "\e919"; }

.icon-discover:before {
  content: "\e91a"; }

.icon-down-arrow:before {
  content: "\e91b"; }

.icon-down-chevron:before {
  content: "\e91c"; }

.icon-expand:before {
  content: "\e91d"; }

.icon-facebook:before {
  content: "\e91e"; }

.icon-frame:before, .icon-mounted-print:before {
  content: "\e920"; }

.icon-googleplus:before {
  content: "\e921"; }

.icon-instagram:before {
  content: "\e922"; }

.icon-minus-in-circle:before {
  content: "\e923"; }

.icon-pause:before {
  content: "\e924"; }

.icon-play:before {
  content: "\e925"; }

.icon-plus-in-circle:before {
  content: "\e926"; }

.icon-poster:before {
  content: "\e927"; }

.icon-profile:before, .icon-login:before {
  content: "\e928"; }

.icon-small-left-chevron:before {
  content: "\e929"; }

.icon-small-right-chevron:before {
  content: "\e92a"; }

.icon-thin-tick:before {
  content: "\e92b"; }

.icon-tumblr:before {
  content: "\e92c"; }

.icon-twitter:before {
  content: "\e92d"; }

.icon-up-chevron:before {
  content: "\e92e"; }

.icon-video:before {
  content: "\e92f"; }

.icon-thin-tick2:before {
  content: "\e930"; }

.icon-ornament-1:before {
  content: "\e60a"; }

.icon-ornament-2:before {
  content: "\e60b"; }

.icon-ornament-3:before {
  content: "\e60c"; }

.icon-logo-wizarding-world:before {
  content: "\e934"; }

.icon-roundel-wizarding-world:before {
  content: "\e935"; }

.icon-logo-wizarding-world-pottermore:before {
  content: "\e936"; }

.icon-logo-wizarding-world-wand:before {
  content: "\e937"; }

.icon-logo:before {
  content: "\e608"; }

.icon-search:before {
  content: "\e986"; }

.icon-logo, .icon-logo-wizarding-world, .icon-roundel-wizarding-world, .icon-logo-wizarding-world-pottermore, .icon-logo-wizarding-world-wand {
  line-height: 1; }

.th-pottermore .btn--themed {
  border-color: #810041;
  background-color: #810041;
  color: #fff; }
  .th-pottermore .btn--themed:hover {
    background-color: #aa0056;
    border-color: #aa0056;
    color: #fff; }

.th-gryffindor .btn--themed {
  border-color: #8d0000;
  background-color: #8d0000;
  color: #fff; }
  .th-gryffindor .btn--themed:hover {
    background-color: #b60000;
    border-color: #b60000;
    color: #fff; }

.th-hufflepuff .btn--themed {
  border-color: #f2b800;
  background-color: #f2b800;
  color: #333; }
  .th-hufflepuff .btn--themed:hover {
    background-color: #d9a500;
    border-color: #d9a500;
    color: #fff; }

.th-slytherin .btn--themed {
  border-color: #005416;
  background-color: #005416;
  color: #fff; }
  .th-slytherin .btn--themed:hover {
    background-color: #007d21;
    border-color: #007d21;
    color: #fff; }

.th-ravenclaw .btn--themed {
  border-color: #004e80;
  background-color: #004e80;
  color: #fff; }
  .th-ravenclaw .btn--themed:hover {
    background-color: #0067a9;
    border-color: #0067a9;
    color: #fff; }

.btn {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 8px 24px;
  display: inline-block;
  vertical-align: top;
  border: 1px solid;
  border-color: inherit;
  text-decoration: none;
  color: inherit;
  transition: all .5s;
  cursor: pointer;
  border-radius: 0; }
  @media (min-width: 48em) {
    .btn {
      padding: 10px 30px; } }
  .btn:hover {
    background-color: #fff;
    border-color: #fff;
    color: #333; }

a.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.btn--previous, .step__footer__previous-link {
  background-color: #EEE;
  color: #333;
  border-color: #EEE; }
  .btn--previous:hover, .step__footer__previous-link:hover {
    background-color: #c2c2c2; }
  .btn--previous.my-book__back-button, .my-book__back-button.step__footer__previous-link {
    margin-left: 50%;
    transform: translateX(-50%); }

.btn--purchase, .step__footer__continue-btn, .order-summary__section--discount .field__input-btn {
  background-color: #02857d;
  border-color: #02857d;
  color: #fff; }
  .btn--purchase:hover, .step__footer__continue-btn:hover, .order-summary__section--discount .field__input-btn:hover {
    background-color: #046460;
    border-color: #046460;
    color: #fff; }
  .btn--purchase.gifting, .gifting.step__footer__continue-btn, .order-summary__section--discount .gifting.field__input-btn {
    color: #000000;
    border-color: #000000; }
    .btn--purchase.gifting:hover, .gifting.step__footer__continue-btn:hover, .order-summary__section--discount .gifting.field__input-btn:hover {
      background-color: transparent;
      border-color: #000000;
      color: #000000; }

.form__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center; }

.profile__ctas,
.sorting-hat__ctas {
  display: flex;
  flex-direction: column; }
  @media (min-width: 48em) {
    .profile__ctas,
    .sorting-hat__ctas {
      flex-direction: row;
      position: absolute;
      bottom: 15px;
      left: 20px;
      right: 20px;
      margin: 0 auto;
      width: 100%;
      max-width: 660px;
      z-index: 3; }
      .profile__ctas .form__button,
      .sorting-hat__ctas .form__button {
        line-height: 16px;
        margin-right: 20px; } }
  .profile__ctas .form__button,
  .sorting-hat__ctas .form__button {
    display: block;
    margin-top: 5px;
    cursor: pointer;
    background: #fff; }
    @media (min-width: 48em) {
      .profile__ctas .form__button,
      .sorting-hat__ctas .form__button {
        margin: 5px auto 0;
        max-width: 320px; } }
  .profile__ctas .form__button a, .profile__ctas .form__button a:visited,
  .sorting-hat__ctas .form__button a,
  .sorting-hat__ctas .form__button a:visited {
    color: inherit;
    text-decoration: none;
    display: block; }

.sorting-hat__ctas {
  bottom: auto; }
  .sorting-hat__ctas .form__button {
    background: transparent; }

.profile__ctas--unverified {
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%; }
  .profile__ctas--unverified .form__button--unverified {
    margin-top: 0;
    max-width: 100%;
    cursor: default !important; }

.form__button--no-padding {
  padding-left: 0;
  padding-right: 0; }

.btn--added {
  cursor: inherit;
  transition: none;
  background-color: #e0e0e0;
  border-color: #e0e0e0; }
  .btn--added:hover {
    background-color: #e0e0e0;
    border-color: #e0e0e0; }

.btn--disabled {
  cursor: default !important;
  transition: none;
  background-color: #fff;
  border-color: #f00; }
  .btn--disabled:hover {
    background-color: #fff;
    border-color: #f00; }

.wizarding-world-overrides .profile__ctas .form__button,
.wizarding-world-overrides .sorting-hat__ctas .form__button {
  background: #fff; }

.wizarding-world-overrides .profile__ctas .form__button a, .wizarding-world-overrides .profile__ctas .form__button a:visited,
.wizarding-world-overrides .sorting-hat__ctas .form__button a,
.wizarding-world-overrides .sorting-hat__ctas .form__button a:visited {
  color: inherit; }

.wizarding-world-overrides .sorting-hat__ctas .form__button {
  background: transparent; }

.l-masthead-lead {
  margin-top: auto;
  position: relative; }
  @media (min-width: 48em) {
    .l-masthead-lead {
      margin-top: -8.47458%; } }

.l-centered {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .l-centered:after {
    content: " ";
    display: block;
    clear: both; }

.l-centered--narrow {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .l-centered--narrow:after {
    content: " ";
    display: block;
    clear: both; }
  @media (min-width: 48em) {
    .l-centered--narrow {
      max-width: 704px;
      margin-left: auto;
      margin-right: auto; }
      .l-centered--narrow:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 62em) {
    .l-centered--narrow {
      max-width: 909.33333px;
      margin-left: auto;
      margin-right: auto; }
      .l-centered--narrow:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 75em) {
    .l-centered--narrow {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto; }
      .l-centered--narrow:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 90.625em) {
    .l-centered--narrow {
      max-width: 1329.16667px;
      margin-left: auto;
      margin-right: auto; }
      .l-centered--narrow:after {
        content: " ";
        display: block;
        clear: both; } }

.l-centered--extrawide {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .l-centered--extrawide:after {
    content: " ";
    display: block;
    clear: both; }
  @media (min-width: 48em) {
    .l-centered--extrawide {
      max-width: 704px;
      margin-left: auto;
      margin-right: auto; }
      .l-centered--extrawide:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 62em) {
    .l-centered--extrawide {
      max-width: 909.33333px;
      margin-left: auto;
      margin-right: auto; }
      .l-centered--extrawide:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 75em) {
    .l-centered--extrawide {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto; }
      .l-centered--extrawide:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 90.625em) {
    .l-centered--extrawide {
      max-width: 1329.16667px;
      margin-left: auto;
      margin-right: auto; }
      .l-centered--extrawide:after {
        content: " ";
        display: block;
        clear: both; } }

@media (min-width: 62em) {
  .l-centered--wide {
    max-width: 1450px;
    margin-left: auto;
    margin-right: auto; }
    .l-centered--wide:after {
      content: " ";
      display: block;
      clear: both; } }

@media (min-width: 90.625em) {
  .l-centered--wide {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto; }
    .l-centered--wide:after {
      content: " ";
      display: block;
      clear: both; } }

@media (min-width: 48em) {
  .l-centered--rhythm {
    margin-bottom: 32px; } }

@media (min-width: 62em) {
  .l-centered--rhythm {
    margin-bottom: 41.33333px; } }

.l-product-list {
  margin: 0 auto;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  justify-content: space-around; }

.l-product-list__item {
  display: flex;
  margin-top: 60px;
  margin-right: 2.5641%;
  width: 48.71795%; }
  .l-product-list__item:nth-child(2n) {
    margin-right: 0; }
  .l-product-list__item:nth-child(-n+2) {
    margin-top: 0; }
  @media (min-width: 62em) {
    .l-product-list__item {
      margin-right: 2.5641%;
      width: 23.07692%; }
      .l-product-list__item:nth-child(2n) {
        margin-right: 2.5641%; }
      .l-product-list__item:nth-child(4n) {
        margin-right: 0; }
      .l-product-list__item:nth-child(-n+4) {
        margin-top: 0; } }

.featured-collections {
  overflow: hidden;
  padding: 0 0 2%; }
  @media (min-width: 48em) {
    .featured-collections {
      display: flex;
      justify-content: space-between;
      align-items: stretch; } }

.featured-collections__collection {
  background: #fff;
  box-sizing: border-box;
  float: left;
  width: 90%;
  text-decoration: none;
  margin: 3% 5%;
  align-self: stretch; }
  .featured-collections__collection img {
    width: 100%; }
  @media (min-width: 48em) {
    .featured-collections__collection {
      width: 49.15254%;
      margin: 0 0 2%; }
      .featured-collections__collection:last-child {
        padding: 0;
        float: right;
        margin-right: 0; } }

.collection-content {
  background: #fff;
  padding: 10% 5%;
  text-align: center;
  min-height: 120px;
  margin-top: -3px; }

.collection__title {
  font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  margin-bottom: 15px; }

.collection__description {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  max-width: 85%;
  margin: auto; }

.form-header {
  margin: 0 auto;
  text-align: center;
  color: #FFF;
  padding-top: 30px; }
  @media (min-width: 48em) {
    .form-header {
      max-width: 704px;
      margin-left: auto;
      margin-right: auto;
      padding-bottom: 30px; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; }
      .form-header::after {
        content: '';
        display: block;
        width: 100%; } }
  @media (min-width: 62em) {
    .form-header {
      max-width: 909.33333px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 75em) {
    .form-header {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 90.625em) {
    .form-header {
      max-width: 1329.16667px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }

.form-header--invert {
  color: #333; }

.form-header__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__title.form-header__title--secondary {
    font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      width: 66.10169%;
      margin: 5px auto 0; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .form-header__title {
      font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.form-header__title--secondary {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.form-header__sub-title {
  display: inline-block;
  padding: 0 1.69492%;
  margin-top: 11px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__sub-title.form-header__sub-title--secondary {
    padding: 20px 0 0 0; }
  @media (min-width: 48em) {
    .form-header__sub-title {
      max-width: 66.10169%; } }

.ww-account-form__background--join #join-error {
  padding: 60px 0; }
  .ww-account-form__background--join #join-error .form-header {
    width: 100%; }
    @media (min-width: 48em) {
      .ww-account-form__background--join #join-error .form-header {
        width: 400px; } }
  .ww-account-form__background--join #join-error .form-header__title {
    width: auto; }
  .ww-account-form__background--join #join-error .form-header__divider {
    border: 0;
    border-bottom: 1px solid #e8e8e4;
    width: 40%;
    margin: 40px auto; }
  .ww-account-form__background--join #join-error .form-header__sub-title {
    max-width: 100%;
    padding: 0 20px; }
  .ww-account-form__background--join #join-error .form-header__app-btns {
    margin-top: 40px;
    padding: 0;
    display: flex;
    justify-content: center; }
  .ww-account-form__background--join #join-error .appstore-btn {
    background-image: url("/assets/img/app-store-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 130px;
    overflow: hidden;
    text-indent: -9999px; }
  .ww-account-form__background--join #join-error .googleplay-btn {
    background-image: url("/assets/img/google-play-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 134px;
    overflow: hidden;
    text-indent: -9999px; }

.radio-selection {
  display: flex;
  position: relative;
  padding: 0 1.69492%;
  height: 40px;
  background-color: #e0e0e0;
  align-items: center; }

.radio-selection__radio {
  margin: 0;
  margin-right: 1.69492%;
  height: 14px;
  width: 14px; }

.radio-selection__label {
  display: none;
  font: 12px/12px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .radio-selection__label {
      font-size: 14px;
      line-height: 14px;
      letter-spacing: 2.5px; } }
  @media (min-width: 62em) {
    .radio-selection__label {
      display: initial; } }

.radio-selection__logo {
  position: absolute;
  display: block;
  top: 0;
  right: 50%;
  height: 40px;
  transform: translateX(50%); }
  @media (min-width: 62em) {
    .radio-selection__logo {
      right: 1.69492%;
      transform: none; } }

button {
  line-height: 100%;
  padding: 10px 20px;
  color: #fff;
  border: 0;
  border-radius: 2px; }
  @media (min-width: 481px) {
    button {
      padding: 10px 40px; } }

form {
  width: 100%; }

.form__row {
  margin-bottom: 15px;
  flex-flow: row wrap;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 48em) {
    .form--stackable .form__row {
      float: left;
      margin-right: 10px;
      margin-bottom: 0; } }

.form__row--half {
  width: 50%; }

.form__row-link {
  color: #FFF;
  font: 12px/18px "Roboto Regular", Arial, sans; }

.form__row-link--invert {
  color: #333; }

.form__row--text-link {
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  letter-spacing: normal !important;
  text-transform: inherit;
  text-align: right; }
  @media (min-width: 90.625em) {
    .form__row--text-link {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__row--checkbox {
  line-height: normal;
  margin-bottom: 0;
  justify-content: flex-start; }

@media (min-width: 48em) {
  .form__row--no-label {
    padding-top: 23px; } }

@media (min-width: 90.625em) {
  .form__row--no-label {
    padding-top: 25px; } }

.form__label, .field__label {
  margin-bottom: 5px;
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .form__label, .field__label {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__label--invert {
  color: #ffffff; }

.form__label--invert a, .form__label--invert a:visited, .form__label--invert a:hover {
  color: #fff; }

.form__label--checkbox {
  margin-left: 10px;
  width: 85%;
  display: inline-block;
  text-transform: none;
  vertical-align: top;
  letter-spacing: normal; }

.form__input, input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
input[type="file"],
input[type="number"],
input[type="tel"],
textarea,
select {
  padding: 6px 10px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  display: block;
  width: 100%;
  background: #FFF;
  border: 1px solid #aaa;
  color: #333;
  border-radius: 0; }
  .form__input.ng-invalid.ng-touched, input.ng-invalid.ng-touched[type="text"],
  input.ng-invalid.ng-touched[type="search"],
  input.ng-invalid.ng-touched[type="password"],
  input.ng-invalid.ng-touched[type="email"],
  input.ng-invalid.ng-touched[type="file"],
  input.ng-invalid.ng-touched[type="number"],
  input.ng-invalid.ng-touched[type="tel"],
  textarea.ng-invalid.ng-touched,
  select.ng-invalid.ng-touched,
  .ng-submitted .form__input.ng-invalid,
  .ng-submitted input.ng-invalid[type="text"],
  .ng-submitted input.ng-invalid[type="search"],
  .ng-submitted input.ng-invalid[type="password"],
  .ng-submitted input.ng-invalid[type="email"],
  .ng-submitted input.ng-invalid[type="file"],
  .ng-submitted input.ng-invalid[type="number"],
  .ng-submitted input.ng-invalid[type="tel"],
  .ng-submitted textarea.ng-invalid,
  .ng-submitted select.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }
  .form__input.form__input--disabled, input.form__input--disabled[type="text"],
  input.form__input--disabled[type="search"],
  input.form__input--disabled[type="password"],
  input.form__input--disabled[type="email"],
  input.form__input--disabled[type="file"],
  input.form__input--disabled[type="number"],
  input.form__input--disabled[type="tel"],
  textarea.form__input--disabled,
  select.form__input--disabled {
    border: 0;
    padding-left: 0; }

.form__input--select {
  height: 36px; }

.form__input--checkbox {
  vertical-align: top;
  margin-left: 0; }
  .form__input--checkbox.ng-invalid.ng-touched,
  .ng-submitted .form__input--checkbox.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }

.form__button {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  width: 100%;
  display: block;
  padding: 10px 40px;
  color: #FFF;
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  transition: background 0.25s;
  border: none;
  line-height: 16px !important; }
  @media (min-width: 90.625em) {
    .form__button {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__button, .form__button--primary {
  cursor: pointer;
  background: #810041; }
  .form__button[disabled=disabled], .form__button--primary[disabled=disabled] {
    background: #c5c9cc;
    cursor: default; }

.form__button--hollow {
  background: transparent;
  border: 1px solid #FFF; }

.overlay .form__button--hollow {
  border-color: #810041;
  color: #810041; }
  .overlay .form__button--hollow:hover {
    background-color: #fff; }

.form__button--label {
  width: 100%; }

.form__button--after-checkbox {
  margin-top: 10px; }

.form__error, .field__message--error, .section--payment-method .notice--warning,
.section--payment-method .notice--error,
.form__confirmation,
.form__warning {
  padding: 5px 0;
  background: #ca0404;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 16px;
  color: #FFF;
  text-align: center;
  width: 100%; }
  @media (min-width: 90.625em) {
    .form__error, .field__message--error, .section--payment-method .notice--warning,
    .section--payment-method .notice--error,
    .form__confirmation,
    .form__warning {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__warning {
  background: #ff9;
  color: #000;
  margin-bottom: 1em; }

.form__confirmation {
  background: #410021; }

.form__error--global {
  margin-top: 5px; }

.wizarding-world-overrides .form__button, .wizarding-world-overrides .form__button--primary {
  background: #003e51; }
  .wizarding-world-overrides .form__button[disabled=disabled], .wizarding-world-overrides .form__button--primary[disabled=disabled] {
    background: #c5c9cc; }
  .wizarding-world-overrides .form__button.ww-form__button, .wizarding-world-overrides .form__button--primary.ww-form__button {
    border-radius: 20px;
    padding: 10px 20px; }
  .wizarding-world-overrides .form__button.ww-signin-link, .wizarding-world-overrides .form__button--primary.ww-signin-link {
    border: 0;
    background: #CEBF96;
    color: #000; }

.wizarding-world-overrides .form__button--hollow {
  background: transparent; }

.wizarding-world-overrides .form__confirmation {
  background: #002b39; }

.wizarding-world-overrides .overlay .form__button--hollow {
  border-color: #003e51;
  color: #003e51; }
  .wizarding-world-overrides .overlay .form__button--hollow:hover {
    background-color: #fff; }

input[type="text"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="file"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  border: none; }

select {
  height: 38px;
  padding: 0 7px;
  width: 100%;
  background: transparent; }

.field {
  margin-bottom: 20px;
  clear: both;
  overflow: hidden; }

.field--half {
  float: none !important;
  width: 100% !important; }
  @media (min-width: 48em) {
    .field--half {
      float: left !important;
      width: 50% !important;
      padding-right: 10px; }
      .field--half:nth-of-type(2n+1) {
        padding-right: 0;
        padding-left: 10px; } }

.field--half + .field--half {
  padding-right: 0; }

.field__input-wrapper {
  margin-bottom: 0; }

.field__input:invalid {
  border: 1px solid red; }

.field--error .field__input {
  box-shadow: none;
  outline: 2px solid #ca0404;
  background: #FCF2F2; }

input {
  padding: 6px 10px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  display: block;
  width: 100%;
  background: #FFF;
  border: none;
  border: 1px solid #AAA;
  color: #333;
  border-radius: 0; }

.field--half {
  float: left;
  width: 50%;
  clear: none; }

.language-select {
  border: 0;
  background: #e0e0e0;
  margin: 0 0 20px 0;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 30px; }
  @media (min-width: 90.625em) {
    .language-select {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  @media (min-width: 48em) {
    .language-select {
      width: 160px; } }
  .language-select:focus {
    outline: 0; }

.form__label--language-select {
  margin: 0 10px 0 auto;
  padding: 1.5% 0 0 0; }
  @media (max-width: 47.99em) {
    .form__label--language-select {
      text-align: center;
      width: 100%; } }

.form__input--checkbox {
  margin-left: 0;
  width: auto;
  vertical-align: top; }

.form__halfrow {
  flex: 1;
  margin-right: 30px; }

.form__halfrow:last-child {
  margin-right: 0; }

.th-pottermore .btn--themed {
  border-color: #810041;
  background-color: #810041;
  color: #fff; }
  .th-pottermore .btn--themed:hover {
    background-color: #aa0056;
    border-color: #aa0056;
    color: #fff; }

.th-gryffindor .btn--themed {
  border-color: #8d0000;
  background-color: #8d0000;
  color: #fff; }
  .th-gryffindor .btn--themed:hover {
    background-color: #b60000;
    border-color: #b60000;
    color: #fff; }

.th-hufflepuff .btn--themed {
  border-color: #f2b800;
  background-color: #f2b800;
  color: #333; }
  .th-hufflepuff .btn--themed:hover {
    background-color: #d9a500;
    border-color: #d9a500;
    color: #fff; }

.th-slytherin .btn--themed {
  border-color: #005416;
  background-color: #005416;
  color: #fff; }
  .th-slytherin .btn--themed:hover {
    background-color: #007d21;
    border-color: #007d21;
    color: #fff; }

.th-ravenclaw .btn--themed {
  border-color: #004e80;
  background-color: #004e80;
  color: #fff; }
  .th-ravenclaw .btn--themed:hover {
    background-color: #0067a9;
    border-color: #0067a9;
    color: #fff; }

.btn {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 8px 24px;
  display: inline-block;
  vertical-align: top;
  border: 1px solid;
  border-color: inherit;
  text-decoration: none;
  color: inherit;
  transition: all .5s;
  cursor: pointer;
  border-radius: 0; }
  @media (min-width: 48em) {
    .btn {
      padding: 10px 30px; } }
  .btn:hover {
    background-color: #fff;
    border-color: #fff;
    color: #333; }

a.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.btn--previous, .step__footer__previous-link {
  background-color: #EEE;
  color: #333;
  border-color: #EEE; }
  .btn--previous:hover, .step__footer__previous-link:hover {
    background-color: #c2c2c2; }
  .btn--previous.my-book__back-button, .my-book__back-button.step__footer__previous-link {
    margin-left: 50%;
    transform: translateX(-50%); }

.btn--purchase, .step__footer__continue-btn, .order-summary__section--discount .field__input-btn {
  background-color: #02857d;
  border-color: #02857d;
  color: #fff; }
  .btn--purchase:hover, .step__footer__continue-btn:hover, .order-summary__section--discount .field__input-btn:hover {
    background-color: #046460;
    border-color: #046460;
    color: #fff; }
  .btn--purchase.gifting, .gifting.step__footer__continue-btn, .order-summary__section--discount .gifting.field__input-btn {
    color: #000000;
    border-color: #000000; }
    .btn--purchase.gifting:hover, .gifting.step__footer__continue-btn:hover, .order-summary__section--discount .gifting.field__input-btn:hover {
      background-color: transparent;
      border-color: #000000;
      color: #000000; }

.form__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center; }

.profile__ctas,
.sorting-hat__ctas {
  display: flex;
  flex-direction: column; }
  @media (min-width: 48em) {
    .profile__ctas,
    .sorting-hat__ctas {
      flex-direction: row;
      position: absolute;
      bottom: 15px;
      left: 20px;
      right: 20px;
      margin: 0 auto;
      width: 100%;
      max-width: 660px;
      z-index: 3; }
      .profile__ctas .form__button,
      .sorting-hat__ctas .form__button {
        line-height: 16px;
        margin-right: 20px; } }
  .profile__ctas .form__button,
  .sorting-hat__ctas .form__button {
    display: block;
    margin-top: 5px;
    cursor: pointer;
    background: #fff; }
    @media (min-width: 48em) {
      .profile__ctas .form__button,
      .sorting-hat__ctas .form__button {
        margin: 5px auto 0;
        max-width: 320px; } }
  .profile__ctas .form__button a, .profile__ctas .form__button a:visited,
  .sorting-hat__ctas .form__button a,
  .sorting-hat__ctas .form__button a:visited {
    color: inherit;
    text-decoration: none;
    display: block; }

.sorting-hat__ctas {
  bottom: auto; }
  .sorting-hat__ctas .form__button {
    background: transparent; }

.profile__ctas--unverified {
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%; }
  .profile__ctas--unverified .form__button--unverified {
    margin-top: 0;
    max-width: 100%;
    cursor: default !important; }

.form__button--no-padding {
  padding-left: 0;
  padding-right: 0; }

.btn--added {
  cursor: inherit;
  transition: none;
  background-color: #e0e0e0;
  border-color: #e0e0e0; }
  .btn--added:hover {
    background-color: #e0e0e0;
    border-color: #e0e0e0; }

.btn--disabled {
  cursor: default !important;
  transition: none;
  background-color: #fff;
  border-color: #f00; }
  .btn--disabled:hover {
    background-color: #fff;
    border-color: #f00; }

.wizarding-world-overrides .profile__ctas .form__button,
.wizarding-world-overrides .sorting-hat__ctas .form__button {
  background: #fff; }

.wizarding-world-overrides .profile__ctas .form__button a, .wizarding-world-overrides .profile__ctas .form__button a:visited,
.wizarding-world-overrides .sorting-hat__ctas .form__button a,
.wizarding-world-overrides .sorting-hat__ctas .form__button a:visited {
  color: inherit; }

.wizarding-world-overrides .sorting-hat__ctas .form__button {
  background: transparent; }

.form-header {
  margin: 0 auto;
  text-align: center;
  color: #FFF;
  padding-top: 30px; }
  @media (min-width: 48em) {
    .form-header {
      max-width: 704px;
      margin-left: auto;
      margin-right: auto;
      padding-bottom: 30px; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; }
      .form-header::after {
        content: '';
        display: block;
        width: 100%; } }
  @media (min-width: 62em) {
    .form-header {
      max-width: 909.33333px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 75em) {
    .form-header {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 90.625em) {
    .form-header {
      max-width: 1329.16667px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }

.form-header--invert {
  color: #333; }

.form-header__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__title.form-header__title--secondary {
    font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      width: 66.10169%;
      margin: 5px auto 0; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .form-header__title {
      font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.form-header__title--secondary {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.form-header__sub-title {
  display: inline-block;
  padding: 0 1.69492%;
  margin-top: 11px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__sub-title.form-header__sub-title--secondary {
    padding: 20px 0 0 0; }
  @media (min-width: 48em) {
    .form-header__sub-title {
      max-width: 66.10169%; } }

.ww-account-form__background--join #join-error {
  padding: 60px 0; }
  .ww-account-form__background--join #join-error .form-header {
    width: 100%; }
    @media (min-width: 48em) {
      .ww-account-form__background--join #join-error .form-header {
        width: 400px; } }
  .ww-account-form__background--join #join-error .form-header__title {
    width: auto; }
  .ww-account-form__background--join #join-error .form-header__divider {
    border: 0;
    border-bottom: 1px solid #e8e8e4;
    width: 40%;
    margin: 40px auto; }
  .ww-account-form__background--join #join-error .form-header__sub-title {
    max-width: 100%;
    padding: 0 20px; }
  .ww-account-form__background--join #join-error .form-header__app-btns {
    margin-top: 40px;
    padding: 0;
    display: flex;
    justify-content: center; }
  .ww-account-form__background--join #join-error .appstore-btn {
    background-image: url("/assets/img/app-store-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 130px;
    overflow: hidden;
    text-indent: -9999px; }
  .ww-account-form__background--join #join-error .googleplay-btn {
    background-image: url("/assets/img/google-play-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 134px;
    overflow: hidden;
    text-indent: -9999px; }

.radio-selection {
  display: flex;
  position: relative;
  padding: 0 1.69492%;
  height: 40px;
  background-color: #e0e0e0;
  align-items: center; }

.radio-selection__radio {
  margin: 0;
  margin-right: 1.69492%;
  height: 14px;
  width: 14px; }

.radio-selection__label {
  display: none;
  font: 12px/12px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .radio-selection__label {
      font-size: 14px;
      line-height: 14px;
      letter-spacing: 2.5px; } }
  @media (min-width: 62em) {
    .radio-selection__label {
      display: initial; } }

.radio-selection__logo {
  position: absolute;
  display: block;
  top: 0;
  right: 50%;
  height: 40px;
  transform: translateX(50%); }
  @media (min-width: 62em) {
    .radio-selection__logo {
      right: 1.69492%;
      transform: none; } }

button {
  line-height: 100%;
  padding: 10px 20px;
  color: #fff;
  border: 0;
  border-radius: 2px; }
  @media (min-width: 481px) {
    button {
      padding: 10px 40px; } }

form {
  width: 100%; }

.form__row {
  margin-bottom: 15px;
  flex-flow: row wrap;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 48em) {
    .form--stackable .form__row {
      float: left;
      margin-right: 10px;
      margin-bottom: 0; } }

.form__row--half {
  width: 50%; }

.form__row-link {
  color: #FFF;
  font: 12px/18px "Roboto Regular", Arial, sans; }

.form__row-link--invert {
  color: #333; }

.form__row--text-link {
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  letter-spacing: normal !important;
  text-transform: inherit;
  text-align: right; }
  @media (min-width: 90.625em) {
    .form__row--text-link {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__row--checkbox {
  line-height: normal;
  margin-bottom: 0;
  justify-content: flex-start; }

@media (min-width: 48em) {
  .form__row--no-label {
    padding-top: 23px; } }

@media (min-width: 90.625em) {
  .form__row--no-label {
    padding-top: 25px; } }

.form__label, .field__label {
  margin-bottom: 5px;
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .form__label, .field__label {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__label--invert {
  color: #ffffff; }

.form__label--invert a, .form__label--invert a:visited, .form__label--invert a:hover {
  color: #fff; }

.form__label--checkbox {
  margin-left: 10px;
  width: 85%;
  display: inline-block;
  text-transform: none;
  vertical-align: top;
  letter-spacing: normal; }

.form__input, input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
input[type="file"],
input[type="number"],
input[type="tel"],
textarea,
select {
  padding: 6px 10px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  display: block;
  width: 100%;
  background: #FFF;
  border: 1px solid #aaa;
  color: #333;
  border-radius: 0; }
  .form__input.ng-invalid.ng-touched, input.ng-invalid.ng-touched[type="text"],
  input.ng-invalid.ng-touched[type="search"],
  input.ng-invalid.ng-touched[type="password"],
  input.ng-invalid.ng-touched[type="email"],
  input.ng-invalid.ng-touched[type="file"],
  input.ng-invalid.ng-touched[type="number"],
  input.ng-invalid.ng-touched[type="tel"],
  textarea.ng-invalid.ng-touched,
  select.ng-invalid.ng-touched,
  .ng-submitted .form__input.ng-invalid,
  .ng-submitted input.ng-invalid[type="text"],
  .ng-submitted input.ng-invalid[type="search"],
  .ng-submitted input.ng-invalid[type="password"],
  .ng-submitted input.ng-invalid[type="email"],
  .ng-submitted input.ng-invalid[type="file"],
  .ng-submitted input.ng-invalid[type="number"],
  .ng-submitted input.ng-invalid[type="tel"],
  .ng-submitted textarea.ng-invalid,
  .ng-submitted select.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }
  .form__input.form__input--disabled, input.form__input--disabled[type="text"],
  input.form__input--disabled[type="search"],
  input.form__input--disabled[type="password"],
  input.form__input--disabled[type="email"],
  input.form__input--disabled[type="file"],
  input.form__input--disabled[type="number"],
  input.form__input--disabled[type="tel"],
  textarea.form__input--disabled,
  select.form__input--disabled {
    border: 0;
    padding-left: 0; }

.form__input--select {
  height: 36px; }

.form__input--checkbox {
  vertical-align: top;
  margin-left: 0; }
  .form__input--checkbox.ng-invalid.ng-touched,
  .ng-submitted .form__input--checkbox.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }

.form__button {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  width: 100%;
  display: block;
  padding: 10px 40px;
  color: #FFF;
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  transition: background 0.25s;
  border: none;
  line-height: 16px !important; }
  @media (min-width: 90.625em) {
    .form__button {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__button, .form__button--primary {
  cursor: pointer;
  background: #810041; }
  .form__button[disabled=disabled], .form__button--primary[disabled=disabled] {
    background: #c5c9cc;
    cursor: default; }

.form__button--hollow {
  background: transparent;
  border: 1px solid #FFF; }

.overlay .form__button--hollow {
  border-color: #810041;
  color: #810041; }
  .overlay .form__button--hollow:hover {
    background-color: #fff; }

.form__button--label {
  width: 100%; }

.form__button--after-checkbox {
  margin-top: 10px; }

.form__error, .field__message--error, .section--payment-method .notice--warning,
.section--payment-method .notice--error,
.form__confirmation,
.form__warning {
  padding: 5px 0;
  background: #ca0404;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 16px;
  color: #FFF;
  text-align: center;
  width: 100%; }
  @media (min-width: 90.625em) {
    .form__error, .field__message--error, .section--payment-method .notice--warning,
    .section--payment-method .notice--error,
    .form__confirmation,
    .form__warning {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__warning {
  background: #ff9;
  color: #000;
  margin-bottom: 1em; }

.form__confirmation {
  background: #410021; }

.form__error--global {
  margin-top: 5px; }

.wizarding-world-overrides .form__button, .wizarding-world-overrides .form__button--primary {
  background: #003e51; }
  .wizarding-world-overrides .form__button[disabled=disabled], .wizarding-world-overrides .form__button--primary[disabled=disabled] {
    background: #c5c9cc; }
  .wizarding-world-overrides .form__button.ww-form__button, .wizarding-world-overrides .form__button--primary.ww-form__button {
    border-radius: 20px;
    padding: 10px 20px; }
  .wizarding-world-overrides .form__button.ww-signin-link, .wizarding-world-overrides .form__button--primary.ww-signin-link {
    border: 0;
    background: #CEBF96;
    color: #000; }

.wizarding-world-overrides .form__button--hollow {
  background: transparent; }

.wizarding-world-overrides .form__confirmation {
  background: #002b39; }

.wizarding-world-overrides .overlay .form__button--hollow {
  border-color: #003e51;
  color: #003e51; }
  .wizarding-world-overrides .overlay .form__button--hollow:hover {
    background-color: #fff; }

/* Expanding basket */
.checkout__basket {
  margin-bottom: 60px; }

.checkout__basket-header {
  display: inline;
  padding: 0 20px;
  font-family: "Roboto Regular", Arial, sans;
  font-size: 14px;
  letter-spacing: 1.5px;
  text-align: right;
  text-transform: uppercase; }

.checkout__basket-toggler {
  float: left;
  cursor: pointer; }

.checkout__basket-content .order-summary {
  overflow: hidden; }

.checkout__basket-content .order-summary__section--product-list, .checkout__basket-content .order-summary__section--product-list--alt {
  overflow: hidden;
  margin-bottom: 30px; }

.checkout__basket-content .order-summary__section__content {
  transition: all 0.7s;
  -webkit-transition-delay: 0;
  -moz-transition-delay: 0;
  -ms-transition-delay: 0;
  -o-transition-delay: 0;
  transition-delay: 0;
  height: 100%; }

.checkout__basket-content .order-summary--is-collapsed .order-summary__section--total-lines {
  margin-top: 0;
  border-top: none; }

.checkout__basket-content .order-summary--is-collapsed table.cart-details {
  display: none; }

.checkout__summary-header-price {
  float: right; }

.step__sections {
  margin-bottom: 20px; }
  .step__sections .content-box {
    margin-bottom: 20px; }
    .step__sections .content-box svg {
      width: 22px;
      float: left;
      margin-right: 10px; }

.step__footer {
  padding: 30px 0; }

.step__footer__continue-btn, .order-summary__section--discount .field__input-btn,
.step__footer__previous-link {
  display: inline-block;
  float: none;
  margin-bottom: 20px;
  padding: 10px 20px !important;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  font: 12px/18px "Roboto Regular", Arial, sans !important;
  font-weight: bold;
  letter-spacing: 1px !important;
  border-radius: 0;
  width: 100%;
  transition: all .5s; }
  @media (min-width: 62em) {
    .step__footer__continue-btn, .order-summary__section--discount .field__input-btn,
    .step__footer__previous-link {
      display: inline;
      float: left;
      margin-bottom: 0;
      width: auto; } }
  .step__footer__continue-btn svg, .order-summary__section--discount .field__input-btn svg,
  .step__footer__previous-link svg {
    display: none; }
  .step__footer__continue-btn.log-in-btn, .order-summary__section--discount .log-in-btn.field__input-btn,
  .step__footer__previous-link.log-in-btn {
    margin: 20px auto 0px; }
    @media (min-width: 48em) {
      .step__footer__continue-btn.log-in-btn, .order-summary__section--discount .log-in-btn.field__input-btn,
      .step__footer__previous-link.log-in-btn {
        float: none;
        margin: 20px 0 0px 50%;
        transform: translateX(-50%); } }

.step__footer__previous-link {
  margin-bottom: 0; }

.step__footer__continue-btn, .order-summary__section--discount .field__input-btn {
  float: right; }

.btn--disabled {
  border: none;
  background: #e0e0e0;
  color: #333;
  opacity: 0.4; }

.product-table .product {
  border-top: 20px solid transparent; }

.product__description {
  padding: 0 20px;
  vertical-align: top;
  width: 90%; }

.product__description__name {
  margin: 0;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  vertical-align: top;
  max-width: 20%; }

.product__price {
  vertical-align: top;
  width: 10%;
  text-align: right;
  font-family: "Roboto Regular", Arial, sans;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1.5px; }

.product__image__inner {
  display: flex;
  flex-direction: column;
  text-align: center; }
  .product__image__inner .product__quantity {
    order: 1; }

.product-thumbnail__quantity::before {
  content: "Qty: "; }

.total-line-table {
  width: 100%; }
  .total-line-table .payment-due__currency {
    display: none; }

.total-line td {
  vertical-align: middle; }

.total-line__name {
  width: 90%;
  text-transform: uppercase;
  font-weight: bold; }

.total-line__name.payment-due-label,
.total-line__price.payment-due {
  padding-top: 20px; }

.payment-due-label__total,
.payment-due__price {
  font-size: 1.3em; }

.order-summary__section--total-lines, .order-summary__tax-details {
  padding: 20px 20px 0;
  background: #f5f5f5;
  font-family: "Roboto Regular", Arial, sans;
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  .order-summary__section--total-lines .total-line__name, .order-summary__tax-details .total-line__name {
    font-size: 14px;
    font-weight: bold;
    line-height: 26px; }
    .order-summary__section--total-lines .total-line__name .payment-due-label__taxes, .order-summary__tax-details .total-line__name .payment-due-label__taxes {
      font-weight: normal;
      font-size: 12px; }
      .order-summary__section--total-lines .total-line__name .payment-due-label__taxes > span, .order-summary__tax-details .total-line__name .payment-due-label__taxes > span {
        color: #810041; }
  .order-summary__section--total-lines .total-line__amount, .order-summary__tax-details .total-line__amount {
    color: #810041; }

.order-summary__tax-details {
  padding: 0 20px 20px;
  margin-bottom: 20px; }
  .order-summary__tax-details .details {
    display: block; }

.order-summary__section--total {
  padding: 10px 0;
  border-top: 1px solid #EEE;
  border-bottom: 1px solid #333;
  font-family: "Roboto Regular", Arial, sans;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 1.5px; }

.total-line__price {
  width: 10%;
  text-align: right;
  font-family: "Roboto Regular", Arial, sans;
  font-size: 18px; }

.order-summary__small-text {
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  text-transform: none;
  letter-spacing: 0; }

.checkout__form .section {
  margin-bottom: 10px; }

.checkout__form .field__caret {
  display: none; }

.checkout__form .section__title, .checkout__form .content-box__header__title h3,
.checkout__form .step[data-step="review"] .content-box h3 {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  margin-bottom: 10px;
  text-transform: capitalize; }

.checkout__form .payment-method-list {
  margin-bottom: 20px; }

.checkout__form .content-box__header {
  overflow: hidden; }
  .checkout__form .content-box__header .content-box__header__title {
    float: left; }
  .checkout__form .content-box__header .content-box__header__action {
    float: right; }
    .checkout__form .content-box__header .content-box__header__action a {
      text-transform: uppercase;
      color: #810041;
      letter-spacing: 1.5px;
      font-family: "Roboto Regular", Arial, sans;
      font-size: 14px; }

.checkout__form label[for="checkout_buyer_accepts_marketing"] {
  font-family: "Roboto Regular", Arial, sans;
  font-size: 14px; }

.checkout__form .content-box__row--no-border {
  margin-top: 40px; }

.checkout__form .content-box__hr {
  display: none; }

.checkout__form .field__input-wrapper {
  font-size: 0; }
  .checkout__form .field__input-wrapper label {
    margin-bottom: 10px; }
  .checkout__form .field__input-wrapper input, .checkout__form .field__input-wrapper select, .checkout__form .field__input-wrapper .field__input--iframe-container {
    background: #f5f5f5;
    border-radius: 5px;
    border: none;
    font: 18px/18px "Roboto Regular", Arial, sans;
    vertical-align: middle; }
  .checkout__form .field__input-wrapper input {
    padding: 10px; }

.checkout__form .field {
  overflow: visible; }

@media (min-width: 62em) {
  .checkout__form .field--half {
    padding: 0 10px 0 0 !important; }
    .checkout__form .field--half + .field--half {
      padding-right: 0 !important; } }

.checkout__form .radio-wrapper {
  display: flex;
  margin-bottom: 10px; }
  .checkout__form .radio-wrapper .radio__input {
    display: inline-block;
    vertical-align: middle; }
    .checkout__form .radio-wrapper .radio__input input {
      width: auto;
      padding: 0; }
    .checkout__form .radio-wrapper .radio__input input[type="radio"] {
      margin: 0 9px 0 1px;
      vertical-align: middle; }
  .checkout__form .radio-wrapper .radio__label {
    font-size: 14px; }
    .checkout__form .radio-wrapper .radio__label .radio__label__accessory {
      color: #810041; }

.checkout__form .radio__label {
  display: inline-block; }

@media (min-width: 48em) and (max-width: 61.99em) {
  .checkout__form .field--half {
    width: 100% !important;
    padding: 0 !important; } }

@media (max-width: 47.99em) {
  .checkout__form .field__input-wrapper label {
    width: 100% !important;
    text-align: left; }
  .checkout__form .field__input-wrapper input, .checkout__form .field__input-wrapper select, .checkout__form .field__input-wrapper .field__input--iframe-container {
    width: 100% !important; } }

[data-step="payment_method"] .checkbox__input {
  float: left;
  margin: 0 10px 10px 0;
  width: 20px; }

[data-step="payment_method"] .review-block {
  display: none; }

.customer-logged-in [data-step="payment_method"] .checkbox-wrapper {
  display: none; }

[data-step="contact_information"] .checkbox-wrapper {
  display: none; }

.logged-in-customer-information__paragraph {
  margin-bottom: 20px; }
  .logged-in-customer-information__paragraph br {
    display: none; }
  .logged-in-customer-information__paragraph a {
    float: right;
    display: none; }

.section--payment-method .tooltip {
  margin: 5px 0;
  display: inline-block; }
  .section--payment-method .tooltip span[data-cvv-tooltip='unknown'] {
    display: none; }
  .section--payment-method .tooltip span[data-cvv-tooltip='other'].hidden, .section--payment-method .tooltip .content-box__row.content-box__row--secondary span.total-line-table[data-cvv-tooltip='other'], .content-box__row.content-box__row--secondary .section--payment-method .tooltip span.total-line-table[data-cvv-tooltip='other'] {
    display: block; }

.section--payment-method [data-credit-card='cvv'] {
  margin-top: 1.1em; }
  @media (min-width: 48em) {
    .section--payment-method [data-credit-card='cvv'] {
      margin-top: 0; } }

.section--payment-method .notice--warning .notice__icon,
.section--payment-method .notice--error .notice__icon {
  display: none; }

.section--payment-method .content-box {
  display: flex;
  flex-wrap: wrap; }

.section--payment-method .content-box__row {
  order: 0;
  flex-grow: 1; }
  .section--payment-method .content-box__row.radio-wrapper {
    background-color: #eee;
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 38px;
    margin: 10px 0;
    padding: 5px 10px;
    width: 100%;
    flex: 1;
    flex-grow: 1; }
    @media (min-width: 48em) {
      .section--payment-method .content-box__row.radio-wrapper {
        margin: 10px 0 10px 20px;
        max-width: 250px;
        height: auto; } }
    .section--payment-method .content-box__row.radio-wrapper:first-child {
      margin-left: 0; }
      @media (max-width: 30.0525em) {
        .section--payment-method .content-box__row.radio-wrapper:first-child {
          flex-grow: 2; } }
    .section--payment-method .content-box__row.radio-wrapper .field--half {
      padding-right: 0; }
  .section--payment-method .content-box__row.content-box__row--secondary {
    background-color: transparent;
    display: block;
    height: auto;
    margin: 20px 0 0;
    max-width: 100%;
    padding: 0;
    flex: auto; }
    @media (min-width: 48em) {
      .section--payment-method .content-box__row.content-box__row--secondary {
        margin: 30px 0 0; } }
    .section--payment-method .content-box__row.content-box__row--secondary.hidden, .section--payment-method .checkout-success__sections div.content-box__row.content-box__row--secondary[data-order-updates], .checkout-success__sections .section--payment-method div.content-box__row.content-box__row--secondary[data-order-updates], .section--payment-method .content-box__row.content-box__row--secondary .content-box__row.content-box__row--secondary.total-line-table, .content-box__row.content-box__row--secondary .section--payment-method .content-box__row.content-box__row--secondary.total-line-table {
      display: none; }

.section--payment-method .content-box__row--secondary {
  order: 1; }

.section--payment-method .field--half {
  float: none !important;
  width: 100% !important;
  padding: 0; }

.section--payment-method .field--quarter {
  float: left;
  width: 50%;
  clear: none;
  padding-right: 10px; }

@media (min-width: 48em) and (max-width: 61.99em) {
  .section--payment-method .field--quarter {
    width: 100% !important; } }

@media (max-width: 47.99em) {
  .section--payment-method .field--quarter {
    width: 100% !important; }
  .section--payment-method .field__input-wrapper label {
    width: 100% !important;
    text-align: left; }
  .section--payment-method .field__input-wrapper input, .section--payment-method .field__input-wrapper select, .section--payment-method .field__input-wrapper .field__input--iframe-container {
    width: 100% !important; } }

.section--payment-method .radio__input {
  display: inline-block; }
  .section--payment-method .radio__input input {
    width: auto;
    padding: 0; }
  .section--payment-method .radio__input input[type="radio"] {
    margin: 0 9px 0 0; }
    @media (min-width: 30.0625em) {
      .section--payment-method .radio__input input[type="radio"] {
        margin: 0 20px 0 0; } }

.section--payment-method .radio__label {
  display: inline-block; }

select {
  padding: 6px 10px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  display: block;
  width: 100%;
  background: #FFF;
  border: none;
  border: 1px solid #aaa;
  color: #333;
  border-radius: 0;
  height: 44px; }

/* :( */
div.section--payment-method > div.section__content > div > div.content-box > div.radio-wrapper:nth-child(1) {
  display: none; }

@media (min-width: 48em) {
  .section--billing-address [data-country-section], .section--shipping-address [data-country-section] {
    padding-left: 0; }
    .section--billing-address [data-country-section].field--three-eights, .section--shipping-address [data-country-section].field--three-eights {
      padding-right: 0; }
  .section--billing-address [data-zip-section], .section--shipping-address [data-zip-section] {
    padding-left: 10px;
    padding-right: 0; }
    .section--billing-address [data-zip-section].field--quarter, .section--shipping-address [data-zip-section].field--quarter {
      padding-left: 0; } }

.section--shipping-address {
  margin-top: 50px; }
  @media (max-width: 47.99em) {
    .section--shipping-address {
      margin-top: 100px; } }

.section__header .section__text {
  font: 12px/18px "Roboto Regular", Arial, sans;
  margin-bottom: 10px; }

.radio-wrapper {
  font: 12px/18px "Roboto Regular", Arial, sans;
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase; }

.offsite-payment-gateway-logo {
  height: 22px;
  transform: translateY(2px); }

.checkout__form {
  font: 12px/18px "Roboto Regular", Arial, sans; }
  @media (min-width: 48em) {
    .checkout__form {
      margin-bottom: 30px; } }
  .checkout__form p {
    margin-bottom: 10px; }
  .checkout__form .section--optional {
    margin-bottom: 20px; }

.os-header__hanging-icon {
  display: none; }

.content-box h3 {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.checkout-success {
  display: none;
  font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif;
  margin-bottom: 40px; }
  .checkout-success.is-visible {
    display: block; }
  .checkout-success p {
    font: 18px/18px "Roboto Regular", Arial, sans;
    margin-bottom: 20px;
    line-height: 1.6; }
  .checkout-success h2 {
    font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
    text-align: center; }

.checkout-success__btn {
  text-align: center;
  background: #f5f5f5;
  padding: 20px; }
  .checkout-success__btn .btn--purchase, .checkout-success__btn .step__footer__continue-btn, .checkout-success__btn .order-summary__section--discount .field__input-btn, .order-summary__section--discount .checkout-success__btn .field__input-btn {
    margin-bottom: 20px; }
  .checkout-success__btn p:last-of-type {
    margin-bottom: 0;
    font-weight: bold; }
  .checkout-success__btn .icon-down-arrow {
    margin-left: 5px; }

.checkout-success__sections {
  font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif; }
  .checkout-success__sections .os-order-number {
    font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .checkout-success__sections .os-header__title {
    margin-top: 20px;
    font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .checkout-success__sections .content-box {
    margin-bottom: 40px; }
  .checkout-success__sections h2 {
    font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    .checkout-success__sections h2.os-step__title {
      font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif;
      font-weight: bold; }
  .checkout-success__sections h3 {
    margin-top: 20px;
    font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif;
    font-weight: bold; }
  .checkout-success__sections p {
    font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif; }
  .checkout-success__sections .shipment-information__image {
    padding-right: 20px; }
    .checkout-success__sections .shipment-information__image .product-thumbnail__wrapper {
      display: none; }
  @media (max-width: 30.0525em) {
    .checkout-success__sections .shipment-information__title {
      display: block;
      overflow: hidden;
      width: 65vw; } }

.checkout-success__image picture,
.checkout-success__image img {
  width: 100%;
  display: block; }

/* TODO this may be broken */
#checkout .section__content__text {
  display: none; }

.checkout__note {
  margin-bottom: 20px; }
  .checkout__note p {
    display: inline-block; }

.checkout__note--general-terms {
  padding-top: 15px; }
  .shop-USD .checkout__note--general-terms {
    font: 14px/18px "Roboto Regular", Arial, sans;
    font-weight: bold;
    color: #810041; }
    .shop-USD .checkout__note--general-terms a {
      color: #810041; }

.order-summary__scroll-indicator {
  display: none; }

.field__input--iframe-container {
  padding: 3px 0 0;
  font: 20px / 24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  display: block;
  width: 100%;
  background: #FFF;
  border: 1px solid #AAA;
  color: #333;
  border-radius: 0;
  height: 38px; }
  .field__input--iframe-container iframe {
    width: 100%;
    padding: 0;
    height: 50px;
    margin-top: -6px;
    transition: margin-top 0s;
    transition-delay: 0.07s; }
  @media (min-width: 18.75em) and (max-width: 24.5625em) {
    .field__input--iframe-container[data-card-field-placeholder='CVV'] {
      margin-top: 1.1em; } }

.field--show-floating-label .field__input--iframe-container iframe {
  margin-top: -13px; }

.card-fields .field__message.field__message--error {
  outline: 2px solid #ca0404; }

.card-fields .credit_card_verification_value_tooltip {
  display: inline-block;
  margin: 5px 0; }

.checkout__basket-header-text--gifting-details {
  margin: 50px 0 10px 0;
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.cart__gifting-details.confirmation.confirmation {
  display: flex;
  padding-top: 20px; }

.cart__gifting-details.confirmation .cart__gifting-details__half {
  width: 50%; }

.cart__gifting-details.confirmation .field__label {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #000; }
  @media (min-width: 90.625em) {
    .cart__gifting-details.confirmation .field__label {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.cart__gifting-details.confirmation .field__value {
  color: rgba(0, 0, 0, 0.6);
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  overflow-wrap: break-word; }

.section--reductions.hidden-on-desktop {
  display: none; }

.order-summary__section--discount {
  padding-top: 40px; }
  .order-summary__section--discount .field__input-btn {
    float: left; }
  .order-summary__section--discount .field__input {
    margin: 10px 0 20px 0; }

.th-wizarding-world .order-summary__section--total-lines .total-line__name .payment-due-label__taxes > span, .th-wizarding-world .order-summary__tax-details .total-line__name .payment-due-label__taxes > span {
  color: #003e51; }

.th-wizarding-world .order-summary__section--total-lines .total-line__amount, .th-wizarding-world .order-summary__tax-details .total-line__amount {
  color: #003e51; }

.th-wizarding-world .checkout__form .content-box__header .content-box__header__action a {
  color: #003e51; }

.th-wizarding-world .checkout__form .radio-wrapper .radio__label .radio__label__accessory {
  color: #003e51; }

#partial-icon-symbols {
  display: none; }

.shop-nav {
  width: 100%;
  border: none;
  margin-bottom: 0;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: bold; }
  @media (min-width: 90.625em) {
    .shop-nav {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  @media (max-width: 74.99em) {
    .shop-nav {
      margin: 60px auto 80px auto;
      width: 90%;
      transition: max-height 1s ease-in-out;
      height: auto;
      max-height: 50px;
      transition-delay: 0;
      overflow: hidden;
      padding: 0; } }
  .shop-nav.open {
    max-height: 100%; }
  .shop-nav li {
    margin-bottom: 0;
    display: inline-block;
    position: relative; }
    @media (max-width: 74.99em) {
      .shop-nav li {
        border-top: 1px solid #FFF;
        display: block; } }
    .shop-nav li a, .shop-nav li a:hover {
      border-color: #fff;
      outline: 0; }
  .shop-nav li.shop-nav__toggle {
    display: none; }
    @media (max-width: 74.99em) {
      .shop-nav li.shop-nav__toggle {
        display: block;
        position: relative; }
        .shop-nav li.shop-nav__toggle a, .shop-nav li.shop-nav__toggle a:hover {
          color: #fff; }
        .shop-nav li.shop-nav__toggle :after {
          content: '';
          display: inline-block;
          width: 0;
          height: 0;
          border: 5px solid transparent;
          border-top: 5px solid #fff;
          transform: translateY(-30%);
          top: 50%;
          position: absolute;
          right: 15px; } }
  @media (min-width: 75em) {
    .shop-nav li {
      border-top: none; } }

@media (max-width: 74.99em) {
  .mobile_visible {
    display: none !important; } }

@media (min-width: 75em) {
  .mobile_invisible {
    display: none !important; } }

@media (max-width: 74.99em) {
  .has-submenu {
    transition: max-height 1s ease-in-out;
    height: auto;
    max-height: 50px;
    overflow: hidden;
    transition-delay: 0s; }
    .has-submenu.open {
      max-height: 1000px; }
    .has-submenu > a {
      position: relative; }
      .has-submenu > a:after {
        content: '';
        display: inline-block;
        width: 0;
        height: 0;
        border: 5px solid transparent;
        border-top: 5px solid #fff;
        transform: translateY(-30%);
        top: 50%;
        position: absolute;
        right: 15px; }
    .has-submenu ul li a {
      color: #FFF;
      display: block;
      line-height: 50px;
      text-decoration: none;
      transition: border .35s ease-out, transform .35s ease-out; } }
    @media (max-width: 74.99em) and (max-width: 74.99em) {
      .has-submenu ul li a:hover {
        color: #fff; } }

@media (min-width: 75em) {
  .has-submenu:hover > a {
    border-bottom: 1px solid #FFF; }
  .has-submenu:hover ul {
    opacity: 1;
    top: 41px;
    max-height: 1000px;
    transition-delay: 0.3s; }
  .has-submenu ul {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    min-width: 150px;
    z-index: 10;
    padding: 10px;
    transition: all 0.25s ease;
    overflow: hidden;
    opacity: 0;
    max-height: 0; }
    .has-submenu ul li {
      display: block; }
      .has-submenu ul li.submenu-all {
        display: none; }
      .has-submenu ul li a {
        display: block;
        text-align: center;
        color: white;
        text-transform: none;
        padding: 5px;
        text-decoration: none;
        border-radius: 5px;
        font-weight: normal;
        font-size: 12px; } }

.shop-nav__link {
  color: #FFF;
  display: block;
  line-height: 50px;
  text-decoration: none;
  transition: border .35s ease-out, transform .35s ease-out; }
  @media (min-width: 75em) {
    .shop-nav__link {
      display: inline-block;
      margin: 0 10px;
      line-height: 40px; }
      .shop-nav__link:hover,
      .shop-nav--active .shop-nav__link {
        border-bottom: 1px solid #FFF; } }

.shop-nav__label {
  display: none; }
  @media (max-width: 74.99em) {
    .shop-nav__label {
      display: block;
      font: 12px/18px "Roboto Regular", Arial, sans;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      line-height: 50px;
      margin: -49px auto 0;
      width: 90%; } }
  @media (max-width: 74.99em) and (min-width: 90.625em) {
    .shop-nav__label {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

@media (max-width: 74.99em) {
  .th-wizarding-world .shop-nav li {
    border-color: transparent; } }

@media (max-width: 74.99em) {
  .th-wizarding-world .shop-nav li.shop-nav__toggle a, .th-wizarding-world .shop-nav li.shop-nav__toggle a:hover {
    background-color: #002b39; } }

.th-wizarding-world .has-submenu ul {
  margin-left: 10px; }

.th-wizarding-world div.mobile_visible .has-submenu ul {
  margin: unset;
  background: #002b39; }
  .th-wizarding-world div.mobile_visible .has-submenu ul li a {
    border-radius: 0; }
    .th-wizarding-world div.mobile_visible .has-submenu ul li a:hover {
      background: #003e51; }

@media (min-width: 75em) {
  .th-wizarding-world .shop-nav__link {
    border-bottom: 1px solid #002b39; } }

@media (min-width: 75em) {
  .th-wizarding-world li.primary-navigation__item:hover, .th-wizarding-world li.primary-navigation__item.active {
    border-color: transparent; } }

.paper {
  margin-bottom: 1.69492%;
  padding: 10.22794% 5.26316%;
  background-color: white;
  color: #333; }
  @media (min-width: 48em) {
    .paper {
      padding-top: 8.47458%;
      padding-bottom: 8.47458%;
      padding-left: 16.94915%;
      padding-right: 16.94915%; } }

.paper--gutterless {
  margin-bottom: 0;
  width: 100%; }

.link-text {
  height: 1px;
  width: 1px;
  position: absolute;
  overflow: hidden;
  top: -10000em; }

.overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  z-index: 20;
  background-color: #e8e8e3;
  overflow-y: scroll; }
  @media (min-width: 62em) {
    .overlay {
      transition: none; } }
  @media (min-width: 62em) {
    .header.is-open .overlay {
      transition: none; } }

.header__pane--discover.is-open .overlay--discover {
  overflow: auto; }

.overlay--navigation:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  content: '';
  background: linear-gradient(to top, #05143c 30%, rgba(5, 20, 60, 0) 75%), url("https://www.pottermore.com/assets/img/starry-night.lrg.portrait.png") top center no-repeat, #05143c;
  background-size: 100%; }
  @media (min-width: 75em) {
    .overlay--navigation:before {
      background: none; } }
  @media screen and (orientation: landscape) {
    .overlay--navigation:before {
      background: linear-gradient(to top, #05143c 30%, rgba(5, 20, 60, 0) 75%), url("https://www.pottermore.com/assets/img/starry-night.lrg.landscape.png") top center no-repeat, #05143c;
      background-size: 100%; } }
  @media screen and (orientation: landscape) and (min-width: 75em) {
    .overlay--navigation:before {
      background: none; } }

.header__pane--navigation.is-open .overlay--navigation {
  height: 100%; }

.overlay__toggle {
  display: inline-flex;
  position: relative;
  height: 20px;
  top: 20px;
  left: 22.5px;
  align-items: center;
  color: #333;
  cursor: pointer;
  text-decoration: none;
  z-index: 9000; }
  .overlay__toggle > span {
    display: inline-block;
    margin: 9px 0;
    position: relative;
    font-size: 0;
    height: 2px;
    width: 20px;
    background-color: rgba(51, 51, 51, 0);
    opacity: 1; }
    .overlay__toggle > span:before, .overlay__toggle > span:after {
      display: inline-block;
      position: absolute;
      left: 0;
      content: '';
      height: 2px;
      width: 20px;
      transform-origin: right center;
      background-color: #333; }
    .overlay__toggle > span:before {
      top: -7px;
      transform: translateX(-3px) rotate(-45deg); }
    .overlay__toggle > span:after {
      bottom: -7px;
      transform: translateX(-3px) rotate(45deg); }
  .overlay__toggle:after {
    font: 10px/18px "Roboto Regular", Arial, sans;
    letter-spacing: 1.5px;
    text-transform: uppercase; }
    @media (min-width: 90.625em) {
      .overlay__toggle:after {
        font-size: 12px;
        line-height: 20px;
        letter-spacing: 2.5px; } }
    @media (min-width: 90.625em) {
      .overlay__toggle:after {
        font-size: 10px;
        line-height: 18px;
        letter-spacing: 1.5px; } }
  @media (min-width: 48em) {
    .overlay__toggle {
      top: 34px;
      left: 40px; }
      .overlay__toggle:after {
        margin-left: 16px;
        content: 'Close'; } }

.overlay__toggle--navigation {
  color: #fff; }
  .overlay__toggle--navigation > span {
    display: inline-block;
    margin: 9px 0;
    position: relative;
    font-size: 0;
    height: 2px;
    width: 20px;
    background-color: rgba(255, 255, 255, 0);
    opacity: 1; }
    .overlay__toggle--navigation > span:before, .overlay__toggle--navigation > span:after {
      display: inline-block;
      position: absolute;
      left: 0;
      content: '';
      height: 2px;
      width: 20px;
      transform-origin: right center;
      background-color: #fff; }
    .overlay__toggle--navigation > span:before {
      top: -7px;
      transform: translateX(-3px) rotate(-45deg); }
    .overlay__toggle--navigation > span:after {
      bottom: -7px;
      transform: translateX(-3px) rotate(45deg); }

.overlay__logo {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%); }
  .overlay__logo > svg {
    width: 100px;
    height: 39px; }
  .overlay__logo .header__logo__svg {
    background: url("/assets/img/logo-dark.svg") no-repeat; }
  .overlay__logo .header__logo__icon-logo {
    color: #333; }

.overlay__logo--light > svg {
  fill: white; }

.overlay__body {
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  bottom: 22.5px;
  padding: 0 22.5px;
  overflow: auto;
  transition: margin 0.5s, visibility 0s; }
  @media (min-width: 48em) {
    .overlay__body {
      top: 86px;
      padding-top: 10px; } }
  @media (min-width: 62em) {
    .overlay__body {
      left: 40px;
      right: 40px;
      color: #333;
      border: 0; } }
  @media (min-width: 90.625em) {
    .overlay__body {
      top: 98px; } }
  .header__pane--navigation.is-open .overlay__body {
    transition: margin 0.5s, visibility 0s; }

.header__pane--discover.is-open .overlay__body--discover {
  visibility: visible; }

.overlay__body--discover input {
  border-radius: 0px; }

.header__pane--search.is-open .overlay__body--search {
  visibility: visible; }

.overlay__body--search input {
  border-radius: 0px; }

.overlay__body--navigation {
  padding-top: 20px;
  color: #fff;
  transition-delay: 0s, 0.5s; }
  .header__pane--navigation.is-open .overlay__body--navigation {
    visibility: visible;
    transition-delay: 0s; }
  @media (orientation: landscape) {
    .overlay__body--navigation {
      padding-top: 0; } }
  @media (min-width: 62em) {
    .overlay__body--navigation {
      position: static;
      padding-top: 0;
      visibility: visible; }
      .overlay__body--navigation .ornament--no-divider {
        display: none; } }

.overlay__content {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  position: relative;
  min-height: calc(60vh - 65px);
  padding-top: 3.44828%; }
  @media (min-width: 48em) {
    .overlay__content {
      display: block;
      min-height: 0; } }

.overlay__content-heading {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .overlay__content-heading {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      width: 66.10169%;
      margin: 5px auto 0; } }
  @media (min-width: 62em) {
    .overlay__content-heading {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .overlay__content-heading {
      font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.overlay__content-text {
  display: block;
  padding: 0 1.69492%;
  margin: 11px auto 0;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .overlay__content-text {
      max-width: 66.10169%; } }
  .overlay__content-text > p em {
    font-style: italic; }
  .overlay__content-text > a {
    color: #333; }
  .overlay__content-text.overlay__content-text--warning {
    color: #ca0404;
    font-weight: bold; }
    .overlay__content-text.overlay__content-text--warning a {
      color: #ca0404; }

.header--wizarding-world .header__pane {
  position: absolute;
  top: 0;
  bottom: auto;
  left: 0;
  right: 0; }

.header--wizarding-world .overlay {
  background: url("/assets/img/metal-bg-768px.jpg") top center repeat-y #022028;
  height: 100vh;
  width: 100%; }
  @media (min-width: 62em) {
    .header--wizarding-world .overlay {
      background-image: url("/assets/img/metal-bg-1200px.jpg"); } }
  .header--wizarding-world .overlay:before {
    background: transparent; }

.header--wizarding-world .overlay__header--wrapper {
  position: relative; }

.header--wizarding-world .overlay__header {
  background: url("/assets/img/metal-bg-768px.jpg") top center repeat-y #022028;
  position: fixed;
  z-index: 1;
  height: 65px;
  top: 0;
  left: 0;
  right: 0;
  padding: 0 12px; }
  @media (min-width: 62em) {
    .header--wizarding-world .overlay__header {
      background-image: url("/assets/img/metal-bg-1200px.jpg"); } }

.header--wizarding-world .overlay__toggle {
  border-bottom: 1px solid #304c53;
  cursor: default;
  display: flex;
  height: 65px;
  width: 100%;
  top: 0;
  left: auto;
  padding: 10px 0; }
  .header--wizarding-world .overlay__toggle .header__toggle {
    color: #fff;
    margin: 0 0 0 10px; }
  @media (min-width: 48em) {
    .header--wizarding-world .overlay__toggle:after {
      content: '';
      margin-left: 0; } }

.header--wizarding-world .overlay__toggle-container {
  position: relative;
  display: flex;
  justify-content: flex-end;
  width: 100%; }

.header--wizarding-world .overlay__toggle--close {
  color: #fff;
  padding: 0 15px 0;
  margin-left: -15px; }
  .header--wizarding-world .overlay__toggle--close .icon-close {
    font-size: 25px; }
  .header--wizarding-world .overlay__toggle--close:hover {
    cursor: pointer; }

.header--wizarding-world .overlay__body {
  padding-left: 0;
  padding-right: 0;
  position: static;
  top: auto;
  bottom: auto; }
  @media (min-width: 62em) {
    .header--wizarding-world .overlay__body {
      left: auto;
      right: auto; } }

@media (min-width: 48em) {
  .header--wizarding-world .overlay__body--navigation {
    padding-top: 30px; } }

@media (min-width: 75em) {
  .header--wizarding-world .overlay__body--navigation {
    position: relative; } }

.header--wizarding-world .overlay__body--navigation .primary-navigation__list {
  margin-top: 20px; }

.header--wizarding-world .overlay__body--navigation .primary-navigation__link {
  padding-top: 15px;
  position: relative;
  vertical-align: top;
  transition: all .5s; }
  .header--wizarding-world .overlay__body--navigation .primary-navigation__link:before {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    opacity: 0.7;
    height: 45px;
    width: 285px;
    z-index: -1; }
  .header--wizarding-world .overlay__body--navigation .primary-navigation__link:hover, .header--wizarding-world .overlay__body--navigation .primary-navigation__link:active {
    margin-left: 12px;
    border-bottom: 2px solid transparent;
    transition: all .5s; }

.header--wizarding-world .overlay__body--search,
.header--wizarding-world .overlay__body--discover {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin-top: 65px;
  position: absolute; }

.header--wizarding-world .overlay__header [class^="icon-"] {
  color: white; }

.header--wizarding-world .header__pane--search,
.header--wizarding-world .header__pane--discover {
  z-index: 41; }
  .header--wizarding-world .header__pane--search .overlay__header,
  .header--wizarding-world .header__pane--discover .overlay__header {
    right: 0;
    left: 0; }

.wizarding-world-overrides .overlay .ww-logo__container {
  width: 152px;
  height: 38px;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 15px; }
  @media (min-width: 48em) {
    .wizarding-world-overrides .overlay .ww-logo__container {
      width: 226px;
      height: 57px; } }

.wizarding-world-overrides .overlay .ww-logo {
  display: block;
  font-size: 38px;
  color: #333;
  background: none; }
  @media (min-width: 48em) {
    .wizarding-world-overrides .overlay .ww-logo {
      font-size: 57px; } }

.wizarding-world-overrides .overlay .header__toggle .icon-search {
  line-height: 1.8;
  margin-top: 0; }

.header--wizarding-world {
  height: 65px;
  width: 100%; }
  .header--wizarding-world > input {
    display: none; }
  @media (min-width: 75em) {
    .header--wizarding-world {
      height: 100px; } }
  .header--wizarding-world .header__inner {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 30;
    transition: all 0.5s;
    transition-delay: 0.9s; }
    .header--wizarding-world .header__inner.header--darken {
      background: #003e51; }
    .header--wizarding-world .header__inner.is-hidden {
      top: -65px;
      transition: all 0.5s;
      transition-delay: 0.3s; }
      @media (min-width: 48em) {
        .header--wizarding-world .header__inner.is-hidden {
          top: -100px; } }
  .header--wizarding-world .header__container {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 65px;
    position: static;
    z-index: 30;
    align-content: center;
    justify-content: flex-end; }
    @media (min-width: 75em) {
      .header--wizarding-world .header__container {
        height: 100px;
        justify-content: normal; } }
    .header--wizarding-world .header__container.is-hidden {
      top: -65px; }
      @media (min-width: 75em) {
        .header--wizarding-world .header__container.is-hidden {
          top: -100px; } }
  .header--wizarding-world .is-showing-login .header__login {
    max-height: 295px; }
    @media (min-width: 48em) {
      .header--wizarding-world .is-showing-login .header__login {
        max-height: 95px; } }
    @media (min-width: 62em) {
      .header--wizarding-world .is-showing-login .header__login {
        max-height: 115px; } }
  .header--wizarding-world .header__login {
    width: 100%;
    padding: 0;
    max-height: 0;
    background: #e8e8e4;
    overflow: hidden; }
  .header--wizarding-world .header__login-form {
    padding: 20px;
    overflow: hidden; }
  .header--wizarding-world .header__content,
  .header--wizarding-world .header__mobile-menu {
    flex: 1; }
    @media (min-width: 75em) {
      .header--wizarding-world .header__content,
      .header--wizarding-world .header__mobile-menu {
        flex: auto; } }
  .header--wizarding-world .header__content {
    padding: 0 12px 0 0;
    position: relative;
    width: 36px; }
    @media (min-width: 75em) {
      .header--wizarding-world .header__content {
        padding: 0;
        width: 100%; } }
  .header--wizarding-world .header__toggle-container {
    display: flex;
    justify-content: flex-end; }
  .header--wizarding-world .header__navigation-container {
    display: flex;
    justify-content: flex-end; }
    @media (min-width: 75em) {
      .header--wizarding-world .header__navigation-container {
        position: absolute;
        bottom: 10px;
        right: 0; } }

.ww-logo__container {
  padding: 8px;
  width: 100%;
  text-align: center;
  flex: 1; }
  @media (min-width: 75em) {
    .ww-logo__container {
      flex: auto;
      margin: 15px 0;
      padding: 0;
      position: relative;
      width: 290px;
      text-align: left; } }

.ww-logo {
  text-decoration: none;
  color: #fff;
  height: 100%;
  font-size: 49px;
  background: none; }
  .ww-logo:visited, .ww-logo:focus, .ww-logo:hover, .ww-logo:active {
    color: #fff; }
  @media (min-width: 75em) {
    .ww-logo {
      height: auto;
      font-size: 60px;
      position: absolute;
      bottom: 0; } }

.header--wizarding-world .header__pane--navigation.is-open .header__toggle {
  display: block; }

.header--wizarding-world .header__pane--discover.is-open .header__toggle {
  display: block; }

.header--simple .ww-logo__container {
  text-align: center; }

@media (min-width: 75em) {
  .header--simple .ww-logo {
    position: static; } }

.header--wizarding-world .header__toggle {
  display: flex;
  height: 20px;
  align-items: center;
  cursor: pointer;
  transition: transform .5s .4s; }
  @media (min-width: 48em) {
    .header--wizarding-world .header__toggle {
      width: 30px;
      margin: 13px 10px 0 0; } }

.header--wizarding-world .header__mobile-menu {
  display: flex;
  align-items: center; }
  .header--wizarding-world .header__mobile-menu .header__toggle--navigation {
    margin: 0;
    padding: 18px 12px;
    display: block;
    width: auto;
    height: auto; }
    .header--wizarding-world .header__mobile-menu .header__toggle--navigation > span {
      border-radius: 1px;
      display: inline-block;
      margin: 14px 0;
      position: relative;
      font-size: 0;
      height: 2px;
      width: 30px;
      background-color: white;
      transition: background-color 0.25s;
      opacity: 1;
      display: block;
      margin: 0; }
      .header--wizarding-world .header__mobile-menu .header__toggle--navigation > span:before, .header--wizarding-world .header__mobile-menu .header__toggle--navigation > span:after {
        border-radius: 1px;
        display: inline-block;
        position: absolute;
        left: 0;
        content: '';
        height: 2px;
        width: 30px;
        background-color: white;
        transition: transform 0.5s;
        transform-origin: right center; }
      .header--wizarding-world .header__mobile-menu .header__toggle--navigation > span:before {
        top: -8px; }
      .header--wizarding-world .header__mobile-menu .header__toggle--navigation > span:after {
        bottom: -8px; }

.header--wizarding-world .header__toggle--discover,
.header--wizarding-world .header__toggle--search,
.header--wizarding-world .header__toggle--login,
.header--wizarding-world .header__toggle--profile,
.header--wizarding-world .header__toggle--cart {
  margin-left: 10px;
  height: auto;
  color: #fff;
  display: none;
  font: 10px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none; }
  @media (min-width: 90.625em) {
    .header--wizarding-world .header__toggle--discover,
    .header--wizarding-world .header__toggle--search,
    .header--wizarding-world .header__toggle--login,
    .header--wizarding-world .header__toggle--profile,
    .header--wizarding-world .header__toggle--cart {
      font-size: 12px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  .header--wizarding-world .header__toggle--discover [class^=icon-],
  .header--wizarding-world .header__toggle--search [class^=icon-],
  .header--wizarding-world .header__toggle--login [class^=icon-],
  .header--wizarding-world .header__toggle--profile [class^=icon-],
  .header--wizarding-world .header__toggle--cart [class^=icon-] {
    display: block;
    font-size: 25px; }
  @media (min-width: 75em) {
    .header--wizarding-world .header__toggle--discover,
    .header--wizarding-world .header__toggle--search,
    .header--wizarding-world .header__toggle--login,
    .header--wizarding-world .header__toggle--profile,
    .header--wizarding-world .header__toggle--cart {
      display: block;
      font-size: 10px;
      line-height: 18px; }
      .header--wizarding-world .header__toggle--discover [class^=icon-],
      .header--wizarding-world .header__toggle--search [class^=icon-],
      .header--wizarding-world .header__toggle--login [class^=icon-],
      .header--wizarding-world .header__toggle--profile [class^=icon-],
      .header--wizarding-world .header__toggle--cart [class^=icon-] {
        float: right;
        font-size: 20px; } }
  @media (min-width: 90.625em) {
    .header--wizarding-world .header__toggle--discover,
    .header--wizarding-world .header__toggle--search,
    .header--wizarding-world .header__toggle--login,
    .header--wizarding-world .header__toggle--profile,
    .header--wizarding-world .header__toggle--cart {
      letter-spacing: 1.5px; } }

.header--wizarding-world .header__toggle--search {
  font-size: 20px;
  display: block;
  margin-top: 0; }
  @media (min-width: 75em) {
    .header--wizarding-world .header__toggle--search {
      margin-top: 13px; } }
  .header--wizarding-world .header__toggle--search .icon-search {
    margin-top: 21.66667px;
    line-height: 1;
    font-size: 25px; }
    @media (min-width: 75em) {
      .header--wizarding-world .header__toggle--search .icon-search {
        font-size: 20px;
        margin-top: 0;
        line-height: 1.8; } }

.header--wizarding-world .header__toggle--discover > svg {
  stroke: #fff;
  stroke-width: 5;
  fill: none;
  height: 30px;
  width: 30px; }

.header--wizarding-world .header__toggle--discover > span {
  display: none; }

.header--wizarding-world .header__toggle-text {
  display: none; }

.home .header__logo .header__logo__icon-logo {
  color: #fff; }

.header__logo__svg {
  background: url("/assets/img/logo-light.svg") no-repeat;
  display: inline-block;
  margin-top: 11px;
  width: 100px;
  height: 39px;
  transition: background 0.5s; }
  @media (min-width: 48em) {
    .header__logo__svg {
      margin-top: 15px;
      width: 152px;
      height: 57px; } }
  @media (min-width: 62em) {
    .header__logo__svg {
      transition-delay: 0s, 0s, 0s; } }
  @media (min-width: 90.625em) {
    .header__logo__svg {
      height: 60px; } }

.header__pane--discover.is-open .header__logo__svg {
  background: url("/assets/img/logo-dark.svg") no-repeat; }

.header__pane--navigation.is-open .header__logo__svg {
  background: url("/assets/img/logo-light.svg") no-repeat; }

.header.is-open .header__logo__svg {
  transition-delay: 0s, 0s, 0s; }

.header__logo__icon-logo {
  font-size: 38px;
  background: none;
  margin-top: 15px;
  display: inline-block;
  transition: color 0.5s; }
  @media (min-width: 48em) {
    .header__logo__icon-logo {
      margin-top: 15px;
      width: 152px;
      height: 57px;
      font-size: 57px; } }
  @media (min-width: 62em) {
    .header__logo__icon-logo {
      transition-delay: 0s, 0s, 0s; } }

.header__pane--discover.is-open .header__logo__icon-logo {
  color: #333; }

.header__pane--navigation.is-open .header__logo__icon-logo {
  color: #fff; }

.header.is-open .header__logo__icon-logo {
  transition-delay: 0s, 0s, 0s; }

.header--old.header {
  height: 65px;
  width: 100%;
  transition: all 0.5s; }
  .header--old.header > input {
    display: none; }
  @media (min-width: 48em) {
    .header--old.header {
      height: 86px; } }
  @media (min-width: 75em) {
    .header--old.header {
      height: 121px; } }
  @media (min-width: 90.625em) {
    .header--old.header {
      height: 133px; } }

.header--old .header__inner {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 30;
  transition: all 0.5s;
  transition-delay: 0.9s; }
  .header--old .header__inner.is-hidden {
    top: -65px;
    transition: all 0.5s;
    transition-delay: 0.3s; }
    @media (min-width: 48em) {
      .header--old .header__inner.is-hidden {
        top: -86px; } }
    @media (min-width: 62em) {
      .header--old .header__inner.is-hidden {
        top: -121px; } }
    @media (min-width: 90.625em) {
      .header--old .header__inner.is-hidden {
        top: -136px; } }

.header--old .is-showing-login .header__login {
  max-height: 295px; }
  @media (min-width: 48em) {
    .header--old .is-showing-login .header__login {
      max-height: 95px; } }
  @media (min-width: 62em) {
    .header--old .is-showing-login .header__login {
      max-height: 115px; } }

.header--old .header__login {
  width: 100%;
  padding: 0;
  max-height: 0;
  background: #e8e8e4;
  overflow: hidden;
  transition: 0.25s max-height cubic-bezier(0.77, 0, 0.175, 1); }

.header--old .header__login-form {
  padding: 20px;
  overflow: hidden; }

.header--old .header__menu {
  position: relative;
  height: 65px;
  text-align: center;
  z-index: 30;
  transition: height 0.5s, background 0.25s;
  transition-delay: 0s, 0.5s; }
  @media (min-width: 48em) {
    .header--old .header__menu {
      height: 86px; } }
  @media (min-width: 62em) {
    .header--old .header__menu {
      transition-delay: 0s; } }
  @media (min-width: 90.625em) {
    .header--old .header__menu {
      height: 98px; } }

.header--old .header.is-open .header__menu {
  transition-delay: 0s;
  background-color: transparent !important;
  pointer-events: none; }

.header--old .header--darken__menu {
  background: #000; }

.header--old .header__toggle {
  display: flex;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  height: 20px;
  align-items: center;
  cursor: pointer;
  transition: transform .5s .4s; }
  @media (min-width: 48em) {
    .header--old .header__toggle:before {
      font: 10px/18px "Roboto Regular", Arial, sans;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #fff; } }
  @media (min-width: 48em) and (min-width: 90.625em) {
    .header--old .header__toggle:before {
      font-size: 12px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  @media (min-width: 90.625em) {
    .header--old .header__toggle:before {
      font-size: 10px;
      line-height: 18px;
      letter-spacing: 1.5px; } }

.header--old .header.is-open .header__toggle {
  transition: transform .25s 0s;
  transform: translateY(-100px); }

.header--old .header__toggle--search {
  left: 22.5px;
  font-size: 20px;
  flex-direction: row-reverse;
  color: #fff; }
  @media (min-width: 48em) {
    .header--old .header__toggle--search {
      left: 40px; }
      .header--old .header__toggle--search:before {
        margin-left: 16px;
        content: 'Search'; } }
  @media (min-width: 75em) {
    .header--old .header__toggle--search {
      left: 40px; } }

.header--old .header__toggle--discover {
  left: 22.5px;
  flex-direction: row-reverse;
  color: #fff; }
  .header--old .header__toggle--discover > svg, .header--old .header__toggle--discover .header__logo__svg {
    stroke: #fff;
    stroke-width: 5;
    fill: none;
    height: 30px;
    width: 30px;
    position: absolute;
    top: -5px;
    left: -5px; }
  .header--old .header__toggle--discover > span {
    display: inline-block;
    position: relative;
    top: 9px;
    height: 20px;
    width: 20px;
    font-size: 0;
    transform: translateY(-10px) rotate(-60deg);
    transition: all .5s; }
    .header--old .header__toggle--discover > span:before, .header--old .header__toggle--discover > span:after {
      position: absolute;
      display: block;
      content: '';
      top: 50%;
      left: 50%;
      opacity: 0; }
    .header--old .header__toggle--discover > span:before {
      margin-top: -2.5px;
      margin-left: -5px;
      height: 2.5px;
      width: 6px;
      border: 2px solid #fff;
      border-width: 1px 2px;
      transform: skew(62deg); }
    .header--old .header__toggle--discover > span:after {
      margin-top: -2px;
      margin-left: -0.5px;
      height: 4px;
      width: 1px;
      background-color: #fff;
      transform: rotate(16deg); }
  @media (min-width: 48em) {
    .header--old .header__toggle--discover {
      left: 40px; }
      .header--old .header__toggle--discover:before {
        margin-left: 16px;
        content: 'Discover'; } }
  @media (min-width: 75em) {
    .header--old .header__toggle--discover {
      left: 40px; } }

.header--old .header__toggle--navigation {
  right: 22.5px; }
  .header--old .header__toggle--navigation > span {
    display: inline-block;
    margin: 9px 0;
    position: relative;
    font-size: 0;
    height: 2px;
    width: 20px;
    background-color: white;
    transition: background-color 0.25s;
    opacity: 1; }
    .header--old .header__toggle--navigation > span:before, .header--old .header__toggle--navigation > span:after {
      display: inline-block;
      position: absolute;
      left: 0;
      content: '';
      height: 2px;
      width: 20px;
      background-color: white;
      transition: transform 0.5s;
      transform-origin: right center; }
    .header--old .header__toggle--navigation > span:before {
      top: -7px; }
    .header--old .header__toggle--navigation > span:after {
      bottom: -7px; }
  @media (min-width: 48em) {
    .header--old .header__toggle--navigation {
      right: 40px; }
      .header--old .header__toggle--navigation:before {
        margin-right: 16px;
        content: 'Menu'; } }

.header--old .header__toggle--login,
.header--old .header__toggle--profile,
.header--old .header__toggle--cart {
  position: absolute;
  height: auto;
  right: 22.5px;
  display: block;
  color: #fff;
  font: 10px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none; }
  @media (min-width: 90.625em) {
    .header--old .header__toggle--login,
    .header--old .header__toggle--profile,
    .header--old .header__toggle--cart {
      font-size: 12px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  .header--old .header__toggle--login [class^=icon-],
  .header--old .header__toggle--profile [class^=icon-],
  .header--old .header__toggle--cart [class^=icon-] {
    display: block;
    font-size: 20px; }
  @media (min-width: 48em) {
    .header--old .header__toggle--login,
    .header--old .header__toggle--profile,
    .header--old .header__toggle--cart {
      right: 28px;
      font-size: 10px;
      line-height: 18px; }
      .header--old .header__toggle--login [class^=icon-],
      .header--old .header__toggle--profile [class^=icon-],
      .header--old .header__toggle--cart [class^=icon-] {
        float: right; } }
  @media (min-width: 90.625em) {
    .header--old .header__toggle--login,
    .header--old .header__toggle--profile,
    .header--old .header__toggle--cart {
      letter-spacing: 1.5px; } }

.header--old .header__toggle--profile,
.header--old .header__toggle--login {
  right: 57px; }
  @media (min-width: 48em) {
    .header--old .header__toggle--profile,
    .header--old .header__toggle--login {
      right: 75px; } }

.header--old .header__toggle-text {
  display: none; }

@media (min-width: 48em) {
  .header--old .header__toggle--login .header__toggle-text,
  .header--old .header__toggle--profile .header__toggle-text {
    display: block;
    float: left;
    margin-top: 2px;
    margin-right: 10px;
    font-weight: normal;
    line-height: 32px; } }

.header--old.has-login-enabled .header__toggle--search,
.header--old.has-login-enabled .header__toggle--discover {
  left: 60px; }
  @media (min-width: 48em) {
    .header--old.has-login-enabled .header__toggle--search,
    .header--old.has-login-enabled .header__toggle--discover {
      left: 140px; } }
  @media (min-width: 75em) {
    .header--old.has-login-enabled .header__toggle--search,
    .header--old.has-login-enabled .header__toggle--discover {
      left: 40px; } }

.header--old.has-login-enabled .header__toggle--navigation {
  right: auto;
  left: 22.5px; }
  @media (min-width: 48em) {
    .header--old.has-login-enabled .header__toggle--navigation {
      right: auto;
      left: 40px;
      flex-direction: row-reverse; }
      .header--old.has-login-enabled .header__toggle--navigation:before {
        margin-right: auto;
        margin-left: 16px; } }

.no-scroll {
  position: fixed;
  overflow-y: scroll;
  width: 100%; }

.no-scrollbars {
  overflow: hidden; }

.header__pane {
  position: fixed;
  top: 0;
  bottom: auto;
  left: 0;
  right: 0;
  height: 0;
  top: -100%;
  overflow: hidden;
  z-index: 40;
  transition: all .500s; }
  .header__pane > * {
    visibility: hidden;
    transition: .500s; }
  .header__pane.is-open {
    top: 0;
    height: 100vh;
    overflow: auto; }
    .header__pane.is-open > * {
      visibility: visible;
      transition: all 0s; }

.ios-device .header__pane > * {
  visibility: visible; }

@media (min-width: 62em) {
  .primary-navigation {
    padding-top: 60px; } }

@media (min-width: 75em) {
  .primary-navigation {
    padding-top: 0;
    display: block;
    height: auto; } }

@media (min-width: 75em) {
  .primary-navigation__list {
    display: flex;
    justify-content: center; } }

.primary-navigation__item {
  line-height: 16px;
  opacity: 0;
  transform: scale(1.1) translateY(-24px);
  transition: opacity .35s ease-out, transform .35s ease-out;
  text-align: center; }
  .header__pane--navigation.is-open .primary-navigation__item {
    transform: none;
    opacity: 1;
    position: relative; }
  @media (min-width: 48em) {
    .primary-navigation__item {
      line-height: inherit; } }
  @media (min-width: 75em) {
    .primary-navigation__item {
      padding: 0;
      opacity: 1;
      transform: none;
      border: 2px solid transparent;
      transition: border .35s ease-out, transform .35s ease-out;
      cursor: pointer; }
      .primary-navigation__item:hover, .primary-navigation__item.active {
        border-bottom: 2px solid #fff; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(1) {
    transition-delay: 350ms, 350ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(1) {
      transition-delay: 150ms, 150ms; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(2) {
    transition-delay: 280ms, 280ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(2) {
      transition-delay: 150ms, 150ms; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(3) {
    transition-delay: 230ms, 230ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(3) {
      transition-delay: 200ms, 200ms; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(4) {
    transition-delay: 150ms, 150ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(4) {
      transition-delay: 250ms, 250ms; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(5) {
    transition-delay: 110ms, 110ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(5) {
      transition-delay: 300ms, 300ms; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(6) {
    transition-delay: 90ms, 90ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(6) {
      transition-delay: 350ms, 350ms; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(7) {
    transition-delay: 80ms, 80ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(7) {
      transition-delay: 350ms, 350ms; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(8) {
    transition-delay: 70ms, 70ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(8) {
      transition-delay: 350ms, 350ms; } }

@media (max-width: 74.99em) {
  .primary-navigation .primary-navigation__item:nth-child(9) {
    transition-delay: 50ms, 50ms; }
    .header__pane--navigation.is-open .primary-navigation .primary-navigation__item:nth-child(9) {
      transition-delay: 350ms, 350ms; } }

.primary-navigation__link {
  display: inline-block;
  margin-bottom: 20px;
  padding-bottom: 0;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  color: #fff;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1px; }
  .primary-navigation__link:hover {
    border-bottom: 1px solid #fff; }
  @media (orientation: landscape) {
    .primary-navigation__link {
      margin-bottom: 10px; } }
  @media (min-width: 30.0625em) {
    .primary-navigation__link {
      font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 75em) {
    .primary-navigation__link {
      display: block;
      margin-bottom: 0;
      font: 14px/18px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      line-height: 14px;
      padding: 12px 8px 9px 8px;
      color: #810041; }
      .primary-navigation__link:hover {
        border-bottom: none; } }

@media (min-width: 75em) {
  .home .primary-navigation__link,
  .error .primary-navigation__link {
    color: #fff; }
    .home .primary-navigation__link:hover,
    .error .primary-navigation__link:hover {
      color: #fff; } }

.home .primary-navigation__item,
.error .primary-navigation__item {
  position: relative; }
  .home .primary-navigation__item.active,
  .error .primary-navigation__item.active {
    border-colour: transparent; }
    .home .primary-navigation__item.active:hover,
    .error .primary-navigation__item.active:hover {
      border-colour: #fff; }

.header--wizarding-world .primary-navigation {
  padding-top: 0; }
  .header--wizarding-world .primary-navigation.primary-navigation--overlay .primary-navigation__item {
    padding-left: 12px; }

.header--wizarding-world .primary-navigation__item {
  text-align: left; }
  @media (min-width: 75em) {
    .header--wizarding-world .primary-navigation__item {
      border: 0;
      text-align: center; } }
  .header--wizarding-world .primary-navigation__item:last-child .primary-navigation__link {
    margin-bottom: 0; }

.header--wizarding-world .primary-navigation__link {
  font: 16px/18px "Roboto Regular", Arial, sans;
  border-bottom: 2px solid transparent;
  border-radius: 2px;
  margin-bottom: 20px;
  padding-bottom: 8px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }
  .header--wizarding-world .primary-navigation__link:hover, .header--wizarding-world .primary-navigation__link.active {
    border-bottom: 2px solid #fff;
    transition: border .35s ease-out, transform .35s ease-in; }
  @media (min-width: 75em) {
    .header--wizarding-world .primary-navigation__link {
      font: 11px/18px "Roboto Regular", Arial, sans;
      color: #fff;
      margin: 0 6px;
      padding: 12px 0 2px; } }
  @media (min-width: 90.625em) {
    .header--wizarding-world .primary-navigation__link {
      font: 12px/18px "Roboto Regular", Arial, sans;
      margin: 0 8px; } }

.secondary-navigation {
  margin-top: 30px;
  width: 100%; }
  @media (min-width: 48em) {
    .secondary-navigation {
      margin-top: 10px;
      padding-top: 0;
      height: auto;
      width: auto; } }

@media (min-width: 48em) {
  .secondary-navigation__list {
    display: flex;
    justify-content: center; } }

@media (min-width: 48em) {
  .secondary-navigation__item {
    padding: 0;
    opacity: 1;
    transform: none;
    border: 2px solid transparent;
    transition: border .35s ease-out, transform .35s ease-out;
    cursor: pointer; }
    .secondary-navigation__item:hover, .secondary-navigation__item.active {
      border-bottom: 2px solid #fff; } }

.secondary-navigation__item.active {
  background: #fff;
  line-height: 18px; }
  .secondary-navigation__item.active a {
    color: #810041;
    display: inline-block; }
    @media (min-width: 48em) {
      .secondary-navigation__item.active a {
        color: #fff; } }
  @media (min-width: 48em) {
    .secondary-navigation__item.active {
      background: transparent; } }

.secondary-navigation__link {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 12px 8px 9px;
  color: #fff;
  text-decoration: none; }
  @media (min-width: 90.625em) {
    .secondary-navigation__link {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  @media (orientation: landscape) {
    .secondary-navigation__link {
      margin-bottom: 10px; } }
  @media (min-width: 48em) {
    .secondary-navigation__link {
      margin-top: 0;
      border-top: 0;
      display: block;
      margin-bottom: 0;
      line-height: 14px; }
      .secondary-navigation__link:hover {
        border-bottom: none; } }

.wizarding-world-overrides .secondary-navigation__item.active a {
  color: #003e51; }
  @media (min-width: 48em) {
    .wizarding-world-overrides .secondary-navigation__item.active a {
      color: #fff; } }

.form-header {
  margin: 0 auto;
  text-align: center;
  color: #FFF;
  padding-top: 30px; }
  @media (min-width: 48em) {
    .form-header {
      max-width: 704px;
      margin-left: auto;
      margin-right: auto;
      padding-bottom: 30px; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; }
      .form-header::after {
        content: '';
        display: block;
        width: 100%; } }
  @media (min-width: 62em) {
    .form-header {
      max-width: 909.33333px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 75em) {
    .form-header {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 90.625em) {
    .form-header {
      max-width: 1329.16667px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }

.form-header--invert {
  color: #333; }

.form-header__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__title.form-header__title--secondary {
    font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      width: 66.10169%;
      margin: 5px auto 0; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .form-header__title {
      font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.form-header__title--secondary {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.form-header__sub-title {
  display: inline-block;
  padding: 0 1.69492%;
  margin-top: 11px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__sub-title.form-header__sub-title--secondary {
    padding: 20px 0 0 0; }
  @media (min-width: 48em) {
    .form-header__sub-title {
      max-width: 66.10169%; } }

.ww-account-form__background--join #join-error {
  padding: 60px 0; }
  .ww-account-form__background--join #join-error .form-header {
    width: 100%; }
    @media (min-width: 48em) {
      .ww-account-form__background--join #join-error .form-header {
        width: 400px; } }
  .ww-account-form__background--join #join-error .form-header__title {
    width: auto; }
  .ww-account-form__background--join #join-error .form-header__divider {
    border: 0;
    border-bottom: 1px solid #e8e8e4;
    width: 40%;
    margin: 40px auto; }
  .ww-account-form__background--join #join-error .form-header__sub-title {
    max-width: 100%;
    padding: 0 20px; }
  .ww-account-form__background--join #join-error .form-header__app-btns {
    margin-top: 40px;
    padding: 0;
    display: flex;
    justify-content: center; }
  .ww-account-form__background--join #join-error .appstore-btn {
    background-image: url("/assets/img/app-store-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 130px;
    overflow: hidden;
    text-indent: -9999px; }
  .ww-account-form__background--join #join-error .googleplay-btn {
    background-image: url("/assets/img/google-play-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 134px;
    overflow: hidden;
    text-indent: -9999px; }

.radio-selection {
  display: flex;
  position: relative;
  padding: 0 1.69492%;
  height: 40px;
  background-color: #e0e0e0;
  align-items: center; }

.radio-selection__radio {
  margin: 0;
  margin-right: 1.69492%;
  height: 14px;
  width: 14px; }

.radio-selection__label {
  display: none;
  font: 12px/12px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .radio-selection__label {
      font-size: 14px;
      line-height: 14px;
      letter-spacing: 2.5px; } }
  @media (min-width: 62em) {
    .radio-selection__label {
      display: initial; } }

.radio-selection__logo {
  position: absolute;
  display: block;
  top: 0;
  right: 50%;
  height: 40px;
  transform: translateX(50%); }
  @media (min-width: 62em) {
    .radio-selection__logo {
      right: 1.69492%;
      transform: none; } }

button {
  line-height: 100%;
  padding: 10px 20px;
  color: #fff;
  border: 0;
  border-radius: 2px; }
  @media (min-width: 481px) {
    button {
      padding: 10px 40px; } }

form {
  width: 100%; }

.form__row {
  margin-bottom: 15px;
  flex-flow: row wrap;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 48em) {
    .form--stackable .form__row {
      float: left;
      margin-right: 10px;
      margin-bottom: 0; } }

.form__row--half {
  width: 50%; }

.form__row-link {
  color: #FFF;
  font: 12px/18px "Roboto Regular", Arial, sans; }

.form__row-link--invert {
  color: #333; }

.form__row--text-link {
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  letter-spacing: normal !important;
  text-transform: inherit;
  text-align: right; }
  @media (min-width: 90.625em) {
    .form__row--text-link {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__row--checkbox {
  line-height: normal;
  margin-bottom: 0;
  justify-content: flex-start; }

@media (min-width: 48em) {
  .form__row--no-label {
    padding-top: 23px; } }

@media (min-width: 90.625em) {
  .form__row--no-label {
    padding-top: 25px; } }

.form__label, .field__label {
  margin-bottom: 5px;
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .form__label, .field__label {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__label--invert {
  color: #ffffff; }

.form__label--invert a, .form__label--invert a:visited, .form__label--invert a:hover {
  color: #fff; }

.form__label--checkbox {
  margin-left: 10px;
  width: 85%;
  display: inline-block;
  text-transform: none;
  vertical-align: top;
  letter-spacing: normal; }

.form__input, input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
input[type="file"],
input[type="number"],
input[type="tel"],
textarea,
select {
  padding: 6px 10px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  display: block;
  width: 100%;
  background: #FFF;
  border: 1px solid #aaa;
  color: #333;
  border-radius: 0; }
  .form__input.ng-invalid.ng-touched, input.ng-invalid.ng-touched[type="text"],
  input.ng-invalid.ng-touched[type="search"],
  input.ng-invalid.ng-touched[type="password"],
  input.ng-invalid.ng-touched[type="email"],
  input.ng-invalid.ng-touched[type="file"],
  input.ng-invalid.ng-touched[type="number"],
  input.ng-invalid.ng-touched[type="tel"],
  textarea.ng-invalid.ng-touched,
  select.ng-invalid.ng-touched,
  .ng-submitted .form__input.ng-invalid,
  .ng-submitted input.ng-invalid[type="text"],
  .ng-submitted input.ng-invalid[type="search"],
  .ng-submitted input.ng-invalid[type="password"],
  .ng-submitted input.ng-invalid[type="email"],
  .ng-submitted input.ng-invalid[type="file"],
  .ng-submitted input.ng-invalid[type="number"],
  .ng-submitted input.ng-invalid[type="tel"],
  .ng-submitted textarea.ng-invalid,
  .ng-submitted select.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }
  .form__input.form__input--disabled, input.form__input--disabled[type="text"],
  input.form__input--disabled[type="search"],
  input.form__input--disabled[type="password"],
  input.form__input--disabled[type="email"],
  input.form__input--disabled[type="file"],
  input.form__input--disabled[type="number"],
  input.form__input--disabled[type="tel"],
  textarea.form__input--disabled,
  select.form__input--disabled {
    border: 0;
    padding-left: 0; }

.form__input--select {
  height: 36px; }

.form__input--checkbox {
  vertical-align: top;
  margin-left: 0; }
  .form__input--checkbox.ng-invalid.ng-touched,
  .ng-submitted .form__input--checkbox.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }

.form__button {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  width: 100%;
  display: block;
  padding: 10px 40px;
  color: #FFF;
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  transition: background 0.25s;
  border: none;
  line-height: 16px !important; }
  @media (min-width: 90.625em) {
    .form__button {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__button, .form__button--primary {
  cursor: pointer;
  background: #810041; }
  .form__button[disabled=disabled], .form__button--primary[disabled=disabled] {
    background: #c5c9cc;
    cursor: default; }

.form__button--hollow {
  background: transparent;
  border: 1px solid #FFF; }

.overlay .form__button--hollow {
  border-color: #810041;
  color: #810041; }
  .overlay .form__button--hollow:hover {
    background-color: #fff; }

.form__button--label {
  width: 100%; }

.form__button--after-checkbox {
  margin-top: 10px; }

.form__error, .field__message--error, .section--payment-method .notice--warning,
.section--payment-method .notice--error,
.form__confirmation,
.form__warning {
  padding: 5px 0;
  background: #ca0404;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 16px;
  color: #FFF;
  text-align: center;
  width: 100%; }
  @media (min-width: 90.625em) {
    .form__error, .field__message--error, .section--payment-method .notice--warning,
    .section--payment-method .notice--error,
    .form__confirmation,
    .form__warning {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__warning {
  background: #ff9;
  color: #000;
  margin-bottom: 1em; }

.form__confirmation {
  background: #410021; }

.form__error--global {
  margin-top: 5px; }

.wizarding-world-overrides .form__button, .wizarding-world-overrides .form__button--primary {
  background: #003e51; }
  .wizarding-world-overrides .form__button[disabled=disabled], .wizarding-world-overrides .form__button--primary[disabled=disabled] {
    background: #c5c9cc; }
  .wizarding-world-overrides .form__button.ww-form__button, .wizarding-world-overrides .form__button--primary.ww-form__button {
    border-radius: 20px;
    padding: 10px 20px; }
  .wizarding-world-overrides .form__button.ww-signin-link, .wizarding-world-overrides .form__button--primary.ww-signin-link {
    border: 0;
    background: #CEBF96;
    color: #000; }

.wizarding-world-overrides .form__button--hollow {
  background: transparent; }

.wizarding-world-overrides .form__confirmation {
  background: #002b39; }

.wizarding-world-overrides .overlay .form__button--hollow {
  border-color: #003e51;
  color: #003e51; }
  .wizarding-world-overrides .overlay .form__button--hollow:hover {
    background-color: #fff; }

.cookie-disclaimer {
  background-color: rgba(50, 50, 50, 0.8);
  border-top: 1px solid #4f4f4f;
  color: #fff;
  font-family: "Roboto Regular", Arial, sans;
  font-size: 14px;
  line-height: 24px;
  padding: 5px 0;
  position: fixed;
  bottom: 0;
  text-align: center;
  width: 100%;
  display: none;
  z-index: 999;
  /* doesn't work with less than 30?... */ }
  .cookie-disclaimer.is-shown {
    display: block; }
  .cookie-disclaimer a {
    color: #fff; }
  .cookie-disclaimer a, .cookie-disclaimer a:hover, .cookie-disclaimer a:visited, .cookie-disclaimer a:link, .cookie-disclaimer a:active {
    text-decoration: underline; }
  .cookie-disclaimer button {
    background-color: green;
    color: #fff;
    border: 2px solid #fff;
    font-family: "Roboto Regular", Arial, sans;
    font-size: 14px;
    padding: 5px 10px;
    line-height: 100%;
    font-weight: bold; }

.cookie-disclaimer__text {
  margin: 0 5px; }

.masthead {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  background-color: #e8e8e4;
  position: relative;
  min-height: calc(90vh - 65px);
  transition: background-color 1s; }
  @media (min-width: 48em) {
    .masthead {
      display: block;
      min-height: 0; } }

.masthead__content {
  margin: 0 auto; }
  @media (min-width: 48em) {
    .masthead__content {
      max-width: 704px;
      margin-left: auto;
      margin-right: auto;
      padding: 20px 0; }
      .masthead__content:after {
        content: " ";
        display: block;
        clear: both; }
      .masthead__content::after {
        content: '';
        display: block;
        width: 100%;
        padding-bottom: 8.47458%; } }
  @media (min-width: 62em) {
    .masthead__content {
      max-width: 909.33333px;
      margin-left: auto;
      margin-right: auto; }
      .masthead__content:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 75em) {
    .masthead__content {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto; }
      .masthead__content:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 90.625em) {
    .masthead__content {
      max-width: 1329.16667px;
      margin-left: auto;
      margin-right: auto; }
      .masthead__content:after {
        content: " ";
        display: block;
        clear: both; } }

.masthead__long-headline {
  font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .masthead__long-headline {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      width: 66.10169%;
      margin: 5px auto 0; } }
  @media (min-width: 62em) {
    .masthead__long-headline {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .masthead__long-headline {
      font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.masthead__long-headline--no-description {
  margin-bottom: 71px; }

.masthead__long-headline--no-author {
  margin-bottom: 30px; }

.masthead__description {
  display: inline-block;
  padding: 0 1.69492%;
  margin-top: 11px;
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .masthead__description {
      max-width: 66.10169%; } }
  @media (min-width: 62em) {
    .masthead__description {
      font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .masthead__description {
      font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .masthead__description > p em {
    font-style: italic; }

.masthead--artefact__description {
  margin: 10px 0 15px; }

.masthead__category {
  margin-bottom: 33px;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .masthead__category {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  @media (min-width: 48em) {
    .masthead__category {
      margin-bottom: 20px;
      position: relative;
      top: 0; } }
  .masthead__category a {
    text-decoration: none;
    color: inherit; }

.masthead__social-share {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  height: 46px; }
  @media (min-width: 48em) {
    .masthead__social-share {
      position: static;
      margin-top: 12px;
      height: 41px; } }

.masthead__author,
.masthead__subtitle {
  margin-top: 7px;
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .masthead__author,
    .masthead__subtitle {
      font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .masthead__author,
    .masthead__subtitle {
      font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .masthead__author,
    .masthead__subtitle {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.masthead__pictogram {
  margin: 0 auto 10px;
  width: 70px;
  height: 70px; }
  @media (min-width: 48em) {
    .masthead__pictogram {
      margin-bottom: 0; } }

.masthead--information {
  padding-top: 71px; }

.masthead--collection__long-headline {
  margin-bottom: 33px; }

@font-face {
  font-family: icomoon;
  font-display: swap;
  src: url("../assets/icomoon-v1.7.eot?nhzry1");
  src: url("../assets/icomoon-v1.7.eot?nhzry1#iefix") format("embedded-opentype"), url("../assets/icomoon-v1.7.ttf?nhzry1") format("truetype"), url("../assets/icomoon-v1.7.woff?nhzry1") format("woff"), url("../assets/icomoon-v1.7.svg?nhzry1#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: icomoon !important;
  font-display: swap;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.8;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-award:before {
  content: "\e932"; }

.icon-award2:before {
  content: "\e933"; }

.icon-selling-fast:before {
  content: "\e900"; }

.icon-exclusive:before {
  content: "\e901"; }

.icon-last-chance:before {
  content: "\e902"; }

.icon-limited-edition:before {
  content: "\e931"; }

.icon-loves:before {
  content: "\e903"; }

.icon-new:before {
  content: "\e904"; }

.icon-chamber:before {
  content: "\e905"; }

.icon-stone:before {
  content: "\e906"; }

.icon-email:before {
  content: "\e907"; }

.icon-stumbleupon:before {
  content: "\e908"; }

.icon-goblet:before {
  content: "\e909"; }

.icon-hallows:before {
  content: "\e90a"; }

.icon-phoenix:before, .icon-order:before {
  content: "\e90b"; }

.icon-prince:before {
  content: "\e90c"; }

.icon-read:before {
  content: "\e90d"; }

.icon-azkaban:before, .icon-prisoner:before {
  content: "\e90e"; }

.icon-discuss:before {
  content: "\e90f"; }

.icon-examine:before {
  content: "\e910"; }

.icon-share:before {
  content: "\e91f"; }

.icon-arrow-left:before {
  content: "\e911"; }

.icon-arrow-right:before {
  content: "\e912"; }

.icon-basket:before {
  content: "\e913"; }

.icon-big-minus:before {
  content: "\e914"; }

.icon-big-plus:before {
  content: "\e915"; }

.icon-bundle:before {
  content: "\e916"; }

.icon-chevron-down-in-circle:before {
  content: "\e917"; }

.icon-chevron-up-in-circle:before {
  content: "\e918"; }

.icon-close:before {
  content: "\e919"; }

.icon-discover:before {
  content: "\e91a"; }

.icon-down-arrow:before {
  content: "\e91b"; }

.icon-down-chevron:before {
  content: "\e91c"; }

.icon-expand:before {
  content: "\e91d"; }

.icon-facebook:before {
  content: "\e91e"; }

.icon-frame:before, .icon-mounted-print:before {
  content: "\e920"; }

.icon-googleplus:before {
  content: "\e921"; }

.icon-instagram:before {
  content: "\e922"; }

.icon-minus-in-circle:before {
  content: "\e923"; }

.icon-pause:before {
  content: "\e924"; }

.icon-play:before {
  content: "\e925"; }

.icon-plus-in-circle:before {
  content: "\e926"; }

.icon-poster:before {
  content: "\e927"; }

.icon-profile:before, .icon-login:before {
  content: "\e928"; }

.icon-small-left-chevron:before {
  content: "\e929"; }

.icon-small-right-chevron:before {
  content: "\e92a"; }

.icon-thin-tick:before {
  content: "\e92b"; }

.icon-tumblr:before {
  content: "\e92c"; }

.icon-twitter:before {
  content: "\e92d"; }

.icon-up-chevron:before {
  content: "\e92e"; }

.icon-video:before {
  content: "\e92f"; }

.icon-thin-tick2:before {
  content: "\e930"; }

.icon-ornament-1:before {
  content: "\e60a"; }

.icon-ornament-2:before {
  content: "\e60b"; }

.icon-ornament-3:before {
  content: "\e60c"; }

.icon-logo-wizarding-world:before {
  content: "\e934"; }

.icon-roundel-wizarding-world:before {
  content: "\e935"; }

.icon-logo-wizarding-world-pottermore:before {
  content: "\e936"; }

.icon-logo-wizarding-world-wand:before {
  content: "\e937"; }

.icon-logo:before {
  content: "\e608"; }

.icon-search:before {
  content: "\e986"; }

.icon-logo, .icon-logo-wizarding-world, .icon-roundel-wizarding-world, .icon-logo-wizarding-world-pottermore, .icon-logo-wizarding-world-wand {
  line-height: 1; }

.ornament,
.ornament-2,
.ornament-3 {
  color: inherit;
  position: relative;
  display: block;
  border: none;
  margin: 13px 0;
  height: 11px; }
  .ornament:before,
  .ornament-2:before,
  .ornament-3:before {
    position: relative;
    display: block;
    width: 49px;
    margin: 0 auto;
    font-size: 49px;
    font-family: icomoon !important;
    font-display: swap;
    content: "\e60a";
    z-index: 1;
    background-color: #e8e8e4;
    line-height: 12px;
    height: 12px; }
  .ornament:after,
  .ornament-2:after,
  .ornament-3:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 50%;
    border-bottom: 1px solid;
    transition: all 1s; }
  .out-of-view .ornament:after, .out-of-view
  .ornament-2:after, .out-of-view
  .ornament-3:after {
    left: 50%;
    right: 50%; }

.ornament-2:before {
  content: "\e60b"; }

.ornament-3:before {
  content: "\e60c"; }

.ornament--no-divider:before {
  background: transparent; }

.ornament--no-divider:after {
  display: none; }

.ornament--full-spacing {
  margin: 25px 0; }

.ornament--horizontal-spacing {
  margin-right: 5.08475%;
  margin-left: 5.08475%; }
  @media (min-width: 48em) {
    .ornament--horizontal-spacing {
      margin-right: auto;
      margin-left: auto; } }

.profile-my-books__ornament.ornament--light:before, .ornament--book-club.ornament--light:before, .my-book-details__ornament.ornament--light:before {
  background-color: #fff; }

.ornament--book-club,
.book-club-divider {
  margin: 20px 10px 25px;
  color: #cbd0ad; }
  .ornament--book-club:before,
  .book-club-divider:before {
    font-size: 28px;
    color: #000; }

.ornament.ornament--book-club {
  color: #cbd0ad; }

.footer {
  background: #333;
  color: #fff;
  font-family: "Roboto Regular", Arial, sans;
  padding: 20px 0 70px;
  text-align: center; }
  .footer .footer__site-links a {
    text-transform: uppercase;
    display: inline-block;
    display: table;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    margin: 0 auto 10px;
    letter-spacing: 3px;
    line-height: 30px;
    font: 12px/18px "Roboto Regular", Arial, sans;
    letter-spacing: 1.5px;
    text-transform: uppercase; }
    @media (min-width: 90.625em) {
      .footer .footer__site-links a {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 2.5px; } }
  .footer .footer__cookie-text {
    font-size: 12px;
    color: #d3d3d3;
    line-height: 18px;
    padding: 0 15px;
    max-width: 600px;
    margin: auto;
    font-family: "Roboto Regular", Arial, sans;
    max-width: 66.10169%; }
    .footer .footer__cookie-text a {
      color: inherit; }

.footer__roundel {
  display: block;
  width: 75px;
  height: 75px;
  margin: 20px auto 20px;
  background: url(/assets/img/wizarding-world-roundel.png);
  background-size: cover; }

.footer__roundel--wizarding-world {
  display: block;
  width: 75px;
  height: 75px;
  margin: 20px auto 20px;
  font-size: 57px;
  color: #fff;
  background: none; }
  @media (min-width: 48em) {
    .footer__roundel--wizarding-world {
      font-size: 57px; } }

.social-share,
.social-share--large {
  height: 46px;
  list-style: none;
  text-align: center;
  margin: auto;
  white-space: nowrap;
  overflow: hidden;
  position: relative; }
  .social-share a,
  .social-share--large a {
    width: 37px;
    height: 37px;
    display: inline-block;
    border-radius: 37px;
    background: rgba(0, 0, 0, 0.2);
    text-decoration: none;
    color: #FFF;
    line-height: 0;
    transition: background 0.1s;
    padding: 0;
    position: relative;
    top: 0px;
    font-size: 20px; }
    @media (min-width: 48em) {
      .social-share a,
      .social-share--large a {
        top: 0;
        font-size: 19px; } }
    .social-share a:hover,
    .social-share--large a:hover {
      background: rgba(0, 0, 0, 0.4); }
  .social-share.footer__social-share,
  .social-share--large.footer__social-share {
    border-bottom: 1px solid #4f4f4f;
    margin: 12px auto 50px;
    height: 67px;
    width: 286px; }
  @media (min-width: 48em) {
    .social-share a,
    .social-share--large a {
      font-size: 35px;
      width: 35px;
      height: 35px;
      border-radius: 35px;
      font-size: 19px; }
    .social-share.footer__social-share,
    .social-share--large.footer__social-share {
      height: 57px; }
    .social-share.masthead__social-share a,
    .social-share--large.masthead__social-share a {
      top: -5px; } }

.footer__social-share-heading {
  font-family: "Roboto Regular", Arial, sans;
  font-size: 10px;
  line-height: 18px;
  text-transform: uppercase;
  letter-spacing: 2.5px;
  margin: 36px auto 0;
  position: relative;
  width: 286px; }
  .footer__social-share-heading span {
    background-color: #333;
    padding: 0 10px;
    position: relative;
    z-index: 2; }
  @media (min-width: 48em) {
    .footer__social-share-heading {
      width: 240px; } }

.footer__social-share-heading:after {
  border-bottom: 1px solid #4f4f4f;
  content: " ";
  display: block;
  clear: both;
  position: absolute;
  z-index: 1;
  width: 100%;
  bottom: 50%;
  left: 0; }

.social-share--dark a {
  color: #333;
  background: rgba(255, 255, 225, 0.2); }

.social-share--grey {
  color: #fff;
  margin: 20px auto 0; }
  .social-share--grey a {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.2); }
    .social-share--grey a:hover {
      background-color: rgba(0, 0, 0, 0.4); }

.social-share--light a {
  color: #FFF;
  background: rgba(255, 255, 225, 0.2); }

.social-share--large {
  height: auto;
  overflow: visible;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center; }
  .social-share--large .social-share__button {
    width: 25%;
    margin-bottom: 10px; }
  @media (min-width: 48em) {
    .social-share--large .social-share__button {
      width: auto;
      margin-right: 20px;
      margin-bottom: 0; }
      .social-share--large .social-share__button:last-child {
        margin-right: 0; } }

.social-share:not(.footer__social-share) .social-share__button {
  display: none; }

.social-share:not(.footer__social-share) .social-share__button:nth-child(1),
.social-share:not(.footer__social-share) .social-share__button:nth-child(2),
.social-share:not(.footer__social-share) .social-share__button:last-child {
  display: inline-block; }

.social-share:not(.footer__social-share).social-share--opened .social-share__button:nth-child(n + 3):nth-child(-n + 7) {
  display: inline-block; }

@media (max-width: 47.99em) {
  .social-share:not(.footer__social-share).social-share--opened .social-share__button:nth-child(n + 3):nth-child(-n) {
    display: none; } }

.social-share__more {
  display: inline-block;
  max-width: 0;
  overflow: hidden;
  transition: max-width 1s;
  line-height: 0; }
  .social-share--opened .social-share__more {
    max-width: 300px; }

.social-share__button {
  margin-right: 8px;
  margin-top: 1px;
  display: inline-block; }
  @media (min-width: 62em) {
    .social-share__button:last-child {
      margin-right: 0; } }

.social-share--large li {
  margin-right: 12px; }

.social-share--large a {
  width: 50px;
  height: 50px;
  border-radius: 50px;
  font-size: 28px; }

.social-share-page {
  padding: 20px 0 20px 0;
  text-align: center; }

.social-share-page__heading {
  position: relative;
  margin: 0 5.08475% 12px 5.08475%;
  font: 12px/14px "Roboto Regular", Arial, sans;
  text-transform: uppercase;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .social-share-page__heading {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  @media (min-width: 48em) {
    .social-share-page__heading {
      margin-right: auto;
      margin-left: auto; } }
  .social-share-page__heading span {
    padding: 0 10px;
    position: relative;
    z-index: 2; }
  .social-share-page__heading:after {
    position: absolute;
    z-index: 1;
    content: '';
    border-bottom: 1px solid #FFF;
    width: 100%;
    bottom: 50%;
    left: 0; }

.product-summary {
  position: relative;
  background-color: #fff;
  text-align: center;
  line-height: 24px;
  width: 100%;
  margin-bottom: 30px; }

.collection-list .product-summary__image {
  min-height: 184px; }
  @media (min-width: 22.5em) {
    .collection-list .product-summary__image {
      min-height: 205px; } }
  @media (min-width: 23.4375em) {
    .collection-list .product-summary__image {
      min-height: 215px; } }
  @media (min-width: 25.75em) {
    .collection-list .product-summary__image {
      min-height: 240px; } }
  @media (min-width: 30.0625em) {
    .collection-list .product-summary__image {
      min-height: 220px; } }
  @media (min-width: 48em) {
    .collection-list .product-summary__image {
      min-height: 318px; } }
  @media (min-width: 62em) {
    .collection-list .product-summary__image {
      min-height: 183px; } }
  @media (min-width: 75em) {
    .collection-list .product-summary__image {
      min-height: 222px; } }
  @media (min-width: 90.625em) {
    .collection-list .product-summary__image {
      min-height: 281px; } }

@media (min-width: 30.0625em) and (max-width: 47.99em) {
  .product-list--collection-list .product-summary__image--audio.book {
    margin-top: 35%; } }

.product-summary__image {
  position: relative;
  margin-bottom: 25px;
  display: flex; }
  .product-summary__image > picture,
  .product-summary__image > picture > img {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start; }

.featured-collections--full-width {
  display: block; }
  .featured-collections--full-width .product-summary__image > picture, .featured-collections--full-width .product-summary__image > picture > img {
    align-items: flex-end;
    justify-content: flex-end; }

a.product-summary__image:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
  opacity: 0;
  z-index: 0;
  content: '';
  transition: opacity 0.5s cubic-bezier(0.75, 0.82, 0.165, 1); }

a.product-summary__image:hover:after {
  opacity: .2;
  z-index: 1; }

.product-summary__details {
  min-height: 87%; }

.product-summary__label {
  display: block;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  color: #410021; }

.product-summary__title {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

a.product-summary__link {
  text-decoration: none;
  transition: border 0.5s; }
  a.product-summary__link:hover {
    border-bottom-color: #810041; }

.product-summary__type {
  margin: 5px 0;
  font: 12px/18px "Roboto Regular", Arial, sans;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 1.5px; }

.product-list__results {
  padding-top: 40px; }

.product-summary__price {
  display: inline-block;
  margin: 3px;
  font: 18px/18px "Roboto Regular", Arial, sans;
  color: #333;
  font-weight: 900;
  letter-spacing: 1.5px; }

.product-summary__read-by {
  margin-top: 2.04082%;
  font: 16px/20px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 62em) {
    .product-summary__read-by {
      font: 18px/22px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.product-summary__read-by {
  color: #410021; }

.product-summary__price--reduced {
  text-decoration: line-through;
  color: #acacac;
  display: block; }

.product-summary__cta {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%; }

.th-wizarding-world .product-summary__label {
  color: #002b39; }

.th-wizarding-world a.product-summary__link {
  color: #003e51; }

.th-wizarding-world .product-summary__read-by {
  color: #002b39; }

.product-list {
  padding-top: 2.5641%; }

.product-list__sorter {
  margin-bottom: 1.26582%;
  text-align: right;
  font-size: 0; }
  .product-list__sorter > label,
  .product-list__sorter > select {
    font: 12px/18px "Roboto Regular", Arial, sans;
    letter-spacing: 1.5px;
    text-transform: uppercase; }
    @media (min-width: 90.625em) {
      .product-list__sorter > label,
      .product-list__sorter > select {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 2.5px; } }
  .product-list__sorter > label {
    display: block;
    margin-bottom: 1.69492%;
    text-align: center; }
    @media (min-width: 48em) {
      .product-list__sorter > label {
        display: inline-block;
        margin-bottom: 0;
        margin-right: 2.5641%;
        text-align: inherit; } }
  .product-list__sorter > select {
    display: block;
    height: auto;
    width: 100%;
    padding: 6px 10px;
    line-height: 30px;
    border: 0;
    background: #e0e0e0; }
    @media (min-width: 48em) {
      .product-list__sorter > select {
        display: inline-block;
        width: 48.71795%; } }
    @media (min-width: 62em) {
      .product-list__sorter > select {
        width: 23.61673%; } }
    .product-list__sorter > select:focus {
      outline: 0; }

.product-list__pagination {
  margin-top: 60px;
  text-align: center; }

.product-single__summary {
  margin-bottom: 8.47458%; }

.product-single__pull-quote {
  margin: 8.47458% 0;
  padding-left: 6.77966%;
  padding-right: 6.77966%;
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  text-align: center; }
  @media (min-width: 48em) {
    .product-single__pull-quote {
      font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.product-single__description {
  text-align: left;
  margin-top: 8.47458%;
  font: 18px/32px "Crimson Regular", Georgia, Times, "Times New Roman", serif; }
  .product-single__description h1, .product-single__description h2, .product-single__description h3, .product-single__description h4, .product-single__description button {
    margin-top: 80px;
    text-align: center; }
    .product-single__description h1 + *, .product-single__description h2 + *, .product-single__description h3 + *, .product-single__description h4 + *, .product-single__description button + * {
      margin-top: 30px; }
    .product-single__description h1:first-child, .product-single__description h2:first-child, .product-single__description h3:first-child, .product-single__description h4:first-child, .product-single__description button:first-child {
      margin-top: 0; }
  .product-single__description h1 {
    font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 48em) {
      .product-single__description h1 {
        font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-single__description h2 {
    font: 36px/41px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 48em) {
      .product-single__description h2 {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-single__description h3 {
    font: 24px/21px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 48em) {
      .product-single__description h3 {
        font: 24px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-single__description h4, .product-single__description button {
    font: 18px/30px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 48em) {
      .product-single__description h4, .product-single__description button {
        font: 24px/30px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-single__description a, .product-single__description a:hover, .product-single__description a:visited {
    color: inherit; }
  .product-single__description > p {
    font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 48em) {
      .product-single__description > p {
        font: 22px/40px "Crimson Regular", Georgia, Times, "Times New Roman", serif; } }
    @media (min-width: 90.625em) {
      .product-single__description > p {
        font: 26px/44px "Crimson Regular", Georgia, Times, "Times New Roman", serif; } }
    .product-single__description > p em {
      font-family: "Crimson Italic", Georgia, Times, "Times New Roman", serif; }
    .product-single__description > p strong {
      font-family: "Crimson Bold", Georgia, Times, "Times New Roman", serif; }
  .product-single__description ul {
    list-style: disc;
    margin-left: 30px;
    margin-bottom: 40px; }
  .product-single__description ol {
    list-style: decimal;
    margin-left: 30px;
    margin-bottom: 40px; }
  .product-single__description li {
    font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 48em) {
      .product-single__description li {
        font: 22px/40px "Crimson Regular", Georgia, Times, "Times New Roman", serif; } }
    @media (min-width: 90.625em) {
      .product-single__description li {
        font: 26px/44px "Crimson Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-single__description > pre {
    margin-left: 20px; }
  .product-single__description > blockquote {
    margin-top: 15px;
    margin-bottom: 20px;
    padding: 20px 25px;
    background-color: #fafafa;
    border-left-style: solid;
    border-left-width: 2px;
    font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif; }
    .product-single__description > blockquote em {
      color: #ACACAC; }
    .product-single__description > blockquote p {
      margin-bottom: 20px; }
    @media (min-width: 48em) {
      .product-single__description > blockquote {
        padding: 40px 50px;
        font: 22px/40px "Crimson Regular", Georgia, Times, "Times New Roman", serif; } }
    @media (min-width: 90.625em) {
      .product-single__description > blockquote {
        font: 26px/44px "Crimson Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-single__description p:last-child {
    margin-bottom: 0; }
  @media (min-width: 48em) {
    .product-single__description {
      font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-single__description p {
    margin-bottom: 40px;
    font: inherit; }
  .product-single__description i {
    font-style: italic; }
  .product-single__description b {
    font-weight: bold; }

.product-single__dab-disclaimer {
  font-style: italic; }

.product-single__meta {
  margin-bottom: 8.47458%; }

.product-summary__sku-isbn {
  font: 18px/32px "Crimson Regular", Georgia, Times, "Times New Roman", serif;
  line-height: 24px;
  max-width: 82%;
  margin: 15px auto; }

.product-summary--gifting-info {
  margin: 30px auto 0;
  padding: 6.77966% 10px;
  padding-left: 0;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center; }
  @media (max-width: 74.99em) {
    .product-summary--gifting-info {
      padding: 6.77966%; } }
  @media (min-width: 30.0625em) {
    .product-summary--gifting-info {
      display: none;
      flex-direction: inherit; } }
  @media (min-width: 48em) {
    .product-summary--gifting-info {
      flex-direction: inherit; } }
  @media (min-width: 75em) {
    .product-summary--gifting-info {
      display: flex; } }
  .product-summary--gifting-info .gifting-seal {
    position: absolute;
    left: -4%; }
    @media (min-width: 48em) {
      .product-summary--gifting-info .gifting-seal {
        position: relative;
        left: auto;
        transform: translateX(-50%);
        margin-right: -14%; } }
    @media (min-width: 48em) {
      .product-summary--gifting-info .gifting-seal {
        margin-right: -16%; } }

.gifting-info--bottom {
  position: relative;
  display: none; }
  @media (min-width: 30.0625em) {
    .gifting-info--bottom {
      display: flex;
      max-width: 90%; } }
  @media (min-width: 75em) {
    .gifting-info--bottom {
      display: none; } }
  .gifting-info--bottom .gifting-seal {
    position: absolute;
    left: -6%; }
    @media (min-width: 48em) {
      .gifting-info--bottom .gifting-seal {
        left: -2%; } }

.gifting-info__text {
  font: 18px/22px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  width: 54%;
  margin: 0 2% 0% 2%;
  display: inline-block; }
  @media (min-width: 30.0625em) {
    .gifting-info__text {
      width: 54%;
      margin-left: 5%; } }
  @media (min-width: 75em) {
    .gifting-info__text {
      margin-left: 0; } }
  @media (min-width: 75em) {
    .gifting-info__text {
      margin-left: 7%;
      width: 45%;
      margin-right: 4%; } }
  @media (min-width: 90.625em) {
    .gifting-info__text {
      width: 52%; } }

.product-summary__image.hidden, .checkout-success__sections div.product-summary__image[data-order-updates], .content-box__row.content-box__row--secondary .product-summary__image.total-line-table {
  dispay: none !important; }

.product-summary__wrapping {
  width: 100%;
  height: 100%;
  display: none; }

.product-summary__wrapping {
  display: none; }

.th-wizarding-world .product-summary--gifting-info .btn--purchase:hover, .th-wizarding-world .product-summary--gifting-info .step__footer__continue-btn:hover, .th-wizarding-world .product-summary--gifting-info .order-summary__section--discount .field__input-btn:hover, .order-summary__section--discount .th-wizarding-world .product-summary--gifting-info .field__input-btn:hover, .product-summary--gifting-info .btn--purchase:hover, .product-summary--gifting-info .step__footer__continue-btn:hover, .product-summary--gifting-info .order-summary__section--discount .field__input-btn:hover, .order-summary__section--discount .product-summary--gifting-info .field__input-btn:hover {
  background: #ccc; }

.product-meta__title {
  font: 22px/40px "Crimson Bold", Georgia, Times, "Times New Roman", serif; }
  .product-meta__title:after {
    content: ':'; }
  @media (max-width: 47.99em) {
    .product-meta__title {
      margin-bottom: 10px; } }

.product-meta__item {
  font: 22px/40px "Crimson Regular", Georgia, Times, "Times New Roman", serif; }
  .product-meta__item > em:after {
    content: ':'; }

.product-summary {
  position: relative;
  background-color: #fff;
  text-align: center;
  line-height: 24px;
  width: 100%;
  margin-bottom: 30px; }

.collection-list .product-summary__image {
  min-height: 184px; }
  @media (min-width: 22.5em) {
    .collection-list .product-summary__image {
      min-height: 205px; } }
  @media (min-width: 23.4375em) {
    .collection-list .product-summary__image {
      min-height: 215px; } }
  @media (min-width: 25.75em) {
    .collection-list .product-summary__image {
      min-height: 240px; } }
  @media (min-width: 30.0625em) {
    .collection-list .product-summary__image {
      min-height: 220px; } }
  @media (min-width: 48em) {
    .collection-list .product-summary__image {
      min-height: 318px; } }
  @media (min-width: 62em) {
    .collection-list .product-summary__image {
      min-height: 183px; } }
  @media (min-width: 75em) {
    .collection-list .product-summary__image {
      min-height: 222px; } }
  @media (min-width: 90.625em) {
    .collection-list .product-summary__image {
      min-height: 281px; } }

@media (min-width: 30.0625em) and (max-width: 47.99em) {
  .product-list--collection-list .product-summary__image--audio.book {
    margin-top: 35%; } }

.product-summary__image {
  position: relative;
  margin-bottom: 25px;
  display: flex; }
  .product-summary__image > picture,
  .product-summary__image > picture > img {
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start; }

.featured-collections--full-width {
  display: block; }
  .featured-collections--full-width .product-summary__image > picture, .featured-collections--full-width .product-summary__image > picture > img {
    align-items: flex-end;
    justify-content: flex-end; }

a.product-summary__image:after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: #000;
  opacity: 0;
  z-index: 0;
  content: '';
  transition: opacity 0.5s cubic-bezier(0.75, 0.82, 0.165, 1); }

a.product-summary__image:hover:after {
  opacity: .2;
  z-index: 1; }

.product-summary__details {
  min-height: 87%; }

.product-summary__label {
  display: block;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  color: #410021; }

.product-summary__title {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

a.product-summary__link {
  text-decoration: none;
  transition: border 0.5s; }
  a.product-summary__link:hover {
    border-bottom-color: #810041; }

.product-summary__type {
  margin: 5px 0;
  font: 12px/18px "Roboto Regular", Arial, sans;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 1.5px; }

.product-list__results {
  padding-top: 40px; }

.product-summary__price {
  display: inline-block;
  margin: 3px;
  font: 18px/18px "Roboto Regular", Arial, sans;
  color: #333;
  font-weight: 900;
  letter-spacing: 1.5px; }

.product-summary__read-by {
  margin-top: 2.04082%;
  font: 16px/20px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 62em) {
    .product-summary__read-by {
      font: 18px/22px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.product-summary__read-by {
  color: #410021; }

.product-summary__price--reduced {
  text-decoration: line-through;
  color: #acacac;
  display: block; }

.product-summary__cta {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%; }

.th-wizarding-world .product-summary__label {
  color: #002b39; }

.th-wizarding-world a.product-summary__link {
  color: #003e51; }

.th-wizarding-world .product-summary__read-by {
  color: #002b39; }

.product-summary--single {
  display: flex;
  padding-bottom: 0;
  flex-direction: column; }
  @media (min-width: 48em) {
    .product-summary--single {
      align-items: flex-start; } }
  @media (min-width: 30.0625em) {
    .product-summary--single {
      flex-direction: row; } }
  .product-summary--single .product-summary__image {
    flex: 1;
    margin-bottom: 0; }
    .product-summary--single .product-summary__image > picture > img {
      margin: 0 auto 20px;
      height: auto;
      width: 90%;
      align-self: left; }
      @media (min-width: 62em) {
        .product-summary--single .product-summary__image > picture > img {
          margin: 0; } }
  @media (min-width: 62em) {
    .product-summary--single.Audio .product-summary__image > picture > img {
      max-width: 90%; } }
  .product-summary--single .product-summary__details {
    flex: 1;
    position: relative; }
    @media (min-width: 30.0625em) and (max-width: 47.99em) {
      .product-summary--single .product-summary__details {
        padding-top: 0;
        padding-bottom: 0; } }
  .product-summary--single .product-summary__label {
    font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 30.0625em) {
      .product-summary--single .product-summary__label {
        font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-summary--single .product-summary__title {
    font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 62em) {
      .product-summary--single .product-summary__title {
        font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
        padding: 0 3.44828%; } }
  .product-summary--single .product-summary__author {
    font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 62em) {
      .product-summary--single .product-summary__author {
        font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-summary--single .product-summary__read-by {
    margin-top: 2.04082%;
    font: 16px/20px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 62em) {
      .product-summary--single .product-summary__read-by {
        font: 18px/22px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .product-summary--single .product-summary__price {
    font: 18px/18px "Roboto Regular", Arial, sans;
    color: #046460; }
    @media (min-width: 30.0625em) {
      .product-summary--single .product-summary__price {
        font: 24px/24px "Roboto Regular", Arial, sans; } }
  .product-summary--single .product-summary__price--reduced {
    color: #79bbb8; }
  .product-summary--single .product-summary__cta {
    position: static;
    margin-top: 3.44828%; }
    @media (min-width: 30.0625em) {
      .product-summary--single .product-summary__cta {
        margin-top: 7.14286%; } }
    @media (min-width: 30.0625em) and (max-width: 61.99em) {
      .product-summary--single .product-summary__cta {
        bottom: 0; } }
    .product-summary--single .product-summary__cta.gifting-cta {
      display: inline-block;
      width: auto;
      margin-top: 0;
      vertical-align: top; }
      @media (min-width: 20.0625em) and (max-width: 30.0525em) {
        .product-summary--single .product-summary__cta.gifting-cta {
          margin-top: 20px; } }

.product-summary--gifting-info.gifting-info--bottom .product-summary__cta.gifting-cta {
  position: relative;
  display: inline-block;
  width: auto;
  margin-top: 0;
  vertical-align: top; }
  @media (min-width: 20.0625em) and (max-width: 30.0525em) {
    .product-summary--gifting-info.gifting-info--bottom .product-summary__cta.gifting-cta {
      margin-top: 20px; } }

.product-summary__wrapping {
  display: none; }

.th-wizarding-world .product-summary--single .product-summary__price {
  color: #053237; }

.th-wizarding-world .product-summary--single .product-summary__price--reduced {
  color: #679ba1; }

.section-lead {
  margin: 30px 0;
  text-align: center; }
  @media (min-width: 62em) {
    .section-lead {
      margin: 60px 0; } }

.section-lead--compact {
  margin-top: 0;
  margin-bottom: 20px; }
  @media (min-width: 62em) {
    .section-lead--compact {
      margin-top: 0; } }

.section-lead__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 62em) {
    .section-lead__title {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .section-lead__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.section-lead__subtitle {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 20px; }
  @media (min-width: 90.625em) {
    .section-lead__subtitle {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.section-lead__preface {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  padding-left: 6.77966%;
  padding-right: 6.77966%; }
  @media (min-width: 90.625em) {
    .section-lead__preface {
      font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.l-pagination {
  display: flex;
  padding: 1.69492%;
  list-style: none;
  justify-content: center; }

.l-pagination__item {
  display: flex;
  align-items: center; }
  .l-pagination__item:first-child {
    margin-right: 1.69492%; }
  .l-pagination__item:last-child {
    margin-left: 1.69492%; }

.pagination-item {
  display: flex;
  height: 20px;
  width: 20px;
  font: 18px/18px "Roboto Regular", Arial, sans;
  color: #333;
  text-decoration: none;
  align-items: center;
  justify-content: center; }

.pagination-item--next,
.pagination-item--previous {
  font-size: 0; }

.pagination-item--previous {
  position: relative;
  height: 10px;
  width: 10px;
  cursor: pointer;
  transform: rotate(180deg); }
  .pagination-item--previous:before, .pagination-item--previous:after {
    content: '';
    position: absolute;
    right: 2.5px;
    height: 1px;
    width: 7.07107px;
    background-color: #333;
    transform-origin: right center;
    transition: box-shadow .25s; }
  .pagination-item--previous:before {
    transform: rotate(45deg);
    top: 5px; }
  .pagination-item--previous:after {
    transform: rotate(-45deg);
    bottom: 5px; }
  .pagination-item--previous:hover:before, .pagination-item--previous:hover:after {
    box-shadow: 0 0 5px white; }

.pagination-item--next {
  position: relative;
  height: 10px;
  width: 10px;
  cursor: pointer; }
  .pagination-item--next:before, .pagination-item--next:after {
    content: '';
    position: absolute;
    right: 2.5px;
    height: 1px;
    width: 7.07107px;
    background-color: #333;
    transform-origin: right center;
    transition: box-shadow .25s; }
  .pagination-item--next:before {
    transform: rotate(45deg);
    top: 5px; }
  .pagination-item--next:after {
    transform: rotate(-45deg);
    bottom: 5px; }
  .pagination-item--next:hover:before, .pagination-item--next:hover:after {
    box-shadow: 0 0 5px white; }

.pagination-item--active {
  text-decoration: underline; }

.pagination-item--disabled {
  color: gray; }

.shop-devices {
  padding: 10.22794% 5.26316%;
  background-color: #f3f3f1;
  text-align: center; }
  @media (min-width: 48em) {
    .shop-devices {
      padding-top: 4.23729%;
      padding-bottom: 4.23729%;
      padding-left: 16.94915%;
      padding-right: 16.94915%; } }

.shop-devices__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .shop-devices__title {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.shop-devices__devices-outline {
  width: 90%; }
  @media (min-width: 48em) {
    .shop-devices__devices-outline {
      width: 95%; } }
  @media (min-width: 62em) {
    .shop-devices__devices-outline {
      width: 75%; } }
  @media (min-width: 75em) {
    .shop-devices__devices-outline {
      width: 65%; } }
  @media (min-width: 90.625em) {
    .shop-devices__devices-outline {
      width: 55%; } }

.shop-devices__tagline {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  position: relative;
  margin-top: 10px;
  padding-left: 15.25424%;
  padding-right: 15.25424%;
  background-color: inherit; }
  @media (min-width: 90.625em) {
    .shop-devices__tagline {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  .shop-devices__tagline > span {
    position: relative;
    display: inline-block;
    padding: 1.69492% 3.44828%;
    background-color: inherit; }
  .shop-devices__tagline:before {
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    width: 100%;
    content: '';
    border-top: 1px solid; }

.shop-devices__vendors {
  display: flex;
  padding: 3.44828%;
  border-style: solid;
  border-width: 1px 0;
  justify-content: center; }
  .shop-devices__vendors > * {
    height: 40px; }

.shop-devices__footer {
  margin-top: 20px;
  font: 12px/18px "Roboto Regular", Arial, sans; }

.paper--art {
  padding: 0; }
  @media (min-width: 30.0625em) {
    .paper--art {
      padding: 10px; } }

.shop-litebox.litebox-wrapper {
  background-color: white; }
  .shop-litebox.litebox-wrapper .litebox-loading div {
    border-color: rgba(0, 0, 0, 0.2);
    border-left-color: black; }
  .shop-litebox.litebox-wrapper .litebox__count {
    color: black; }
  .shop-litebox.litebox-wrapper .lightbox-close-area {
    float: right; }
    .shop-litebox.litebox-wrapper .lightbox-close-area .lightbox-close {
      right: 30px; }
      .shop-litebox.litebox-wrapper .lightbox-close-area .lightbox-close::before, .shop-litebox.litebox-wrapper .lightbox-close-area .lightbox-close::after {
        background-color: black; }
  .shop-litebox.litebox-wrapper .litebox__control {
    color: black; }
    .shop-litebox.litebox-wrapper .litebox__control:hover {
      color: white; }
  .shop-litebox.litebox-wrapper .litebox__tip {
    display: block;
    background-color: rgba(255, 255, 255, 0.7);
    border: 2px solid #c5c5c5;
    font: 12px/18px "Roboto Regular", Arial, sans;
    padding: 10px 30px;
    position: fixed;
    top: 140px;
    left: 50%;
    text-transform: uppercase;
    transform: translateX(-50%);
    z-index: 999; }
  .shop-litebox.litebox-wrapper .ornament--litebox {
    clear: both; }
    .shop-litebox.litebox-wrapper .ornament--litebox::before {
      background: white; }

.litebox-wrapper figure, .litebox-wrapper img {
  cursor: -moz-zoom-in;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.paper--flush-top {
  padding-top: 10px; }

.modal-overlay {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9998;
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-animation: fade .5s;
  animation: fade .5s;
  display: flex;
  align-items: center;
  justify-content: center; }

.modal {
  z-index: 9999;
  width: 600px;
  max-width: 90%;
  background: #fff;
  color: #12100b;
  border: 1px solid #eee;
  padding: 40px;
  font: 18px/18px "Roboto Regular", Arial, sans;
  position: relative;
  box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 0.75); }
  .modal .close-modal {
    font-size: 14px;
    position: absolute;
    top: 20px;
    right: 20px;
    text-decoration: none; }
  .modal .modal__title {
    font: 30px/34px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
    margin-bottom: 20px; }
  .modal .modal__title--small {
    display: none;
    font: 24px/26px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .modal .modal__product {
    display: flex;
    flex-direction: row;
    margin-bottom: 20px; }
    .modal .modal__product .modal__product-image {
      flex: 1 1 33.33%;
      margin-right: 30px; }
      .modal .modal__product .modal__product-image img {
        max-width: 100%; }
    .modal .modal__product .modal__product-info {
      flex: 2 2 33.33%; }
    .modal .modal__product .modal__product-info-title {
      font: 24px/26px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      margin-bottom: 10px; }
    .modal .modal__product .modal__product-info-meta {
      font: 14px/16px "Roboto Regular", Arial, sans;
      text-transform: uppercase;
      margin-bottom: 10px; }
    .modal .modal__product .modal__product-info-price {
      font: 24px/26px "Roboto Regular", Arial, sans; }
  .modal .modal__buttons {
    display: flex;
    flex-direction: row; }
    .modal .modal__buttons .modal__buttons-button {
      flex: 1 1 50%; }
      .modal .modal__buttons .modal__buttons-button:first-of-type {
        margin-right: 20px; }
        .modal .modal__buttons .modal__buttons-button:first-of-type .btn {
          background: white;
          color: #02857d; }
      .modal .modal__buttons .modal__buttons-button .btn {
        background: #02857d;
        border: 2px solid #02857d;
        color: #fff;
        font-weight: bold;
        display: block; }
  @media (max-width: 47.99em) {
    .modal {
      text-align: center; }
      .modal .modal__title--small {
        display: block; }
      .modal .modal__title--large, .modal .modal__product {
        display: none; }
      .modal .modal__buttons {
        flex-direction: column; }
        .modal .modal__buttons .modal__buttons-button:first-of-type {
          margin-right: 0;
          margin-bottom: 10px; }
        .modal .modal__buttons .modal__buttons-button .btn {
          width: 80%;
          margin: 0 auto; } }

.product-list__sorters {
  display: flex; }
  .product-list__sorters .product-list__sorter {
    flex: 1;
    text-align: left;
    margin: 0 10px; }
    .product-list__sorters .product-list__sorter > label {
      display: block;
      margin: 0 0 5px;
      text-transform: none; }
    .product-list__sorters .product-list__sorter .product-list__sorter__wrap {
      position: relative; }
      .product-list__sorters .product-list__sorter .product-list__sorter__wrap select {
        display: block;
        height: auto;
        width: 100%;
        padding: 6px 10px;
        line-height: 30px;
        border: 0;
        background: #e0e0e0;
        font: 12px / 18px "Roboto Regular", Arial, sans;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        width: 100%;
        border-radius: 5px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        padding-right: 28px;
        text-indent: 0.01px;
        text-overflow: '';
        cursor: pointer; }
        .product-list__sorters .product-list__sorter .product-list__sorter__wrap select:focus {
          outline: none; }
      .product-list__sorters .product-list__sorter .product-list__sorter__wrap .icon-down-chevron {
        font-size: 10px;
        position: absolute;
        transform: translateY(-127%);
        right: 10px; }
  @media (max-width: 47.99em) {
    .product-list__sorters {
      flex-direction: column; }
      .product-list__sorters .product-list__sorter {
        margin-bottom: 20px; } }

.section-lead__title {
  letter-spacing: 2px; }

.l-product-list {
  justify-content: start; }
  .l-product-list .l-product-list__empty {
    font-family: "Roboto Regular", Arial, sans; }

.product-summary__prices {
  margin-bottom: 20px; }
  .product-summary__prices .product-summary__price--reduced {
    display: inline; }

.pm-table.cart-details td, .pm-table.cart-details th {
  border-bottom: none; }
  .pm-table.cart-details td.cart-item__product-info, .pm-table.cart-details th.cart-item__product-info {
    text-align: left;
    padding: 0 0 20px 10px;
    max-width: 40vw; }
    @media (min-width: 48em) {
      .pm-table.cart-details td.cart-item__product-info, .pm-table.cart-details th.cart-item__product-info {
        padding: 20px 0 20px 20px;
        max-width: none; } }

@media (min-width: 48em) {
  .pm-table.cart-details thead th, .pm-table.cart-details tfoot td {
    padding: 20px; } }

.pm-table.cart-details thead th:last-of-type, .pm-table.cart-details tfoot td:last-of-type {
  text-align: left; }

.pm-table.cart-details .cart-item__product-image-holder {
  height: auto;
  max-width: 50%; }
  @media (min-width: 48em) {
    .pm-table.cart-details .cart-item__product-image-holder {
      text-align: center; } }
  .pm-table.cart-details .cart-item__product-image-holder .cart-item__product-link {
    display: inline-block; }
  .pm-table.cart-details .cart-item__product-image-holder .cart-item__product-image {
    max-width: 80px;
    height: inherit; }
    @media (min-width: 30.0625em) {
      .pm-table.cart-details .cart-item__product-image-holder .cart-item__product-image {
        max-width: 150px; } }

.pm-table.cart-details .cart-item__product-title {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  margin-bottom: 20px;
  max-width: 100%;
  overflow: hidden; }
  @media (min-width: 48em) {
    .pm-table.cart-details .cart-item__product-title {
      overflow: visible;
      max-width: 90%; } }

.pm-table.cart-details .cart-item__product-type {
  margin-bottom: 10px;
  font-size: 14px; }

.pm-table.cart-details .cart-item__product-size {
  font: 12px/18px "Roboto Regular", Arial, sans; }

.pm-table.cart-details .cart-subtotal {
  font-size: 24px;
  text-align: right !important; }

.pm-table.cart-details .cart-item__qty {
  font: 14px/14px "Roboto Regular", Arial, sans;
  text-transform: uppercase;
  margin-bottom: 10px;
  letter-spacing: 1.5px; }

.pm-table.cart-details .cart-controls {
  margin-top: 10px; }

@media (min-width: 62em) {
  .pm-table.cart-details .cart-controls {
    display: inline;
    margin-left: 5px;
    margin-top: 0; } }

.pm-table.cart-details .cart-item-change {
  background: #f3f3f3;
  width: 30px;
  height: 30px;
  line-height: 32px;
  text-align: center;
  display: inline-block;
  font-size: 14px;
  vertical-align: middle;
  text-decoration: none;
  margin-right: 5px;
  border-radius: 100%; }
  .pm-table.cart-details .cart-item-change.cart-item-change--hidden {
    display: none; }

.pm-table.cart-details .cart-item__product-price .cart-item__product-type, .pm-table.cart-details .cart-item__product-price .cart-item__qty {
  display: none; }

.pm-table.cart-details .cart-item__remove-link {
  display: inline-block; }

@media (max-width: 30.0525em) {
  .pm-table.cart-details .cart-item__product-title {
    font: 21px/26px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

@media (max-width: 61.99em) {
  .pm-table.cart-details thead {
    display: table-header-group; }
    .pm-table.cart-details thead tr {
      display: table-row; }
  .pm-table.cart-details tfoot {
    display: table-footer-group; }
    .pm-table.cart-details tfoot tr {
      display: table-row; }
  .pm-table.cart-details td.cart-item__product-info--price-total, .pm-table.cart-details th.cart-item__product-info--price-total {
    padding: 20px 0 20px 10px; } }
  @media (max-width: 61.99em) and (min-width: 48em) {
    .pm-table.cart-details td.cart-item__product-info--price-total, .pm-table.cart-details th.cart-item__product-info--price-total {
      padding: 20px 0 20px 20px; } }

@media (max-width: 61.99em) {
  .pm-table.cart-details .cart-item {
    display: table-row; }
  .pm-table.cart-details .cart-item__product-image-holder .cart-item__product-image {
    min-width: 80px;
    height: inherit; }
  .pm-table.cart-details .cart-item__product-info--price-total:before {
    content: ""; } }

.legal-copy, .checkout__note {
  font: 12px/18px "Roboto Regular", Arial, sans;
  font-weight: 400;
  background: #f5f5f5;
  padding: 20px;
  border-bottom: none;
  margin-top: 20px;
  clear: both;
  border-radius: 5px; }
  .legal-copy p, .checkout__note p {
    margin-bottom: 15px; }
    .legal-copy p:last-of-type, .checkout__note p:last-of-type {
      margin-bottom: 0; }

.btn--disabled {
  border: 1px solid #e0e0e0 !important;
  background: #e0e0e0 !important;
  color: #333 !important;
  opacity: 0.4 !important; }

.carousel__item--video {
  height: 80%; }
  @media (min-width: 62em) {
    .carousel__item--video {
      height: 100%; } }

.product-summary__thumbnail--video {
  border: 2px solid #ccc; }
  .product-summary__thumbnail--video .thumbnail--video__inner {
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 20%; }

.product-summary__thumbnail--video__text {
  font: 14px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .product-summary__thumbnail--video__text {
      font-size: 16px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.product-tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center; }
  .product-tags .product-tag {
    margin: 0 8px 20px 0; }

.product-tag {
  outline: 1px solid #333;
  font: 10px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin: 6px 10px 8px 0;
  padding: 4px 5px;
  display: inline-block; }
  @media (min-width: 90.625em) {
    .product-tag {
      font-size: 12px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  @media (min-width: 75em) {
    .product-tag {
      margin: 6px 10px 3px 0; } }
  .product-tag::selection {
    background: transparent; }

.icon-limited-edition {
  font-size: 16px;
  vertical-align: sub;
  margin: 0 0 0 2px; }

.icon-new {
  font-size: 17px;
  vertical-align: text-bottom; }

.th-wizarding-world .collection-type--art-collection .product-summary__title {
  color: #095d67; }

.th-wizarding-world .product-summary--single--art .product-summary__thumbnails .active {
  border: 2px solid #095d67; }

.th-wizarding-world .product-summary--single--art .product-summary__price {
  color: #095d67; }

.th-wizarding-world .product-summary--single--art .product-summary__price--reduced {
  color: #679ba1; }

.th-wizarding-world .product-summary--single--art .product-summary__variants input[type="radio"]:checked + label:before {
  background: #003e51; }

.th-wizarding-world .product-summary--single--art .product-summary__stock {
  color: #095d67; }

.th-wizarding-world .product-single__pull-quote--art .product-single__pull-quote-line:before, .th-wizarding-world .product-single__pull-quote--art .product-single__pull-quote-line:after {
  color: #095d67; }

.th-wizarding-world .modal .modal__buttons .modal__buttons-button:first-of-type .btn {
  background: white;
  color: #095d67; }

.th-wizarding-world .modal .modal__buttons .modal__buttons-button .btn {
  background: #095d67;
  border: 2px solid #095d67; }

.th-pottermore .btn--themed {
  border-color: #810041;
  background-color: #810041;
  color: #fff; }
  .th-pottermore .btn--themed:hover {
    background-color: #aa0056;
    border-color: #aa0056;
    color: #fff; }

.th-gryffindor .btn--themed {
  border-color: #8d0000;
  background-color: #8d0000;
  color: #fff; }
  .th-gryffindor .btn--themed:hover {
    background-color: #b60000;
    border-color: #b60000;
    color: #fff; }

.th-hufflepuff .btn--themed {
  border-color: #f2b800;
  background-color: #f2b800;
  color: #333; }
  .th-hufflepuff .btn--themed:hover {
    background-color: #d9a500;
    border-color: #d9a500;
    color: #fff; }

.th-slytherin .btn--themed {
  border-color: #005416;
  background-color: #005416;
  color: #fff; }
  .th-slytherin .btn--themed:hover {
    background-color: #007d21;
    border-color: #007d21;
    color: #fff; }

.th-ravenclaw .btn--themed {
  border-color: #004e80;
  background-color: #004e80;
  color: #fff; }
  .th-ravenclaw .btn--themed:hover {
    background-color: #0067a9;
    border-color: #0067a9;
    color: #fff; }

.btn {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 8px 24px;
  display: inline-block;
  vertical-align: top;
  border: 1px solid;
  border-color: inherit;
  text-decoration: none;
  color: inherit;
  transition: all .5s;
  cursor: pointer;
  border-radius: 0; }
  @media (min-width: 48em) {
    .btn {
      padding: 10px 30px; } }
  .btn:hover {
    background-color: #fff;
    border-color: #fff;
    color: #333; }

a.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.btn--previous, .step__footer__previous-link {
  background-color: #EEE;
  color: #333;
  border-color: #EEE; }
  .btn--previous:hover, .step__footer__previous-link:hover {
    background-color: #c2c2c2; }
  .btn--previous.my-book__back-button, .my-book__back-button.step__footer__previous-link {
    margin-left: 50%;
    transform: translateX(-50%); }

.btn--purchase, .step__footer__continue-btn, .order-summary__section--discount .field__input-btn {
  background-color: #02857d;
  border-color: #02857d;
  color: #fff; }
  .btn--purchase:hover, .step__footer__continue-btn:hover, .order-summary__section--discount .field__input-btn:hover {
    background-color: #046460;
    border-color: #046460;
    color: #fff; }
  .btn--purchase.gifting, .gifting.step__footer__continue-btn, .order-summary__section--discount .gifting.field__input-btn {
    color: #000000;
    border-color: #000000; }
    .btn--purchase.gifting:hover, .gifting.step__footer__continue-btn:hover, .order-summary__section--discount .gifting.field__input-btn:hover {
      background-color: transparent;
      border-color: #000000;
      color: #000000; }

.form__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center; }

.profile__ctas,
.sorting-hat__ctas {
  display: flex;
  flex-direction: column; }
  @media (min-width: 48em) {
    .profile__ctas,
    .sorting-hat__ctas {
      flex-direction: row;
      position: absolute;
      bottom: 15px;
      left: 20px;
      right: 20px;
      margin: 0 auto;
      width: 100%;
      max-width: 660px;
      z-index: 3; }
      .profile__ctas .form__button,
      .sorting-hat__ctas .form__button {
        line-height: 16px;
        margin-right: 20px; } }
  .profile__ctas .form__button,
  .sorting-hat__ctas .form__button {
    display: block;
    margin-top: 5px;
    cursor: pointer;
    background: #fff; }
    @media (min-width: 48em) {
      .profile__ctas .form__button,
      .sorting-hat__ctas .form__button {
        margin: 5px auto 0;
        max-width: 320px; } }
  .profile__ctas .form__button a, .profile__ctas .form__button a:visited,
  .sorting-hat__ctas .form__button a,
  .sorting-hat__ctas .form__button a:visited {
    color: inherit;
    text-decoration: none;
    display: block; }

.sorting-hat__ctas {
  bottom: auto; }
  .sorting-hat__ctas .form__button {
    background: transparent; }

.profile__ctas--unverified {
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%; }
  .profile__ctas--unverified .form__button--unverified {
    margin-top: 0;
    max-width: 100%;
    cursor: default !important; }

.form__button--no-padding {
  padding-left: 0;
  padding-right: 0; }

.btn--added {
  cursor: inherit;
  transition: none;
  background-color: #e0e0e0;
  border-color: #e0e0e0; }
  .btn--added:hover {
    background-color: #e0e0e0;
    border-color: #e0e0e0; }

.btn--disabled {
  cursor: default !important;
  transition: none;
  background-color: #fff;
  border-color: #f00; }
  .btn--disabled:hover {
    background-color: #fff;
    border-color: #f00; }

.wizarding-world-overrides .profile__ctas .form__button,
.wizarding-world-overrides .sorting-hat__ctas .form__button {
  background: #fff; }

.wizarding-world-overrides .profile__ctas .form__button a, .wizarding-world-overrides .profile__ctas .form__button a:visited,
.wizarding-world-overrides .sorting-hat__ctas .form__button a,
.wizarding-world-overrides .sorting-hat__ctas .form__button a:visited {
  color: inherit; }

.wizarding-world-overrides .sorting-hat__ctas .form__button {
  background: transparent; }

.form-header {
  margin: 0 auto;
  text-align: center;
  color: #FFF;
  padding-top: 30px; }
  @media (min-width: 48em) {
    .form-header {
      max-width: 704px;
      margin-left: auto;
      margin-right: auto;
      padding-bottom: 30px; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; }
      .form-header::after {
        content: '';
        display: block;
        width: 100%; } }
  @media (min-width: 62em) {
    .form-header {
      max-width: 909.33333px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 75em) {
    .form-header {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 90.625em) {
    .form-header {
      max-width: 1329.16667px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }

.form-header--invert {
  color: #333; }

.form-header__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__title.form-header__title--secondary {
    font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      width: 66.10169%;
      margin: 5px auto 0; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .form-header__title {
      font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.form-header__title--secondary {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.form-header__sub-title {
  display: inline-block;
  padding: 0 1.69492%;
  margin-top: 11px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__sub-title.form-header__sub-title--secondary {
    padding: 20px 0 0 0; }
  @media (min-width: 48em) {
    .form-header__sub-title {
      max-width: 66.10169%; } }

.ww-account-form__background--join #join-error {
  padding: 60px 0; }
  .ww-account-form__background--join #join-error .form-header {
    width: 100%; }
    @media (min-width: 48em) {
      .ww-account-form__background--join #join-error .form-header {
        width: 400px; } }
  .ww-account-form__background--join #join-error .form-header__title {
    width: auto; }
  .ww-account-form__background--join #join-error .form-header__divider {
    border: 0;
    border-bottom: 1px solid #e8e8e4;
    width: 40%;
    margin: 40px auto; }
  .ww-account-form__background--join #join-error .form-header__sub-title {
    max-width: 100%;
    padding: 0 20px; }
  .ww-account-form__background--join #join-error .form-header__app-btns {
    margin-top: 40px;
    padding: 0;
    display: flex;
    justify-content: center; }
  .ww-account-form__background--join #join-error .appstore-btn {
    background-image: url("/assets/img/app-store-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 130px;
    overflow: hidden;
    text-indent: -9999px; }
  .ww-account-form__background--join #join-error .googleplay-btn {
    background-image: url("/assets/img/google-play-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 134px;
    overflow: hidden;
    text-indent: -9999px; }

.radio-selection {
  display: flex;
  position: relative;
  padding: 0 1.69492%;
  height: 40px;
  background-color: #e0e0e0;
  align-items: center; }

.radio-selection__radio {
  margin: 0;
  margin-right: 1.69492%;
  height: 14px;
  width: 14px; }

.radio-selection__label {
  display: none;
  font: 12px/12px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .radio-selection__label {
      font-size: 14px;
      line-height: 14px;
      letter-spacing: 2.5px; } }
  @media (min-width: 62em) {
    .radio-selection__label {
      display: initial; } }

.radio-selection__logo {
  position: absolute;
  display: block;
  top: 0;
  right: 50%;
  height: 40px;
  transform: translateX(50%); }
  @media (min-width: 62em) {
    .radio-selection__logo {
      right: 1.69492%;
      transform: none; } }

button {
  line-height: 100%;
  padding: 10px 20px;
  color: #fff;
  border: 0;
  border-radius: 2px; }
  @media (min-width: 481px) {
    button {
      padding: 10px 40px; } }

form {
  width: 100%; }

.form__row {
  margin-bottom: 15px;
  flex-flow: row wrap;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 48em) {
    .form--stackable .form__row {
      float: left;
      margin-right: 10px;
      margin-bottom: 0; } }

.form__row--half {
  width: 50%; }

.form__row-link {
  color: #FFF;
  font: 12px/18px "Roboto Regular", Arial, sans; }

.form__row-link--invert {
  color: #333; }

.form__row--text-link {
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  letter-spacing: normal !important;
  text-transform: inherit;
  text-align: right; }
  @media (min-width: 90.625em) {
    .form__row--text-link {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__row--checkbox {
  line-height: normal;
  margin-bottom: 0;
  justify-content: flex-start; }

@media (min-width: 48em) {
  .form__row--no-label {
    padding-top: 23px; } }

@media (min-width: 90.625em) {
  .form__row--no-label {
    padding-top: 25px; } }

.form__label, .field__label {
  margin-bottom: 5px;
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .form__label, .field__label {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__label--invert {
  color: #ffffff; }

.form__label--invert a, .form__label--invert a:visited, .form__label--invert a:hover {
  color: #fff; }

.form__label--checkbox {
  margin-left: 10px;
  width: 85%;
  display: inline-block;
  text-transform: none;
  vertical-align: top;
  letter-spacing: normal; }

.form__input, input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
input[type="file"],
input[type="number"],
input[type="tel"],
textarea,
select {
  padding: 6px 10px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  display: block;
  width: 100%;
  background: #FFF;
  border: 1px solid #aaa;
  color: #333;
  border-radius: 0; }
  .form__input.ng-invalid.ng-touched, input.ng-invalid.ng-touched[type="text"],
  input.ng-invalid.ng-touched[type="search"],
  input.ng-invalid.ng-touched[type="password"],
  input.ng-invalid.ng-touched[type="email"],
  input.ng-invalid.ng-touched[type="file"],
  input.ng-invalid.ng-touched[type="number"],
  input.ng-invalid.ng-touched[type="tel"],
  textarea.ng-invalid.ng-touched,
  select.ng-invalid.ng-touched,
  .ng-submitted .form__input.ng-invalid,
  .ng-submitted input.ng-invalid[type="text"],
  .ng-submitted input.ng-invalid[type="search"],
  .ng-submitted input.ng-invalid[type="password"],
  .ng-submitted input.ng-invalid[type="email"],
  .ng-submitted input.ng-invalid[type="file"],
  .ng-submitted input.ng-invalid[type="number"],
  .ng-submitted input.ng-invalid[type="tel"],
  .ng-submitted textarea.ng-invalid,
  .ng-submitted select.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }
  .form__input.form__input--disabled, input.form__input--disabled[type="text"],
  input.form__input--disabled[type="search"],
  input.form__input--disabled[type="password"],
  input.form__input--disabled[type="email"],
  input.form__input--disabled[type="file"],
  input.form__input--disabled[type="number"],
  input.form__input--disabled[type="tel"],
  textarea.form__input--disabled,
  select.form__input--disabled {
    border: 0;
    padding-left: 0; }

.form__input--select {
  height: 36px; }

.form__input--checkbox {
  vertical-align: top;
  margin-left: 0; }
  .form__input--checkbox.ng-invalid.ng-touched,
  .ng-submitted .form__input--checkbox.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }

.form__button {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  width: 100%;
  display: block;
  padding: 10px 40px;
  color: #FFF;
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  transition: background 0.25s;
  border: none;
  line-height: 16px !important; }
  @media (min-width: 90.625em) {
    .form__button {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__button, .form__button--primary {
  cursor: pointer;
  background: #810041; }
  .form__button[disabled=disabled], .form__button--primary[disabled=disabled] {
    background: #c5c9cc;
    cursor: default; }

.form__button--hollow {
  background: transparent;
  border: 1px solid #FFF; }

.overlay .form__button--hollow {
  border-color: #810041;
  color: #810041; }
  .overlay .form__button--hollow:hover {
    background-color: #fff; }

.form__button--label {
  width: 100%; }

.form__button--after-checkbox {
  margin-top: 10px; }

.form__error, .field__message--error, .section--payment-method .notice--warning,
.section--payment-method .notice--error,
.form__confirmation,
.form__warning {
  padding: 5px 0;
  background: #ca0404;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 16px;
  color: #FFF;
  text-align: center;
  width: 100%; }
  @media (min-width: 90.625em) {
    .form__error, .field__message--error, .section--payment-method .notice--warning,
    .section--payment-method .notice--error,
    .form__confirmation,
    .form__warning {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__warning {
  background: #ff9;
  color: #000;
  margin-bottom: 1em; }

.form__confirmation {
  background: #410021; }

.form__error--global {
  margin-top: 5px; }

.wizarding-world-overrides .form__button, .wizarding-world-overrides .form__button--primary {
  background: #003e51; }
  .wizarding-world-overrides .form__button[disabled=disabled], .wizarding-world-overrides .form__button--primary[disabled=disabled] {
    background: #c5c9cc; }
  .wizarding-world-overrides .form__button.ww-form__button, .wizarding-world-overrides .form__button--primary.ww-form__button {
    border-radius: 20px;
    padding: 10px 20px; }
  .wizarding-world-overrides .form__button.ww-signin-link, .wizarding-world-overrides .form__button--primary.ww-signin-link {
    border: 0;
    background: #CEBF96;
    color: #000; }

.wizarding-world-overrides .form__button--hollow {
  background: transparent; }

.wizarding-world-overrides .form__confirmation {
  background: #002b39; }

.wizarding-world-overrides .overlay .form__button--hollow {
  border-color: #003e51;
  color: #003e51; }
  .wizarding-world-overrides .overlay .form__button--hollow:hover {
    background-color: #fff; }

.section-lead {
  margin: 30px 0;
  text-align: center; }
  @media (min-width: 62em) {
    .section-lead {
      margin: 60px 0; } }

.section-lead--compact {
  margin-top: 0;
  margin-bottom: 20px; }
  @media (min-width: 62em) {
    .section-lead--compact {
      margin-top: 0; } }

.section-lead__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 62em) {
    .section-lead__title {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .section-lead__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.section-lead__subtitle {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 20px; }
  @media (min-width: 90.625em) {
    .section-lead__subtitle {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.section-lead__preface {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  padding-left: 6.77966%;
  padding-right: 6.77966%; }
  @media (min-width: 90.625em) {
    .section-lead__preface {
      font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.pm-table {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  width: 100%; }
  @media (min-width: 48em) {
    .pm-table {
      font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  .pm-table tr {
    width: 100%; }
  .pm-table th {
    font: 12px/18px "Roboto Regular", Arial, sans;
    letter-spacing: 1.5px;
    text-transform: uppercase; }
    @media (min-width: 90.625em) {
      .pm-table th {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 2.5px; } }
  .pm-table td,
  .pm-table th {
    text-align: center;
    border-bottom: 1px grey solid; }
  .pm-table td:first-child,
  .pm-table th:first-child {
    text-align: left;
    padding-left: 0; }
  .pm-table td:last-child,
  .pm-table th:last-child {
    text-align: right;
    padding-right: 0; }

.pm-table__no-data {
  text-align: center !important; }

.th-pottermore .btn--themed {
  border-color: #810041;
  background-color: #810041;
  color: #fff; }
  .th-pottermore .btn--themed:hover {
    background-color: #aa0056;
    border-color: #aa0056;
    color: #fff; }

.th-gryffindor .btn--themed {
  border-color: #8d0000;
  background-color: #8d0000;
  color: #fff; }
  .th-gryffindor .btn--themed:hover {
    background-color: #b60000;
    border-color: #b60000;
    color: #fff; }

.th-hufflepuff .btn--themed {
  border-color: #f2b800;
  background-color: #f2b800;
  color: #333; }
  .th-hufflepuff .btn--themed:hover {
    background-color: #d9a500;
    border-color: #d9a500;
    color: #fff; }

.th-slytherin .btn--themed {
  border-color: #005416;
  background-color: #005416;
  color: #fff; }
  .th-slytherin .btn--themed:hover {
    background-color: #007d21;
    border-color: #007d21;
    color: #fff; }

.th-ravenclaw .btn--themed {
  border-color: #004e80;
  background-color: #004e80;
  color: #fff; }
  .th-ravenclaw .btn--themed:hover {
    background-color: #0067a9;
    border-color: #0067a9;
    color: #fff; }

.btn {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 8px 24px;
  display: inline-block;
  vertical-align: top;
  border: 1px solid;
  border-color: inherit;
  text-decoration: none;
  color: inherit;
  transition: all .5s;
  cursor: pointer;
  border-radius: 0; }
  @media (min-width: 48em) {
    .btn {
      padding: 10px 30px; } }
  .btn:hover {
    background-color: #fff;
    border-color: #fff;
    color: #333; }

a.btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center; }

.btn--previous, .step__footer__previous-link {
  background-color: #EEE;
  color: #333;
  border-color: #EEE; }
  .btn--previous:hover, .step__footer__previous-link:hover {
    background-color: #c2c2c2; }
  .btn--previous.my-book__back-button, .my-book__back-button.step__footer__previous-link {
    margin-left: 50%;
    transform: translateX(-50%); }

.btn--purchase, .step__footer__continue-btn, .order-summary__section--discount .field__input-btn {
  background-color: #02857d;
  border-color: #02857d;
  color: #fff; }
  .btn--purchase:hover, .step__footer__continue-btn:hover, .order-summary__section--discount .field__input-btn:hover {
    background-color: #046460;
    border-color: #046460;
    color: #fff; }
  .btn--purchase.gifting, .gifting.step__footer__continue-btn, .order-summary__section--discount .gifting.field__input-btn {
    color: #000000;
    border-color: #000000; }
    .btn--purchase.gifting:hover, .gifting.step__footer__continue-btn:hover, .order-summary__section--discount .gifting.field__input-btn:hover {
      background-color: transparent;
      border-color: #000000;
      color: #000000; }

.form__button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center; }

.profile__ctas,
.sorting-hat__ctas {
  display: flex;
  flex-direction: column; }
  @media (min-width: 48em) {
    .profile__ctas,
    .sorting-hat__ctas {
      flex-direction: row;
      position: absolute;
      bottom: 15px;
      left: 20px;
      right: 20px;
      margin: 0 auto;
      width: 100%;
      max-width: 660px;
      z-index: 3; }
      .profile__ctas .form__button,
      .sorting-hat__ctas .form__button {
        line-height: 16px;
        margin-right: 20px; } }
  .profile__ctas .form__button,
  .sorting-hat__ctas .form__button {
    display: block;
    margin-top: 5px;
    cursor: pointer;
    background: #fff; }
    @media (min-width: 48em) {
      .profile__ctas .form__button,
      .sorting-hat__ctas .form__button {
        margin: 5px auto 0;
        max-width: 320px; } }
  .profile__ctas .form__button a, .profile__ctas .form__button a:visited,
  .sorting-hat__ctas .form__button a,
  .sorting-hat__ctas .form__button a:visited {
    color: inherit;
    text-decoration: none;
    display: block; }

.sorting-hat__ctas {
  bottom: auto; }
  .sorting-hat__ctas .form__button {
    background: transparent; }

.profile__ctas--unverified {
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 100%; }
  .profile__ctas--unverified .form__button--unverified {
    margin-top: 0;
    max-width: 100%;
    cursor: default !important; }

.form__button--no-padding {
  padding-left: 0;
  padding-right: 0; }

.btn--added {
  cursor: inherit;
  transition: none;
  background-color: #e0e0e0;
  border-color: #e0e0e0; }
  .btn--added:hover {
    background-color: #e0e0e0;
    border-color: #e0e0e0; }

.btn--disabled {
  cursor: default !important;
  transition: none;
  background-color: #fff;
  border-color: #f00; }
  .btn--disabled:hover {
    background-color: #fff;
    border-color: #f00; }

.wizarding-world-overrides .profile__ctas .form__button,
.wizarding-world-overrides .sorting-hat__ctas .form__button {
  background: #fff; }

.wizarding-world-overrides .profile__ctas .form__button a, .wizarding-world-overrides .profile__ctas .form__button a:visited,
.wizarding-world-overrides .sorting-hat__ctas .form__button a,
.wizarding-world-overrides .sorting-hat__ctas .form__button a:visited {
  color: inherit; }

.wizarding-world-overrides .sorting-hat__ctas .form__button {
  background: transparent; }

.form-header {
  margin: 0 auto;
  text-align: center;
  color: #FFF;
  padding-top: 30px; }
  @media (min-width: 48em) {
    .form-header {
      max-width: 704px;
      margin-left: auto;
      margin-right: auto;
      padding-bottom: 30px; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; }
      .form-header::after {
        content: '';
        display: block;
        width: 100%; } }
  @media (min-width: 62em) {
    .form-header {
      max-width: 909.33333px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 75em) {
    .form-header {
      max-width: 1100px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 90.625em) {
    .form-header {
      max-width: 1329.16667px;
      margin-left: auto;
      margin-right: auto; }
      .form-header:after {
        content: " ";
        display: block;
        clear: both; } }

.form-header--invert {
  color: #333; }

.form-header__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__title.form-header__title--secondary {
    font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
      width: 66.10169%;
      margin: 5px auto 0; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .form-header__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .form-header__title {
      font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
      .form-header__title.form-header__title--secondary {
        font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.form-header__title--secondary {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.form-header__sub-title {
  display: inline-block;
  padding: 0 1.69492%;
  margin-top: 11px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .form-header__sub-title.form-header__sub-title--secondary {
    padding: 20px 0 0 0; }
  @media (min-width: 48em) {
    .form-header__sub-title {
      max-width: 66.10169%; } }

.ww-account-form__background--join #join-error {
  padding: 60px 0; }
  .ww-account-form__background--join #join-error .form-header {
    width: 100%; }
    @media (min-width: 48em) {
      .ww-account-form__background--join #join-error .form-header {
        width: 400px; } }
  .ww-account-form__background--join #join-error .form-header__title {
    width: auto; }
  .ww-account-form__background--join #join-error .form-header__divider {
    border: 0;
    border-bottom: 1px solid #e8e8e4;
    width: 40%;
    margin: 40px auto; }
  .ww-account-form__background--join #join-error .form-header__sub-title {
    max-width: 100%;
    padding: 0 20px; }
  .ww-account-form__background--join #join-error .form-header__app-btns {
    margin-top: 40px;
    padding: 0;
    display: flex;
    justify-content: center; }
  .ww-account-form__background--join #join-error .appstore-btn {
    background-image: url("/assets/img/app-store-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 130px;
    overflow: hidden;
    text-indent: -9999px; }
  .ww-account-form__background--join #join-error .googleplay-btn {
    background-image: url("/assets/img/google-play-button.png");
    display: block;
    height: 45px;
    margin: 0 20px;
    width: 134px;
    overflow: hidden;
    text-indent: -9999px; }

.radio-selection {
  display: flex;
  position: relative;
  padding: 0 1.69492%;
  height: 40px;
  background-color: #e0e0e0;
  align-items: center; }

.radio-selection__radio {
  margin: 0;
  margin-right: 1.69492%;
  height: 14px;
  width: 14px; }

.radio-selection__label {
  display: none;
  font: 12px/12px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .radio-selection__label {
      font-size: 14px;
      line-height: 14px;
      letter-spacing: 2.5px; } }
  @media (min-width: 62em) {
    .radio-selection__label {
      display: initial; } }

.radio-selection__logo {
  position: absolute;
  display: block;
  top: 0;
  right: 50%;
  height: 40px;
  transform: translateX(50%); }
  @media (min-width: 62em) {
    .radio-selection__logo {
      right: 1.69492%;
      transform: none; } }

button {
  line-height: 100%;
  padding: 10px 20px;
  color: #fff;
  border: 0;
  border-radius: 2px; }
  @media (min-width: 481px) {
    button {
      padding: 10px 40px; } }

form {
  width: 100%; }

.form__row {
  margin-bottom: 15px;
  flex-flow: row wrap;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 48em) {
    .form--stackable .form__row {
      float: left;
      margin-right: 10px;
      margin-bottom: 0; } }

.form__row--half {
  width: 50%; }

.form__row-link {
  color: #FFF;
  font: 12px/18px "Roboto Regular", Arial, sans; }

.form__row-link--invert {
  color: #333; }

.form__row--text-link {
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  letter-spacing: normal !important;
  text-transform: inherit;
  text-align: right; }
  @media (min-width: 90.625em) {
    .form__row--text-link {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__row--checkbox {
  line-height: normal;
  margin-bottom: 0;
  justify-content: flex-start; }

@media (min-width: 48em) {
  .form__row--no-label {
    padding-top: 23px; } }

@media (min-width: 90.625em) {
  .form__row--no-label {
    padding-top: 25px; } }

.form__label, .field__label {
  margin-bottom: 5px;
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .form__label, .field__label {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__label--invert {
  color: #ffffff; }

.form__label--invert a, .form__label--invert a:visited, .form__label--invert a:hover {
  color: #fff; }

.form__label--checkbox {
  margin-left: 10px;
  width: 85%;
  display: inline-block;
  text-transform: none;
  vertical-align: top;
  letter-spacing: normal; }

.form__input, input[type="text"],
input[type="search"],
input[type="password"],
input[type="email"],
input[type="file"],
input[type="number"],
input[type="tel"],
textarea,
select {
  padding: 6px 10px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  display: block;
  width: 100%;
  background: #FFF;
  border: 1px solid #aaa;
  color: #333;
  border-radius: 0; }
  .form__input.ng-invalid.ng-touched, input.ng-invalid.ng-touched[type="text"],
  input.ng-invalid.ng-touched[type="search"],
  input.ng-invalid.ng-touched[type="password"],
  input.ng-invalid.ng-touched[type="email"],
  input.ng-invalid.ng-touched[type="file"],
  input.ng-invalid.ng-touched[type="number"],
  input.ng-invalid.ng-touched[type="tel"],
  textarea.ng-invalid.ng-touched,
  select.ng-invalid.ng-touched,
  .ng-submitted .form__input.ng-invalid,
  .ng-submitted input.ng-invalid[type="text"],
  .ng-submitted input.ng-invalid[type="search"],
  .ng-submitted input.ng-invalid[type="password"],
  .ng-submitted input.ng-invalid[type="email"],
  .ng-submitted input.ng-invalid[type="file"],
  .ng-submitted input.ng-invalid[type="number"],
  .ng-submitted input.ng-invalid[type="tel"],
  .ng-submitted textarea.ng-invalid,
  .ng-submitted select.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }
  .form__input.form__input--disabled, input.form__input--disabled[type="text"],
  input.form__input--disabled[type="search"],
  input.form__input--disabled[type="password"],
  input.form__input--disabled[type="email"],
  input.form__input--disabled[type="file"],
  input.form__input--disabled[type="number"],
  input.form__input--disabled[type="tel"],
  textarea.form__input--disabled,
  select.form__input--disabled {
    border: 0;
    padding-left: 0; }

.form__input--select {
  height: 36px; }

.form__input--checkbox {
  vertical-align: top;
  margin-left: 0; }
  .form__input--checkbox.ng-invalid.ng-touched,
  .ng-submitted .form__input--checkbox.ng-invalid {
    box-shadow: none;
    outline: 2px solid #ca0404;
    background: #FCF2F2; }

.form__button {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  width: 100%;
  display: block;
  padding: 10px 40px;
  color: #FFF;
  border-radius: 0;
  text-decoration: none;
  text-align: center;
  transition: background 0.25s;
  border: none;
  line-height: 16px !important; }
  @media (min-width: 90.625em) {
    .form__button {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__button, .form__button--primary {
  cursor: pointer;
  background: #810041; }
  .form__button[disabled=disabled], .form__button--primary[disabled=disabled] {
    background: #c5c9cc;
    cursor: default; }

.form__button--hollow {
  background: transparent;
  border: 1px solid #FFF; }

.overlay .form__button--hollow {
  border-color: #810041;
  color: #810041; }
  .overlay .form__button--hollow:hover {
    background-color: #fff; }

.form__button--label {
  width: 100%; }

.form__button--after-checkbox {
  margin-top: 10px; }

.form__error, .field__message--error, .section--payment-method .notice--warning,
.section--payment-method .notice--error,
.form__confirmation,
.form__warning {
  padding: 5px 0;
  background: #ca0404;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  line-height: 16px;
  color: #FFF;
  text-align: center;
  width: 100%; }
  @media (min-width: 90.625em) {
    .form__error, .field__message--error, .section--payment-method .notice--warning,
    .section--payment-method .notice--error,
    .form__confirmation,
    .form__warning {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.form__warning {
  background: #ff9;
  color: #000;
  margin-bottom: 1em; }

.form__confirmation {
  background: #410021; }

.form__error--global {
  margin-top: 5px; }

.wizarding-world-overrides .form__button, .wizarding-world-overrides .form__button--primary {
  background: #003e51; }
  .wizarding-world-overrides .form__button[disabled=disabled], .wizarding-world-overrides .form__button--primary[disabled=disabled] {
    background: #c5c9cc; }
  .wizarding-world-overrides .form__button.ww-form__button, .wizarding-world-overrides .form__button--primary.ww-form__button {
    border-radius: 20px;
    padding: 10px 20px; }
  .wizarding-world-overrides .form__button.ww-signin-link, .wizarding-world-overrides .form__button--primary.ww-signin-link {
    border: 0;
    background: #CEBF96;
    color: #000; }

.wizarding-world-overrides .form__button--hollow {
  background: transparent; }

.wizarding-world-overrides .form__confirmation {
  background: #002b39; }

.wizarding-world-overrides .overlay .form__button--hollow {
  border-color: #003e51;
  color: #003e51; }
  .wizarding-world-overrides .overlay .form__button--hollow:hover {
    background-color: #fff; }

.is-hidden {
  visibility: hidden !important; }

.is-removed {
  display: none !important; }

@media (max-width: 61.99em) {
  .cart-details thead {
    display: none; }
  .cart-details tfoot tr {
    display: inline-flex;
    flex-direction: row; } }

.cart-item__product-link {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  color: #810041;
  text-decoration: none;
  display: flex;
  flex-direction: row; }
  @media (min-width: 48em) {
    .cart-item__product-link {
      font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

a .cart-item__product-title {
  transition: border 0.5s;
  border-bottom: 1px solid transparent; }
  a .cart-item__product-title:hover {
    border-bottom-color: #810041; }

.cart-item__product-image-holder {
  height: 198px;
  margin-right: 20px; }
  @media (min-width: 48em) {
    .cart-item__product-image-holder {
      margin-right: 40px;
      width: 28%; } }
  .cart-item__product-image-holder.audio {
    height: 130px; }

.cart-item__product-image {
  vertical-align: text-top;
  height: 100%; }

.cart-item__product-info--price-total {
  font: 14px/28px "Roboto Regular", Arial, sans;
  color: #333;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-align: center;
  vertical-align: baseline; }
  @media (min-width: 48em) {
    .cart-item__product-info--price-total {
      font-size: 18px;
      line-height: 36px; } }

.cart-item__remove-link {
  display: block;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #810041;
  text-decoration: none; }
  @media (min-width: 90.625em) {
    .cart-item__remove-link {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.cart-item__product-type {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .cart-item__product-type {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.cart-subtotal-header {
  flex: 1 0 66%; }

.cart-subtotal {
  flex: 1 0 33%; }

.cart-subtotal-header,
.cart-subtotal {
  font: 18px/18px "Roboto Regular", Arial, sans;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase; }

.shipping-discount-copy {
  font: 12px/18px "Roboto Regular", Arial, sans;
  font-weight: 900;
  border-bottom: 1px grey solid; }
  .shipping-discount-copy p {
    margin-top: 15px;
    margin-bottom: 15px; }

.cart-buttons {
  padding-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  @media (min-width: 62em) {
    .cart-buttons {
      display: block; } }
  .cart-buttons .btn {
    margin: 0 0 20px 0;
    width: 100%;
    min-height: 55px; }
    @media (min-width: 62em) {
      .cart-buttons .btn {
        width: 167px;
        min-width: 0;
        padding-left: 5px;
        padding-right: 5px;
        min-height: 0; }
        .cart-buttons .btn:first-child {
          margin-right: 10px; } }
  .cart-buttons .btn--purchase, .cart-buttons .step__footer__continue-btn, .cart-buttons .order-summary__section--discount .field__input-btn, .order-summary__section--discount .cart-buttons .field__input-btn {
    width: 100%; }
    @media (min-width: 62em) {
      .cart-buttons .btn--purchase, .cart-buttons .step__footer__continue-btn, .cart-buttons .order-summary__section--discount .field__input-btn, .order-summary__section--discount .cart-buttons .field__input-btn {
        float: right;
        width: 167px; } }
  .cart-buttons .btn--continue {
    background-color: #e0e0e0;
    border-color: #e0e0e0; }
    .cart-buttons .btn--continue:hover {
      background-color: #c2c2c2;
      border-color: #e0e0e0; }
    .cart-buttons .btn--continue.btn--added {
      cursor: none; }
      .cart-buttons .btn--continue.btn--added:hover {
        background-color: inherit;
        border-color: inherit;
        opacity: 0.5; }

.cart__gifting-details {
  color: #ffffff; }
  .cart__gifting-details .section-lead__title {
    font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
    margin-bottom: 20px; }
  @media (min-width: 48em) {
    .cart__gifting-details .field--half:first-child {
      padding-left: 0;
      padding-right: 10px; } }
  .cart__gifting-details .field__label {
    font-size: 12px; }
  .cart__gifting-details .form__error, .cart__gifting-details .field__message--error, .cart__gifting-details .section--payment-method .notice--warning, .section--payment-method .cart__gifting-details .notice--warning,
  .cart__gifting-details .section--payment-method .notice--error, .section--payment-method .cart__gifting-details .notice--error {
    display: none; }
  .cart__gifting-details .field__input.errored + .form__error, .cart__gifting-details .field__input.errored + .field__message--error, .cart__gifting-details .section--payment-method .field__input.errored + .notice--warning, .section--payment-method .cart__gifting-details .field__input.errored + .notice--warning,
  .cart__gifting-details .section--payment-method .field__input.errored + .notice--error, .section--payment-method .cart__gifting-details .field__input.errored + .notice--error, .cart__gifting-details .field__select.errored + .form__error, .cart__gifting-details .field__select.errored + .field__message--error, .cart__gifting-details .section--payment-method .field__select.errored + .notice--warning, .section--payment-method .cart__gifting-details .field__select.errored + .notice--warning,
  .cart__gifting-details .section--payment-method .field__select.errored + .notice--error, .section--payment-method .cart__gifting-details .field__select.errored + .notice--error {
    display: block; }
  .cart__gifting-details.confirmation {
    color: #810041; }
  .cart__gifting-details .confirmation {
    display: flex;
    flex-direction: row; }

.field__value--gift-message {
  white-space: pre-wrap; }

.cart__gifting-details__field {
  background-color: rgba(250, 250, 250, 0.8); }

.wrapping-select {
  width: 100%;
  margin: 0 0 20px;
  padding: 0 0 6.77966% 6.77966%;
  background: rgba(250, 250, 250, 0.9); }
  .wrapping-select .select-wrap {
    width: 65px;
    height: 65px;
    margin: 0 3px 0 0;
    transition: outline 1s;
    outline: 3px solid transparent;
    outline-offset: -3px;
    display: inline-block;
    cursor: pointer;
    position: relative;
    background: url("wrapping-select.jpg"); }
    @media (min-width: 30.0625em) {
      .wrapping-select .select-wrap {
        width: 100px;
        height: 100px;
        margin: 0 7px 0 0; } }
    @media (min-width: 48em) {
      .wrapping-select .select-wrap {
        margin: 0 13px 0 0; } }
    @media (min-width: 62em) {
      .wrapping-select .select-wrap {
        width: 125px;
        height: 125px; } }
    @media (min-width: 75em) {
      .wrapping-select .select-wrap {
        width: 155px;
        height: 155px; } }
    .wrapping-select .select-wrap .design {
      display: block;
      height: 100%;
      background-size: cover; }
    .wrapping-select .select-wrap.selected {
      outline-color: #810041; }
    .wrapping-select .select-wrap.optionThree .design {
      background-image: url("wrapping-optionThree.png"); }
    .wrapping-select .select-wrap.optionOne .design {
      background-image: url("wrapping-overlay-optionOne.png"); }
    .wrapping-select .select-wrap.optionTwo .design {
      background-image: url("wrapping-optionTwo.jpg"); }

.gifting-info-container {
  background: url("gift-info-bg.jpg");
  min-height: 300px;
  max-height: 10000px;
  transition: background-image 1s;
  margin-top: 40px;
  position: relative;
  padding: 6.77966%; }
  .gifting-info-container.is-removed {
    max-height: 0; }
  .gifting-info-container.optionThree {
    background-image: url("wrapping-container-option-three-small.jpg"); }
    @media (min-width: 48em) {
      .gifting-info-container.optionThree {
        background-image: url("wrapping-container-option-three.jpg"); } }
  .gifting-info-container.optionOne {
    background-image: url("wrapping-container-option-one-small.jpg"); }
    @media (min-width: 48em) {
      .gifting-info-container.optionOne {
        background-image: url("wrapping-container-option-one.jpg"); } }
  .gifting-info-container.optionTwo {
    background-image: url("wrapping-container-option-two-small.jpg"); }
    @media (min-width: 48em) {
      .gifting-info-container.optionTwo {
        background-image: url("wrapping-container-option-two.jpg"); } }

.gifting-info-container__inner {
  background-color: rgba(250, 250, 250, 0.9);
  width: 100%;
  position: relative;
  z-index: 10;
  padding: 6.77966%; }

.gifting-checkbox-container {
  border-color: #02857d;
  color: #810041;
  font-size: 10px;
  text-align: center;
  margin: 0 0 20px;
  display: inline-block;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  cursor: pointer; }
  .gifting-checkbox-container .input--is-gifting {
    display: inline-block;
    width: auto; }

.gifting-info-container__form {
  max-width: 400px; }
  @media (min-width: 48em) {
    .gifting-info-container__form {
      margin: 35px 0 0 6.77966%; } }

.field__label--date {
  display: inline-block;
  cursor: pointer; }

.field__label--pick-date {
  margin: 10px 0; }

.gifting-container {
  max-height: 2000px;
  overflow: hidden;
  transition: all 1s; }
  .gifting-container.animate {
    max-height: 0; }

.gifting-info-container__text {
  font: 18px/22px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  margin: 20px auto; }

.gifting-info__wrapping-select {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  margin-bottom: 20px;
  color: #333; }

.product-summary__image--wrapping {
  display: none; }

.wrapped .product-summary__image {
  display: none; }

.wrapped .product-summary__image--wrapping {
  display: inline-block; }

.cart-buttons {
  transition: all 1s; }

.ui-widget.ui-widget-content {
  border: 1px solid #eee; }

a.ui-state-default {
  height: 38px;
  text-align: center;
  border-radius: 100%; }

a.ui-state-active {
  border-radius: 100%;
  text-align: center;
  background-color: #810041 !important;
  border-color: #810041 !important;
  color: #fff !important; }

a.ui-state-hover {
  background-color: #810041 !important;
  border-color: #810041 !important;
  color: #fff !important; }

.cart-item__product-image-holder.optionThree a {
  background: url("eBook_wrap_grande_three.jpg") no-repeat center center;
  background-size: 100%; }

.cart-item__product-image-holder.optionThree img {
  visibility: hidden; }

.cart-item__product-image-holder.optionThree.audio a {
  background: url("audioBook_wrapped_three.jpg") no-repeat center center;
  background-size: 100%; }

.cart-item__product-image-holder.optionTwo a {
  background: url("eBook_wrap_grande.jpg") no-repeat center center;
  background-size: 100%; }

.cart-item__product-image-holder.optionTwo img {
  visibility: hidden; }

.cart-item__product-image-holder.optionTwo.audio a {
  background: url("audioBook_wrapped_two.jpg") no-repeat center center;
  background-size: 100%; }

.cart-item__product-image-holder.optionOne a {
  background: url("eBook_wrap_grande_one.jpg") no-repeat center center;
  background-size: 100%; }

.cart-item__product-image-holder.optionOne img {
  visibility: hidden; }

.cart-item__product-image-holder.optionOne.audio a {
  background: url("audioBook_wrapped_one.jpg") no-repeat center center;
  background-size: 100%; }

.th-wizarding-world .gifting-cta .btn--purchase, .th-wizarding-world .gifting-cta .step__footer__continue-btn, .th-wizarding-world .gifting-cta .order-summary__section--discount .field__input-btn, .order-summary__section--discount .th-wizarding-world .gifting-cta .field__input-btn, .gifting-cta .btn--purchase, .gifting-cta .step__footer__continue-btn, .gifting-cta .order-summary__section--discount .field__input-btn, .order-summary__section--discount .gifting-cta .field__input-btn {
  background: transparent;
  border: 1px solid #000;
  color: #000;
  cursor: pointer; }

.th-wizarding-world .gifting-cta .btn--added, .gifting-cta .btn--added {
  background: transparent;
  border: 1px solid #000;
  color: #000; }

textarea.cart__gifting-details__field {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  padding: 6px 10px;
  width: 100%; }
  @media (min-width: 48em) {
    textarea.cart__gifting-details__field {
      width: 400px; } }

@media (max-width: 47.99em) {
  .field__label--date {
    margin-top: 15px; } }

.th-wizarding-world .cart-item__product-link {
  color: #003e51; }

.th-wizarding-world a .cart-item__product-title:hover {
  border-bottom-color: #003e51; }

.th-wizarding-world .cart-item__remove-link {
  color: #003e51; }

.th-wizarding-world a.ui-state-hover,
.th-wizarding-world a.ui-state-active {
  background-color: #003e51 !important;
  border-color: #003e51 !important; }

.section-lead {
  margin: 30px 0;
  text-align: center; }
  @media (min-width: 62em) {
    .section-lead {
      margin: 60px 0; } }

.section-lead--compact {
  margin-top: 0;
  margin-bottom: 20px; }
  @media (min-width: 62em) {
    .section-lead--compact {
      margin-top: 0; } }

.section-lead__title {
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 62em) {
    .section-lead__title {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .section-lead__title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.section-lead__subtitle {
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  display: block;
  margin-bottom: 20px; }
  @media (min-width: 90.625em) {
    .section-lead__subtitle {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.section-lead__preface {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  padding-left: 6.77966%;
  padding-right: 6.77966%; }
  @media (min-width: 90.625em) {
    .section-lead__preface {
      font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.l-multi-column-2-1 {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap; }
  .l-multi-column-2-1 > * {
    margin-top: 1.69492%;
    width: 100%; }
    .l-multi-column-2-1 > *:nth-child(-n+1) {
      margin-top: 0; }
    @media (min-width: 48em) {
      .l-multi-column-2-1 > * {
        margin-right: 1.69492%;
        width: 49.15254%; }
        .l-multi-column-2-1 > *:nth-child(2n) {
          margin-right: 0; }
        .l-multi-column-2-1 > *:nth-child(-n+2) {
          margin-top: 0; } }

.order-link a {
  color: #810041;
  text-decoration: none;
  transition: border 1s;
  border-bottom: 1px solid transparent; }
  .order-link a:hover {
    border-bottom-color: #810041; }

.order-history {
  margin-bottom: 40px; }
  .order-history tfoot td {
    border-bottom: 2px solid #EEE;
    font-family: "Roboto Regular", Arial, sans;
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1.5px; }
  .order-history tfoot tr:last-child td {
    border-bottom-color: #000;
    border-bottom-width: 1px; }

.order-history__total-line {
  font-size: 14px; }

.order-price {
  font-family: "Roboto Regular", Arial, sans;
  color: #333;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-align: center; }
  @media (min-width: 48em) {
    .order-price {
      font-size: 18px; } }
  tbody .order-price {
    font-size: 14px; }
  tfoot .order-price {
    font-size: 18px; }

.account-order__date {
  font: 22px/36px "Crimson Regular", Georgia, Times, "Times New Roman", serif; }

.account-subtitle {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  font-weight: 900;
  margin-top: 55px;
  margin-bottom: 10px; }

.customer-address {
  margin-bottom: 10px;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .customer-address {
      font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.account-order__return {
  margin-top: 55px; }

.customer-address__btns {
  margin: 25px 0 55px 0; }

.customer-address__title {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  font-weight: bold; }

.customer-address__form {
  margin-top: 20px; }

.customer-address__form-default {
  margin-bottom: 25px; }

.section-header__link--right {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px; }

.btn--view-addresses {
  margin-top: 25px; }

.btn--view-books {
  margin: 0 0 50px 0; }

.th-wizarding-world .order-link a {
  color: #095d67; }
  .th-wizarding-world .order-link a:hover {
    border-bottom-color: #095d67; }

@font-face {
  font-family: 'Magorian Regular';
  font-display: swap;
  src: url("../assets/Magorian-web.eot");
  src: url("../assets/Magorian-web.eot?#iefix") format("embedded-opentype"), url("../assets/Magorian-web.woff2") format("woff2"), url("../assets/Magorian-web.woff") format("woff"), url("../assets/Magorian-web.ttf") format("truetype"), url("../assets/Magorian-web.svg#magorianregular") format("svg"); }

@font-face {
  font-family: 'Crimson Regular';
  font-display: swap;
  src: url("../assets/crimson-roman-web.eot");
  src: url("../assets/crimson-roman-web.eot?#iefix") format("embedded-opentype"), url("../assets/crimson-roman-web.woff2") format("woff2"), url("../assets/crimson-roman-web.woff") format("woff"), url("../assets/crimson-roman-web.ttf") format("truetype"), url("../assets/crimson-roman-web.svg#crimsonroman") format("svg"); }

@font-face {
  font-family: 'Crimson Bold';
  font-display: swap;
  src: url("../assets/crimson-bold-web.eot");
  src: url("../assets/crimson-bold-web.eot?#iefix") format("embedded-opentype"), url("../assets/crimson-bold-web.woff2") format("woff2"), url("../assets/crimson-bold-web.woff") format("woff"), url("../assets/crimson-bold-web.ttf") format("truetype"), url("../assets/crimson-bold-web.svg#crimsonbold") format("svg"); }

@font-face {
  font-family: 'Crimson Italic';
  font-display: swap;
  src: url("../assets/crimson-italic-web.eot");
  src: url("../assets/crimson-italic-web.eot?#iefix") format("embedded-opentype"), url("../assets/crimson-italic-web.woff2") format("woff2"), url("../assets/crimson-italic-web.woff") format("woff"), url("../assets/crimson-italic-web.ttf") format("truetype"), url("../assets/crimson-italic-web.svg#crimsonitalic") format("svg"); }

@font-face {
  font-family: 'Roboto Regular';
  font-display: swap;
  src: url("../assets/roboto-regular.eot");
  src: url("../assets/roboto-regular.eot?#iefix") format("embedded-opentype"), url("../assets/roboto-regular.woff2") format("woff2"), url("../assets/roboto-regular.woff") format("woff"), url("../assets/roboto-regular.ttf") format("truetype"), url("../assets/roboto-regular.svg#robotoregular") format("svg"); }

@font-face {
  font-family: 'Roboto Light';
  font-display: swap;
  src: url("../assets/roboto-light.eot");
  src: url("../assets/roboto-light.eot?#iefix") format("embedded-opentype"), url("../assets/roboto-light.woff2") format("woff2"), url("../assets/roboto-light.woff") format("woff"), url("../assets/roboto-light.ttf") format("truetype"), url("../assets/roboto-light.svg#robotolight") format("svg"); }

@font-face {
  font-family: 'zilla_slablight';
  font-display: swap;
  src: url("../assets/zillaslab-light.eot");
  src: url("../assets/zillaslab-light.eot?#iefix") format("embedded-opentype"), url("../assets/zillaslab-light.woff2") format("woff2"), url("../assets/zillaslab-light.woff") format("woff"), url("../assets/zillaslab-light.ttf") format("truetype"), url("../assets/zillaslab-light.svg#zilla_slablight") format("svg"); }

@font-face {
  font-family: 'zilla_slabmedium';
  font-display: swap;
  src: url("../assets/zillaslab-medium.eot");
  src: url("../assets/zillaslab-medium.eot?#iefix") format("embedded-opentype"), url("../assets/zillaslab-medium.woff2") format("woff2"), url("../assets/zillaslab-medium.woff") format("woff"), url("../assets/zillaslab-medium.ttf") format("truetype"), url("../assets/zillaslab-medium.svg#zilla_slabmedium") format("svg"); }

@font-face {
  font-family: 'zilla_slabsemibold';
  font-display: swap;
  src: url("../assets/zillaslab-semibold.eot");
  src: url("../assets/zillaslab-semibold.eot?#iefix") format("embedded-opentype"), url("../assets/zillaslab-semibold.woff2") format("woff2"), url("../assets/zillaslab-semibold.woff") format("woff"), url("../assets/zillaslab-semibold.ttf") format("truetype"), url("../assets/zillaslab-semibold.svg#zilla_slabsemibold") format("svg"); }

body {
  color: #333; }

h1, h2, h3, h4, button, h5 {
  font-family: "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

h1 {
  font-size: calc(98px * 0.75);
  line-height: calc(104px * 0.75); }

h2 {
  font-size: calc(60px * 0.75);
  line-height: calc(64px * 0.75); }

h3 {
  font-size: calc(48px * 0.75);
  line-height: calc(51px * 0.75); }

h4, button {
  font-size: calc(36px * 0.75);
  line-height: calc(38px * 0.75); }

h5 {
  font-size: calc(36px * 0.75);
  line-height: calc(38px * 0.75); }

body {
  font-family: "Crimson Regular", Georgia, Times, "Times New Roman", serif;
  font-size: calc(36px * 0.75);
  line-height: calc(60px * 0.75); }

.lang-ja {
  font-family: "MS Mincho", TakaoPGothic, "Hiragino Mincho Pro", "Hiragino Mincho Pro N", "HiraMinProN-W3", "Arial unicode MS", "Droid Sans Japanese", serif !important; }
  .lang-ja p {
    font-family: "MS Mincho", TakaoPGothic, "Hiragino Mincho Pro", "Hiragino Mincho Pro N", "HiraMinProN-W3", "Arial unicode MS", "Droid Sans Japanese", serif !important; }
  .lang-ja h2 {
    font-family: "MS Mincho", TakaoPGothic, "Hiragino Mincho Pro", "Hiragino Mincho Pro N", "HiraMinProN-W3", "Arial unicode MS", "Droid Sans Japanese", serif !important; }

.caption, .caption--heavy {
  font-family: "Roboto Regular", Arial, sans;
  font-size: calc(22px * 0.75);
  line-height: calc(34px * 0.75);
  kerning: 100;
  letter-spacing: 1px; }

.caption--heavy {
  font-family: "Roboto Regular", Arial, sans; }

.accreditation {
  background-color: #f5f5f5;
  font: 12px/18px "Roboto Regular", Arial, sans;
  line-height: calc(28px * 0.75);
  kerning: 100; }

@media (min-width: 481px) {
  h1, h2, h3, h4, button, h5 {
    font-family: "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  h1 {
    font-size: 90px;
    line-height: 96px; }
  h1 {
    font-size: 98px;
    line-height: 104px; }
  h2 {
    font-size: 60px;
    line-height: 64px; }
  h3 {
    font-size: 48px;
    line-height: 51px; }
  h4, button {
    font-size: 36px;
    line-height: 38px; }
  h5 {
    font-size: 24px;
    line-height: 26px; }
  body {
    font-family: "Crimson Regular", Georgia, Times, "Times New Roman", serif;
    font-size: 22px;
    line-height: 40px; }
  .caption, .caption--heavy {
    font-family: "Roboto Regular", Arial, sans;
    font-size: 16px;
    line-height: 24px; }
  .accreditation {
    font-size: 12px; } }

.error-page {
  font-family: "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  .error-page .breadcrumb,
  .error-page .payment-logos {
    display: none; }
  .error-page .error-page-content .error {
    background: white;
    padding: 10% 3%; }
  .error-page .error-page-content h1 {
    text-align: center;
    margin: 0 0 30px 0; }
  .error-page .error-page-content h2 {
    text-align: center;
    margin: 0 0 30px 0; }
  .error-page .error-page-content a {
    text-decoration: none;
    color: #810041; }

.th-wizarding-world.error-page .error-page-content a {
  color: #003e51; }

.carousel {
  position: relative;
  overflow: hidden;
  outline: none; }
  .carousel :focus {
    outline: none; }

.carousel--home {
  margin-top: -65px; }
  @media (min-width: 48em) {
    .carousel--home {
      margin-top: -133px; } }

.carousel__splash-item,
.carousel__item {
  position: relative;
  min-height: 100vh;
  width: 100vw;
  overflow: hidden; }

.view .carousel__splash-item {
  display: none; }

.carousel__splash-item {
  background: #fff;
  position: absolute;
  top: 0;
  z-index: 30;
  width: 100%; }
  .carousel__splash-item .icon-logo {
    display: block;
    fill: #333;
    font-size: 90px; }
    @media (min-width: 48em) {
      .carousel__splash-item .icon-logo {
        font-size: 160px; } }

.carousel__splash-audio {
  text-decoration: none; }
  @media (min-width: 48em) {
    .carousel__splash-audio {
      margin-bottom: 18px; } }
  .carousel__splash-audio p {
    font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
    @media (min-width: 48em) {
      .carousel__splash-audio p {
        font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
    @media (min-width: 90.625em) {
      .carousel__splash-audio p {
        font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.carousel__splash-audio-button {
  margin-top: 10px;
  display: block;
  background: none;
  border: none;
  text-decoration: none; }
  @media (min-width: 48em) {
    .carousel__splash-audio-button {
      margin-top: 17px; } }
  .carousel__splash-audio-button [class^='icon-'] {
    color: #333;
    background: rgba(255, 255, 255, 0.2);
    width: 30px;
    height: 30px;
    border-radius: 30px;
    font-size: 40px; }
    @media (min-width: 48em) {
      .carousel__splash-audio-button [class^='icon-'] {
        width: 40px;
        height: 40px;
        border-radius: 40px;
        font-size: 50px; } }
  .carousel__splash-audio-button:hover [class^='icon-'] {
    background: rgba(255, 255, 255, 0.4); }

.nview .carousel__splash-content {
  background-color: transparent; }

.carousel__splash-content,
.carousel__item-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  color: #FFF;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2; }

.carousel__splash-content {
  background-color: #fff;
  transition: background, opacity 2.5s 1s;
  color: #333;
  opacity: 0.001; }
  .carousel__splash-content .icon-logo {
    fill: #333; }
  .has-loaded .carousel__splash-content {
    opacity: 1; }

.carousel__item-content-inner,
.carousel__splash-content-inner {
  width: 84.74576%; }
  @media (min-width: 48em) {
    .carousel__item-content-inner,
    .carousel__splash-content-inner {
      width: 59.32203%; } }

.carousel__splash-description {
  margin: 20px 1.69492% 10px 1.69492%;
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 48em) {
    .carousel__splash-description {
      margin: 20px auto;
      width: 100%;
      font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .carousel__splash-description {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.carousel__item-cta {
  margin-top: 32px; }

.carousel__splash-image,
.carousel__item-texture {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }
  .carousel__splash-image .img,
  .carousel__item-texture .img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 0;
    display: block; }
  .carousel__splash-image .video,
  .carousel__item-texture .video {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1; }
  .carousel__splash-image video.carousel__item-video,
  .carousel__item-texture video.carousel__item-video {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%; }
  .carousel__splash-image img,
  .carousel__item-texture img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%; }

.carousel__splash-image {
  background: #FFF; }

.carousel__item-article-type,
.carousel__item-date {
  display: block;
  margin-bottom: 15px;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }
  @media (min-width: 90.625em) {
    .carousel__item-article-type,
    .carousel__item-date {
      font-size: 14px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.carousel__item-title {
  margin-bottom: 15px;
  font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 30.0625em) {
    .carousel__item-title {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .carousel__item-title {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .carousel__item-title {
      font: 60px/66px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.carousel__item-description {
  font: 20px/24px "Magorian Regular", Georgia, Times, "Times New Roman", serif;
  margin-bottom: 20px; }
  @media (min-width: 30.0625em) {
    .carousel__item-description {
      font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .carousel__item-description {
      font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.carousel__item-sub-title {
  font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.carousel__item-byjkr {
  color: #ffffff;
  margin-bottom: 21px;
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }
  @media (min-width: 30.0625em) {
    .carousel__item-byjkr {
      font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 62em) {
    .carousel__item-byjkr {
      font: 36px/42px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }
  @media (min-width: 90.625em) {
    .carousel__item-byjkr {
      font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.carousel__nav, .owl-dots {
  position: absolute;
  z-index: 2;
  bottom: 20px;
  width: 100%;
  text-align: center; }
  .carousel__nav ol, .owl-dots ol {
    list-style: none;
    margin: 0;
    padding: 0; }

.carousel__nav-item, .owl-dot {
  margin-right: 8px;
  display: inline; }
  .carousel__nav-item:last-child, .owl-dot:last-child {
    margin-right: 0; }
  .carousel__nav-item a, .owl-dot a, .carousel__nav-item span, .owl-dot span {
    display: inline-block;
    border: 2px solid #FFF;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    text-indent: -1000em;
    transition: background 0.25s; }
    .carousel__nav-item a:hover, .owl-dot a:hover, .carousel__nav-item span:hover, .owl-dot span:hover {
      background: rgba(255, 255, 255, 0.5); }
  .carousel__nav-item.active a, .active.owl-dot a,
  .carousel__nav-item.active span,
  .active.owl-dot span,
  .carousel__nav-item.active span:hover,
  .active.owl-dot span:hover,
  .carousel__nav-item.active a:hover,
  .active.owl-dot a:hover, .carousel__nav-item--active a,
  .carousel__nav-item--active span,
  .carousel__nav-item--active span:hover,
  .carousel__nav-item--active a:hover {
    background: #FFF; }

.owl-stage {
  transition-timing-function: cubic-bezier(0.555, 0.005, 0.455, 1) !important;
  overflow: hidden;
  height: 100vh; }

.owl-stage-outer {
  overflow: hidden; }

.owl-item {
  float: left;
  position: relative; }

.owl-dot {
  background: transparent;
  padding: 0; }

.owl-prev,
.owl-next {
  background: transparent;
  color: #fff;
  font-size: 30px;
  width: 40px;
  height: 60px;
  padding: 0;
  transition: all 0.25s;
  transition-delay: 0.25s;
  margin-top: -30px; }
  .owl-prev:hover,
  .owl-next:hover {
    height: 120px;
    margin-top: -60px;
    transition-delay: 0s; }
    .owl-prev:hover .img,
    .owl-next:hover .img {
      top: 0;
      width: 213px;
      height: 120px; }
  .owl-prev .carousel__prev,
  .owl-prev .carousel__next,
  .owl-next .carousel__prev,
  .owl-next .carousel__next {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    display: flex;
    align-items: center;
    z-index: 2;
    transition: all 0.25s;
    transition-delay: 0.25s;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0) scale(1, 1); }
  .owl-prev .img,
  .owl-next .img {
    position: absolute;
    top: 30px;
    width: 106px;
    height: 60px;
    transition: all 0.25s;
    transition-delay: 0s;
    z-index: 1;
    display: none; }
    @media (min-width: 62em) {
      .owl-prev .img,
      .owl-next .img {
        display: block; } }

.owl-prev {
  position: absolute;
  left: 0;
  top: 50%; }
  .owl-prev .img {
    left: -213px;
    opacity: 0; }
  @media (min-width: 48em) {
    .owl-prev:hover .carousel__prev {
      background: #810041;
      transition-delay: 0s; }
    .owl-prev:hover .img {
      left: 40px;
      opacity: 1;
      transition-delay: 0.25s; } }
  .owl-prev:active .img {
    opacity: 0; }

.owl-next {
  position: absolute;
  right: 0;
  top: 50%; }
  .owl-next .icon-arrow-right {
    margin-left: 10px; }
  .owl-next .img {
    right: -213px;
    opacity: 0; }
  @media (min-width: 48em) {
    .owl-next:hover .carousel__next {
      background: #810041;
      transition-delay: 0s; }
    .owl-next:hover .img {
      right: 40px;
      opacity: 1;
      transition-delay: 0.25s; } }
  .owl-next:active .img {
    opacity: 0; }

.carousel__item-content__link {
  text-decoration: none;
  color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center; }

.carousel__splash-content-inner .ornament {
  display: none; }
  @media (min-width: 30.0625em) {
    .carousel__splash-content-inner .ornament {
      display: inline-block; } }

.carousel--shop {
  margin-bottom: 2%; }
  .carousel--shop .carousel__item {
    min-height: 100vw !important;
    display: none;
    width: 100% !important; }
    @media (min-width: 48em) {
      .carousel--shop .carousel__item {
        min-height: 600px !important; } }
    @media (min-width: 62em) {
      .carousel--shop .carousel__item {
        min-height: 400px !important; } }
    @media (min-width: 75em) {
      .carousel--shop .carousel__item {
        min-height: 500px !important; } }
    @media (min-width: 90.625em) {
      .carousel--shop .carousel__item {
        min-height: 600px !important; } }
    .carousel--shop .carousel__item:first-child, .carousel--shop .carousel__item .show {
      display: inline-block; }
  .carousel--shop .owl-stage {
    height: auto; }
  .carousel--shop .owl-item {
    opacity: 0; }
    .carousel--shop .owl-item.active {
      opacity: 1; }

.litebox-wrapper,
.litebox-wrapper figure,
.litebox-loading {
  position: fixed;
  left: auto;
  margin: 0 auto;
  display: inline-block; }

.litebox-wrapper figure, .litebox-wrapper img {
  z-index: 200;
  max-width: 100%;
  top: 80px;
  position: relative;
  display: block; }

.litebox-wrapper img {
  top: 0px;
  margin: auto;
  max-height: 100%; }

.litebox-wrapper {
  background-color: black;
  z-index: 100;
  display: none;
  height: 100vh !important;
  width: 100% !important;
  z-index: 99999;
  text-align: center;
  overflow: hidden; }
  .litebox-wrapper figure {
    margin: 0 5%;
    max-width: 90%;
    z-index: 99; }

.info-graphic .litebox-wrapper {
  overflow-y: scroll; }
  .info-graphic .litebox-wrapper figure {
    padding-bottom: 70px; }

@media (min-width: 62em) and (orientation: portrait) {
  .info-graphic .litebox-wrapper figure {
    padding-bottom: 20px; } }

.litebox-scroll.no-max-width .litebox-wrapper {
  overflow: scroll; }
  .litebox-scroll.no-max-width .litebox-wrapper img {
    max-width: 200%;
    max-height: none;
    top: -80px;
    z-index: 202;
    padding-bottom: 80px; }
  .litebox-scroll.no-max-width .litebox-wrapper .lightbox-top {
    position: absolute;
    z-index: 999;
    top: 20px;
    height: 40px;
    left: 10px;
    position: fixed; }
  .litebox-scroll.no-max-width .litebox-wrapper figure {
    max-width: 100%;
    z-index: 101; }

.litebox-scroll.no-max-width .ornament--litebox, .litebox-scroll.no-max-width .social-share__text {
  display: none; }

.litebox-scroll.no-max-width .social-share--litebox {
  background: transparent !important;
  padding-left: 10px; }

@media (min-width: 62em) {
  .litebox-scroll .social-share__text {
    display: inline-block;
    margin-right: 0; } }

.litebox-wrapper figcaption {
  padding: 0.5em;
  font: 10px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fff;
  text-align: left; }
  @media (min-width: 90.625em) {
    .litebox-wrapper figcaption {
      font-size: 12px;
      line-height: 20px;
      letter-spacing: 2.5px; } }

.litebox-wrapper figure,
.litebox-loading {
  bottom: 0;
  right: 0;
  margin: auto;
  text-align: center; }

.litebox-loading {
  display: block;
  width: 100%;
  height: 300px;
  z-index: 99;
  top: 50%;
  position: absolute;
  margin: 0; }
  .litebox-loading div {
    position: relative;
    width: 10em;
    height: 10em;
    margin: 6em auto;
    border-radius: 50%;
    font-size: 4px;
    text-indent: -9999em;
    border-top: 2em solid rgba(255, 255, 255, 0.2);
    border-right: 2em solid rgba(255, 255, 255, 0.2);
    border-bottom: 2em solid rgba(255, 255, 255, 0.2);
    border-left: 2em solid #fff;
    -webkit-animation: spinnyThing 1.1s infinite linear;
    animation: spinnyThing 1.1s infinite linear; }
    .litebox-loading div:after {
      border-radius: 50%;
      width: 10em;
      height: 10em; }

@-webkit-keyframes spinnyThing {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spinnyThing {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.lightboxImg {
  cursor: pointer; }
  .lightboxImg:before {
    content: '';
    width: 30px;
    height: 30px;
    position: absolute;
    top: 5%;
    right: 5%; }

.lightbox-top {
  width: 100%;
  position: fixed;
  top: 32px;
  height: 100px;
  left: 0;
  display: block;
  padding: 0 30px;
  z-index: 999; }
  .lightbox-top .lightbox-close-area {
    cursor: pointer;
    display: block;
    width: 40px;
    height: 40px;
    padding: 10px 10px 10px 0; }
  .lightbox-top .lightbox-close {
    display: inline-block;
    margin: 9px 0;
    position: relative;
    font-size: 0;
    height: 2px;
    width: 20px;
    background-color: rgba(255, 255, 255, 0);
    opacity: 1;
    display: block;
    position: fixed;
    z-index: 9999;
    top: 30px; }
    .lightbox-top .lightbox-close:before, .lightbox-top .lightbox-close:after {
      display: inline-block;
      position: absolute;
      left: 0;
      content: '';
      height: 2px;
      width: 20px;
      transform-origin: right center;
      background-color: #fff; }
    .lightbox-top .lightbox-close:before {
      top: -7px;
      transform: translateX(-3px) rotate(-45deg); }
    .lightbox-top .lightbox-close:after {
      bottom: -7px;
      transform: translateX(-3px) rotate(45deg); }
    .lightbox-top .lightbox-close:before {
      top: -3px; }
    .lightbox-top .lightbox-close:before, .lightbox-top .lightbox-close:after {
      width: 14px; }

.lightbox__img {
  position: relative;
  cursor: pointer; }
  .lightbox__img .lightbox__click {
    content: '';
    width: 100%;
    height: 75px;
    position: absolute;
    top: 0;
    background: black;
    background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0), black);
    background: -o-linear-gradient(top, rgba(0, 0, 0, 0), black);
    background: -moz-linear-gradient(top, rgba(0, 0, 0, 0), black);
    background: linear-gradient(to top, rgba(0, 0, 0, 0), black);
    opacity: 0;
    transition: opacity 0.5s; }
  .lightbox__img .lightbox__click__text {
    font: 10px/18px "Roboto Regular", Arial, sans;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #fff;
    text-align: right;
    margin: 10px 10px 0 0;
    font-size: 12px;
    padding: 10px 12px 0 0;
    line-height: 1.3em; }
    @media (min-width: 90.625em) {
      .lightbox__img .lightbox__click__text {
        font-size: 12px;
        line-height: 20px;
        letter-spacing: 2.5px; } }
    .lightbox__img .lightbox__click__text:after {
      background: url(/assets/img/litebox-open-btn.png);
      content: '';
      width: 15px;
      height: 15px;
      display: block;
      background-size: 15px 15px;
      background-repeat: no-repeat;
      float: right;
      margin: 0 0 0 10px; }
  .lightbox__img:hover .lightbox__click {
    opacity: 1; }

.move .lightbox__click {
  opacity: 1; }

.social-share__text {
  display: none; }

.litebox-scroll {
  overflow-y: hidden; }
  .litebox-scroll .masthead .masthead__social-share.social-share--litebox {
    position: fixed;
    z-index: 99999;
    top: 10px;
    right: 25px;
    left: auto;
    margin: 10px 0 0 0;
    height: 38px;
    padding-left: 10px; }
    @media (min-width: 62em) {
      .litebox-scroll .masthead .masthead__social-share.social-share--litebox .social-share__text {
        display: inline-block; } }
    @media (max-width: 30.0525em) {
      .litebox-scroll .masthead .masthead__social-share.social-share--litebox .social-share__button {
        margin-right: 0;
        line-height: 0.5;
        position: relative;
        top: -6px; } }
    .litebox-scroll .masthead .masthead__social-share.social-share--litebox .social-share__button:last-child {
      margin-right: 4px; }
    .litebox-scroll .masthead .masthead__social-share.social-share--litebox .social-share__button:nth-child(3) {
      display: inline-block; }
    .litebox-scroll .masthead .masthead__social-share.social-share--litebox.social-share--opened {
      background: #000; }
      .litebox-scroll .masthead .masthead__social-share.social-share--litebox.social-share--opened .social-share__text, .litebox-scroll .masthead .masthead__social-share.social-share--litebox.social-share--opened .litebox__count {
        display: none; }
      @media (max-width: 30.0525em) {
        .litebox-scroll .masthead .masthead__social-share.social-share--litebox.social-share--opened .social-share__button:nth-child(4) {
          display: none; } }
    .litebox-scroll .masthead .masthead__social-share.social-share--litebox a {
      background: rgba(255, 255, 255, 0.25);
      width: 35px;
      height: 35px; }
      .litebox-scroll .masthead .masthead__social-share.social-share--litebox a span {
        color: #fff;
        font-size: 19px; }
  .litebox-scroll .ornament--litebox {
    margin: 3px 0 0 0; }
    .litebox-scroll .ornament--litebox:before {
      background: #000; }
  .litebox-scroll .social-share__text, .litebox-scroll .litebox__count {
    color: #fff;
    font: 10px/12px "Roboto Regular", Arial, sans;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    position: relative;
    top: -10px;
    right: 10px;
    width: 100px;
    display: inline-block; }
    @media (max-width: 47.99em) {
      .litebox-scroll .social-share__text, .litebox-scroll .litebox__count {
        max-width: 236px;
        height: auto;
        white-space: inherit;
        display: none; } }
    @media (min-width: 48em) {
      .litebox-scroll .social-share__text, .litebox-scroll .litebox__count {
        top: -8px; } }
  .litebox-scroll .litebox__count {
    display: inline-block;
    margin: 0;
    position: absolute;
    left: 0;
    top: 0;
    font: 12px/18px "Roboto Regular", Arial, sans;
    letter-spacing: 1.5px;
    text-transform: uppercase; }
    @media (min-width: 90.625em) {
      .litebox-scroll .litebox__count {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 2.5px; } }

.litebox__control {
  z-index: 201;
  cursor: pointer;
  color: #fff;
  font-size: 30px;
  width: 40px;
  height: 60px;
  transition: background 0.25s;
  transition-delay: 0.25s;
  margin-top: -30px; }
  @media (max-width: 61.99em) {
    .litebox__control {
      display: none; } }
  .litebox__control:hover {
    height: 120px;
    margin-top: -60px;
    transition-delay: 0s; }
  .litebox__control .carousel__prev,
  .litebox__control .carousel__next {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    display: flex;
    align-items: center;
    z-index: 2;
    transition: height 0.25s;
    transition-delay: 0.25s;
    -webkit-backface-visibility: hidden;
    -webkit-transform: translateZ(0) scale(1, 1); }
  .litebox__control.show {
    opacity: 1; }

.no-max-width .litebox__control {
  opacity: 0; }
  .no-max-width .litebox__control.show {
    display: none; }

.no-max-width .litebox__count, .no-max-width .social-share__text {
  display: none !important; }

.litebox__control--next {
  position: fixed;
  right: 0;
  top: 50%; }
  .litebox__control--next .icon-arrow-right {
    margin-left: 10px; }
  @media (min-width: 48em) {
    .litebox__control--next:hover .carousel__next {
      background: #810041;
      transition-delay: 0s; } }

.litebox__control--prev {
  position: fixed;
  left: 0;
  top: 50%; }
  @media (min-width: 48em) {
    .litebox__control--prev:hover .carousel__prev {
      background: #810041;
      transition-delay: 0s; } }

.th-pottermore blockquote, .th-pottermore.wizarding-world-overrides blockquote {
  border-left-color: #810041; }

.th-pottermore .header, .th-pottermore.wizarding-world-overrides .header {
  background-color: #810041; }

.th-pottermore .header__menu, .th-pottermore.wizarding-world-overrides .header__menu {
  background-color: #410021; }

.th-pottermore .header__logo svg, .th-pottermore.wizarding-world-overrides .header__logo svg {
  fill: #fff; }

.th-pottermore .header__logo .header__logo__icon-logo,
.th-pottermore .icon-logo-wizarding-world, .th-pottermore.wizarding-world-overrides .header__logo .header__logo__icon-logo,
.th-pottermore.wizarding-world-overrides .icon-logo-wizarding-world {
  color: #fff; }

.th-pottermore .header__toggle, .th-pottermore.wizarding-world-overrides .header__toggle {
  color: #fff; }
  .th-pottermore .header__toggle:before, .th-pottermore.wizarding-world-overrides .header__toggle:before {
    color: #fff; }

@media (min-width: 75em) {
  .th-pottermore .primary-navigation, .th-pottermore.wizarding-world-overrides .primary-navigation {
    background-color: #280014; }
  .th-pottermore .primary-navigation__item:hover, .th-pottermore .primary-navigation__item.active, .th-pottermore.wizarding-world-overrides .primary-navigation__item:hover, .th-pottermore.wizarding-world-overrides .primary-navigation__item.active {
    border-bottom-color: #fff; }
  .th-pottermore .primary-navigation__link, .th-pottermore.wizarding-world-overrides .primary-navigation__link {
    color: #fff; } }

.th-pottermore .header__toggle--discover > svg, .th-pottermore.wizarding-world-overrides .header__toggle--discover > svg {
  stroke: #fff; }

.th-pottermore .header__toggle--discover > span, .th-pottermore.wizarding-world-overrides .header__toggle--discover > span {
  border-color: #fff; }
  .th-pottermore .header__toggle--discover > span:before, .th-pottermore.wizarding-world-overrides .header__toggle--discover > span:before {
    border-color: #fff; }
  .th-pottermore .header__toggle--discover > span:after, .th-pottermore.wizarding-world-overrides .header__toggle--discover > span:after {
    background-color: #fff; }

.th-pottermore .header__toggle--navigation > span, .th-pottermore.wizarding-world-overrides .header__toggle--navigation > span {
  background-color: #fff; }
  .th-pottermore .header__toggle--navigation > span:before, .th-pottermore .header__toggle--navigation > span:after, .th-pottermore.wizarding-world-overrides .header__toggle--navigation > span:before, .th-pottermore.wizarding-world-overrides .header__toggle--navigation > span:after {
    background-color: #fff; }

.th-pottermore .masthead .pictogram, .th-pottermore .tile .pictogram, .th-pottermore.wizarding-world-overrides .masthead .pictogram, .th-pottermore.wizarding-world-overrides .tile .pictogram {
  stroke: #fff; }

.th-pottermore .my-house-traits, .th-pottermore.wizarding-world-overrides .my-house-traits {
  background-color: #810041;
  color: #fff; }

.th-pottermore .masthead, .th-pottermore.wizarding-world-overrides .masthead {
  background-color: #810041;
  color: #fff; }
  .th-pottermore .masthead .social-share a, .th-pottermore.wizarding-world-overrides .masthead .social-share a {
    color: inherit;
    background-color: rgba(0, 0, 0, 0.2); }
    .th-pottermore .masthead .social-share a:hover, .th-pottermore.wizarding-world-overrides .masthead .social-share a:hover {
      background-color: rgba(0, 0, 0, 0.4); }

.th-pottermore .social-share-page, .th-pottermore.wizarding-world-overrides .social-share-page {
  background-color: #E8E8E4;
  color: #fff;
  padding-top: 26px; }
  .th-pottermore .social-share-page .social-share--large a, .th-pottermore.wizarding-world-overrides .social-share-page .social-share--large a {
    color: inherit;
    background-color: rgba(0, 0, 0, 0.2); }
    .th-pottermore .social-share-page .social-share--large a:hover, .th-pottermore.wizarding-world-overrides .social-share-page .social-share--large a:hover {
      background-color: rgba(0, 0, 0, 0.4); }

.th-pottermore .social-share-page__heading span, .th-pottermore.wizarding-world-overrides .social-share-page__heading span {
  background-color: #E8E8E4;
  color: #333; }

.th-pottermore .social-share-page__heading:after, .th-pottermore.wizarding-world-overrides .social-share-page__heading:after {
  border-color: #333; }

.th-pottermore.block-announcement, .th-pottermore.wizarding-world-overrides.block-announcement {
  background-color: #410021; }
  .th-pottermore.block-announcement .home-item__title,
  .th-pottermore.block-announcement .home-item__description, .th-pottermore.wizarding-world-overrides.block-announcement .home-item__title,
  .th-pottermore.wizarding-world-overrides.block-announcement .home-item__description {
    color: #fff; }

.th-pottermore .next-step__wrapper, .th-pottermore.wizarding-world-overrides .next-step__wrapper {
  background-color: #410021;
  color: #fff; }

.th-pottermore .next-step__button, .th-pottermore.wizarding-world-overrides .next-step__button {
  background-color: #a00056;
  color: #fff; }

.th-pottermore .next-step__button:hover, .th-pottermore.wizarding-world-overrides .next-step__button:hover {
  background-color: #6d003b;
  color: #fff; }

.th-pottermore .form__button--theme, .th-pottermore.wizarding-world-overrides .form__button--theme {
  border-color: #810041;
  background-color: #410021;
  color: #fff; }
  .th-pottermore .form__button--theme:hover, .th-pottermore.wizarding-world-overrides .form__button--theme:hover {
    border-color: #410021;
    cursor: pointer;
    background-color: #0e0007; }

.th-pottermore .profile__ctas .form__button--hollow, .th-pottermore.wizarding-world-overrides .profile__ctas .form__button--hollow {
  color: #410021;
  border: 1px solid #410021; }
  @media (min-width: 48em) {
    .th-pottermore .profile__ctas .form__button--hollow, .th-pottermore.wizarding-world-overrides .profile__ctas .form__button--hollow {
      background-color: transparent;
      border: 1px solid #fff;
      color: #fff; } }

.th-pottermore .profile__ctas .form__button--theme, .th-pottermore.wizarding-world-overrides .profile__ctas .form__button--theme {
  display: flex;
  align-items: center;
  justify-content: center; }
  .th-pottermore .profile__ctas .form__button--theme:not(.form__button--hollow), .th-pottermore.wizarding-world-overrides .profile__ctas .form__button--theme:not(.form__button--hollow) {
    background-color: #410021; }
    .th-pottermore .profile__ctas .form__button--theme:not(.form__button--hollow):hover, .th-pottermore.wizarding-world-overrides .profile__ctas .form__button--theme:not(.form__button--hollow):hover {
      background-color: #0e0007; }
  @media (max-width: 47.99em) {
    .th-pottermore .profile__ctas .form__button--theme:hover, .th-pottermore.wizarding-world-overrides .profile__ctas .form__button--theme:hover {
      background-color: #fff; } }

@media (max-width: 47.99em) {
  .th-pottermore .th-patronus .profile__ctas .form__button--hollow, .th-pottermore.wizarding-world-overrides .th-patronus .profile__ctas .form__button--hollow {
    color: #fff;
    background-color: #465863;
    border: 0; } }

.th-pottermore .form__row--text-link a, .th-pottermore.wizarding-world-overrides .form__row--text-link a {
  color: #810041; }

.th-pottermore .form__row-link--invert, .th-pottermore.wizarding-world-overrides .form__row-link--invert {
  color: #810041; }

.th-pottermore .header--simple .header__menu, .th-pottermore.wizarding-world-overrides .header--simple .header__menu {
  background-color: #e8e8e4; }

.th-pottermore .header--simple .header__logo .header__logo__svg, .th-pottermore.wizarding-world-overrides .header--simple .header__logo .header__logo__svg {
  background: url("/assets/img/logo-dark.svg") no-repeat; }

.th-pottermore .header--wizarding-world.header--simple .header__inner, .th-pottermore.wizarding-world-overrides .header--wizarding-world.header--simple .header__inner {
  background-color: #e8e8e4; }

.th-pottermore .header--wizarding-world.header--simple .ww-logo__container .ww-logo, .th-pottermore.wizarding-world-overrides .header--wizarding-world.header--simple .ww-logo__container .ww-logo {
  color: #333; }

.th-pottermore .header--wizarding-world .header__inner, .th-pottermore.wizarding-world-overrides .header--wizarding-world .header__inner {
  background-color: #410021; }

@media (min-width: 75em) {
  .th-pottermore .header--wizarding-world .primary-navigation, .th-pottermore.wizarding-world-overrides .header--wizarding-world .primary-navigation {
    background-color: #410021; } }

.th-pottermore .header--wizarding-world .primary-navigation__link:hover, .th-pottermore.wizarding-world-overrides .header--wizarding-world .primary-navigation__link:hover {
  border-bottom: 2px solid #fff; }

.th-pottermore .header--wizarding-world .overlay__body--navigation .primary-navigation__link:hover, .th-pottermore.wizarding-world-overrides .header--wizarding-world .overlay__body--navigation .primary-navigation__link:hover {
  border-bottom: 2px solid transparent; }

.th-pottermore .header--wizarding-world .overlay__body--navigation .active .primary-navigation__link:hover, .th-pottermore.wizarding-world-overrides .header--wizarding-world .overlay__body--navigation .active .primary-navigation__link:hover {
  border-bottom: 2px solid #fff; }

.th-pottermore .header--wizarding-world .active .primary-navigation__link, .th-pottermore.wizarding-world-overrides .header--wizarding-world .active .primary-navigation__link {
  border-bottom: 2px solid #fff; }

.th-pottermore .header--wizarding-world .header__toggle--navigation > span, .th-pottermore.wizarding-world-overrides .header--wizarding-world .header__toggle--navigation > span {
  background-color: #fff; }
  .th-pottermore .header--wizarding-world .header__toggle--navigation > span:before, .th-pottermore .header--wizarding-world .header__toggle--navigation > span:after, .th-pottermore.wizarding-world-overrides .header--wizarding-world .header__toggle--navigation > span:before, .th-pottermore.wizarding-world-overrides .header--wizarding-world .header__toggle--navigation > span:after {
    background-color: #fff; }

.th-pottermore.wizarding-world-overrides .header__pane--deleteAccount .overlay .ww-logo {
  color: #333; }

.th-unthemed .header--fixed.header--wizarding-world .ww-logo {
  color: #333; }

.th-unthemed .header--fixed .header__logo__svg {
  background: url(/assets/img/logo-dark.svg) no-repeat; }

.th-wizarding-world blockquote, .th-wizarding-world.wizarding-world-overrides blockquote {
  border-left-color: #003e51; }

.th-wizarding-world .header, .th-wizarding-world.wizarding-world-overrides .header {
  background-color: #003e51; }

.th-wizarding-world .header__menu, .th-wizarding-world.wizarding-world-overrides .header__menu {
  background-color: #002b39; }

.th-wizarding-world .header__logo svg, .th-wizarding-world.wizarding-world-overrides .header__logo svg {
  fill: #fff; }

.th-wizarding-world .header__logo .header__logo__icon-logo,
.th-wizarding-world .icon-logo-wizarding-world, .th-wizarding-world.wizarding-world-overrides .header__logo .header__logo__icon-logo,
.th-wizarding-world.wizarding-world-overrides .icon-logo-wizarding-world {
  color: #fff; }

.th-wizarding-world .header__toggle, .th-wizarding-world.wizarding-world-overrides .header__toggle {
  color: #fff; }
  .th-wizarding-world .header__toggle:before, .th-wizarding-world.wizarding-world-overrides .header__toggle:before {
    color: #fff; }

@media (min-width: 75em) {
  .th-wizarding-world .primary-navigation, .th-wizarding-world.wizarding-world-overrides .primary-navigation {
    background-color: #001820; }
  .th-wizarding-world .primary-navigation__item:hover, .th-wizarding-world .primary-navigation__item.active, .th-wizarding-world.wizarding-world-overrides .primary-navigation__item:hover, .th-wizarding-world.wizarding-world-overrides .primary-navigation__item.active {
    border-bottom-color: #fff; }
  .th-wizarding-world .primary-navigation__link, .th-wizarding-world.wizarding-world-overrides .primary-navigation__link {
    color: #fff; } }

.th-wizarding-world .header__toggle--discover > svg, .th-wizarding-world.wizarding-world-overrides .header__toggle--discover > svg {
  stroke: #fff; }

.th-wizarding-world .header__toggle--discover > span, .th-wizarding-world.wizarding-world-overrides .header__toggle--discover > span {
  border-color: #fff; }
  .th-wizarding-world .header__toggle--discover > span:before, .th-wizarding-world.wizarding-world-overrides .header__toggle--discover > span:before {
    border-color: #fff; }
  .th-wizarding-world .header__toggle--discover > span:after, .th-wizarding-world.wizarding-world-overrides .header__toggle--discover > span:after {
    background-color: #fff; }

.th-wizarding-world .header__toggle--navigation > span, .th-wizarding-world.wizarding-world-overrides .header__toggle--navigation > span {
  background-color: #fff; }
  .th-wizarding-world .header__toggle--navigation > span:before, .th-wizarding-world .header__toggle--navigation > span:after, .th-wizarding-world.wizarding-world-overrides .header__toggle--navigation > span:before, .th-wizarding-world.wizarding-world-overrides .header__toggle--navigation > span:after {
    background-color: #fff; }

.th-wizarding-world .masthead .pictogram, .th-wizarding-world .tile .pictogram, .th-wizarding-world.wizarding-world-overrides .masthead .pictogram, .th-wizarding-world.wizarding-world-overrides .tile .pictogram {
  stroke: #fff; }

.th-wizarding-world .my-house-traits, .th-wizarding-world.wizarding-world-overrides .my-house-traits {
  background-color: #003e51;
  color: #fff; }

.th-wizarding-world .masthead, .th-wizarding-world.wizarding-world-overrides .masthead {
  background-color: #003e51;
  color: #fff; }
  .th-wizarding-world .masthead .social-share a, .th-wizarding-world.wizarding-world-overrides .masthead .social-share a {
    color: inherit;
    background-color: rgba(0, 0, 0, 0.2); }
    .th-wizarding-world .masthead .social-share a:hover, .th-wizarding-world.wizarding-world-overrides .masthead .social-share a:hover {
      background-color: rgba(0, 0, 0, 0.4); }

.th-wizarding-world .social-share-page, .th-wizarding-world.wizarding-world-overrides .social-share-page {
  background-color: #E8E8E4;
  color: #fff;
  padding-top: 26px; }
  .th-wizarding-world .social-share-page .social-share--large a, .th-wizarding-world.wizarding-world-overrides .social-share-page .social-share--large a {
    color: inherit;
    background-color: rgba(0, 0, 0, 0.2); }
    .th-wizarding-world .social-share-page .social-share--large a:hover, .th-wizarding-world.wizarding-world-overrides .social-share-page .social-share--large a:hover {
      background-color: rgba(0, 0, 0, 0.4); }

.th-wizarding-world .social-share-page__heading span, .th-wizarding-world.wizarding-world-overrides .social-share-page__heading span {
  background-color: #E8E8E4;
  color: #333; }

.th-wizarding-world .social-share-page__heading:after, .th-wizarding-world.wizarding-world-overrides .social-share-page__heading:after {
  border-color: #333; }

.th-wizarding-world.block-announcement, .th-wizarding-world.wizarding-world-overrides.block-announcement {
  background-color: #002b39; }
  .th-wizarding-world.block-announcement .home-item__title,
  .th-wizarding-world.block-announcement .home-item__description, .th-wizarding-world.wizarding-world-overrides.block-announcement .home-item__title,
  .th-wizarding-world.wizarding-world-overrides.block-announcement .home-item__description {
    color: #fff; }

.th-wizarding-world .next-step__wrapper, .th-wizarding-world.wizarding-world-overrides .next-step__wrapper {
  background-color: #002b39;
  color: #fff; }

.th-wizarding-world .next-step__button, .th-wizarding-world.wizarding-world-overrides .next-step__button {
  background-color: #095d67;
  color: #fff; }

.th-wizarding-world .next-step__button:hover, .th-wizarding-world.wizarding-world-overrides .next-step__button:hover {
  background-color: #053338;
  color: #fff; }

.th-wizarding-world .form__button--theme, .th-wizarding-world.wizarding-world-overrides .form__button--theme {
  border-color: #003e51;
  background-color: #002b39;
  color: #fff; }
  .th-wizarding-world .form__button--theme:hover, .th-wizarding-world.wizarding-world-overrides .form__button--theme:hover {
    border-color: #002b39;
    cursor: pointer;
    background-color: #000506; }

.th-wizarding-world .profile__ctas .form__button--hollow, .th-wizarding-world.wizarding-world-overrides .profile__ctas .form__button--hollow {
  color: #002b39;
  border: 1px solid #002b39; }
  @media (min-width: 48em) {
    .th-wizarding-world .profile__ctas .form__button--hollow, .th-wizarding-world.wizarding-world-overrides .profile__ctas .form__button--hollow {
      background-color: transparent;
      border: 1px solid #fff;
      color: #fff; } }

.th-wizarding-world .profile__ctas .form__button--theme, .th-wizarding-world.wizarding-world-overrides .profile__ctas .form__button--theme {
  display: flex;
  align-items: center;
  justify-content: center; }
  .th-wizarding-world .profile__ctas .form__button--theme:not(.form__button--hollow), .th-wizarding-world.wizarding-world-overrides .profile__ctas .form__button--theme:not(.form__button--hollow) {
    background-color: #002b39; }
    .th-wizarding-world .profile__ctas .form__button--theme:not(.form__button--hollow):hover, .th-wizarding-world.wizarding-world-overrides .profile__ctas .form__button--theme:not(.form__button--hollow):hover {
      background-color: #000506; }
  @media (max-width: 47.99em) {
    .th-wizarding-world .profile__ctas .form__button--theme:hover, .th-wizarding-world.wizarding-world-overrides .profile__ctas .form__button--theme:hover {
      background-color: #fff; } }

@media (max-width: 47.99em) {
  .th-wizarding-world .th-patronus .profile__ctas .form__button--hollow, .th-wizarding-world.wizarding-world-overrides .th-patronus .profile__ctas .form__button--hollow {
    color: #fff;
    background-color: #465863;
    border: 0; } }

.th-wizarding-world .form__row--text-link a, .th-wizarding-world.wizarding-world-overrides .form__row--text-link a {
  color: #003e51; }

.th-wizarding-world .form__row-link--invert, .th-wizarding-world.wizarding-world-overrides .form__row-link--invert {
  color: #003e51; }

.th-wizarding-world .header--simple .header__menu, .th-wizarding-world.wizarding-world-overrides .header--simple .header__menu {
  background-color: #e8e8e4; }

.th-wizarding-world .header--simple .header__logo .header__logo__svg, .th-wizarding-world.wizarding-world-overrides .header--simple .header__logo .header__logo__svg {
  background: url("/assets/img/logo-dark.svg") no-repeat; }

.th-wizarding-world .header--wizarding-world.header--simple .header__inner, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world.header--simple .header__inner {
  background-color: #e8e8e4; }

.th-wizarding-world .header--wizarding-world.header--simple .ww-logo__container .ww-logo, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world.header--simple .ww-logo__container .ww-logo {
  color: #333; }

.th-wizarding-world .header--wizarding-world .header__inner, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .header__inner {
  background-color: #002b39; }

@media (min-width: 75em) {
  .th-wizarding-world .header--wizarding-world .primary-navigation, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .primary-navigation {
    background-color: #002b39; } }

.th-wizarding-world .header--wizarding-world .primary-navigation__link:hover, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .primary-navigation__link:hover {
  border-bottom: 2px solid #fff; }

.th-wizarding-world .header--wizarding-world .overlay__body--navigation .primary-navigation__link:hover, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .overlay__body--navigation .primary-navigation__link:hover {
  border-bottom: 2px solid transparent; }

.th-wizarding-world .header--wizarding-world .overlay__body--navigation .active .primary-navigation__link:hover, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .overlay__body--navigation .active .primary-navigation__link:hover {
  border-bottom: 2px solid #fff; }

.th-wizarding-world .header--wizarding-world .active .primary-navigation__link, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .active .primary-navigation__link {
  border-bottom: 2px solid #fff; }

.th-wizarding-world .header--wizarding-world .header__toggle--navigation > span, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .header__toggle--navigation > span {
  background-color: #fff; }
  .th-wizarding-world .header--wizarding-world .header__toggle--navigation > span:before, .th-wizarding-world .header--wizarding-world .header__toggle--navigation > span:after, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .header__toggle--navigation > span:before, .th-wizarding-world.wizarding-world-overrides .header--wizarding-world .header__toggle--navigation > span:after {
    background-color: #fff; }

.th-wizarding-world.wizarding-world-overrides .header__pane--deleteAccount .overlay .ww-logo {
  color: #333; }

.th-unthemed .header--fixed.header--wizarding-world .ww-logo {
  color: #333; }

.th-unthemed .header--fixed .header__logo__svg {
  background: url(/assets/img/logo-dark.svg) no-repeat; }

.ornament--light:before {
  background-color: #fff; }

.header__logo > svg {
  margin-top: 11px;
  width: 100px;
  height: 39px;
  transition: width 0.5s, margin-top 0.5s, fill 0.25s 0.5s;
  fill: #fff; }
  @media (min-width: 48em) {
    .header__logo > svg {
      margin-top: 15px;
      width: 152px;
      height: 57px; } }
  @media (min-width: 62em) {
    .header__logo > svg {
      transition-delay: 0s, 0s, 0s; } }
  @media (min-width: 90.625em) {
    .header__logo > svg {
      height: 60px; } }

.header__toggle--cart .basket-count {
  color: #810041;
  background: white;
  display: inline-block;
  font: 11px/15px "Roboto Regular", Arial, sans;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  padding: 0 2px;
  position: absolute;
  right: -4px;
  top: -5px;
  height: 15px;
  min-width: 15px;
  border-radius: 100%; }
  .header__toggle--cart .basket-count.hidden-count {
    display: none; }

#grid-debug {
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 2000; }

body {
  background-color: #e8e8e4;
  margin: 0; }

a {
  color: #333; }

.hidden, .checkout-success__sections div[data-order-updates], .content-box__row.content-box__row--secondary .total-line-table {
  display: none; }

.promo-images {
  width: 100%;
  margin: 5% 0 2%; }
  @media (min-width: 48em) {
    .promo-images {
      width: 100%;
      margin: 0 0 2%; } }
  .promo-images img {
    width: 100%;
    height: 100%;
    display: block; }

.visually-hidden {
  border: 0;
  clip: rect(0, 0, 0, 0);
  clip: rect(0 0 0 0);
  width: 2px;
  height: 2px;
  margin: -2px;
  overflow: hidden;
  padding: 0;
  position: absolute; }

.link-text {
  height: 1px;
  width: 1px;
  position: absolute;
  overflow: hidden;
  top: -10000em; }

.masthead {
  color: #FFF; }
  @media (max-width: 47.99em) {
    .masthead {
      padding-top: 50px; } }

@media (max-width: 47.99em) {
  .masthead--compact {
    padding-top: 0; }
    .masthead--compact .is-hidden {
      display: none; }
    .masthead--compact .shop-nav {
      margin-top: 25px; } }

.masthead__content {
  width: 100%; }
  @media (max-width: 47.99em) {
    .masthead__content {
      padding-bottom: 1px; } }
  @media (min-width: 48em) {
    .masthead__content {
      margin-top: 0; } }

.main-content__inner {
  background: #fff; }

@media (max-width: 47.99em) {
  .main-content {
    padding: 5.26316%; } }

.main-content__inner {
  padding: 10.22794% 5.26316%; }
  @media (min-width: 48em) {
    .main-content__inner {
      padding-top: 8.47458%;
      padding-bottom: 8.47458%;
      padding-left: 16.94915%;
      padding-right: 16.94915%; } }

.payment-logos {
  margin-top: 20px;
  padding: 20px 0 25px 0;
  border-top: 1px solid #AAA;
  width: 100%;
  text-align: center; }
  .payment-logos img {
    width: 245px;
    height: 25px; }
  .home .payment-logos {
    margin-top: 0; }
  @media (min-width: 48em) {
    .payment-logos {
      text-align: right; } }

.masthead {
  background-color: #810041;
  height: auto;
  min-height: 0; }
  @media (min-width: 48em) {
    .masthead {
      display: block;
      height: auto; } }

.masthead__content--short:after {
  display: none; }

@media (min-width: 20.0625em) {
  .masthead__long-headline {
    font: 48px/51px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.masthead__description h2 {
  font: 24px/32px "Magorian Regular", Georgia, Times, "Times New Roman", serif; }

.masthead__social-share {
  bottom: 35px; }
  @media (min-width: 48em) {
    .masthead__social-share {
      position: relative;
      top: 0; } }

.masthead__author {
  margin-top: 10px;
  margin-bottom: 21px; }
  @media (min-width: 20.0625em) {
    .masthead__author {
      font: 30px/36px "Magorian Regular", Georgia, Times, "Times New Roman", serif; } }

.header__menu {
  position: relative;
  text-align: center;
  z-index: 30;
  transition: height .5s, background .25s;
  transition-delay: 0s, .5s;
  background-color: #410021; }
  .header__menu a {
    color: #FFF;
    font-weight: bold; }

.header--shop__account-basket {
  right: 40px; }
  @media (max-width: 47.99em) {
    .header--shop__account-basket {
      width: 50px;
      white-space: pre;
      overflow: hidden;
      right: 20px; } }

.header__back-plus {
  display: none; }
  @media (min-width: 48em) {
    .header__back-plus {
      display: inline-block; } }

@keyframes spinner {
  100% {
    transform: rotate(360deg); } }

.icon-svg--spinner {
  animation: spinner 2s linear infinite; }

.checkout__form .full-page-overlay {
  position: fixed;
  top: 50%;
  left: 50%;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  fill: #fff;
  padding: 20px;
  border-radius: 10px;
  transform: translate(-50%, -50%);
  z-index: 9; }
  .checkout__form .full-page-overlay a {
    color: #fff; }

.full-page-overlay__content {
  text-align: center; }
  .full-page-overlay__content .icon-svg--spinner {
    width: 50px;
    height: 66px; }

.footer__roundel {
  background: none; }

.product-summary--gifting-info {
  background-position: 50% 50%; }

.breadcrumb {
  font: 10px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 10.22794% 5.26316%;
  background-color: white;
  color: #333; }
  @media (min-width: 90.625em) {
    .breadcrumb {
      font-size: 12px;
      line-height: 20px;
      letter-spacing: 2.5px; } }
  @media (min-width: 48em) {
    .breadcrumb {
      padding-top: 15px;
      padding-bottom: 5px;
      padding-left: 3%;
      padding-right: 3%; } }

.product-list__sorter label {
  margin-left: 20px; }

/* This is to force the remove discount code button to be shown */
.applied-reduction-code__clear-button > .visually-hidden {
  position: relative; }

button.applied-reduction-code__clear-button {
  font-family: "Roboto Regular", Arial, sans !important;
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
  background-color: #02857d;
  opacity: 1;
  border-radius: 0;
  white-space: nowrap; }
  button.applied-reduction-code__clear-button:hover {
    cursor: pointer;
    background-color: #046460; }

span.applied-reduction-code__clear-button icon icon--clear visually-hidden {
  text-transform: uppercase;
  clip: unset;
  position: relative;
  opacity: 1;
  border-color: #02857d;
  color: white; }
  span.applied-reduction-code__clear-button icon icon--clear visually-hidden:hover {
    background-color: #046460;
    border-color: #046460;
    color: white; }

td.total-line__price {
  vertical-align: top; }

/*
Fixing the error message shown for an invalid discount code.
*/
p#error-for-reduction_code {
  outline: none;
  padding-bottom: 20px; }
  @media (min-width: 62em) {
    p#error-for-reduction_code {
      padding-bottom: 5px;
      line-height: 30px; } }

.total-line__price {
  line-height: normal; }

@media (min-width: 48em) {
  .order-summary__emphasis {
    white-space: nowrap; } }

.th-wizarding-world .overlay, .th-wizarding-world .overlay__header {
  background: url("metal-bg-768px.jpg") top center repeat-y #022028; }
  @media (min-width: 62em) {
    .th-wizarding-world .overlay, .th-wizarding-world .overlay__header {
      background-image: url("metal-bg-1200px.jpg"); } }

.th-wizarding-world .header__toggle--cart .basket-count {
  color: white;
  background: #1f828e;
  height: 20px;
  min-width: 20px;
  border-radius: 46%;
  padding: 1px 4px;
  font: 11px/18px "Roboto Regular", Arial, sans;
  right: 29px;
  top: 10px; }
  @media (min-width: 62em) {
    .th-wizarding-world .header__toggle--cart .basket-count {
      padding: 3px 6px;
      font: 12px/18px "Roboto Regular", Arial, sans;
      line-height: 15px;
      right: 30px;
      top: 16px; } }

.th-wizarding-world .masthead {
  background-color: #003e51; }

.th-wizarding-world .header__menu {
  background-color: #002b39; }

.th-wizarding-world button.applied-reduction-code__clear-button, .th-wizarding-world .btn--purchase, .th-wizarding-world .step__footer__continue-btn, .th-wizarding-world .order-summary__section--discount .field__input-btn, .order-summary__section--discount .th-wizarding-world .field__input-btn {
  background-color: #095d67; }
  .th-wizarding-world button.applied-reduction-code__clear-button:hover, .th-wizarding-world .btn--purchase:hover, .th-wizarding-world .step__footer__continue-btn:hover, .th-wizarding-world .order-summary__section--discount .field__input-btn:hover, .order-summary__section--discount .th-wizarding-world .field__input-btn:hover {
    background-color: #053237; }

.th-wizarding-world span.applied-reduction-code__clear-button icon icon--clear visually-hidden {
  border-color: #095d67; }
  .th-wizarding-world span.applied-reduction-code__clear-button icon icon--clear visually-hidden:hover {
    background-color: #053237;
    border-color: #053237; }

.th-wizarding-world .owl-prev:hover .carousel__prev, .th-wizarding-world .owl-prev:hover .carousel__next, .th-wizarding-world .owl-next:hover .carousel__prev, .th-wizarding-world .owl-next:hover .carousel__next {
  background-color: #003e51; }

.th-wizarding-world .litebox__control--next:hover .carousel__prev, .th-wizarding-world .litebox__control--next:hover .carousel__next, .th-wizarding-world .litebox__control--prev:hover .carousel__prev, .th-wizarding-world .litebox__control--prev:hover .carousel__next {
  background-color: #003e51; }

/* Fixes for Shopify's 18 July 2018 upgrade */
#order-summary h2.visually-hidden-if-js {
  display: none; }

.section--payment-method .field__icon-svg {
  display: none; }

.checkout__form .total-line-table {
  display: none; }

.cart-item__price {
  float: right; }

.total-line__name {
  text-align: left; }

.step__footer__info {
  display: none; }

.hidden-if-js {
  display: none; }

.section__content__text--log-in {
  margin: 10px 0;
  font-size: 18px;
  line-height: 22px; }

.editLink {
  font: 14px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  float: right; }
  .editLink a {
    color: #003e51; }

.review-block {
  margin-bottom: 40px; }

#credit_card_verification_value_tooltip {
  display: none; }

.checkout__form .full-page-overlay__content:focus {
  outline: none; }

.comingsoon-cta {
  display: inline-block;
  border: 1px solid #000;
  padding: 10px 30px;
  font: 12px/18px "Roboto Regular", Arial, sans;
  letter-spacing: 1.5px;
  text-transform: uppercase; }

.template--product-comingsoon .product-summary--gifting-info {
  display: none; }

.template--product-comingsoon .product-single__dab-disclaimer {
  display: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcC10aGVtZS5jc3MiLCJzb3VyY2VzIjpbInNob3AtdGhlbWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3MvX3N1c3kuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9fc3VzeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L19zdS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L3N1L191dGlsaXRpZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9zdS9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9zdS9fdmFsaWRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L3N1L19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9fc2hhcmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L19zdXBwb3J0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3N1cHBvcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fcHJlZml4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fYm94LXNpemluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19pbnNwZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fb3V0cHV0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fZGlyZWN0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX21hcmdpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19wYWRkaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L2Zsb2F0L19jb250YWluZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX3NwYW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX2VuZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9mbG9hdC9faXNvbGF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fdmFsaWRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2dyaWRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fYm94LXNpemluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2NvbnRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc3Bhbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19pc29sYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ2FsbGVyeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3Jvd3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19tYXJnaW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fcGFkZGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2JsZWVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fYnJlYWtwb2ludC1wbHVnaW4uc2NzcyIsIi4uL2pzL21vZHVsZXMvY29uZmlnL3N0eWxlcy9fcmVzZXQuc2NzcyIsIi4uL2pzL21vZHVsZXMvY29uZmlnL3N0eWxlcy9fZGV2aWNlLXJlc29sdXRpb25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1tcS9fbXEuc2NzcyIsIi4uL2pzL21vZHVsZXMvY29uZmlnL3N0eWxlcy9fZm9udC5zY3NzIiwiLi4vanMvbW9kdWxlcy9jb25maWcvc3R5bGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi9qcy9tb2R1bGVzL2NvbmZpZy9zdHlsZXMvX2ZvbnQuc2NzcyIsIi4uL2pzL21vZHVsZXMvY29uZmlnL3N0eWxlcy9fcGFsZXR0ZXMuc2NzcyIsIi4uL2pzL21vZHVsZXMvY29uZmlnL3N0eWxlcy9fZGV2aWNlLXJlc29sdXRpb25zLnNjc3MiLCIuLi9qcy9tb2R1bGVzL2NvbmZpZy9zdHlsZXMvX3BhbGV0dGVzLnNjc3MiLCIuLi9qcy9tb2R1bGVzL2ljb25zL3N0eWxlcy9fYWxsLnNjc3MiLCIuLi9qcy9tb2R1bGVzL21peGlucy9zdHlsZXMvX2NhcHRpb24uc2NzcyIsIi4uL2pzL21vZHVsZXMvbWl4aW5zL3N0eWxlcy9fbWVudS1oZWxwZXJzLnNjc3MiLCIuLi9qcy9tb2R1bGVzL21peGlucy9zdHlsZXMvX3RoZW1lLnNjc3MiLCIuLi9qcy9tb2R1bGVzL21peGlucy9zdHlsZXMvX2Rhcmstb3ItbGlnaHQtdGV4dC5zY3NzIiwiLi4vanMvbW9kdWxlcy9wbS1oZWFkZXIvc3R5bGVzL19jb21tb24uc2NzcyIsIi4uL2pzL21vZHVsZXMvbWl4aW5zL3N0eWxlcy9fZmlsbC1wYXJlbnQuc2NzcyIsIi4uL2pzL21vZHVsZXMvbWl4aW5zL3N0eWxlcy9fbWFya2Rvd24uc2NzcyIsIi4uL2pzL21vZHVsZXMvbWl4aW5zL3N0eWxlcy9fbWFpbnRhaW4tcmF0aW8uc2NzcyIsIi4uL2pzL21vZHVsZXMvYnV0dG9ucy9zdHlsZXMvX2FsbC5zY3NzIiwiLi4vanMvbW9kdWxlcy9idXR0b25zL3N0eWxlcy9fYnRuLS10aGVtZWQuc2NzcyIsIi4uL2pzL21vZHVsZXMvbGF5b3V0cy9zdHlsZXMvX2wtaW1hZ2VzLnNjc3MiLCIuLi9qcy9tb2R1bGVzL2xheW91dHMvc3R5bGVzL19sLWNlbnRlcmVkLnNjc3MiLCIuLi9qcy9tb2R1bGVzL2xheW91dHMvbC1wcm9kdWN0LWxpc3Qvc3R5bGVzL19hbGwuc2NzcyIsIi4uL2pzL21vZHVsZXMvbGF5b3V0cy9taXhpbnMvX2wtZm91ci10d28uc2NzcyIsIi4uL2pzL21vZHVsZXMvZmVhdHVyZWQtY29sbGVjdGlvbi9zdHlsZXMvX2FsbC5zY3NzIiwiX3Nob3AtZm9ybXMuc2NzcyIsIi4uL2pzL21vZHVsZXMvZm9ybXMvc3R5bGVzL19hbGwuc2NzcyIsIi4uL2pzL21vZHVsZXMvZm9ybXMvc3R5bGVzL19mb3JtLWhlYWRlci5zY3NzIiwiLi4vanMvbW9kdWxlcy9mb3Jtcy9yYWRpby1zZWxlY3Rpb24vc3R5bGVzL19hbGwuc2NzcyIsIl9jaGVja291dC5zY3NzIiwic2hvcC1uYXYuc2NzcyIsIi4uL2pzL21vZHVsZXMvcGFwZXIvc3R5bGVzL19hbGwuc2NzcyIsIi4uL2pzL21vZHVsZXMvcG0taGVhZGVyL3N0eWxlcy9fYWxsLnNjc3MiLCIuLi9qcy9tb2R1bGVzL292ZXJsYXkvc3R5bGVzL19hbGwuc2NzcyIsIi4uL2pzL21vZHVsZXMvY29uZmlnL3N0eWxlcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiLi4vanMvbW9kdWxlcy9taXhpbnMvc3R5bGVzL19YLnNjc3MiLCIuLi9qcy9tb2R1bGVzL292ZXJsYXkvc3R5bGVzL19taXhpbnMuc2NzcyIsIi4uL2pzL21vZHVsZXMvcG0taGVhZGVyL3N0eWxlcy9faGVhZGVyLS13dy5zY3NzIiwiLi4vanMvbW9kdWxlcy9wbS1oZWFkZXIvc3R5bGVzL190b2dnbGUtLXd3LnNjc3MiLCIuLi9qcy9tb2R1bGVzL21peGlucy9zdHlsZXMvX2J1cmdlci5zY3NzIiwiLi4vanMvbW9kdWxlcy9wbS1oZWFkZXIvc3R5bGVzL19oZWFkZXIuc2NzcyIsIi4uL2pzL21vZHVsZXMvcG0taGVhZGVyL3N0eWxlcy9fdG9nZ2xlLnNjc3MiLCIuLi9qcy9tb2R1bGVzL3BtLWhlYWRlci9zdHlsZXMvX3BhbmUuc2NzcyIsIi4uL2pzL21vZHVsZXMvY29uZmlnL3N0eWxlcy9fdXRpbC5zY3NzIiwiLi4vanMvbW9kdWxlcy9uYXZpZ2F0aW9uL3ByaW1hcnktbmF2aWdhdGlvbi9zdHlsZXMvX2FsbC5zY3NzIiwiLi4vanMvbW9kdWxlcy9uYXZpZ2F0aW9uL3NlY29uZGFyeS1uYXZpZ2F0aW9uL3N0eWxlcy9fYWxsLnNjc3MiLCIuLi9qcy9tb2R1bGVzL3BtLWNvb2tpZS1kaXNjbGFpbWVyL3N0eWxlcy9fYWxsLnNjc3MiLCIuLi9qcy9tb2R1bGVzL2Zvcm1zL3N0eWxlcy9fYWxsLnNjc3MiLCIuLi9qcy9tb2R1bGVzL21hc3RoZWFkL3N0eWxlcy9fZGVmYXVsdC5zY3NzIiwiLi4vanMvbW9kdWxlcy9vcm5hbWVudC9zdHlsZXMvX2FsbC5zY3NzIiwiLi4vanMvbW9kdWxlcy9pY29ucy9zdHlsZXMvX2FsbC5zY3NzIiwiLi4vanMvbW9kdWxlcy9mb290ZXIvc3R5bGVzL19hbGwuc2NzcyIsIi4uL2pzL21vZHVsZXMvcG0tc29jaWFsLXNoYXJlL3N0eWxlcy9fYWxsLnNjc3MiLCJfcHJvZHVjdC1saXN0LnNjc3MiLCJfcHJvZHVjdC1zdW1tYXJ5LnNjc3MiLCJfcHJvZHVjdC1zaW5nbGUuc2NzcyIsIl9wcm9kdWN0LW1ldGEuc2NzcyIsIl9wcm9kdWN0LXN1bW1hcnktc2luZ2xlLnNjc3MiLCIuLi9qcy9tb2R1bGVzL3NlY3Rpb24tbGVhZC9zdHlsZXMvX2FsbC5zY3NzIiwiLi4vanMvbW9kdWxlcy9wYWdpbmF0aW9uL3Nob3Avc3R5bGVzL19hbGwuc2NzcyIsIi4uL2pzL21vZHVsZXMvbWl4aW5zL3N0eWxlcy9fYXJyb3cuc2NzcyIsIi4uL2pzL21vZHVsZXMvcGFnaW5hdGlvbi9zaG9wL3N0eWxlcy9fbC1wYWdpbmF0aW9uLnNjc3MiLCIuLi9qcy9tb2R1bGVzL2Jhbm5lcnMvc2hvcC9kZXZpY2VzL3N0eWxlcy9fYWxsLnNjc3MiLCJfYXJ0LWNvbGxlY3Rpb24uc2NzcyIsIl9jYXJ0LnNjc3MiLCIuLi9qcy9tb2R1bGVzL3RhYmxlL3N0eWxlcy9fYWxsLnNjc3MiLCIuLi9qcy9tb2R1bGVzL3N0YXRlcy9zdHlsZXMvX2FsbC5zY3NzIiwiX2FjY291bnQuc2NzcyIsIi4uL2pzL21vZHVsZXMvbGF5b3V0cy9zdHlsZXMvX2wtbXVsdGktY29sdW1uLnNjc3MiLCIuLi9qcy9tb2R1bGVzL2xheW91dHMvbWl4aW5zL19sLXR3by1vbmUuc2NzcyIsIl80MDQuc2NzcyIsIi4uL2pzL21vZHVsZXMvY2Fyb3VzZWwvc3R5bGVzL19hbGwuc2NzcyIsIl9zaG9wLWNhcm91c2VsLnNjc3MiLCIuLi9qcy9tb2R1bGVzL3BtLWxpdGVCb3gvc3R5bGVzL19hbGwuc2NzcyIsIi4uL2pzL21vZHVsZXMvbWl4aW5zL3N0eWxlcy9fbG9hZGluZy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci1iYWNrZ3JvdW5kLXNoYWRlOiAjZThlOGUzO1xuJGMtZGVmYXVsdC1wcmltYXJ5OiAjODEwMDQxO1xuJGMtZGVmYXVsdC1zZWNvbmRhcnk6ICM0MTAwMjE7XG4kYy1kZWZhdWx0LWFjY2VudDogI2EwMDA1NjtcbiRjLWRlZmF1bHQtYmFzZTogI2ZmZjVlYztcblxuJGNvbG9yLXRleHQtaW52ZXJ0OiAjMzMzO1xuJGNvbG9yLXByaW1hcnk6ICRjLWRlZmF1bHQtcHJpbWFyeTtcbiRjb2xvci1zZWNvbmRhcnk6ICRjLWRlZmF1bHQtc2Vjb25kYXJ5O1xuJGNvbG9yLXN1YnRpdGxlOiAjRkZGO1xuXG4kZm9udC1wYXRoOiAnLi4vYXNzZXRzLyc7XG4kaWNvbi1wYXRoOiAkZm9udC1wYXRoO1xuXG4kYy1zaG9wLWJ1dHRvbi1wcmltYXJ5OiAjMDI4NTdkO1xuJGMtc2hvcC1idXR0b24tcHJpbWFyeS1ob3ZlcjogIzA0NjQ2MDtcblxuJGMtc2hvcC13aXphcmRpbmctd29ybGQtcHJpbWFyeTogICMwMDNlNTE7XG4kYy1zaG9wLXdpemFyZGluZy13b3JsZC1zZWNvbmRhcnk6ICAjMDAyYjM5O1xuJGMtc2hvcC13aXphcmRpbmctd29ybGQtYmFzZTogICMwNzRjNWU7XG4kYy1zaG9wLXdpemFyZGluZy13b3JsZC1hY2NlbnQ6ICAjMDc0YzVlO1xuJGMtc2hvcC13aXphcmRpbmctd29ybGQtYnV0dG9uLXByaW1hcnk6ICMwOTVkNjc7XG4kYy1zaG9wLXdpemFyZGluZy13b3JsZC1idXR0b24tcHJpbWFyeS1ob3ZlcjogIzA1MzIzNztcblxuQGltcG9ydCAnc3VzeS9zYXNzL3N1c3knO1xuXG5AaW1wb3J0ICdjb25maWcvc3R5bGVzL3Jlc2V0JztcbkBpbXBvcnQgJ2NvbmZpZy9zdHlsZXMvZm9udCc7XG5AaW1wb3J0ICdjb25maWcvc3R5bGVzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnY29uZmlnL3N0eWxlcy9kZXZpY2UtcmVzb2x1dGlvbnMnO1xuQGltcG9ydCAnY29uZmlnL3N0eWxlcy9wYWxldHRlcyc7XG5cbkBpbXBvcnQgJ2ljb25zL3N0eWxlcy9hbGwnO1xuXG5AaW1wb3J0ICdtaXhpbnMvc3R5bGVzL2NhcHRpb24nO1xuQGltcG9ydCAnbWl4aW5zL3N0eWxlcy9tZW51LWhlbHBlcnMnO1xuQGltcG9ydCAnbWl4aW5zL3N0eWxlcy90aGVtZSc7XG5AaW1wb3J0ICdtaXhpbnMvc3R5bGVzL2ZpbGwtcGFyZW50JztcbkBpbXBvcnQgJ21peGlucy9zdHlsZXMvbWFya2Rvd24nO1xuQGltcG9ydCAnbWl4aW5zL3N0eWxlcy9tYWludGFpbi1yYXRpbyc7XG5cbkBpbXBvcnQgJ2J1dHRvbnMvc3R5bGVzL2FsbCc7XG5cbkBpbXBvcnQgJ2xheW91dHMvc3R5bGVzL2wtaW1hZ2VzJztcbkBpbXBvcnQgJ2xheW91dHMvc3R5bGVzL2wtY2VudGVyZWQnO1xuQGltcG9ydCAnbGF5b3V0cy9sLXByb2R1Y3QtbGlzdC9zdHlsZXMvYWxsJztcblxuQGltcG9ydCAnZmVhdHVyZWQtY29sbGVjdGlvbi9zdHlsZXMvYWxsJztcblxuQGltcG9ydCAnc2hvcC1mb3Jtcyc7XG5AaW1wb3J0ICdjaGVja291dCc7XG5cbkBpbXBvcnQgJ3Nob3AtbmF2JztcblxuQGltcG9ydCAncGFwZXIvc3R5bGVzL2FsbCc7XG5AaW1wb3J0ICdwbS1oZWFkZXIvc3R5bGVzL2FsbCc7XG5AaW1wb3J0ICdwbS1jb29raWUtZGlzY2xhaW1lci9zdHlsZXMvYWxsJztcbkBpbXBvcnQgJ21hc3RoZWFkL3N0eWxlcy9kZWZhdWx0JztcbkBpbXBvcnQgJ29ybmFtZW50L3N0eWxlcy9hbGwnO1xuQGltcG9ydCAnZm9vdGVyL3N0eWxlcy9hbGwnO1xuQGltcG9ydCAncG0tc29jaWFsLXNoYXJlL3N0eWxlcy9hbGwnO1xuQGltcG9ydCAncHJvZHVjdC1saXN0JztcbkBpbXBvcnQgJ3Byb2R1Y3Qtc2luZ2xlJztcbkBpbXBvcnQgJ3Byb2R1Y3QtbWV0YSc7XG5AaW1wb3J0ICdwcm9kdWN0LXN1bW1hcnktc2luZ2xlJztcbkBpbXBvcnQgJ3NlY3Rpb24tbGVhZC9zdHlsZXMvYWxsJztcbkBpbXBvcnQgJ3BhZ2luYXRpb24vc2hvcC9zdHlsZXMvYWxsJztcbkBpbXBvcnQgJ2Jhbm5lcnMvc2hvcC9kZXZpY2VzL3N0eWxlcy9hbGwnO1xuQGltcG9ydCAnYXJ0LWNvbGxlY3Rpb24nO1xuQGltcG9ydCAnY2FydCc7XG5AaW1wb3J0ICdhY2NvdW50JztcbkBpbXBvcnQgJzQwNCc7XG5cbkBpbXBvcnQgJ2Nhcm91c2VsL3N0eWxlcy9hbGwnO1xuQGltcG9ydCAnc2hvcC1jYXJvdXNlbCc7XG5AaW1wb3J0ICdwbS1saXRlQm94L3N0eWxlcy9hbGwnO1xuXG5AaW5jbHVkZSBmdXJuaXR1cmUtdGhlbWUoJ3BvdHRlcm1vcmUnLCBtYXAtZ2V0KCRwYWxldHRlcywgJ3BvdHRlcm1vcmUnKSk7XG5AaW5jbHVkZSBmdXJuaXR1cmUtdGhlbWUoJ3dpemFyZGluZy13b3JsZCcsIG1hcF9nZXQoJHBhbGV0dGVzLCAnd2l6YXJkaW5nLXdvcmxkJykpO1xuXG4ub3JuYW1lbnQtLWxpZ2h0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5oZWFkZXJfX2xvZ28gPiBzdmcge1xuICBtYXJnaW4tdG9wOiAxMXB4O1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMzlweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggJHQtdHJhbnNpdGlvblNwZWVkLCBtYXJnaW4tdG9wICR0LXRyYW5zaXRpb25TcGVlZCwgZmlsbCAuMjVzIC41cztcbiAgZmlsbDogJGMtd2hpdGU7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgd2lkdGg6IDE1MnB4O1xuICAgIGhlaWdodDogNTdweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwcywgMHM7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cblxufVxuXG4uaGVhZGVyX190b2dnbGUtLWNhcnQge1xuICAuYmFza2V0LWNvdW50IHtcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IDExcHgvMTVweCAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC00cHg7XG4gICAgdG9wOiAtNXB4O1xuICAgIGhlaWdodDogMTVweDtcbiAgICBtaW4td2lkdGg6IDE1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgICYuaGlkZGVuLWNvdW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiNncmlkLWRlYnVnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDIwMDA7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgxMik7XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFja2dyb3VuZC1zaGFkZTtcbiAgbWFyZ2luOiAwO1xufVxuXG5hIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvbW8taW1hZ2VzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNSUgMCAyJTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMiU7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgbWFyZ2luOiAtMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGVcbn1cblxuXG5cbi5saW5rLXRleHQge1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0b3A6IC0xMDAwMGVtO1xufVxuXG4ubWFzdGhlYWQge1xuICBjb2xvcjogI0ZGRjtcblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IG1lZGl1bSkge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5cbi5tYXN0aGVhZC0tY29tcGFjdCB7XG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAuaXMtaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNob3AtbmF2IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgfVxuICB9XG59XG5cbi5tYXN0aGVhZF9fY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBtcSgkdW50aWw6IG1lZGl1bSkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4ubWFpbi1jb250ZW50X19pbm5lciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5tYWluLWNvbnRlbnQge1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgcGFkZGluZzogZ3V0dGVyKDQpO1xuICB9XG59XG5cbi5tYWluLWNvbnRlbnRfX2lubmVyIHtcblxuICBwYWRkaW5nOiBzcGFuKDEgb2YgMTIpICsgZ3V0dGVyKDYpIGd1dHRlcig0KTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgcGFkZGluZzoge1xuICAgICAgdG9wOiBzcGFuKDEgb2YgMTIpICsgZ3V0dGVyKDEyKTtcbiAgICAgIGJvdHRvbTogc3BhbigxIG9mIDEyKSArIGd1dHRlcigxMik7XG4gICAgICBsZWZ0OiBzcGFuKDIgb2YgMTIpICsgZ3V0dGVyKDEyKTtcbiAgICAgIHJpZ2h0OiBzcGFuKDIgb2YgMTIpICsgZ3V0dGVyKDEyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vLyBiZWxvdyBoZXJlIGFyZSBjdXN0b21pemF0aW9ucyBvZiBtb2R1bGVzIHB1bGxlZCBpbiBmcm9tIGNvbXBvbmVudHNcblxuLnBheW1lbnQtbG9nb3Mge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nOiAyMHB4IDAgMjVweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0FBQTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBpbWcge1xuICAgIHdpZHRoOiAyNDVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gIH1cblxuICAuaG9tZSAmIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbn1cblxuLm1hc3RoZWFkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGVmYXVsdC1wcmltYXJ5O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4ubWFzdGhlYWRfX2NvbnRlbnQtLXNob3J0OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1hc3RoZWFkX19sb25nLWhlYWRsaW5lIHtcbiAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsZXN0KSB7XG4gICAgZm9udDogJGZvbnQtYTI7XG4gIH1cbn1cblxuLm1hc3RoZWFkX19kZXNjcmlwdGlvbiB7XG4gIGgyIHtcbiAgICBmb250OiAkZm9udC1hNTtcbiAgfVxufVxuXG4ubWFzdGhlYWRfX3NvY2lhbC1zaGFyZSB7XG4gIGJvdHRvbTogMzVweDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgfVxufVxuXG4ubWFzdGhlYWRfX2F1dGhvciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIxcHg7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsZXN0KSB7XG4gICAgZm9udDogJGZvbnQtYTQ7XG4gIH1cblxufVxuXG4uaGVhZGVyX19tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDMwO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgLjVzLCBiYWNrZ3JvdW5kIC4yNXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAuNXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLWRlZmF1bHQtc2Vjb25kYXJ5O1xuXG4gIGEge1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG59XG5cbi5oZWFkZXItLXNob3BfX2FjY291bnQtYmFza2V0IHtcbiAgcmlnaHQ6IDQwcHg7XG5cbiAgQGluY2x1ZGUgbXEoJHVudGlsOiBtZWRpdW0pIHtcbiAgICB3aWR0aDogNTBweDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmhlYWRlcl9fYmFjay1wbHVzIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLmljb24tc3ZnLS1zcGlubmVyIHtcbiAgYW5pbWF0aW9uOiBzcGlubmVyIDJzIGxpbmVhciBpbmZpbml0ZVxufVxuXG4uY2hlY2tvdXRfX2Zvcm0ge1xuICAuZnVsbC1wYWdlLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAuOCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZmlsbDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogOTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG59XG5cbi5mdWxsLXBhZ2Utb3ZlcmxheV9fY29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuaWNvbi1zdmctLXNwaW5uZXIge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNjZweDtcbiAgfVxufVxuXG4uZm9vdGVyX19yb3VuZGVsIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLnByb2R1Y3Qtc3VtbWFyeS0tZ2lmdGluZy1pbmZvIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuLmJyZWFkY3J1bWIge1xuICBAaW5jbHVkZSBjYXB0aW9uKDEwcHgpO1xuICBwYWRkaW5nOiBzcGFuKDEgb2YgMTIpICsgZ3V0dGVyKDYpIGd1dHRlcig0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAkY29sb3ItdGV4dDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgcGFkZGluZzoge1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgYm90dG9tOiA1cHg7XG4gICAgICBsZWZ0OiAzJTtcbiAgICAgIHJpZ2h0OiAzJTtcbiAgICB9XG4gIH1cbn1cblxuLnByb2R1Y3QtbGlzdF9fc29ydGVyIGxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi8qIFRoaXMgaXMgdG8gZm9yY2UgdGhlIHJlbW92ZSBkaXNjb3VudCBjb2RlIGJ1dHRvbiB0byBiZSBzaG93biAqL1xuLmFwcGxpZWQtcmVkdWN0aW9uLWNvZGVfX2NsZWFyLWJ1dHRvbiA+IC52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmJ1dHRvbi5hcHBsaWVkLXJlZHVjdGlvbi1jb2RlX19jbGVhci1idXR0b24ge1xuICBmb250LWZhbWlseTogJ1JvYm90byBSZWd1bGFyJywgQXJpYWwsIHNhbnMhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLXNob3AtYnV0dG9uLXByaW1hcnk7XG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXNob3AtYnV0dG9uLXByaW1hcnktaG92ZXI7XG4gIH1cbn1cblxuc3Bhbi5hcHBsaWVkLXJlZHVjdGlvbi1jb2RlX19jbGVhci1idXR0b24gaWNvbiBpY29uLS1jbGVhciB2aXN1YWxseS1oaWRkZW4ge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjbGlwOiB1bnNldDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlci1jb2xvcjogJGMtc2hvcC1idXR0b24tcHJpbWFyeTtcbiAgY29sb3I6IHdoaXRlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXNob3AtYnV0dG9uLXByaW1hcnktaG92ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAkYy1zaG9wLWJ1dHRvbi1wcmltYXJ5LWhvdmVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG59XG5cbnRkLnRvdGFsLWxpbmVfX3ByaWNlIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLypcbkZpeGluZyB0aGUgZXJyb3IgbWVzc2FnZSBzaG93biBmb3IgYW4gaW52YWxpZCBkaXNjb3VudCBjb2RlLlxuKi9cbnAjZXJyb3ItZm9yLXJlZHVjdGlvbl9jb2RlIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLnRvdGFsLWxpbmVfX3ByaWNlIHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLm9yZGVyLXN1bW1hcnlfX2VtcGhhc2lzIHtcbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuXG4udGgtd2l6YXJkaW5nLXdvcmxkIHtcblxuICAub3ZlcmxheSwgLm92ZXJsYXlfX2hlYWRlciB7XG4gICAgYmFja2dyb3VuZDogdXJsKCdtZXRhbC1iZy03NjhweC5qcGcnKSB0b3AgY2VudGVyIHJlcGVhdC15ICMwMjIwMjg7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGxhcmdlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ21ldGFsLWJnLTEyMDBweC5qcGcnKTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyX190b2dnbGUtLWNhcnQge1xuICAgIC5iYXNrZXQtY291bnQge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZDogIzFmODI4ZTtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1pbi13aWR0aDogMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQ2JTtcbiAgICAgIHBhZGRpbmc6IDFweCA0cHg7XG4gICAgICBmb250OiAkZm9udC1jMDtcbiAgICAgIHJpZ2h0OiAyOXB4O1xuICAgICAgdG9wOiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgZm9udDogJGZvbnQtYzE7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXN0aGVhZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtcHJpbWFyeTtcbiAgfVxuXG4gIC5oZWFkZXJfX21lbnUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLXNlY29uZGFyeTtcbiAgfVxuXG4gIGJ1dHRvbi5hcHBsaWVkLXJlZHVjdGlvbi1jb2RlX19jbGVhci1idXR0b24sIC5idG4tLXB1cmNoYXNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1idXR0b24tcHJpbWFyeTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLWJ1dHRvbi1wcmltYXJ5LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHNwYW4uYXBwbGllZC1yZWR1Y3Rpb24tY29kZV9fY2xlYXItYnV0dG9uIGljb24gaWNvbi0tY2xlYXIgdmlzdWFsbHktaGlkZGVuIHtcbiAgICBib3JkZXItY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLWJ1dHRvbi1wcmltYXJ5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1idXR0b24tcHJpbWFyeS1ob3ZlcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtYnV0dG9uLXByaW1hcnktaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgLm93bC1wcmV2LCAub3dsLW5leHQge1xuICAgICY6aG92ZXIge1xuICAgICAgLmNhcm91c2VsX19wcmV2LCAuY2Fyb3VzZWxfX25leHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5saXRlYm94X19jb250cm9sLS1uZXh0OmhvdmVyLCAubGl0ZWJveF9fY29udHJvbC0tcHJldjpob3ZlciB7XG4gICAgLmNhcm91c2VsX19wcmV2LCAuY2Fyb3VzZWxfX25leHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cblxuLyogRml4ZXMgZm9yIFNob3BpZnkncyAxOCBKdWx5IDIwMTggdXBncmFkZSAqL1xuXG4jb3JkZXItc3VtbWFyeSB7XG4gIGgyLnZpc3VhbGx5LWhpZGRlbi1pZi1qcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2VjdGlvbi0tcGF5bWVudC1tZXRob2QgLmZpZWxkX19pY29uLXN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dF9fZm9ybSAudG90YWwtbGluZS10YWJsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYXJ0LWl0ZW1fX3ByaWNlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4udG90YWwtbGluZV9fbmFtZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zdGVwX19mb290ZXJfX2luZm8ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaGlkZGVuLWlmLWpzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNlY3Rpb25fX2NvbnRlbnRfX3RleHQtLWxvZy1pbiB7XG4gIG1hcmdpbjogMTBweCAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xufVxuXG4uY29udGVudC1ib3hfX3Jvdy5jb250ZW50LWJveF9fcm93LS1zZWNvbmRhcnkgLnRvdGFsLWxpbmUtdGFibGUge1xuICBAZXh0ZW5kIC5oaWRkZW47XG59XG5cbi5lZGl0TGluayB7XG4gIGZvbnQ6IDE0cHgvMThweCAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmbG9hdDpyaWdodDtcbiAgYSB7XG4gICAgY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLXByaW1hcnk7XG4gIH1cbn1cblxuLnJldmlldy1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbiNjcmVkaXRfY2FyZF92ZXJpZmljYXRpb25fdmFsdWVfdG9vbHRpcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jaGVja291dF9fZm9ybSAuZnVsbC1wYWdlLW92ZXJsYXlfX2NvbnRlbnQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY29taW5nc29vbi1jdGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgZm9udDogMTJweC8xOHB4IFwiUm9ib3RvIFJlZ3VsYXJcIiwgQXJpYWwsIHNhbnM7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRlbXBsYXRlLS1wcm9kdWN0LWNvbWluZ3Nvb24gLnByb2R1Y3Qtc3VtbWFyeS0tZ2lmdGluZy1pbmZvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRlbXBsYXRlLS1wcm9kdWN0LWNvbWluZ3Nvb24gLnByb2R1Y3Qtc2luZ2xlX19kYWItZGlzY2xhaW1lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiLy8gU3VzeVxuLy8gPT09PVxuXG5AaW1wb3J0ICdzdXN5L2xhbmd1YWdlL3N1c3knO1xuIiwiLy8gU3VzeSBOZXh0IFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PVxuXG4kc3VzeS12ZXJzaW9uOiAyLjE7XG5cbkBpbXBvcnQgXCIuLi9zdVwiO1xuQGltcG9ydCBcIi4uL291dHB1dC9mbG9hdFwiO1xuXG5AaW1wb3J0IFwic3VzeS9zZXR0aW5nc1wiO1xuQGltcG9ydCBcInN1c3kvdmFsaWRhdGlvblwiO1xuQGltcG9ydCBcInN1c3kvZ3JpZHNcIjtcbkBpbXBvcnQgXCJzdXN5L2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJzdXN5L2NvbnRleHRcIjtcbkBpbXBvcnQgXCJzdXN5L2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJzdXN5L2NvbnRhaW5lclwiO1xuQGltcG9ydCBcInN1c3kvc3BhblwiO1xuQGltcG9ydCBcInN1c3kvZ3V0dGVyc1wiO1xuQGltcG9ydCBcInN1c3kvaXNvbGF0ZVwiO1xuQGltcG9ydCBcInN1c3kvZ2FsbGVyeVwiO1xuQGltcG9ydCBcInN1c3kvcm93c1wiO1xuQGltcG9ydCBcInN1c3kvbWFyZ2luc1wiO1xuQGltcG9ydCBcInN1c3kvcGFkZGluZ1wiO1xuQGltcG9ydCBcInN1c3kvYmxlZWRcIjtcbkBpbXBvcnQgXCJzdXN5L2JyZWFrcG9pbnQtcGx1Z2luXCI7XG4iLCIvLyBTdVxuLy8gPT1cblxuQGltcG9ydCBcInN1L3V0aWxpdGllc1wiO1xuQGltcG9ydCBcInN1L3NldHRpbmdzXCI7XG5AaW1wb3J0IFwic3UvdmFsaWRhdGlvblwiO1xuQGltcG9ydCBcInN1L2dyaWRcIjtcbiIsIi8vIE1hcCBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBUcnVuY2F0ZSBMaXN0XG4vLyAtLS0tLS0tLS0tLS0tXG4vLyAtIFJldHVybiBhIGxpc3QsIHRydW5jYXRlZCB0byBhIGdpdmVuIGxlbmd0aFxuQGZ1bmN0aW9uIF9zdXN5LXRydW5jYXRlLWxpc3QoXG4gICRsaXN0LFxuICAkbGVuZ3RoXG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRsaXN0KSB7XG4gICAgJF9yZXR1cm46IGlmKCRpIDw9ICRsZW5ndGgsIGFwcGVuZCgkX3JldHVybiwgbnRoKCRsaXN0LCAkaSkpLCAkX3JldHVybik7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIERlZXAgR2V0XG4vLyAtLS0tLS0tLVxuLy8gLSBSZXR1cm4gYSB2YWx1ZSBkZWVwIGluIG5lc3RlZCBtYXBzXG5AZnVuY3Rpb24gX3N1c3ktZGVlcC1nZXQoXG4gICRtYXAsXG4gICRrZXlzLi4uXG4pIHtcbiAgJF9yZXR1cm46ICRtYXA7XG5cbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgQGlmIHR5cGUtb2YoJF9yZXR1cm4pID09IG1hcCB7XG4gICAgICAkX3JldHVybjogbWFwLWdldCgkX3JldHVybiwgJGtleSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBEZWVwIFNldFxuLy8gLS0tLS0tLS1cbi8vIC0gU2V0IGEgdmFsdWUgZGVlcCBpbiBuZXN0ZWQgbWFwc1xuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtc2V0KFxuICAkbWFwLFxuICAka2V5cy12YWx1ZS4uLlxuKSB7XG4gICRfdmFsdWU6IG50aCgka2V5cy12YWx1ZSwgLTEpO1xuICAkX2tleXM6IF9zdXN5LXRydW5jYXRlLWxpc3QoJGtleXMtdmFsdWUsIGxlbmd0aCgka2V5cy12YWx1ZSkgLSAxKTtcbiAgJF9sZW5ndGg6IGxlbmd0aCgkX2tleXMpO1xuICAkX3JldHVybjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkX2xlbmd0aCB7XG4gICAgJF9uOiAwIC0gJGk7XG4gICAgJF9sZXZlbDogX3N1c3ktdHJ1bmNhdGUtbGlzdCgkX2tleXMsICRfbGVuZ3RoICsgJF9uKTtcbiAgICAkX2xldmVsOiBfc3VzeS1kZWVwLWdldCgkbWFwLCAkX2xldmVsLi4uKTtcbiAgICAkX21lcmdlOiBudGgoJF9rZXlzLCAkX24pO1xuICAgICRfbWVyZ2U6ICgkX21lcmdlOiAkX3ZhbHVlKTtcbiAgICAkX3JldHVybjogaWYoJF9sZXZlbCwgbWFwLW1lcmdlKCRfbGV2ZWwsICRfbWVyZ2UpLCAkX21lcmdlKTtcbiAgICAkX3ZhbHVlOiAkX3JldHVybjtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gRGVlcCBNZXJnZVxuLy8gLS0tLS0tLS0tLVxuLy8gUmV0dXJuIDIgb2JqZWN0cyBvZiBhbnkgZGVwdGgsIG1lcmdlZFxuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtbWVyZ2UoXG4gICRtYXAxLFxuICAkbWFwMlxuKSB7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcDEpICE9IG1hcCBvciB0eXBlLW9mKCRtYXAyKSAhPSBtYXAge1xuICAgICRtYXAxOiAkbWFwMjtcbiAgfSBAZWxzZSB7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAyIHtcbiAgICAgICRfbmV3OiAoJGtleTogX3N1c3lfZGVlcC1tZXJnZShtYXAtZ2V0KCRtYXAxLCAka2V5KSwgJHZhbHVlKSk7XG4gICAgICAkbWFwMTogbWFwLW1lcmdlKCRtYXAxLCAkX25ldyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbWFwMTtcbn1cblxuXG4vLyBEZWVwIEhhcy1LZXlcbi8vIC0tLS0tLS0tLS0tLVxuLy8gLSBSZXR1cm4gdHJ1ZSBpZiBhIGRlZXAga2V5IGV4aXN0c1xuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtaGFzLWtleShcbiAgJG1hcCxcbiAgJGtleXMuLi5cbikge1xuICAkX3JldHVybjogbnVsbDtcbiAgJF9zdG9wOiBmYWxzZTtcblxuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICBAaWYgbm90KCRfc3RvcCkge1xuICAgICAgJF9yZXR1cm46IG1hcC1oYXMta2V5KCRtYXAsICRrZXkpO1xuICAgIH1cblxuICAgIEBpZiAkX3JldHVybiB7XG4gICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9zdG9wOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTZXR0aW5nc1xuLy8gPT09PT09PT1cblxuLy8gVmVyc2lvblxuLy8gLS0tLS0tLVxuJHN1LXZlcnNpb246IDEuMTtcblxuXG4vLyBEZWZhdWx0IFNldHRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBUaGUgYmFzaWMgc2V0dGluZ3NcbiRzdXN5LWRlZmF1bHRzOiAoXG4gIGNvbHVtbnM6IDQsXG4gIGd1dHRlcnM6IC4yNSxcbik7XG5cblxuLy8gVXNlciBTZXR0aW5nc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gLSBEZWZpbmUgdGhlICRzdXN5IHZhcmlhYmxlIHdpdGggYSBtYXAgb2YgeW91ciBvd24gc2V0dGluZ3MuXG4vLyAtIFNldCBFSVRIRVIgJGNvbHVtbi13aWR0aCBPUiAkY29udGFpbmVyXG4vLyAtIFVzZSAkY29sdW1uLXdpZHRoIGZvciBzdGF0aWMgbGF5b3V0c1xuJHN1c3k6ICgpICFkZWZhdWx0O1xuXG5cbi8vIFN1c3kgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFBSSVZBVEU6IEFkZCBkZWZhdWx0cyB0byBTdXN5XG5AbWl4aW4gc3VzeS1kZWZhdWx0cyhcbiAgJGRlZmF1bHRzXG4pIHtcbiAgJHN1c3ktZGVmYXVsdHM6IG1hcC1tZXJnZSgkc3VzeS1kZWZhdWx0cywgJGRlZmF1bHRzKSAhZ2xvYmFsO1xufVxuXG5cbi8vIFN1c3kgU2V0XG4vLyAtLS0tLS0tLVxuLy8gQ2hhbmdlIG9uZSBzZXR0aW5nXG4vLyAtICRrZXkgICA6IHNldHRpbmcgbmFtZVxuLy8gLSAkdmFsdWUgOiBzZXR0aW5nIHZhbHVlXG5AbWl4aW4gc3VzeS1zZXQoXG4gICRrZXktdmFsdWUuLi5cbikge1xuICAkc3VzeTogX3N1c3ktZGVlcC1zZXQoJHN1c3ksICRrZXktdmFsdWUuLi4pICFnbG9iYWw7XG59XG5cblxuLy8gU3VzeSBHZXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm4gb25lIHNldHRpbmcgZnJvbSBhIGdyaWRcbi8vIC0gJGtleSAgICAgOiA8a2V5d29yZD5cbi8vIC0gJGxheW91dCAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gc3VzeS1nZXQoXG4gICRrZXksXG4gICRsYXlvdXQ6IG1hcC1tZXJnZSgkc3VzeS1kZWZhdWx0cywgJHN1c3kpXG4pIHtcbiAgJGxheW91dDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgJF9vcHRpb25zOiAkbGF5b3V0ICRzdXN5ICRzdXN5LWRlZmF1bHRzO1xuICAkX2JyZWFrOiBmYWxzZTtcbiAgJF9yZXR1cm46IG51bGw7XG5cbiAgQGVhY2ggJG9wdCBpbiAkX29wdGlvbnMge1xuICAgIEBpZiB0eXBlLW9mKCRvcHQpID09IG1hcCBhbmQgbm90KCRfYnJlYWspIHtcbiAgICAgICRfa2V5c2V0OiBfc3VzeS1kZWVwLWhhcy1rZXkoJG9wdCwgJGtleS4uLik7XG4gICAgICBAaWYgJF9rZXlzZXQge1xuICAgICAgICAkX3JldHVybjogX3N1c3ktZGVlcC1nZXQoJG9wdCwgJGtleS4uLik7XG4gICAgICAgICRfYnJlYWs6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIE1hdGggVmFsaWRhdGlvblxuLy8gPT09PT09PT09PT09PT09XG5cblxuLy8gVmFsaWQgQ29sdW1uc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgdGhhdCBhIGNvbHVtbiBzZXR0aW5nIGlzIHZhbGlkLlxuQGZ1bmN0aW9uIHZhbGlkLWNvbHVtbnMoXG4gICRjb2x1bW5zLFxuICAkc2lsZW50OiBmYWxzZVxuKSB7XG4gICR0eXBlOiB0eXBlLW9mKCRjb2x1bW5zKTtcbiAgJHJldHVybjogbnVsbDtcblxuICBAaWYgJHR5cGUgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkY29sdW1ucykge1xuICAgICRyZXR1cm46ICRjb2x1bW5zO1xuICB9IEBlbHNlIGlmICR0eXBlID09IGxpc3Qge1xuICAgICRmYWlsOiBudWxsO1xuICAgIEBlYWNoICRjb2wgaW4gJGNvbHVtbnMge1xuICAgICAgQGlmIHR5cGUtb2YoJGNvbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgJGZhaWw6ICRmYWlsIG9yIGlmKHVuaXRsZXNzKCRjb2wpLCBudWxsLCB0cnVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZmFpbDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJHJldHVybjogaWYoJGZhaWwsICRyZXR1cm4sICRjb2x1bW5zKTtcbiAgfVxuXG4gIEBpZiAkcmV0dXJuICE9ICRjb2x1bW5zIGFuZCBub3QoJHNpbGVudCkge1xuICAgICRyZXR1cm46IG51bGw7XG4gICAgJHdhcm46ICckY29sdW1ucyBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyIG9yIGxpc3Qgb2YgdW5pdGxlc3MgbnVtYmVycy4nO1xuICAgIEB3YXJuICR3YXJuICsgJyBDdXJyZW50IHZhbHVlIFsjeyR0eXBlfV06ICN7JGNvbHVtbnN9JztcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuXG4vLyBWYWxpZCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBDaGVjayB0aGF0IGEgZ3V0dGVyIHNldHRpbmcgaXMgdmFsaWQuXG5AZnVuY3Rpb24gdmFsaWQtZ3V0dGVycyhcbiAgJGd1dHRlcnMsXG4gICRzaWxlbnQ6IGZhbHNlXG4pIHtcbiAgJHR5cGU6IHR5cGUtb2YoJGd1dHRlcnMpO1xuICAkcmV0dXJuOiBudWxsO1xuXG4gIEBpZiAkdHlwZSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRndXR0ZXJzKSB7XG4gICAgJHJldHVybjogJGd1dHRlcnM7XG4gIH0gQGVsc2UgaWYgbm90KCRzaWxlbnQpIHtcbiAgICAkd2FybjogJyRndXR0ZXJzIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXIuJztcbiAgICBAd2FybiAkd2FybiArICcgQ3VycmVudCB2YWx1ZSBbI3skdHlwZX1dOiAjeyRndXR0ZXJzfSc7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCIvLyBDb2x1bW4gbWF0aFxuLy8gPT09PT09PT09PT1cblxuXG4vLyBJcyBTeW1tZXRyaWNhbFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBhIGdyaWQgaXMgc3ltbWV0cmljYWwuXG4vLyAtIFskY29sdW1uc10gICA6IDxudW1iZXI+IHwgPGxpc3Q+XG5AZnVuY3Rpb24gaXMtc3ltbWV0cmljYWwoXG4gICRjb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zKVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgQHJldHVybiBpZih0eXBlLW9mKCRjb2x1bW5zKSA9PSBudW1iZXIsICRjb2x1bW5zLCBudWxsKTtcbn1cblxuXG4vLyBTdXN5IENvdW50XG4vLyAtLS0tLS0tLS0tXG4vLyBGaW5kIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiBhIGdpdmVuIGxheW91dFxuLy8gLSBbJGNvbHVtbnNdICAgOiA8bnVtYmVyPiB8IDxsaXN0PlxuQGZ1bmN0aW9uIHN1c3ktY291bnQoXG4gICRjb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zKVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgQHJldHVybiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucykgb3IgbGVuZ3RoKCRjb2x1bW5zKTtcbn1cblxuXG4vLyBTdXN5IFN1bVxuLy8gLS0tLS0tLS1cbi8vIEZpbmQgdGhlIHRvdGFsIHN1bSBvZiBjb2x1bW4tdW5pdHMgaW4gYSBsYXlvdXRcbi8vIC0gWyRjb2x1bW5zXSAgIDogPG51bWJlcj4gfCA8bGlzdD5cbi8vIC0gWyRndXR0ZXJzXSAgIDogPHJhdGlvPlxuLy8gLSBbJHNwcmVhZF0gICAgOiBmYWxzZS9uYXJyb3cgfCB3aWRlIHwgd2lkZXJcbkBmdW5jdGlvbiBzdXN5LXN1bShcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucyksXG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMpLFxuICAkc3ByZWFkICAgOiBmYWxzZVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgJGd1dHRlcnM6IHZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuXG4gICRzcHJlYWQ6IGlmKCRzcHJlYWQgPT0gd2lkZSwgMCwgaWYoJHNwcmVhZCA9PSB3aWRlciwgMSwgLTEpKTtcbiAgJGd1dHRlci1zdW06IChzdXN5LWNvdW50KCRjb2x1bW5zKSArICRzcHJlYWQpICogJGd1dHRlcnM7XG4gICRjb2x1bW4tc3VtOiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucyk7XG5cbiAgQGlmIG5vdCgkY29sdW1uLXN1bSkge1xuICAgIEBlYWNoICRjb2x1bW4gaW4gJGNvbHVtbnMge1xuICAgICAgJGNvbHVtbi1zdW06ICgkY29sdW1uLXN1bSBvciAwKSArICRjb2x1bW47XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkY29sdW1uLXN1bSArICRndXR0ZXItc3VtO1xufVxuXG5cbi8vIFN1c3kgU2xpY2Vcbi8vIC0tLS0tLS0tLS1cbi8vIFJldHVybiBhIHN1YnNldCBvZiBjb2x1bW5zIGF0IGEgZ2l2ZW4gbG9jYXRpb24uXG4vLyAtICRzcGFuICAgICAgICA6IDxudW1iZXI+XG4vLyAtICRsb2NhdGlvbiAgICA6IDxudW1iZXI+XG4vLyAtIFskY29sdW1uc10gICA6IDxudW1iZXI+IHwgPGxpc3Q+XG5AZnVuY3Rpb24gc3VzeS1zbGljZShcbiAgJHNwYW4sXG4gICRsb2NhdGlvbixcbiAgJGNvbHVtbnM6IHN1c3ktZ2V0KGNvbHVtbnMpXG4pIHtcbiAgJGNvbHVtbnM6IHZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkc3ViLWNvbHVtbnM6ICRzcGFuO1xuXG4gIEBpZiBub3QoaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpKSB7XG4gICAgJGxvY2F0aW9uOiAkbG9jYXRpb24gb3IgMTtcbiAgICAkc3ViLWNvbHVtbnM6ICgpO1xuICAgIEBmb3IgJGkgZnJvbSAkbG9jYXRpb24gdG8gKCRsb2NhdGlvbiArICRzcGFuKSB7XG4gICAgICAkc3ViLWNvbHVtbnM6IGFwcGVuZCgkc3ViLWNvbHVtbnMsIG50aCgkY29sdW1ucywgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdWItY29sdW1ucztcbn1cblxuXG4vLyBTdXN5XG4vLyAtLS0tXG4vLyBGaW5kIHRoZSBzdW0gb2YgYSBjb2x1bW4tc3Bhbi5cbi8vIC0gJHNwYW4gICAgICAgIDogPG51bWJlcj5cbi8vIC0gJGxvY2F0aW9uICAgIDogPG51bWJlcj5cbi8vIC0gWyRjb2x1bW5zXSAgIDogPG51bWJlcj4gfCA8bGlzdD5cbi8vIC0gWyRndXR0ZXJzXSAgIDogPHJhdGlvPlxuLy8gLSBbJHNwcmVhZF0gICAgOiBmYWxzZS9uYXJyb3cgfCB3aWRlIHwgd2lkZXJcbkBmdW5jdGlvbiBzdXN5KFxuICAkc3BhbixcbiAgJGxvY2F0aW9uICAgICA6IGZhbHNlLFxuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucyksXG4gICRndXR0ZXJzICAgICAgOiBzdXN5LWdldChndXR0ZXJzKSxcbiAgJHNwcmVhZCAgICAgICA6IGZhbHNlXG4pIHtcbiAgJGNvbHVtbnM6IHZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkZ3V0dGVyczogdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICRzcGFuOiBzdXN5LXNsaWNlKCRzcGFuLCAkbG9jYXRpb24sICRjb2x1bW5zKTtcblxuICBAcmV0dXJuIHN1c3ktc3VtKCRzcGFuLCAkZ3V0dGVycywgJHNwcmVhZCk7XG59XG4iLCIvLyBGbG9hdCBBUElcbi8vID09PT09PT09PVxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbkBpbXBvcnQgXCJmbG9hdC9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJmbG9hdC9zcGFuXCI7XG5AaW1wb3J0IFwiZmxvYXQvZW5kXCI7XG5AaW1wb3J0IFwiZmxvYXQvaXNvbGF0ZVwiO1xuIiwiLy8gU2hhcmVkIEFQSVxuLy8gPT09PT09PT09PVxuXG5AaW1wb3J0IFwic3VwcG9ydFwiO1xuXG5AaW1wb3J0IFwic2hhcmVkL2luc3BlY3RcIjtcbkBpbXBvcnQgXCJzaGFyZWQvb3V0cHV0XCI7XG5AaW1wb3J0IFwic2hhcmVkL2RpcmVjdGlvblwiO1xuQGltcG9ydCBcInNoYXJlZC9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwic2hhcmVkL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcInNoYXJlZC9tYXJnaW5zXCI7XG5AaW1wb3J0IFwic2hhcmVkL3BhZGRpbmdcIjtcblxuXG5cbiIsIi8vIFN1c3kgQnJvd3NlciBTdXBwb3J0XG4vLyA9PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwic3VwcG9ydC9zdXBwb3J0XCI7XG5AaW1wb3J0IFwic3VwcG9ydC9wcmVmaXhcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L3JlbVwiO1xuQGltcG9ydCBcInN1cHBvcnQvY2xlYXJmaXhcIjtcbiIsIi8vIEJyb3dzZXIgU3VwcG9ydFxuLy8gPT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgU3VwcG9ydCBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgdXNlLWN1c3RvbTogKFxuICAgIGNsZWFyZml4OiBmYWxzZSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB0cnVlLFxuICAgIGJhY2tncm91bmQtb3B0aW9uczogZmFsc2UsXG4gICAgYnJlYWtwb2ludDogdHJ1ZSxcbiAgICBib3gtc2l6aW5nOiB0cnVlLFxuICAgIHJlbTogdHJ1ZSxcbiAgKSxcbikpO1xuXG5cbi8vIFN1c3kgU3VwcG9ydCBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2VuZCBwcm9wZXJ0eS12YWx1ZSBwYWlycyB0byB0aGUgcHJvcGVyIHN1cHBvcnQgbW9kdWxlcy5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXN1cHBvcnQoXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgLy8gQmFja2dyb3VuZCBTdXBwb3J0XG4gIEBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJhY2tncm91bmQtaW1hZ2UoJHZhbCk7XG4gIH0gQGVsc2UgaWYgJHByb3AgPT0gYmFja2dyb3VuZC1zaXplIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJhY2tncm91bmQtc2l6ZSgkdmFsKTtcbiAgfSBAZWxzZSBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLW9yaWdpbiB7XG4gICAgQGluY2x1ZGUgc3VzeS1iYWNrZ3JvdW5kLW9yaWdpbigkdmFsKTtcbiAgfSBAZWxzZSBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLWNsaXAge1xuICAgIEBpbmNsdWRlIHN1c3ktYmFja2dyb3VuZC1jbGlwKCR2YWwpO1xuICB9XG5cbiAgLy8gQm94LVNpemluZyBTdXBwb3J0XG4gIEBlbHNlIGlmICRwcm9wID09IGJveC1zaXppbmcge1xuICAgIEBpbmNsdWRlIHN1c3ktYm94LXNpemluZygkdmFsKTtcbiAgfVxuXG4gIC8vIFJlbSBTdXBwb3J0XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBzdXN5LXJlbSgkcHJvcCwgJHZhbCk7XG4gIH1cbn1cblxuXG4vLyBTdXN5IFN1cHBvcnQgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBzdXBwb3J0IG9mIGEgZmVhdHVyZS5cbi8vIC0gJGZlYXR1cmUgICAgICAgOiA8c3RyaW5nPlxuLy8gICAgICAgICAgICAgICAgICAgIC0gZS5nIFwicmVtXCIgb3IgXCJib3gtc2l6aW5nXCJcbi8vIC0gJHJlcXVpcmVtZW50cyAgOiA8bWFwPlxuLy8gICAgICAgICAgICAgICAgICAgIC0gZS5nICh2YXJpYWJsZTogcmVtLXdpdGgtcHgtZmFsbGJhY2ssIG1peGluOiByZW0pXG4vLyAtICR3YXJuICAgICAgICAgIDogPGJvb2w+XG5AZnVuY3Rpb24gc3VzeS1zdXBwb3J0KFxuICAkZmVhdHVyZSxcbiAgJHJlcXVpcmVtZW50czogKCksXG4gICR3YXJuOiB0cnVlXG4pIHtcbiAgJF9zdXBwb3J0OiBzdXN5LWdldCh1c2UtY3VzdG9tICRmZWF0dXJlKTtcblxuICBAaWYgJF9zdXBwb3J0IHtcbiAgICAkX2ZhaWw6IGZhbHNlO1xuXG4gICAgQGVhY2ggJF90eXBlLCAkX3JlcSBpbiAkcmVxdWlyZW1lbnRzIHtcbiAgICAgIEBlYWNoICRfaSBpbiAkX3JlcSB7XG5cbiAgICAgICAgJF9wYXNzIDogbnVsbDtcblxuICAgICAgICAvLyBzYXNzIDMuNSBvciBncmVhdGVyXG4gICAgICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoJ2dldC1mdW5jdGlvbicpIHtcbiAgICAgICAgICAkX3Bhc3M6IGNhbGwoZ2V0LWZ1bmN0aW9uKHVucXVvdGUoXCIjeyRfdHlwZX0tZXhpc3RzXCIpKSwgJF9pKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzYXNzIDMuNCBvciBsZXNzXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkX3Bhc3M6IGNhbGwodW5xdW90ZShcIiN7JF90eXBlfS1leGlzdHNcIiksICRfaSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbm90KCRfcGFzcykge1xuICAgICAgICAgICRfZmFpbDogdHJ1ZTtcbiAgICAgICAgICBAaWYgJHdhcm4ge1xuICAgICAgICAgICAgQHdhcm4gXCJZb3UgcmVxdWVzdGVkIGN1c3RvbSBzdXBwb3J0IG9mICN7JGZlYXR1cmV9LCBidXQgdGhlICN7JF9pfSAjeyRfdHlwZX0gaXMgbm90IGF2YWlsYWJsZS5cIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkX3N1cHBvcnQ6IGlmKCRfZmFpbCwgZmFsc2UsICRfc3VwcG9ydCk7XG4gIH1cblxuICBAcmV0dXJuICRfc3VwcG9ydDtcbn1cbiIsIi8vIFN1c3kgUHJlZml4XG4vLyA9PT09PT09PT09PVxuXG4vLyBQcmVmaXhcbi8vIC0tLS0tLVxuLy8gT3V0cHV0IHNpbXBsZSBwcmVmaXhlZCBwcm9wZXJ0aWVzLlxuLy8gLSAkcHJvcCAgICAgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgICAgICA6IDxjc3MgdmFsdWU+XG4vLyAtIFskcHJlZml4XSAgOiA8YnJvd3NlciBwcmVmaXggbGlzdD5cbkBtaXhpbiBzdXN5LXByZWZpeChcbiAgJHByb3AsXG4gICR2YWwsXG4gICRwcmVmaXg6IG9mZmljaWFsXG4pIHtcbiAgQGVhY2ggJGZpeCBpbiAkcHJlZml4IHtcbiAgICAkZml4OiBpZigkZml4ID09IG9mZmljaWFsIG9yIG5vdCgkZml4KSwgJHByb3AsICctI3skZml4fS0jeyRwcm9wfScpO1xuICAgIEBpbmNsdWRlIHN1c3ktcmVtKCRmaXgsICR2YWwpO1xuICB9XG59XG4iLCIvLyBCYWNrZ3JvdW5kIFByb3BlcnRpZXNcbi8vID09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEJhY2tncm91bmQgSW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG4vLyAtICRpbWFnZTogPGJhY2tncm91bmQtaW1hZ2U+XG5AbWl4aW4gc3VzeS1iYWNrZ3JvdW5kLWltYWdlKFxuICAkaW1hZ2Vcbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJhY2tncm91bmQtaW1hZ2UsIChtaXhpbjogYmFja2dyb3VuZC1pbWFnZSksICR3YXJuOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlLi4uKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGltYWdlO1xuICB9XG59XG5cbi8vIFN1c3kgQmFja2dyb3VuZCBTaXplXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuLy8gLSAkaW1hZ2U6IDxiYWNrZ3JvdW5kLXNpemU+XG5AbWl4aW4gc3VzeS1iYWNrZ3JvdW5kLXNpemUoXG4gICRzaXplXG4pIHtcbiAgQGlmIHN1c3ktc3VwcG9ydChiYWNrZ3JvdW5kLW9wdGlvbnMsIChtaXhpbjogYmFja2dyb3VuZC1zaXplKSkge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtc2l6ZSgkc2l6ZSk7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG4gIH1cbn1cblxuLy8gU3VzeSBCYWNrZ3JvdW5kIE9yaWdpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG4vLyAtICRpbWFnZTogPGJhY2tncm91bmQtb3JpZ2luPlxuQG1peGluIHN1c3ktYmFja2dyb3VuZC1vcmlnaW4oXG4gICRvcmlnaW5cbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJhY2tncm91bmQtb3B0aW9ucywgKG1peGluOiBiYWNrZ3JvdW5kLW9yaWdpbikpIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLW9yaWdpbigkb3JpZ2luKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46ICRvcmlnaW47XG4gIH1cbn1cblxuLy8gU3VzeSBCYWNrZ3JvdW5kIENsaXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbi8vIC0gJGltYWdlOiA8YmFja2dyb3VuZC1jbGlwPlxuQG1peGluIHN1c3ktYmFja2dyb3VuZC1jbGlwKFxuICAkY2xpcFxuKSB7XG4gIEBpZiBzdXN5LXN1cHBvcnQoYmFja2dyb3VuZC1vcHRpb25zLCAobWl4aW46IGJhY2tncm91bmQtY2xpcCkpIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNsaXAoJGNsaXApO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6ICRjbGlwO1xuICB9XG59XG4iLCIvLyBCb3ggU2l6aW5nXG4vLyA9PT09PT09PT09XG5cbi8vIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuLy8gLSAkbW9kZWw6IDxib3gtc2l6aW5nPlxuQG1peGluIHN1c3ktYm94LXNpemluZyhcbiAgJG1vZGVsOiBjb250ZW50LWJveFxuKSB7XG4gIEBpZiAkbW9kZWwge1xuICAgIEBpZiBzdXN5LXN1cHBvcnQoYm94LXNpemluZywgKG1peGluOiBib3gtc2l6aW5nKSwgJHdhcm46IGZhbHNlKSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKCRtb2RlbCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJlZml4OiAobW96LCB3ZWJraXQsIG9mZmljaWFsKTtcbiAgICAgIEBpbmNsdWRlIHN1c3ktcHJlZml4KGJveC1zaXppbmcsICRtb2RlbCwgJHByZWZpeCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyByZW0gU3VwcG9ydFxuLy8gPT09PT09PT09PT1cblxuLy8gcmVtXG4vLyAtLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBvdXRwdXQgZGlyZWN0bHkuXG4vLyAtICRwcm9wICA6IDxjc3MgcHJvcGVydHk+XG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XG5AbWl4aW4gc3VzeS1yZW0oXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgJF9yZXFzOiAoXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxuICAgIG1peGluOiByZW0sXG4gICk7XG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xuICAgIEBpbmNsdWRlIHJlbSgkcHJvcCwgJHZhbCk7XG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3B9OiAkdmFsO1xuICB9XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBEZWJ1Z2dpbmdcbi8vID09PT09PT09PVxuXG4vLyBTdXN5IEluc3BlY3Rcbi8vIC0tLS0tLS0tLS0tLVxuLy8gT3V0cHV0IGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBpbnNwZWN0LlxuLy8gLSAkbWl4aW4gIDogPHN1c3kgbWl4aW4+XG4vLyAtICRpbnNwZWMgICA6IDxtaXhpbiBhcmd1bWVudHM+XG5cbkBtaXhpbiBzdXN5LWluc3BlY3QoXG4gICRtaXhpbixcbiAgJGluc3BlY3Rcbikge1xuICAkc2hvdzogZmFsc2U7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGluc3BlY3Qge1xuICAgIEBpZiBpbmRleCgkaXRlbSwgaW5zcGVjdCkge1xuICAgICAgJHNob3c6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQGlmICRzaG93IG9yIHN1c3ktZ2V0KGRlYnVnIGluc3BlY3QpIHtcbiAgICAtc3VzeS0jeyRtaXhpbn06IGluc3BlY3QoJGluc3BlY3QpO1xuICB9XG59XG4iLCIvLyBPdXRwdXRcbi8vID09PT09PVxuXG4vLyBPdXRwdXRcbi8vIC0tLS0tLVxuLy8gT3V0cHV0IENTUyB3aXRoIHByb3BlciBicm93c2VyIHN1cHBvcnQuXG4vLyAtICRzdHlsZXMgIDogPG1hcCBvZiBjc3MgcHJvcGVydHktdmFsdWUgcGFpcnM+XG5AbWl4aW4gb3V0cHV0KFxuICAkc3R5bGVzXG4pIHtcbiAgQGVhY2ggJHByb3AsICR2YWwgaW4gJHN0eWxlcyB7XG4gICAgQGluY2x1ZGUgc3VzeS1zdXBwb3J0KCRwcm9wLCAkdmFsKTtcbiAgfVxufVxuIiwiLy8gRGlyZWN0aW9uIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRmxvdyBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBmbG93OiBsdHIsXG4pKTtcblxuLy8gR2V0IERpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgb3IgJ3RvJyBkaXJlY3Rpb24gb2YgYSBsdHIgb3IgcnRsIGZsb3cuXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG4vLyAtIFska2V5XSAgIDogZnJvbSB8IHRvXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbihcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAka2V5OiBmcm9tXG4pIHtcbiAgJHJldHVybjogaWYoJGZsb3cgPT0gcnRsLCAoZnJvbTogcmlnaHQsIHRvOiBsZWZ0KSwgKGZyb206IGxlZnQsIHRvOiByaWdodCkpO1xuICBAcmV0dXJuIG1hcC1nZXQoJHJldHVybiwgJGtleSk7XG59XG5cbi8vIFRvXG4vLyAtLVxuLy8gUmV0dXJuIHRoZSAndG8nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiB0byhcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCB0byk7XG59XG5cbi8vIEZyb21cbi8vIC0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiBmcm9tKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIGZyb20pO1xufVxuIiwiLy8gR3JpZCBCYWNrZ3JvdW5kIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PVxuLy8gLSBTdWItcGl4ZWwgcm91bmRpbmcgY2FuIGxlYWQgdG8gc2V2ZXJhbCBwaXhlbHMgdmFyaWF0aW9uIGJldHdlZW4gYnJvd3NlcnMuXG5cbi8vIEdyaWQgQmFja2dyb3VuZCBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGltYWdlOiBiYWNrZ3JvdW5kLWltYWdlXG4vLyAtICRzaXplOiBiYWNrZ3JvdW5kLXNpemVcbi8vIC0gJGNsaXA6IGJhY2tncm91bmQtY2xpcFxuLy8gLSBbJGZsb3ddOiBsdHIgfCBydGxcbkBtaXhpbiBiYWNrZ3JvdW5kLWdyaWQtb3V0cHV0IChcbiAgJGltYWdlLFxuICAkc2l6ZTogbnVsbCxcbiAgJGNsaXA6IG51bGwsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaW1hZ2UsXG4gICAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZSxcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogJGNsaXAsXG4gICAgYmFja2dyb3VuZC1jbGlwOiAkY2xpcCxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBmcm9tKCRmbG93KSB0b3AsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gU2hhcmVkIENvbnRhaW5lciBBUElcbi8vID09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gWyR3aWR0aF0gICAgICAgICA6IDxsZW5ndGg+XG4vLyAtIFskanVzdGlmeV0gICAgICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbi8vIC0gWyRtYXRoXSAgICAgICAgICA6IGZsdWlkIHwgc3RhdGljXG5AbWl4aW4gY29udGFpbmVyLW91dHB1dChcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICAjeyRwcm9wZXJ0eX06ICR3aWR0aCBvciAxMDAlLFxuICAgIG1hcmdpbi1sZWZ0OiBudGgoJGp1c3RpZnksIDEpLFxuICAgIG1hcmdpbi1yaWdodDogbnRoKCRqdXN0aWZ5LCAyKSxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBNYXJnaW5zIEFQSVxuLy8gPT09PT09PT09PT1cblxuLy8gTWFyZ2luIE91dHB1dFxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gLSAkYmVmb3JlICA6IDxsZW5ndGg+XG4vLyAtICRhZnRlciAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBtYXJnaW4tb3V0cHV0KFxuICAkYmVmb3JlLFxuICAkYWZ0ZXIsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuICAkZnJvbTogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIG1hcmdpbi0jeyRmcm9tfTogJGJlZm9yZSxcbiAgICBtYXJnaW4tI3skdG99OiAkYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gUGFkZGluZyBBUElcbi8vID09PT09PT09PT09XG5cbi8vIFBhZGRpbmcgT3V0cHV0XG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gLSAkYmVmb3JlICA6IDxsZW5ndGg+XG4vLyAtICRhZnRlciAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBwYWRkaW5nLW91dHB1dChcbiAgJGJlZm9yZSxcbiAgJGFmdGVyLFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkdG86IHRvKCRmbG93KTtcbiAgJGZyb206IGZyb20oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBwYWRkaW5nLSN7JGZyb219OiAkYmVmb3JlLFxuICAgIHBhZGRpbmctI3skdG99OiAkYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gRmxvYXQgQ29udGFpbmVyIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PVxuXG4vLyBGbG9hdCBDb250YWluZXJcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gLSBbJHdpZHRoXSAgICAgICAgIDogPGxlbmd0aD5cbi8vIC0gWyRqdXN0aWZ5XSAgICAgICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodFxuLy8gLSBbJG1hdGhdICAgOiBmbHVpZCB8IHN0YXRpY1xuQG1peGluIGZsb2F0LWNvbnRhaW5lcihcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIHN1c3ktY2xlYXJmaXg7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1vdXRwdXQoJHdpZHRoLCAkanVzdGlmeSwgJHByb3BlcnR5KTtcbn1cbiIsIi8vIEZsb2F0IFNwYW4gQVBJXG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBGbG9hdCBTcGFuIE91dHB1dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJHdpZHRoICAgICAgICAgICAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG9hdF0gICAgICAgICAgIDogZnJvbSB8IHRvXG4vLyAtIFskbWFyZ2luLWJlZm9yZV0gICA6IDxsZW5ndGg+XG4vLyAtIFskbWFyZ2luLWFmdGVyXSAgICA6IDxsZW5ndGg+XG4vLyAtIFskcGFkZGluZy1iZWZvcmVdICA6IDxsZW5ndGg+XG4vLyAtIFskcGFkZGluZy1hZnRlcl0gICA6IDxsZW5ndGg+XG4vLyAtIFskZmxvd10gICAgICAgICAgICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LXNwYW4tb3V0cHV0KFxuICAkd2lkdGgsXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbSxcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsLFxuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGwsXG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbCxcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsLFxuICAkZmxvdyAgICAgICAgICAgICA6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgJHRvICAgICA6IHRvKCRmbG93KTtcbiAgJGZyb20gICA6IGZyb20oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aDogJHdpZHRoLFxuICAgIGZsb2F0OiBpZigkZmxvYXQgPT0gdG8sICR0bywgbnVsbCkgb3IgaWYoJGZsb2F0ID09IGZyb20sICRmcm9tLCBudWxsKSxcbiAgICBtYXJnaW4tI3skZnJvbX06ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi0jeyR0b306ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy0jeyRmcm9tfTogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctI3skdG99OiAkcGFkZGluZy1hZnRlcixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBGbG9hdCBFbmRzIEFQSVxuLy8gPT09PT09PT09PT09PT1cblxuLy8gU3VzeSBFbmQgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBsYXN0LWZsb3c6IHRvLFxuKSk7XG5cbi8vIEZsb2F0IExhc3Rcbi8vIC0tLS0tLS0tLS1cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBmbG9hdC1sYXN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRsYXN0LWZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGxhc3QtZmxvdyksXG4gICRtYXJnaW46IDBcbikge1xuICAkdG86IHRvKCRmbG93KTtcblxuICAkb3V0cHV0OiAoXG4gICAgZmxvYXQ6IGlmKCRsYXN0LWZsb3cgPT0gdG8sICR0bywgbnVsbCksXG4gICAgbWFyZ2luLSN7JHRvfTogJG1hcmdpbixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG5cbi8vIEZsb2F0IEZpcnN0XG4vLyAtLS0tLS0tLS0tLVxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LWZpcnN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkb3V0cHV0OiAoXG4gICAgbWFyZ2luLSN7ZnJvbSgkZmxvdyl9OiAwLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIEZsb2F0IElzb2xhdGlvbiBBUElcbi8vID09PT09PT09PT09PT09PT09PT1cblxuLy8gSXNvbGF0ZSBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyAtICRwdXNoICAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBpc29sYXRlLW91dHB1dChcbiAgJHB1c2gsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuICAkZnJvbTogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb2F0OiAkZnJvbSxcbiAgICBtYXJnaW4tI3skZnJvbX06ICRwdXNoLFxuICAgIG1hcmdpbi0jeyR0b306IC0xMDAlLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIFN1c3kgU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT1cblxuLy8gU3VzeSBMYW5ndWFnZSBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgY29udGFpbmVyOiBhdXRvLFxuICBtYXRoOiBmbHVpZCxcbiAgb3V0cHV0OiBmbG9hdCxcbiAgY29udGFpbmVyLXBvc2l0aW9uOiBjZW50ZXIsXG4gIGd1dHRlci1wb3NpdGlvbjogYWZ0ZXIsXG4gIGdsb2JhbC1ib3gtc2l6aW5nOiBjb250ZW50LWJveCxcbiAgZGVidWc6IChcbiAgICBpbWFnZTogaGlkZSxcbiAgICBjb2xvcjogcmdiYSgjNjZmLCAuMjUpLFxuICAgIG91dHB1dDogYmFja2dyb3VuZCxcbiAgICB0b2dnbGU6IHRvcCByaWdodCxcbiAgKSxcbikpO1xuXG5cbi8vIFZhbGlkIEtleXdvcmQgVmFsdWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFOiBET05UJ1QgVE9VQ0hcbiRzdXN5LWtleXdvcmRzOiAoXG4gIGNvbnRhaW5lcjogYXV0byxcbiAgbWF0aDogc3RhdGljIGZsdWlkLFxuICBvdXRwdXQ6IGlzb2xhdGUgZmxvYXQsXG4gIGNvbnRhaW5lci1wb3NpdGlvbjogbGVmdCBjZW50ZXIgcmlnaHQsXG4gIGZsb3c6IGx0ciBydGwsXG4gIGd1dHRlci1wb3NpdGlvbjogYmVmb3JlIGFmdGVyIHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljLFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94IGNvbnRlbnQtYm94LFxuICBzcGFuOiBmdWxsLFxuICBlZGdlOiBmaXJzdCBhbHBoYSBsYXN0IG9tZWdhIGZ1bGwsXG4gIHNwcmVhZDogbmFycm93IHdpZGUgd2lkZXIsXG4gIGd1dHRlci1vdmVycmlkZTogbm8tZ3V0dGVycyBuby1ndXR0ZXIsXG4gIHJvbGU6IG5lc3QsXG4gIGNsZWFyOiBicmVhayBub2JyZWFrLFxuICBkZWJ1ZyBpbWFnZTogc2hvdyBoaWRlIHNob3ctY29sdW1ucyBzaG93LWJhc2VsaW5lLFxuICBkZWJ1ZyBvdXRwdXQ6IGJhY2tncm91bmQgb3ZlcmxheSxcbik7XG5cblxuLy8gUGFyc2UgU3VzeSBLZXl3b3JkcyBhbmQgTWFwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLXNldHRpbmdzKFxuICAkc2hvcnQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRzaG9ydCkgPT0gbWFwIHtcbiAgICAkX3JldHVybjogJHNob3J0O1xuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkc2hvcnQge1xuICAgICAgLy8gc3RyaW5nc1xuICAgICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09IHN0cmluZyB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3VzeS1rZXl3b3JkcyB7XG4gICAgICAgICAgQGlmIGluZGV4KCR2YWx1ZSwgJGl0ZW0pIHtcbiAgICAgICAgICAgICRfa2V5LXZhbHVlOiBhcHBlbmQoJGtleSwgJGl0ZW0pO1xuICAgICAgICAgICAgJF9yZXR1cm46IF9zdXN5LWRlZXAtc2V0KCRfcmV0dXJuLCAkX2tleS12YWx1ZS4uLik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAvLyBtYXBzXG4gICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGl0ZW0pID09IG1hcCB7XG4gICAgICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIFBhcnNlIENvbHVtbnMgJiBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWxheW91dChcbiAgJHNob3J0XG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuICAkX2NvbHVtbnM6ICgpO1xuICAkX2d1dHRlcnM6IG51bGw7XG5cbiAgQGlmIG5vdCh1bml0bGVzcyhudGgobnRoKCRzaG9ydCwgMSksIDEpKSkge1xuICAgICRfZ3V0dGVyczogbnRoKCRzaG9ydCwgMSk7XG4gIH0gQGVsc2Uge1xuICAgICRfY29sdW1uczogKGNvbHVtbnM6IG50aCgkc2hvcnQsIDEpKTtcbiAgICAkX2d1dHRlcnM6IGlmKGxlbmd0aCgkc2hvcnQpID4gMSwgbnRoKCRzaG9ydCwgMiksICRfZ3V0dGVycyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkX2d1dHRlcnMpID09IGxpc3QgYW5kIGxlbmd0aCgkX2d1dHRlcnMpID4gMCB7XG4gICAgJF9ndXR0ZXJzOiAoXG4gICAgICBndXR0ZXJzOiBudGgoJF9ndXR0ZXJzLCAyKSAvIG50aCgkX2d1dHRlcnMsIDEpLFxuICAgICAgY29sdW1uLXdpZHRoOiBudGgoJF9ndXR0ZXJzLCAxKSxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICAkX2d1dHRlcnM6IGlmKCRfZ3V0dGVycywgKGd1dHRlcnM6ICRfZ3V0dGVycyksICgpKTtcbiAgfVxuXG4gICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRfY29sdW1ucyk7XG4gICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRfZ3V0dGVycyk7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBQYXJzZSBHcmlkL0NvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWdyaWQoXG4gICRzaG9ydDogJHN1c3lcbikge1xuICAkX3JldHVybjogcGFyc2Utc2V0dGluZ3MoJHNob3J0KTtcbiAgJF9sYXlvdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRzaG9ydCkgPT0gbWFwIHtcbiAgICAkX3JldHVybjogJHNob3J0O1xuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkc2hvcnQge1xuICAgICAgLy8gbnVtYmVyIG9yIGxpc3RcbiAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBudW1iZXIgb3IgdHlwZS1vZigkaXRlbSkgPT0gbGlzdCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBsaXN0IG9yIHVuaXRsZXNzKCRpdGVtKSB7XG4gICAgICAgICAgJF9sYXlvdXQ6IGFwcGVuZCgkX2xheW91dCwgJGl0ZW0pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoY29udGFpbmVyOiAkaXRlbSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJF9sYXlvdXQ6IGlmKGxlbmd0aCgkX2xheW91dCkgPiAwLCBwYXJzZS1sYXlvdXQoJF9sYXlvdXQpLCAkX2xheW91dCk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkX3JldHVybiwgJF9sYXlvdXQpO1xufVxuXG5cbi8vIFBhcnNlIFNwYW5cbi8vIC0tLS0tLS0tLS1cbkBmdW5jdGlvbiBwYXJzZS1zcGFuKFxuICAkc2hvcnQsXG4gICRrZXk6IHNwYW5cbikge1xuICAkX3JldHVybjogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJHNob3J0KSA9PSBtYXAge1xuICAgICRfcmV0dXJuOiAkc2hvcnQ7XG4gIH0gQGVsc2Uge1xuICAgICRfYXQ6IGluZGV4KCRzaG9ydCwgYXQpO1xuXG4gICAgQGlmICRfYXQge1xuICAgICAgJF9sb2NpOiAkX2F0ICsgMTtcbiAgICAgICRfbG9jYXRpb246IG50aCgkc2hvcnQsICRfbG9jaSk7XG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAobG9jYXRpb246ICRfbG9jYXRpb24pKTtcbiAgICAgICRzaG9ydDogc2V0LW50aCgkc2hvcnQsICRfYXQsIG51bGwpO1xuICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9sb2NpLCBudWxsKTtcbiAgICB9XG5cbiAgICAkX2k6IDE7XG4gICAgJF9zcGFuOiAoKTtcblxuICAgIEB3aGlsZSAkX2kgPD0gbGVuZ3RoKCRzaG9ydCkge1xuICAgICAgJF90aGlzOiBudGgoJHNob3J0LCAkX2kpO1xuXG4gICAgICBAaWYgdHlwZS1vZigkX3RoaXMpID09IG51bWJlciB7XG4gICAgICAgICRfc3BhbjogYXBwZW5kKCRfc3BhbiwgJF90aGlzKTtcbiAgICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9pLCBudWxsKTtcbiAgICAgIH0gQGVsc2UgaWYgJF90aGlzID09IG9mIHtcbiAgICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9pLCBudWxsKTtcbiAgICAgICAgJF9pOiBsZW5ndGgoJHNob3J0KSArIDE7XG4gICAgICB9XG5cbiAgICAgICRfaTogJF9pICsgMTtcbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCRfc3BhbikgPiAwIHtcbiAgICAgICRfc3BhbjogaWYobGVuZ3RoKCRfc3BhbikgPT0gMSwgbnRoKCRfc3BhbiwgMSksICRfc3Bhbik7XG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJGtleTogJF9zcGFuKSk7XG4gICAgfVxuXG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgcGFyc2UtZ3JpZCgkc2hvcnQpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gUGFyc2UgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWd1dHRlcnMoXG4gICRzaG9ydDogJHN1c3lcbikge1xuICAkX2d1dHRlcnM6IHBhcnNlLXNwYW4oJHNob3J0LCBndXR0ZXItb3ZlcnJpZGUpO1xuICAkX3NwYW46IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJF9ndXR0ZXJzKTtcblxuICBAaWYgJF9zcGFuIGFuZCBub3QobWFwLWdldCgkX2d1dHRlcnMsIGNvbHVtbnMpKSB7XG4gICAgJF9jb250ZXh0OiAoKTtcbiAgICAkX25ldzogKCk7XG5cbiAgICBAZWFjaCAkaXRlbSBpbiAkX3NwYW4ge1xuICAgICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09IG51bWJlciBhbmQgdW5pdGxlc3MoJGl0ZW0pIHtcbiAgICAgICAgJF9jb250ZXh0OiBhcHBlbmQoJF9jb250ZXh0LCAkaXRlbSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJF9uZXc6IGFwcGVuZCgkX25ldywgJGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgICRfY29udGV4dDogcGFyc2UtZ3JpZCgkX2NvbnRleHQpO1xuICAgICRfbmV3OiBpZihsZW5ndGgoJF9uZXcpID09IDAsIG51bGwsICRfbmV3KTtcbiAgICAkX25ldzogaWYobGVuZ3RoKCRfbmV3KSA9PSAxLCBudGgoJF9uZXcsIDEpLCAkX25ldyk7XG4gICAgJF9uZXc6IChndXR0ZXItb3ZlcnJpZGU6IGlmKCRfbmV3ICE9ICRfc3BhbiwgJF9uZXcsICRfc3BhbikpO1xuXG4gICAgJF9ndXR0ZXJzOiBtYXAtbWVyZ2UoJF9ndXR0ZXJzLCAkX25ldyk7XG4gICAgJF9ndXR0ZXJzOiBtYXAtbWVyZ2UoJF9ndXR0ZXJzLCAkX2NvbnRleHQpO1xuICB9XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG4iLCIvLyBWYWxpZGF0aW9uXG4vLyA9PT09PT09PT09XG5cblxuLy8gVmFsaWRhdGUgQ29sdW1uIE1hdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZnVuY3Rpb24gdmFsaWQtY29sdW1uLW1hdGgoXG4gICRtYXRoLFxuICAkY29sdW1uLXdpZHRoXG4pIHtcbiAgQGlmICRtYXRoID09IHN0YXRpYyBhbmQgbm90KCRjb2x1bW4td2lkdGgpIHtcbiAgICBAZXJyb3IgJ1N0YXRpYyBtYXRoIHJlcXVpcmVzIGEgdmFsaWQgY29sdW1uLXdpZHRoIHNldHRpbmcuJztcbiAgfVxuXG4gIEByZXR1cm4gJGNvbHVtbi13aWR0aDtcbn1cbiIsIi8vIEdyaWQgU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG5cbi8vIExheW91dFxuLy8gLS0tLS0tXG4vLyBTZXQgYSBuZXcgbGF5b3V0IHVzaW5nIGEgc2hvcnRoYW5kXG4vLyAtICRsYXlvdXQ6IDxzZXR0aW5ncz5cbi8vIC0gJGNsZWFuOiBib29sZWFuXG5AbWl4aW4gbGF5b3V0KFxuICAkbGF5b3V0LFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgIDogJGxheW91dDtcbiAgJHN1c3kgICAgIDogX2dldC1sYXlvdXQoJGxheW91dCwgJGNsZWFuKSAhZ2xvYmFsO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChsYXlvdXQsICRpbnNwZWN0KTtcbn1cblxuXG4vLyBVc2UgR3JpZFxuLy8gLS0tLS0tLS1cbi8vIFVzZSBhbiBhcmJpdHJhcnkgbGF5b3V0IGZvciBhIHNlY3Rpb24gb2YgY29kZVxuLy8gLSAkbGF5b3V0OiA8c2V0dGluZ3M+XG4vLyAtICRjbGVhbjogYm9vbGVhblxuQG1peGluIHdpdGgtbGF5b3V0KFxuICAkbGF5b3V0LFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgIDogJGxheW91dDtcbiAgJG9sZCAgICAgIDogJHN1c3k7XG4gICRzdXN5ICAgICA6IF9nZXQtbGF5b3V0KCRsYXlvdXQsICRjbGVhbikgIWdsb2JhbDtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qod2l0aC1sYXlvdXQsICRpbnNwZWN0KTtcblxuICBAY29udGVudDtcblxuICAkc3VzeTogJG9sZCAhZ2xvYmFsO1xufVxuXG5cbi8vIExheW91dFxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gYSBwYXJzZWQgbGF5b3V0IG1hcCBiYXNlZCBvbiBzaG9ydGhhbmQgc3ludGF4XG4vLyAtICRsYXlvdXQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBsYXlvdXQoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgQHJldHVybiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xufVxuXG5cbi8vIEdldCBMYXlvdXRcbi8vIC0tLS0tLS0tLS1cbi8vIFJldHVybiBhIG5ldyBsYXlvdXQgYmFzZWQgb24gY3VycmVudCBhbmQgZ2l2ZW4gc2V0dGluZ3Ncbi8vIC0gJGxheW91dDogPHNldHRpbmdzPlxuLy8gLSAkY2xlYW46IGJvb2xlYW5cbkBmdW5jdGlvbiBfZ2V0LWxheW91dChcbiAgJGxheW91dCxcbiAgJGNsZWFuOiBmYWxzZVxuKSB7XG4gICRsYXlvdXQ6IGxheW91dCgkbGF5b3V0KTtcbiAgQHJldHVybiBpZigkY2xlYW4sICRsYXlvdXQsIF9zdXN5LWRlZXAtbWVyZ2UoJHN1c3ksICRsYXlvdXQpKTtcbn1cbiIsIi8vIFN1c3kgQm94IFNpemluZ1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gR2xvYmFsIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBib3ggbW9kZWwgZ2xvYmFsbHkgb24gYWxsIGVsZW1lbnRzLlxuLy8gLSBbJGJveF06IGJvcmRlci1ib3ggfCBjb250ZW50LWJveFxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBnbG9iYWwtYm94LXNpemluZyhcbiAgJGJveDogc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpLFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICAkaW5zcGVjdDogJGJveDtcblxuICBAaWYgJGluaGVyaXQge1xuICAgIEBhdC1yb290IHtcbiAgICAgICBodG1sIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgICAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbiAgICAgfVxuICB9IEBlbHNlIHtcbiAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpOyB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2xvYmFsLWJveC1zaXppbmcsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgdXBkYXRlLWJveC1tb2RlbCgkYm94KTtcbn1cblxuLy8gQm9yZGVyIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIGxlZ2FjeSBzaG9ydGN1dC4uLlxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBib3JkZXItYm94LXNpemluZyhcbiAgJGluaGVyaXQ6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJveC1zaXppbmcoYm9yZGVyLWJveCwgJGluaGVyaXQpO1xufVxuXG4vLyBVcGRhdGUgQm94IE1vZGVsXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBVcGRhdGVzIGdsb2JhbCBib3ggbW9kZWwgc2V0dGluZ1xuQG1peGluIHVwZGF0ZS1ib3gtbW9kZWwoXG4gICRib3hcbikge1xuICBAaWYgJGJveCAhPSBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykge1xuICBAaW5jbHVkZSBzdXN5LXNldChnbG9iYWwtYm94LXNpemluZywgJGJveCk7XG4gIH1cbn1cbiIsIi8vIENvbnRleHQgU3ludGF4XG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBOZXN0ZWQgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBhIHN1YnNldCBncmlkIGZvciBuZXN0ZWQgY29udGV4dC5cbi8vIC0gJGNvbnRleHQgICA6IDxzcGFuPlxuQGZ1bmN0aW9uIG5lc3RlZChcbiAgJGNvbnRleHRcbikge1xuICAkY29udGV4dCAgICA6IHBhcnNlLXNwYW4oJGNvbnRleHQpO1xuICAkc3BhbiAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRjb250ZXh0KTtcbiAgJGxvY2F0aW9uICAgOiBnZXQtbG9jYXRpb24oJGNvbnRleHQpO1xuICAkY29sdW1ucyAgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcblxuICBAcmV0dXJuIHN1c3ktc2xpY2UoJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpO1xufVxuXG4vLyBOZXN0ZWQgW21peGluXVxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFVzZSBhIHN1YnNldCBncmlkIGZvciBhIG5lc3RlZCBjb250ZXh0XG4vLyAtICRjb250ZXh0ICAgOiA8c3Bhbj5cbi8vIC0gQGNvbnRlbnQgICA6IDxjb250ZW50PlxuQG1peGluIG5lc3RlZChcbiAgJGNvbnRleHRcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2Utc3BhbigkY29udGV4dCk7XG4gICRvbGQgICAgICA6IHN1c3ktZ2V0KGNvbHVtbnMpO1xuICAkc3VzeSAgICAgOiBtYXAtbWVyZ2UoJHN1c3ksIChjb2x1bW5zOiBuZXN0ZWQoJGNvbnRleHQpKSkgIWdsb2JhbDtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobmVzdGVkLCAkaW5zcGVjdCk7XG4gIEBjb250ZW50O1xuXG4gICRzdXN5ICAgICA6IG1hcC1tZXJnZSgkc3VzeSwgKGNvbHVtbnM6ICRvbGQpKSAhZ2xvYmFsO1xufVxuIiwiLy8gQmFja2dyb3VuZCBHcmlkIFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3VzeS1vdmVybGF5LWdyaWQtaGVhZC1leGlzdHM6IGZhbHNlO1xuXG5cbi8vIFNob3cgR3JpZC9zXG4vLyAtLS0tLS0tLS0tLVxuLy8gU2hvdyBncmlkIG9uIGFueSBlbGVtZW50IHVzaW5nIGVpdGhlciBiYWNrZ3JvdW5kIG9yIG92ZXJsYXkuXG4vLyAtIFskZ3JpZF0gIDogPHNldHRpbmdzPlxuQG1peGluIHNob3ctZ3JpZChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3Q6ICRncmlkO1xuICAkX291dHB1dDogZGVidWctZ2V0KG91dHB1dCwgJGdyaWQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzaG93LWdyaWQsICRpbnNwZWN0KTtcbiAgQGlmICRfb3V0cHV0ID09IG92ZXJsYXkgYW5kIHN1c3ktZ2V0KGRlYnVnIGltYWdlLCAkZ3JpZCkgIT0gaGlkZSB7XG4gICAgQGluY2x1ZGUgb3ZlcmxheS1ncmlkKCRncmlkKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1ncmlkKCRncmlkKTtcbiAgfVxufVxuXG5AbWl4aW4gc2hvdy1ncmlkcyhcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgc2hvdy1ncmlkKCRncmlkKTtcbn1cblxuLy8gQmFja2dyb3VuZCBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFNob3cgYSBncmlkIGJhY2tncm91bmQgb24gYW55IGVsZW1lbnQuXG4vLyAtIFskZ3JpZF0gIDogPHNldHRpbmdzPlxuQG1peGluIGJhY2tncm91bmQtZ3JpZChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGdyaWQ7XG4gICRfb3V0cHV0ICA6IGdldC1iYWNrZ3JvdW5kKCRncmlkKTtcblxuICBAaWYgbGVuZ3RoKCRfb3V0cHV0KSA+IDAge1xuICAgICRfZmxvdzogc3VzeS1nZXQoZmxvdywgJGdyaWQpO1xuXG4gICAgJF9pbWFnZTogKCk7XG4gICAgQGVhY2ggJG5hbWUsICRsYXllciBpbiBtYXAtZ2V0KCRfb3V0cHV0LCBpbWFnZSkge1xuICAgICAgJF9kaXJlY3Rpb246IGlmKCRuYW1lID09IGJhc2VsaW5lLCB0byBib3R0b20sIHRvIHRvKCRfZmxvdykpO1xuICAgICAgJF9pbWFnZTogYXBwZW5kKCRfaW1hZ2UsIGxpbmVhci1ncmFkaWVudCgkX2RpcmVjdGlvbiwgJGxheWVyKSwgY29tbWEpO1xuICAgIH1cbiAgICAkX291dHB1dDogbWFwLW1lcmdlKCRfb3V0cHV0LCAoaW1hZ2U6ICRfaW1hZ2UpKTtcblxuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtZ3JpZC1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICAgIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChiYWNrZ3JvdW5kLWdyaWQsICRpbnNwZWN0KTtcbiAgfVxufVxuXG5cbi8vIE92ZXJsYXkgR3JpZFxuLy8gLS0tLS0tLS0tLS0tXG4vLyBHZW5lcmF0ZSBhbiBpY29uIHRvIHRyaWdnZXIgZ3JpZC1vdmVybGF5cyBvbiBhbnkgZ2l2ZW4gZWxlbWVudHMuXG4vLyAkZ3JpZHMuLi4gIDogPHNlbGVjdG9yPiBbPHNldHRpbmdzPl0gWywgPHNlbGVjdG9yPl0qXG5AbWl4aW4gb3ZlcmxheS1ncmlkIChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgQGlmIG5vdCgkc3VzeS1vdmVybGF5LWdyaWQtaGVhZC1leGlzdHMpIHtcbiAgICBAYXQtcm9vdCBoZWFkIHsgQGluY2x1ZGUgb3ZlcmxheS1oZWFkKCRncmlkKTsgfVxuICAgIEBhdC1yb290IGhlYWQ6YmVmb3JlIHsgQGluY2x1ZGUgb3ZlcmxheS10cmlnZ2VyOyB9XG4gICAgQGF0LXJvb3QgaGVhZDpob3ZlciB7IEBpbmNsdWRlIG92ZXJsYXktdHJpZ2dlci1ob3ZlcjsgfVxuICAgICRzdXN5LW92ZXJsYXktZ3JpZC1oZWFkLWV4aXN0czogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgaGVhZDpob3ZlciB+ICYsXG4gIGhlYWQ6aG92ZXIgfiBib2R5ICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLW92ZXJsYXktYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtZ3JpZCgkZ3JpZCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gW1ByaXZhdGVdIE92ZXJsYXkgVHJpZ2dlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG92ZXJsYXktdHJpZ2dlciB7XG4gIGNvbnRlbnQ6IFwifHx8XCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udDoge1xuICAgIGZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBzaXplOiAxNnB4O1xuICAgIHdlaWdodDogYm9sZDtcbiAgfVxufVxuXG5cbi8vIFtQcml2YXRlXSBPdmVybGF5IFRyaWdnZXIgSG92ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBvdmVybGF5LXRyaWdnZXItaG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLCAuNSk7XG4gIGNvbG9yOiByZWQ7XG59XG5cblxuLy8gW1ByaXZhdGVdIE92ZXJsYXkgSGVhZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPGhlYWQ+IHN0eWxlcyB0byBjcmVhdGUgZ3JpZCBvdmVybGF5IHRvZ2dsZVxuQG1peGluIG92ZXJsYXktaGVhZCAoXG4gICRncmlkOiAkc3VzeVxuKSB7XG4gICRfdG9nZ2xlOiBkZWJ1Zy1nZXQodG9nZ2xlLCAkZ3JpZCk7XG4gICRfaG9yejogbnVsbDtcbiAgJF92ZXJ0OiBudWxsO1xuXG4gIEBlYWNoICRzaWRlIGluICRfdG9nZ2xlIHtcbiAgICAkX2hvcno6IGlmKCRzaWRlID09IGxlZnQgb3IgJHNpZGUgPT0gcmlnaHQsICRzaWRlLCAkX2hvcnopO1xuICAgICRfdmVydDogaWYoJHNpZGUgPT0gdG9wIG9yICRzaWRlID09IGJvdHRvbSwgJHNpZGUsICRfdmVydCk7XG4gIH1cblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICAjeyRfaG9yen06IDEwcHg7XG4gICN7JF92ZXJ0fTogMTBweDtcbiAgei1pbmRleDogOTk5O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSh3aGl0ZSwgLjI1KTtcbn1cblxuXG4vLyBbUHJpdmF0ZV0gR3JpZCBPdmVybGF5IEJhc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFzZSBzdHlsZXMgZm9yIGdlbmVyYXRpbmcgYSBncmlkIG92ZXJsYXlcbkBtaXhpbiBncmlkLW92ZXJsYXktYmFzZSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB6LWluZGV4OiA5OTg7XG59XG5cblxuLy8gR2V0IFN5bW1ldHJpY2FsIEJhY2tncm91bmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICRncmlkOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1iYWNrZ3JvdW5kLXN5bShcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgICAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9ndXR0ZXJzICAgICAgIDogc3VzeS1nZXQoZ3V0dGVycywgJGdyaWQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRncmlkKTtcbiAgJF9tYXRoICAgICAgICAgIDogc3VzeS1nZXQobWF0aCwgJGdyaWQpO1xuXG4gICRfY29sb3IgICAgICAgICA6IGRlYnVnLWdldChjb2xvcik7XG4gICRfdHJhbnMgICAgICAgICA6IHRyYW5zcGFyZW50O1xuICAkX2xpZ2h0ICAgICAgICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG5cbiAgJF9lbmQgICAgICAgICAgIDogMSArICRfZ3V0dGVycztcbiAgJF9hZnRlciAgICAgICAgIDogcGVyY2VudGFnZSgxLyRfZW5kKTtcbiAgJF9zdG9wcyAgICAgICAgIDogKCk7XG4gICRfc2l6ZSAgICAgICAgICA6IHNwYW4oMSAkZ3JpZCB3aWRlKTtcblxuICBAaWYgaXMtaW5zaWRlKCRncmlkKSB7XG4gICAgJF9zdG9wczogJF9jb2xvciwgJF9saWdodDtcbiAgfSBAZWxzZSBpZiBpcy1zcGxpdCgkZ3JpZCkge1xuICAgICRfc3BsaXQ6ICRfZ3V0dGVycy8yO1xuICAgICRfYmVmb3JlOiBwZXJjZW50YWdlKCRfc3BsaXQvJF9lbmQpO1xuICAgICRfYWZ0ZXI6IHBlcmNlbnRhZ2UoKDEgKyAkX3NwbGl0KS8kX2VuZCk7XG4gICAgJF9zdG9wczogJF90cmFucyAkX2JlZm9yZSwgJF9jb2xvciAkX2JlZm9yZSwgJF9saWdodCAkX2FmdGVyLCAkX3RyYW5zICRfYWZ0ZXI7XG4gIH0gQGVsc2Uge1xuICAgICRfc3RvcHM6ICRfY29sb3IsICRfbGlnaHQgJF9hZnRlciwgJF90cmFucyAkX2FmdGVyO1xuICB9XG5cbiAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICRfc2l6ZTogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCkgKiAkX2VuZDtcbiAgfVxuXG4gICRfb3V0cHV0OiAoXG4gICAgaW1hZ2U6IChjb2x1bW5zOiAkX3N0b3BzKSxcbiAgICBzaXplOiAkX3NpemUsXG4gICk7XG5cbiAgQHJldHVybiAkX291dHB1dDtcbn1cblxuXG4vLyBHZXQgQXN5bW1ldHJpY2FsIEluc2lkZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYXN5bS1pbnNpZGUoXG4gICRncmlkXG4pIHtcbiAgJGdyaWQgICAgIDogcGFyc2UtZ3JpZCgkZ3JpZCk7XG4gICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRncmlkKTtcblxuICAkX2NvbG9yICAgOiBkZWJ1Zy1nZXQoY29sb3IpO1xuICAkX2xpZ2h0ICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG4gICRfc3RvcHMgICA6ICgpO1xuXG4gIEBmb3IgJGxvY2F0aW9uIGZyb20gMSB0aHJvdWdoIHN1c3ktY291bnQoJF9jb2x1bW5zKSB7XG4gICAgJHRoaXMtc3RvcDogKCk7XG5cbiAgICBAaWYgJGxvY2F0aW9uID09IDEge1xuICAgICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsICRfY29sb3IsIGNvbW1hKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzdGFydDogcGFyc2Utc3BhbigxIGF0ICRsb2NhdGlvbiAkZ3JpZCk7XG4gICAgICAkc3RhcnQ6IGdldC1pc29sYXRpb24oJHN0YXJ0KTtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yICRzdGFydCwgY29tbWEpO1xuICAgIH1cblxuICAgIEBpZiAkbG9jYXRpb24gPT0gc3VzeS1jb3VudCgkX2NvbHVtbnMpIHtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2xpZ2h0LCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2VuZDogcGFyc2Utc3BhbigxIGF0ICgkbG9jYXRpb24gKyAxKSAkZ3JpZCk7XG4gICAgICAkX2VuZDogZ2V0LWlzb2xhdGlvbigkX2VuZCk7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9saWdodCAkX2VuZCwgY29tbWEpO1xuICAgIH1cblxuICAgICRfc3RvcHM6IGpvaW4oJF9zdG9wcywgJHRoaXMtc3RvcCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkX3N0b3BzO1xufVxuXG5cbi8vIEdldCBBc3ltbWV0cmljYWwgU3BsaXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYXN5bS1zcGxpdChcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGdyaWQpO1xuXG4gICRfY29sb3IgICA6IGRlYnVnLWdldChjb2xvcik7XG4gICRfbGlnaHQgICA6IGxpZ2h0ZW4oJF9jb2xvciwgMTUlKTtcbiAgJF9zdG9wcyAgIDogKCk7XG5cbiAgQGZvciAkbG9jYXRpb24gZnJvbSAxIHRocm91Z2ggc3VzeS1jb3VudCgkX2NvbHVtbnMpIHtcbiAgICAkdGhpcy1zdG9wOiAoKTtcblxuICAgICRzdGFydDogcGFyc2Utc3BhbigxIGF0ICRsb2NhdGlvbiAkZ3JpZCk7XG4gICAgJHN0YXJ0OiBnZXQtaXNvbGF0aW9uKCRzdGFydCk7XG4gICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsIHRyYW5zcGFyZW50ICRzdGFydCwgY29tbWEpO1xuICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yICRzdGFydCwgY29tbWEpO1xuXG4gICAgJF9lbmQ6ICRzdGFydCArIHNwYW4oMSBhdCAkbG9jYXRpb24gJGdyaWQpO1xuICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2xpZ2h0ICRfZW5kLCBjb21tYSk7XG4gICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsIHRyYW5zcGFyZW50ICRfZW5kLCBjb21tYSk7XG5cbiAgICAkX3N0b3BzOiBqb2luKCRfc3RvcHMsICR0aGlzLXN0b3AsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9zdG9wcztcbn1cblxuXG4vLyBHZXQgQXN5bW1ldHJpY2FsIE91dHNpZGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSAkZ3JpZDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGdldC1hc3ltLW91dHNpZGUoXG4gICRncmlkXG4pIHtcbiAgJGdyaWQgICAgIDogcGFyc2UtZ3JpZCgkZ3JpZCk7XG4gICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRncmlkKTtcblxuICAkX2NvbG9yICAgOiBkZWJ1Zy1nZXQoY29sb3IpO1xuICAkX2xpZ2h0ICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG4gICRfdHJhbnMgICA6IHRyYW5zcGFyZW50O1xuICAkX3N0b3BzICAgOiAoKTtcblxuICBAZm9yICRsb2NhdGlvbiBmcm9tIDEgdGhyb3VnaCBzdXN5LWNvdW50KCRfY29sdW1ucykge1xuICAgICR0aGlzLXN0b3A6ICgpO1xuXG4gICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yLCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkc3RhcnQ6IHBhcnNlLXNwYW4oMSBhdCAkbG9jYXRpb24gJGdyaWQpO1xuICAgICAgJHN0YXJ0OiBnZXQtaXNvbGF0aW9uKCRzdGFydCk7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9jb2xvciAkc3RhcnQsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBAaWYgJGxvY2F0aW9uID09IHN1c3ktY291bnQoJF9jb2x1bW5zKSB7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9saWdodCwgY29tbWEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGd1dHRlcjogZ2V0LXNwYW4td2lkdGgoZmlyc3QgJGxvY2F0aW9uICRncmlkKTtcblxuICAgICAgJF9lbmQ6IHBhcnNlLXNwYW4oMSBhdCAoJGxvY2F0aW9uICsgMSkgJGdyaWQpO1xuICAgICAgJF9lbmQ6IGdldC1pc29sYXRpb24oJF9lbmQpO1xuXG4gICAgICAkZ3V0dGVyOiAkX2xpZ2h0ICRndXR0ZXIsICRfdHJhbnMgJGd1dHRlciwgJF90cmFucyAkX2VuZDtcbiAgICAgICR0aGlzLXN0b3A6IGpvaW4oJHRoaXMtc3RvcCwgJGd1dHRlciwgY29tbWEpO1xuICAgIH1cblxuICAgICRfc3RvcHM6IGpvaW4oJF9zdG9wcywgJHRoaXMtc3RvcCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkX3N0b3BzO1xufVxuXG5cbi8vIEdldCBBc3ltbWV0cmljYWwgQmFja2dyb3VuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICRncmlkOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWJhY2tncm91bmQtYXN5bShcbiAgJGdyaWRcbikge1xuICAkX3N0b3BzOiAoKTtcblxuICBAaWYgaXMtaW5zaWRlKCRncmlkKSB7XG4gICAgJF9zdG9wczogZ2V0LWFzeW0taW5zaWRlKCRncmlkKTtcbiAgfSBAZWxzZSBpZiBpcy1zcGxpdCgkZ3JpZCkge1xuICAgICRfc3RvcHM6IGdldC1hc3ltLXNwbGl0KCRncmlkKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9zdG9wczogZ2V0LWFzeW0tb3V0c2lkZSgkZ3JpZCk7XG4gIH1cblxuICBAcmV0dXJuIChpbWFnZTogKGNvbHVtbnM6ICRfc3RvcHMpKTtcbn1cblxuXG4vLyBHZXQgQmFja2dyb3VuZFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYmFja2dyb3VuZChcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9zaG93ICAgIDogc3VzeS1nZXQoZGVidWcgaW1hZ2UsICRncmlkKTtcbiAgJF9yZXR1cm4gIDogKCk7XG5cbiAgQGlmICRfc2hvdyBhbmQgJF9zaG93ICE9ICdoaWRlJyB7XG4gICAgJF9jb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zLCAkZ3JpZCk7XG5cbiAgICBAaWYgJF9zaG93ICE9ICdzaG93LWJhc2VsaW5lJyB7XG4gICAgICAkX3N5bTogaXMtc3ltbWV0cmljYWwoJF9jb2x1bW5zKTtcbiAgICAgICRfcmV0dXJuOiBpZigkX3N5bSwgZ2V0LWJhY2tncm91bmQtc3ltKCRncmlkKSwgZ2V0LWJhY2tncm91bmQtYXN5bSgkZ3JpZCkpO1xuICAgICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGNsaXA6IGNvbnRlbnQtYm94KSk7XG4gICAgfVxuXG4gICAgQGlmICRfc2hvdyAhPSAnc2hvdy1jb2x1bW5zJ1xuICAgICAgYW5kIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoYmFzZS1saW5lLWhlaWdodClcbiAgICAgIGFuZCB0eXBlLW9mKCRiYXNlLWxpbmUtaGVpZ2h0KSA9PSAnbnVtYmVyJ1xuICAgICAgYW5kIG5vdCB1bml0bGVzcygkYmFzZS1saW5lLWhlaWdodCkge1xuICAgICAgJF9jb2xvcjogdmFyaWFibGUtZXhpc3RzKCdncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3InKTtcbiAgICAgICRfY29sb3I6IGlmKCRfY29sb3IsICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IsICMwMDApO1xuXG4gICAgICAkX2ltYWdlOiBtYXAtZ2V0KCRfcmV0dXJuLCBpbWFnZSk7XG4gICAgICAkX3NpemU6IG1hcC1nZXQoJF9yZXR1cm4sIHNpemUpO1xuICAgICAgJF9iYXNlbGluZTogKGJhc2VsaW5lOiAoJF9jb2xvciAxcHgsIHRyYW5zcGFyZW50IDFweCkpO1xuICAgICAgJF9iYXNlbGluZS1zaXplOiAxMDAlICRiYXNlLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoXG4gICAgICAgIGltYWdlOiBpZigkX2ltYWdlLCBtYXAtbWVyZ2UoJF9pbWFnZSwgJF9iYXNlbGluZSksICRfYmFzZWxpbmUpLFxuICAgICAgICBzaXplOiBpZigkX3NpemUsICgkX3NpemUsICRfYmFzZWxpbmUtc2l6ZSksICRfYmFzZWxpbmUtc2l6ZSksXG4gICAgICApKTtcblxuICAgICAgQGlmICRfc2hvdyA9PSAnc2hvdycge1xuICAgICAgICAkX2NsaXA6IG1hcC1nZXQoJF9yZXR1cm4sIGNsaXApO1xuICAgICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoY2xpcDogam9pbigkX2NsaXAsIGJvcmRlci1ib3gsIGNvbW1hKSkpO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJF9zaG93ID09ICdzaG93LWJhc2VsaW5lJyB7XG4gICAgICBAd2FybiAnUGxlYXNlIHByb3ZpZGUgYSAkYmFzZS1saW5lLWhlaWdodCB3aXRoIHRoZSBkZXNpcmVkIGhlaWdodCBhbmQgdW5pdHMnO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBtYXAtZ2V0KCRfcmV0dXJuLCBpbWFnZSkge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChmbG93OiBzdXN5LWdldChmbG93LCAkZ3JpZCkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gR2V0IERlYnVnXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgdmFsdWUgb2YgYSBkZWJ1ZyBzZXR0aW5nXG4vLyAtICRrZXk6IDxzZXR0aW5nPlxuQGZ1bmN0aW9uIGRlYnVnLWdldChcbiAgJGtleSxcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGtleTogam9pbihkZWJ1ZywgJGtleSwgc3BhY2UpO1xuICBAcmV0dXJuIHN1c3ktZ2V0KCRrZXksICRncmlkKTtcbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCIvLyBHdXR0ZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09XG5cblxuLy8gR3V0dGVyc1xuLy8gLS0tLS0tLVxuLy8gU2V0IGd1dHRlcnMgb24gYW4gZWxlbWVudC5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQG1peGluIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzIDogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfb3V0cHV0OiAoXG4gICAgYmVmb3JlOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSxcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGd1dHRlcnMsICRpbnNwZWN0KTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfVxufVxuXG5AbWl4aW4gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAaW5jbHVkZSBndXR0ZXJzKCRzcGFuKTtcbn1cblxuXG4vLyBHdXR0ZXJcbi8vIC0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIGd1dHRlci5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG5cbkBmdW5jdGlvbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAcmV0dXJuIGd1dHRlcigkc3Bhbik7XG59XG5cblxuLy8gR2V0IEd1dHRlciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGd1dHRlciB3aWR0aC5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlci13aWR0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgOiBzdXN5LWdldChndXR0ZXItb3ZlcnJpZGUsICRjb250ZXh0KTtcblxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRjb250ZXh0KTtcbiAgICAkX21hdGg6IGd1dHRlci1tYXRoKCRjb250ZXh0KTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkX2d1dHRlcjogJF9ndXR0ZXJzICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgICAkX3NwcmVhZCAgOiBpZihpcy1zcGxpdCgkY29udGV4dCksIHdpZGUsIHN1c3ktZ2V0KHNwcmVhZCwgJGNvbnRleHQpKTtcbiAgICAgICRfZ3V0dGVyICA6IHBlcmNlbnRhZ2UoJF9ndXR0ZXJzIC8gc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSk7XG4gICAgfVxuICB9XG5cbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXI7XG59XG5cblxuLy8gR2V0IEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYmVmb3JlIGFuZCBhZnRlciBndXR0ZXIgdmFsdWVzLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVycyhcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgICAgICAgICAgICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgICAgICAgICAgICA6IGdldC1ndXR0ZXItd2lkdGgoJGNvbnRleHQpO1xuXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XG5cbiAgQGlmIGlzLXNwbGl0KCRjb250ZXh0KSBhbmQgJF9ndXR0ZXIge1xuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGJlZm9yZTogJF9ndXR0ZXIsIGFmdGVyOiAkX2d1dHRlcikpO1xuICB9IEBlbHNlIHtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIElzIEluc2lkZVxuLy8gLS0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLWluc2lkZShcbiAgJGNvbnRleHRcbikge1xuICAkX2luc2lkZTogaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfaW5zaWRlLCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBJcyBTcGxpdFxuLy8gLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBzcGxpdC5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1zcGxpdChcbiAgJGNvbnRleHRcbikge1xuICAkX3NwbGl0OiBzcGxpdCBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9zcGxpdCwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gR3V0dGVyIE1hdGhcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIG1hdGggdG8gdXNlIGZvciBndXR0ZXIgY2FsY3VsYXRpb25zXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcbiAgJF9yZXR1cm4gIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCkgPT0gaW5zaWRlLXN0YXRpYywgc3RhdGljLCAkX3JldHVybik7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIElzb2xhdGlvbiBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuXG4vLyBJc29sYXRlIFtNaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IGlzb2xhdGlvbiBhcyBhbiBvdmVycmlkZS5cbi8vIC0gJGxvY2F0aW9uOiA8c3Bhbj5cbkBtaXhpbiBpc29sYXRlKFxuICAkaXNvbGF0ZTogMVxuKSB7XG4gICRpbnNwZWN0OiAkaXNvbGF0ZTtcblxuICAkb3V0cHV0OiAoXG4gICAgcHVzaDogaXNvbGF0ZSgkaXNvbGF0ZSksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJGlzb2xhdGUpLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChpc29sYXRlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIGlzb2xhdGUtb3V0cHV0KCRvdXRwdXQuLi4pO1xufVxuXG5cbi8vIElzb2xhdGUgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYW4gaXNvbGF0aW9uIG9mZnNldCB3aWR0aC5cbi8vIC0gJGxvY2F0aW9uOiA8c3Bhbj5cbkBmdW5jdGlvbiBpc29sYXRlKFxuICAkaXNvbGF0ZTogMVxuKSB7XG4gICRpc29sYXRlOiBwYXJzZS1zcGFuKCRpc29sYXRlKTtcbiAgJGlzb2xhdGlvbjogc3VzeS1nZXQoc3BhbiwgJGlzb2xhdGUpO1xuXG4gIEBpZiAkaXNvbGF0aW9uIGFuZCBub3QoZ2V0LWxvY2F0aW9uKCRpc29sYXRlKSkge1xuICAgICRuZXc6IChcbiAgICAgIHNwYW46IG51bGwsXG4gICAgICBsb2NhdGlvbjogJGlzb2xhdGlvbixcbiAgICApO1xuICAgICRpc29sYXRlOiBtYXAtbWVyZ2UoJGlzb2xhdGUsICRuZXcpO1xuICB9XG5cbiAgQHJldHVybiBnZXQtaXNvbGF0aW9uKCRpc29sYXRlKTtcbn1cblxuXG4vLyBHZXQgSXNvbGF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIGlzb2xhdGlvbiBvZmZzZXQgd2lkdGhcbi8vIC0gJGlucHV0OiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1pc29sYXRpb24oXG4gICRpbnB1dFxuKSB7XG4gICRsb2NhdGlvbiAgIDogZ2V0LWxvY2F0aW9uKCRpbnB1dCk7XG4gICRjb2x1bW5zICAgIDogc3VzeS1nZXQoY29sdW1ucywgJGlucHV0KTtcbiAgJHdpZHRoICAgICAgOiBudWxsO1xuXG4gIEBpZiB0eXBlLW9mKCRsb2NhdGlvbikgPT0gbnVtYmVyIGFuZCBub3QodW5pdGxlc3MoJGxvY2F0aW9uKSkge1xuICAgICR3aWR0aDogJGxvY2F0aW9uO1xuICB9IEBlbHNlIGlmICRsb2NhdGlvbiB7XG4gICAgJHB1c2g6ICRsb2NhdGlvbiAtIDE7XG4gICAgQGlmICRwdXNoID4gMCB7XG4gICAgICAkcHVzaDogbWFwLW1lcmdlKCRpbnB1dCwgKFxuICAgICAgICBzcGFuOiAkcHVzaCxcbiAgICAgICAgbG9jYXRpb246IDEsXG4gICAgICAgIHNwcmVhZDogd2lkZSxcbiAgICAgICkpO1xuICAgICAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkcHVzaCk7XG4gICAgfVxuICB9XG5cbiAgQGlmIHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGlucHV0KSA9PSBzcGxpdFxuICAgICAgYW5kIHN1c3ktZ2V0KGd1dHRlcnMsICRpbnB1dCkgPiAwIHtcbiAgICAkd2lkdGg6IGlmKCR3aWR0aCA9PSBudWxsLCBndXR0ZXJzKCRpbnB1dCksICR3aWR0aCArIGd1dHRlcnMoJGlucHV0KSk7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aCBvciAwO1xufVxuIiwiLy8gR2FsbGVyeSBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIEdhbGxlcnlcbi8vIC0tLS0tLS1cbi8vIENyZWF0ZSBhbiBpc29sYXRlZCBnYWxsZXJ5XG4vLyAtICRzcGFuICAgICAgICA6IDxzcGFuPlxuLy8gLSBbJHNlbGVjdG9yXSAgOiBjaGlsZCB8IG9mLXR5cGVcbkBtaXhpbiBnYWxsZXJ5KFxuICAkc3BhbixcbiAgJHNlbGVjdG9yOiBjaGlsZFxuKSB7XG4gICRpbnNwZWN0ICAgIDogJHNwYW47XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRzcGFuICAgICAgIDogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246IDEpKTtcblxuICAkbiAgICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkY29udGV4dCAgICAgIDogc3VzeS1jb3VudCgkY29sdW1ucyk7XG4gICRmbG93ICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG5cbiAgJGluc2lkZSAgICAgICA6IGlzLWluc2lkZSgkc3Bhbik7XG4gICRmcm9tICAgICAgICAgOiBmcm9tKCRmbG93KTtcbiAgJGxpbmUgICAgICAgICA6IGZsb29yKCRjb250ZXh0IC8gJG4pO1xuICAkc3ltbWV0cmljYWwgIDogaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aCAgICAgICAgICAgICA6IG51bGwsXG4gICAgZmxvYXQgICAgICAgICAgICAgOiBmcm9tLFxuICAgIG1hcmdpbi1iZWZvcmUgICAgIDogbnVsbCxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgICA6IG51bGwsXG4gICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgIHBhZGRpbmctYWZ0ZXIgICAgIDogbnVsbCxcbiAgICBmbG93ICAgICAgICAgICAgICA6ICRmbG93LFxuICApO1xuXG4gIEBpZiAkaW5zaWRlIHtcbiAgICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAoXG4gICAgICBwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKSxcbiAgICAgIHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKSxcbiAgICApKTtcbiAgfVxuXG4gIEBpZiAkc3ltbWV0cmljYWwge1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAod2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKSkpO1xuICB9XG5cbiAgJGJveCAgICAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGdsb2JhbC1ib3ggICA6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSA9PSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2FsbGVyeSwgJGluc3BlY3QpO1xuXG4gIC8vIENvbGxlY3RpdmUgT3V0cHV0XG4gIEBpZiAkYm94ID09IGJvcmRlci1ib3ggb3IgKCRpbnNpZGUgYW5kIG5vdCgkYm94KSBhbmQgbm90KCRnbG9iYWwtYm94KSkge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogYm9yZGVyLWJveCkpO1xuICB9IEBlbHNlIGlmICRib3ggPT0gY29udGVudC1ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogY29udGVudC1ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIC8vIEluZGl2aWR1YWwgTG9vcFxuICBAZm9yICRpdGVtIGZyb20gMSB0aHJvdWdoICRsaW5lIHtcbiAgICAkbnRoOiAnI3skbGluZX1uICsgI3skaXRlbX0nO1xuICAgICY6bnRoLSN7JHNlbGVjdG9yfSgjeyRudGh9KSB7XG4gICAgICAvLyBJbmRpdmlkdWFsIFByZXBcbiAgICAgICRvdXRwdXQ6IChcbiAgICAgICAgd2lkdGggICAgICAgICAgICAgOiBpZigkc3ltbWV0cmljYWwsIG51bGwsIGdldC1zcGFuLXdpZHRoKCRzcGFuKSksXG4gICAgICAgIGZsb2F0ICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgbWFyZ2luLWJlZm9yZSAgICAgOiBnZXQtaXNvbGF0aW9uKCRzcGFuKSxcbiAgICAgICAgbWFyZ2luLWFmdGVyICAgICAgOiAtMTAwJSxcbiAgICAgICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgICAgICBwYWRkaW5nLWFmdGVyICAgICA6IG51bGwsXG4gICAgICAgIGZsb3cgICAgICAgICAgICAgIDogJGZsb3csXG4gICAgICApO1xuXG4gICAgICAvLyBJbmRpdmlkdWFsIE91dHB1dFxuICAgICAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgICAgIEBpZiBnZXQtZWRnZSgkc3BhbikgPT0gZmlyc3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVhaztcbiAgICAgICAgQGluY2x1ZGUgZmlyc3QoJHNwYW4pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIC8vIEluZGl2aWR1YWwgTG9jYXRpb24gSW5jcmVtZW50XG4gICAgICAkbG9jYXRpb246IGdldC1sb2NhdGlvbigkc3BhbikgKyAkbjtcbiAgICAgICRsb2NhdGlvbjogaWYoJGxvY2F0aW9uID4gJGNvbnRleHQsIDEsICRsb2NhdGlvbik7XG4gICAgICAkc3BhbjogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246ICRsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93IFN0YXJ0ICYgRW5kXG4vLyA9PT09PT09PT09PT09PT1cblxuLy8gQnJlYWtcbi8vIC0tLS0tXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB0aGF0IHNob3VsZCBmb3JjZSBhIGxpbmUgYnJlYWsuXG5AbWl4aW4gYnJlYWsge1xuICBAaW5jbHVkZSBvdXRwdXQoKGNsZWFyOiBib3RoKSk7XG59XG5cblxuLy8gTm9CcmVha1xuLy8gLS0tLS0tLVxuLy8gQ2FuY2VsIHRoZSBicmVhaygpIGVmZmVjdCwgZS5nLiB3aGVuIHVzaW5nIG1lZGlhIHF1ZXJpZXMuXG5AbWl4aW4gbm9icmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IG5vbmUpKTtcbn1cblxuXG4vLyBGdWxsXG4vLyAtLS0tXG4vLyAtIFskY29udGV4dF06IDxsYXlvdXQgc2hvcnRoYW5kPlxuQG1peGluIGZ1bGwoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0IDogJGNvbnRleHQ7XG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChmdWxsLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHNwYW4oZnVsbCBvZiBwYXJzZS1ncmlkKCRjb250ZXh0KSBicmVhayk7XG59XG5cblxuLy8gRmlyc3Rcbi8vIC0tLS0tXG4vLyAtIFskY29udGV4dF06IDxzZXR0aW5ncz5cbkBtaXhpbiBmaXJzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkY29udGV4dCk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZpcnN0LCAkaW5zcGVjdCk7XG4gIEBpZiBub3QoaXMtc3BsaXQoJGNvbnRleHQpKSB7XG4gICAgQGluY2x1ZGUgZmxvYXQtZmlyc3QoJGZsb3cpO1xuICB9XG59XG5cbkBtaXhpbiBhbHBoYShcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZmlyc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIExhc3Rcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGxhc3QoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRjb250ZXh0O1xuICAkY29udGV4dCAgOiBwYXJzZS1ncmlkKCRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobGFzdCwgJGluc3BlY3QpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkY29udGV4dCksXG4gICAgbGFzdC1mbG93OiBzdXN5LWdldChsYXN0LWZsb3csICRjb250ZXh0KSxcbiAgICBtYXJnaW46IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgbnVsbCwgMCksXG4gICk7XG5cbiAgQGluY2x1ZGUgZmxvYXQtbGFzdCgkb3V0cHV0Li4uKTtcbn1cblxuQG1peGluIG9tZWdhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBsYXN0KCRjb250ZXh0KTtcbn1cblxuXG4vLyBHZXQgRWRnZVxuLy8gLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBlZGdlIHZhbHVlIGJhc2VkIG9uIGxvY2F0aW9uLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1lZGdlKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRlZGdlICAgICAgIDogc3VzeS1nZXQoZWRnZSwgJHNwYW4pO1xuXG4gIEBpZiBub3QoJGVkZ2UpIHtcbiAgICAkY291bnQ6IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKTtcbiAgICAkbG9jYXRpb246IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICAgJG46IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICAgICRudW1iZXI6IGlmKHR5cGUtb2YoJGxvY2F0aW9uKSA9PSBudW1iZXIsIHRydWUsIGZhbHNlKTtcbiAgICAkaW5kZXg6IGlmKCRudW1iZXIgYW5kIHVuaXRsZXNzKCRsb2NhdGlvbiksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkbiA9PSAkY291bnQge1xuICAgICAgJGVkZ2U6IGZ1bGw7XG4gICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gYW5kICRuIGFuZCAkaW5kZXgge1xuICAgICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICAgJGVkZ2U6IGlmKCRuID09ICRjb3VudCwgZnVsbCwgZmlyc3QpO1xuICAgICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gKyAkbiAtIDEgPT0gJGNvdW50IHtcbiAgICAgICAgJGVkZ2U6IGxhc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlZGdlID09IGFscGhhIG9yICRlZGdlID09IG9tZWdhIHtcbiAgICAkZWRnZTogaWYoJGVkZ2UgPT0gYWxwaGEsIGZpcnN0LCBsYXN0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGVkZ2U7XG59XG5cblxuLy8gR2V0IExvY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBsb2NhdGlvbiB2YWx1ZSBiYXNlZCBvbiBlZGdlLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1sb2NhdGlvbihcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkbG9jYXRpb24gICA6IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICRlZGdlICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbiAgICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICBAaWYgJGVkZ2UgYW5kIG5vdCgkbG9jYXRpb24pIGFuZCB0eXBlLW9mKCRuKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRuKSB7XG4gICAgQGlmICRlZGdlID09IGZpcnN0IHtcbiAgICAgICRsb2NhdGlvbjogMTtcbiAgICB9IEBlbHNlIGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGxvY2F0aW9uOiBzdXN5LWNvdW50KHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKSkgLSAkbiArIDE7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbG9jYXRpb25cbn1cbiIsIi8vIE1hcmdpbiBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuLy8gUHJlXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGJlZm9yZSBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBwcmUoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbiAgIDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRzcGFuKSk7XG4gICRmbG93ICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKSA9PSBzcGxpdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZ3V0dGVyIDogZ3V0dGVyKCRzcGFuKTtcbiAgJHNwYW4gICA6IHNwYW4oJHNwYW4pO1xuICAkd2lkdGggIDogaWYoJHNwbGl0IGFuZCAkZ3V0dGVyLCAkc3BhbiArICRndXR0ZXIsICRzcGFuKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHJlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFBvc3Rcbi8vIC0tLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGFmdGVyIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHBvc3QoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgc3Bhbigkc3BhbikgKyBndXR0ZXIoJHNwYW4pLCBzcGFuKCRzcGFuKSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHBvc3QsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUHVzaFxuLy8gLS0tLVxuLy8gU2ltcGxlIHN5bm9ueW1uIGZvciBwcmUuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1c2goXG4gICRzcGFuXG4pIHtcbiAgQGluY2x1ZGUgcHJlKCRzcGFuKTtcbn1cblxuLy8gUHVsbFxuLy8gLS0tLVxuLy8gQWRkIG5lZ2F0aXZlIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1bGwoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgMCAtIHNwYW4oJHNwYW4pICsgZ3V0dGVyKCRzcGFuKSwgMCAtIHNwYW4oJHNwYW4pKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHVsbCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCR3aWR0aCwgbnVsbCwgJGZsb3cpO1xufVxuXG4vLyBTcXVpc2hcbi8vIC0tLS0tLVxuLy8gQWRkIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuZCBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkcHJlICAgICA6IDxzcGFuPlxuLy8gLSBbJHBvc3RdICA6IDxzcGFuPlxuQG1peGluIHNxdWlzaChcbiAgJHByZSxcbiAgJHBvc3Q6IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgICAgICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHByZSkpO1xuXG4gIEBpZiAkcG9zdCB7XG4gICAgJHBvc3Q6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcG9zdCkpO1xuICB9IEBlbHNlIHtcbiAgICAkc3Bhbjogc3VzeS1nZXQoc3BhbiwgJHByZSk7XG4gICAgQGlmIGxlbmd0aCgkc3BhbikgPiAxIHtcbiAgICAgICRwcmU6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAxKSkpO1xuICAgICAgJHBvc3Q6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAyKSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHBvc3Q6ICRwcmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNxdWlzaCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwcmUoJHByZSk7XG4gIEBpbmNsdWRlIHBvc3QoJHBvc3QpO1xufVxuIiwiLy8gUGFkZGluZyBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIFByZWZpeFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctcGFkZGluZyBiZWZvcmUgYW4gZWxlbWVudC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gcHJlZml4KFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHNwYW4pKTtcbiAgJGZsb3cgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pO1xuICAkd2lkdGggICAgOiBzcGFuKCRzcGFuKTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgJGd1dHRlcjogZ3V0dGVyKCRzcGFuKTtcbiAgICAkd2lkdGg6IGlmKCRndXR0ZXIgYW5kIGNvbXBhcmFibGUoJHdpZHRoLCAkZ3V0dGVyKSwgJHdpZHRoICsgJGd1dHRlciwgJHdpZHRoKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChwcmVmaXgsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFN1ZmZpeFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctcGFkZGluZyBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzdWZmaXgoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICR3aWR0aCAgICA6IHNwYW4oJHNwYW4pO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICAkZ3V0dGVyOiBndXR0ZXIoJHNwYW4pO1xuICAgICR3aWR0aDogaWYoJGd1dHRlciBhbmQgY29tcGFyYWJsZSgkd2lkdGgsICRndXR0ZXIpLCAkd2lkdGggKyAkZ3V0dGVyLCAkd2lkdGgpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHN1ZmZpeCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUGFkXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1wYWRkaW5nIGJlZm9yZSBhbmQgYWZ0ZXIgYW4gZWxlbWVudC5cbi8vIC0gJHByZSAgICAgOiA8c3Bhbj5cbi8vIC0gWyRwb3N0XSAgOiA8c3Bhbj5cbkBtaXhpbiBwYWQoXG4gICRwcmUsXG4gICRwb3N0OiBmYWxzZVxuKSB7XG4gICRpbnNwZWN0ICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcHJlKSk7XG5cbiAgQGlmICRwb3N0IHtcbiAgICAkcG9zdDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRwb3N0KSk7XG4gIH0gQGVsc2Uge1xuICAgICRzcGFuOiBzdXN5LWdldChzcGFuLCAkcHJlKTtcbiAgICBAaWYgbGVuZ3RoKCRzcGFuKSA+IDEge1xuICAgICAgJHByZTogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDEpKSk7XG4gICAgICAkcG9zdDogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDIpKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcG9zdDogJHByZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocGFkLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHByZWZpeCgkcHJlKTtcbiAgQGluY2x1ZGUgc3VmZml4KCRwb3N0KTtcblxufVxuIiwiLy8gQmxlZWQgU3ludGF4XG4vLyA9PT09PT09PT09PT1cblxuLy8gQmxlZWRcbi8vIC0tLS0tXG4vLyBBZGQgbmVnYXRpdmUgbWFyZ2lucywgYW5kIGVxdWFsIHBvc2l0aXZlIHBhZGRpbmcgdG8gY3JlYXRlIGJsZWVkLlxuLy8gLSAkYmxlZWQgIDogPHNwYW4+XG5AbWl4aW4gYmxlZWQoXG4gICRibGVlZDogMCBndXR0ZXIoKVxuKSB7XG4gICRpbnNwZWN0ICA6ICRibGVlZDtcbiAgJG91dHB1dCAgIDogZ2V0LWJsZWVkKCRibGVlZCk7XG5cbiAgQGlmIHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSBjb250ZW50LWJveCB7XG4gICAgJG91dHB1dDogbWFwLW1lcmdlKChib3gtc2l6aW5nOiBjb250ZW50LWJveCksICRvdXRwdXQpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGJsZWVkLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cblxuXG4vLyBCbGVlZC14XG4vLyAtLS0tLS0tXG4vLyBTaG9ydGN1dCBmb3IgaG9yaXpvbnRhbCBibGVlZC5cbi8vIC0gJGJsZWVkICA6IDxzcGFuPlxuQG1peGluIGJsZWVkLXgoXG4gICRibGVlZDogZ3V0dGVyKClcbikge1xuICAkYmxlZWQgIDogcGFyc2Utc3BhbigkYmxlZWQpO1xuICAkdHJibCAgIDogc3VzeS1nZXQoc3BhbiwgJGJsZWVkKTtcblxuICBAaWYgbGVuZ3RoKCR0cmJsKSA9PSAxIHtcbiAgICAkYmxlZWQ6IG1hcC1tZXJnZSgkYmxlZWQsIChzcGFuOiAwIG50aCgkdHJibCwgMSkpKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHRyYmwpID09IDIge1xuICAgICRibGVlZDogbWFwLW1lcmdlKCRibGVlZCwgKHNwYW46IDAgbnRoKCR0cmJsLCAyKSAwIG50aCgkdHJibCwgMSkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJ2JsZWVkLXggb25seSB0YWtlcyAyIGxlbmd0aHMsIGJ1dCAje2xlbmd0aCgkdHJibCl9IHdlcmUgcGFzc2VkLic7XG4gIH1cblxuICBAaW5jbHVkZSBibGVlZCgkYmxlZWQpO1xufVxuXG5cbi8vIEJsZWVkLXlcbi8vIC0tLS0tLS1cbi8vIFNob3J0Y3V0IGZvciB2ZXJ0aWNhbCBibGVlZC5cbi8vIC0gJGJsZWVkICA6IDxzcGFuPlxuQG1peGluIGJsZWVkLXkoXG4gICRibGVlZDogaWYoZnVuY3Rpb24tZXhpc3RzKHJoeXRobSksIHJoeXRobSgxKSwgMWVtKVxuKSB7XG4gICRibGVlZCAgOiBwYXJzZS1zcGFuKCRibGVlZCk7XG4gICR0cmJsICAgOiBzdXN5LWdldChzcGFuLCAkYmxlZWQpO1xuXG4gIEBpZiBsZW5ndGgoJHRyYmwpID09IDEge1xuICAgICRibGVlZDogbWFwLW1lcmdlKCRibGVlZCwgKHNwYW46IG50aCgkdHJibCwgMSkgMCkpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkdHJibCkgPT0gMiB7XG4gICAgJGJsZWVkOiBtYXAtbWVyZ2UoJGJsZWVkLCAoc3BhbjogbnRoKCR0cmJsLCAxKSAwIG50aCgkdHJibCwgMikgMCkpO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnYmxlZWQteSBvbmx5IHRha2VzIDIgbGVuZ3RocywgYnV0ICN7bGVuZ3RoKCR0cmJsKX0gd2VyZSBwYXNzZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGJsZWVkKCRibGVlZCk7XG59XG5cblxuLy8gR2V0IEJsZWVkXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiBibGVlZCBvdXRwdXQgdmFsdWVzXG4vLyAtICRibGVlZDogPHNwYW4+XG5AZnVuY3Rpb24gZ2V0LWJsZWVkKFxuICAkYmxlZWRcbikge1xuICAkYmxlZWQgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJGJsZWVkKSk7XG4gICR0cmJsICAgICA6IHN1c3ktZ2V0KHNwYW4sICRibGVlZCk7XG4gICRzaG9ydCAgICA6IG51bGw7XG4gICRvdXRwdXQgICA6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmJsKSB7XG4gICAgJHRoaXM6IG50aCgkdHJibCwgJGkpO1xuICAgICRuZXc6ICgpO1xuICAgICRtYXJnaW46IG51bGw7XG4gICAgJHBhZGRpbmc6IG51bGw7XG4gICAgJHBhZGRpbmcteDogbnVsbDtcblxuICAgIEBpZiAkdGhpcyA+IDAge1xuICAgICAgJHRoaXM6IG1hcC1tZXJnZSgkYmxlZWQsIChzcGFuOiAkdGhpcykpO1xuICAgICAgJG1hcmdpbjogc3BhbigkdGhpcyk7XG4gICAgICAkcGFkZGluZzogJG1hcmdpbjtcbiAgICAgICRwYWRkaW5nLXg6ICRwYWRkaW5nO1xuICAgIH1cblxuICAgIEBpZiAkbWFyZ2luIGFuZCAkbWFyZ2luID4gMCB7XG4gICAgICAkbWFyZ2luOiAtICRtYXJnaW47XG5cbiAgICAgIEBpZiBpcy1pbnNpZGUoJHRoaXMpIHtcbiAgICAgICAgJGd1dHRlcjogZ3V0dGVyKCR0aGlzKTtcbiAgICAgICAgJGpvaW46IGlmKCRndXR0ZXIgYW5kIGNvbXBhcmFibGUoJHBhZGRpbmcsICRndXR0ZXIpLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgICRwYWRkaW5nLXg6IGlmKCRqb2luIGFuZCAkcGFkZGluZyA+IDAsICRwYWRkaW5nICsgJGd1dHRlciwgJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICRuZXc6IChcbiAgICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbixcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLFxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXgsXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyxcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteCxcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkaSA9PSAyIHtcbiAgICAgICRuZXc6IChcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14LFxuICAgICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbixcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14LFxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRpID09IDMge1xuICAgICAgJG5ldzogKFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcsXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGkgPT0gNCB7XG4gICAgICAkbmV3OiAoXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXgsXG4gICAgICApO1xuICAgIH1cblxuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAkbmV3KTtcbiAgfVxuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG91dHB1dCB7XG4gICAgJG91dHB1dDogaWYoJHZhbHVlID09IDAsIG1hcC1tZXJnZSgkb3V0cHV0LCAoJHByb3A6IG51bGwpKSwgJG91dHB1dCk7XG4gIH1cblxuICBAcmV0dXJuIGJsZWVkLXNob3J0aGFuZCgkb3V0cHV0KTtcbn1cblxuLy8gQmxlZWQgU2hvcnRoYW5kXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIENvbnZlcnQgYmxlZWQgb3V0cHV0IGludG8gc2hvcnRoYW5kIHdoZW4gcG9zc2libGUuXG4vLyAtICRibGVlZDogPG91dHB1dCBtYXA+XG5AZnVuY3Rpb24gYmxlZWQtc2hvcnRoYW5kKFxuICAkYmxlZWRcbikge1xuICAkbWFyZ2luOiAoKTtcbiAgJHBhZGRpbmc6ICgpO1xuICAkcmV0dXJuOiAoKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJsZWVkIHtcbiAgICBAaWYgc3RyLWluZGV4KCRrZXksIG1hcmdpbikge1xuICAgICAgJG1hcmdpbjogbWFwLW1lcmdlKCRtYXJnaW4sICgka2V5OiAkdmFsdWUpKTtcbiAgICB9IEBlbHNlIGlmIHN0ci1pbmRleCgka2V5LCBwYWRkaW5nKSA+IDAge1xuICAgICAgJHBhZGRpbmc6IG1hcC1tZXJnZSgkcGFkZGluZywgKCRrZXk6ICR2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gICRwcm9wczogKFxuICAgIG1hcmdpbjogJG1hcmdpbixcbiAgICBwYWRkaW5nOiAkcGFkZGluZyxcbiAgKTtcblxuICBAZWFjaCAkbmFtZSwgJG1hcCBpbiAkcHJvcHMge1xuICAgICRmb3VyOiBpZihsZW5ndGgobWFwLWtleXMoJG1hcCkpID09IDQsIHRydWUsIGZhbHNlKTtcbiAgICAkbnVsbDogaWYoaW5kZXgobWFwLXZhbHVlcygkbWFwKSwgbnVsbCksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkZm91ciBhbmQgbm90KCRudWxsKSB7XG4gICAgICAkdG9wOiBtYXAtZ2V0KCRtYXAsICcjeyRuYW1lfS10b3AnKTtcbiAgICAgICRyaWdodDogbWFwLWdldCgkbWFwLCAnI3skbmFtZX0tcmlnaHQnKTtcbiAgICAgICRib3R0b206IG1hcC1nZXQoJG1hcCwgJyN7JG5hbWV9LWJvdHRvbScpO1xuICAgICAgJGxlZnQ6IG1hcC1nZXQoJG1hcCwgJyN7JG5hbWV9LWxlZnQnKTtcblxuICAgICAgJHRiOiBpZigkdG9wID09ICRib3R0b20sICR0b3AsIG51bGwpO1xuICAgICAgJHJsOiBpZigkcmlnaHQgPT0gJGxlZnQsICRyaWdodCwgbnVsbCk7XG4gICAgICAkYWxsOiBpZigkdGIgPT0gJHJsLCAkdGIsIG51bGwpO1xuXG4gICAgICAkbmV3OiBpZigkYWxsLCAkYWxsLCBudWxsKTtcblxuICAgICAgQGlmIG5vdCgkbmV3KSB7XG4gICAgICAgIEBpZiAkdGIgYW5kICRybCB7XG4gICAgICAgICAgJG5ldzogJHRiICRybDtcbiAgICAgICAgfSBAZWxzZSBpZiAkcmwge1xuICAgICAgICAgICRuZXc6ICR0b3AgJHJsICRib3R0b207XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRuZXc6ICR0b3AgJHJpZ2h0ICRib3R0b20gJGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICgkbmFtZTogJG5ldykpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICRtYXApO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgSW50ZWdyYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuJHN1c3ktbWVkaWE6ICgpICFkZWZhdWx0O1xuJHN1c3ktbWVkaWEtZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xuXG4kX3N1c3ktbWVkaWEtY29udGV4dDogKCk7XG5cblxuLy8gU3VzeSBCcmVha3BvaW50XG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIENoYW5nZSBncmlkcyBhdCBkaWZmZXJlbnQgbWVkaWEgcXVlcnkgYnJlYWtwb2ludHMuXG4vLyAtICRxdWVyeSAgICAgOiA8bWluLXdpZHRoPiBbPG1heC13aWR0aD5dIHwgPHByb3BlcnR5PiA8dmFsdWU+IHwgPG1hcD5cbi8vIC0gJGxheW91dCAgICA6IDxzZXR0aW5ncz5cbi8vIC0gJG5vLXF1ZXJ5ICA6IDxib29sZWFuPiB8IDxzZWxlY3Rvcj5cbkBtaXhpbiBzdXN5LWJyZWFrcG9pbnQoXG4gICRxdWVyeSxcbiAgJGxheW91dDogZmFsc2UsXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICBAaW5jbHVkZSBzdXN5LW1lZGlhLXJvdXRlcigkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBpZiAkbGF5b3V0IHtcbiAgICAgIEBpbmNsdWRlIHdpdGgtbGF5b3V0KCRsYXlvdXQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdXN5IE1lZGlhXG4vLyAtLS0tLS0tLS0tXG4vLyAtICRxdWVyeTogPG1pbi13aWR0aD4gWzxtYXgtd2lkdGg+XSB8IDxwcm9wZXJ0eT4gPHZhbHVlPlxuLy8gLSAkbm8tcXVlcnk6IDxib29sZWFuPiB8IDxzZWxlY3Rvcj5cbkBtaXhpbiBzdXN5LW1lZGlhKFxuICAkcXVlcnksXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICAkb2xkLWNvbnRleHQ6ICRfc3VzeS1tZWRpYS1jb250ZXh0O1xuICAkbmFtZTogaWYobWFwLWhhcy1rZXkoJHN1c3ktbWVkaWEsICRxdWVyeSksICRxdWVyeSwgbnVsbCk7XG4gICRxdWVyeTogc3VzeS1nZXQtbWVkaWEoJHF1ZXJ5KTtcbiAgJHF1ZXJ5OiBzdXN5LXBhcnNlLW1lZGlhKCRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1tZWRpYS1jb250ZXh0KCRxdWVyeSwgJG5hbWUpO1xuXG4gIEBpZiAkbm8tcXVlcnkgYW5kIHR5cGUtb2YoJG5vLXF1ZXJ5KSAhPSBzdHJpbmcge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIHtcbiAgICBAbWVkaWEgI3tzdXN5LXJlbmRlci1tZWRpYSgkcXVlcnkpfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkbm8tcXVlcnkpID09IHN0cmluZyB7XG4gICAgICAjeyRuby1xdWVyeX0gJiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktbWVkaWEtY29udGV4dCgkb2xkLWNvbnRleHQsICRjbGVhbjogdHJ1ZSk7XG59XG5cblxuLy8gTWVkaWEgUm91dGVyXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFJvdXQgbWVkaWEgYXJndW1lbnRzIHRvIHRoZSBjb3JyZWN0IG1peGluLlxuQG1peGluIHN1c3ktbWVkaWEtcm91dGVyKFxuICAkcXVlcnksXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJyZWFrcG9pbnQsIChtaXhpbjogYnJlYWtwb2ludCksICR3YXJuOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgc3VzeS1tZWRpYSgkcXVlcnksICRuby1xdWVyeSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVXBkYXRlIENvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFNldCB0aGUgbmV3IG1lZGlhIGNvbnRleHRcbkBtaXhpbiBzdXN5LW1lZGlhLWNvbnRleHQoXG4gICRxdWVyeSxcbiAgJG5hbWU6IG51bGwsXG4gICRjbGVhbjogZmFsc2Vcbikge1xuICAkcXVlcnk6IG1hcC1tZXJnZSgobmFtZTogJG5hbWUpLCAkcXVlcnkpO1xuXG4gIEBpZiAkY2xlYW4ge1xuICAgICRfc3VzeS1tZWRpYS1jb250ZXh0OiAkcXVlcnkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJF9zdXN5LW1lZGlhLWNvbnRleHQ6IG1hcC1tZXJnZSgkX3N1c3ktbWVkaWEtY29udGV4dCwgJHF1ZXJ5KSAhZ2xvYmFsO1xuICB9XG59XG5cblxuLy8gTWVkaWEgQ29udGV4dFxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBmdWxsIG1lZGlhIGNvbnRleHQsIG9yIGEgc2luZ2xlIG1lZGlhIHByb3BlcnR5IChlLmcuIG1pbi13aWR0aClcbkBmdW5jdGlvbiBzdXN5LW1lZGlhLWNvbnRleHQoXG4gICRwcm9wZXJ0eTogZmFsc2Vcbikge1xuICBAaWYgJHByb3BlcnR5IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJF9zdXN5LW1lZGlhLWNvbnRleHQsICRwcm9wZXJ0eSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJF9zdXN5LW1lZGlhLWNvbnRleHQ7XG4gIH1cbn1cblxuXG4vLyBHZXQgTWVkaWFcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJuIGEgbmFtZWQgbWVkaWEtcXVlcnkgZnJvbSAkc3VzeS1tZWRpYS5cbi8vIC0gJG5hbWU6IDxrZXk+XG5AZnVuY3Rpb24gc3VzeS1nZXQtbWVkaWEoXG4gICRuYW1lXG4pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRzdXN5LW1lZGlhLCAkbmFtZSkge1xuICAgICRtYXAtdmFsdWU6IG1hcC1nZXQoJHN1c3ktbWVkaWEsICRuYW1lKTtcbiAgICBAaWYgKCRuYW1lID09ICRtYXAtdmFsdWUpIHtcbiAgICAgICRuYW1lOiAkbWFwLXZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG5hbWU6IHN1c3ktZ2V0LW1lZGlhKCRtYXAtdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5hbWU7XG59XG5cblxuLy8gUmVuZGVyIE1lZGlhXG4vLyAtLS0tLS0tLS0tLS1cbi8vIEJ1aWxkIGEgbWVkaWEtcXVlcnkgc3RyaW5nIGZyb20gdmFyaW91cyBtZWRpYSBzZXR0aW5nc1xuQGZ1bmN0aW9uIHN1c3ktcmVuZGVyLW1lZGlhKFxuICAkcXVlcnlcbikge1xuICAkb3V0cHV0OiBudWxsO1xuICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkcXVlcnkge1xuICAgICRzdHJpbmc6IG51bGw7XG5cbiAgICBAaWYgJHByb3BlcnR5ID09IG1lZGlhIHtcbiAgICAgICRzdHJpbmc6ICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzdHJpbmc6ICcoI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0pJztcbiAgICB9XG5cbiAgICAkb3V0cHV0OiBpZigkb3V0cHV0LCAnI3skb3V0cHV0fSBhbmQgI3skc3RyaW5nfScsICRzdHJpbmcpO1xuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5cbi8vIFBhcnNlIE1lZGlhXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHBhcnNlZCBtZWRpYS1xdWVyeSBzZXR0aW5ncyBiYXNlZCBvbiBzaG9ydGhhbmRcbkBmdW5jdGlvbiBzdXN5LXBhcnNlLW1lZGlhKFxuICAkcXVlcnlcbikge1xuICAkbXE6IG51bGw7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbWFwIHtcbiAgICAkbXE6ICRxdWVyeTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIHtcbiAgICAkbXE6IChtaW4td2lkdGg6ICRxdWVyeSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkcXVlcnkpID09IGxpc3QgYW5kIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSBudW1iZXIge1xuICAgICAgJG1xOiAoXG4gICAgICAgIG1pbi13aWR0aDogbWluKCRxdWVyeS4uLiksXG4gICAgICAgIG1heC13aWR0aDogbWF4KCRxdWVyeS4uLiksXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1xOiAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRtcTogKG1lZGlhOiAnI3skcXVlcnl9Jyk7XG4gIH1cblxuICBAcmV0dXJuICRtcTtcbn1cbiIsIkBpbXBvcnQgJy4vZGV2aWNlLXJlc29sdXRpb25zJztcblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYm9keSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbCkge1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgZm9udC12YXJpYW50LWxpZ2F0dXJlczogY29tbW9uLWxpZ2F0dXJlcztcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwia2VyblwiO1xuICAgIGZvbnQta2VybmluZzogbm9ybWFsO1xuICB9XG59XG5cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUge1xuXG4gIHF1b3Rlczogbm9uZTtcblxuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuXG5xIHtcbiAgcXVvdGVzOiBub25lO1xuXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjb250ZW50OiBub25lO1xuICB9XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbltuZ1xcOmNsb2FrXSwgW25nLWNsb2FrXSwgW2RhdGEtbmctY2xvYWtdLCBbeC1uZy1jbG9ha10sIC5uZy1jbG9haywgLngtbmctY2xvYWsge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCIkbGFyZ2UtbWluLXdpZHRoOiA3NjhweDtcbiRtZWRpdW0tbWluLXdpZHRoOiA0ODFweDtcblxuQGZ1bmN0aW9uIHRvLXNjYWxlKCRvcmlnaW5hbCkge1xuICAkc2NhbGU6IDAuNzU7XG4gIEByZXR1cm4gY2FsYygjeyRvcmlnaW5hbH0gKiAjeyRzY2FsZX0pO1xufVxuXG4kc21hbGxlc3Q6ICAgMzIxcHg7XG4kc21hbGw6ICAgICAgNDgxcHg7XG4kbWVkaXVtOiAgICAgNzY4cHg7XG4kbGFyZ2U6ICAgICAgOTkycHg7XG4kaHVnZTogICAgICAgMTIwMHB4O1xuJGVub3Jtb3VzOiAgIDE0NTBweDtcbiRyaWRpY3Vsb3VzOiAxNjAwcHg7XG5cbi8vIENvbnN0YW50cyB1c2VkIGluIHNob3AgdGhlbWVcbiRuZXh1czogNDEycHg7XG4kaXBob25lUGx1czogNDE0cHg7XG4kaXBob25lNjogMzc1cHg7XG4kczU6IDM2MHB4O1xuXG4vLyBUbyBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpIHNldCAkbXEtcmVzcG9uc2l2ZSB0byBmYWxzZVxuLy8gQ3JlYXRlIGEgc2VwYXJhdGUgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gdGhlc2UgYnJvd3NlcnMsXG4vLyBtZWFuaW5nIEBtZWRpYSBxdWVyaWVzIHdpbGwgYmUgcmFzdGVyaXplZCwgcmVseWluZyBvbiB0aGUgY2FzY2FkZSBpdHNlbGZcbiRtcS1yZXNwb25zaXZlOiB0cnVlO1xuXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgc21hbGxlc3Q6ICAgICAgICRzbWFsbGVzdCxcbiAgc21hbGw6ICAgICAgICAgICRzbWFsbCxcbiAgbWVkaXVtOiAgICAgICAgICRtZWRpdW0sXG4gIG1lZGl1bS1yb3RhdGVkOiAkbWVkaXVtLFxuICBsYXJnZTogICAgICAgICAgJGxhcmdlLFxuICBodWdlOiAgICAgICAgICAgJGh1Z2UsXG4gIGVub3Jtb3VzOiAgICAgICAkZW5vcm1vdXMsXG4gIHJpZGljdWxvdXM6ICAgICAkcmlkaWN1bG91c1xuKTtcblxuJG1xLXN0YXRpYy1icmVha3BvaW50OiBsYXJnZTtcblxuQGltcG9ydCAnc2Fzcy1tcS9tcSc7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcbiAgICAgICAgICAgICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL3B1bGwvMTBcblxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XG4vLy8gQHR5cGUgTnVtYmVyICh1bml0KVxuJG1xLWJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSBtb2RlXG4vLy9cbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcbi8vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KVxuLy8vXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxuLy8vIHdoZXJlIEBtZWRpYSBxdWVyaWVzIGFyZSByYXN0ZXJpemVkXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIG9sZC1pZS5zY3NzXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbmNsdWRlICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6ICggTDogOTAwcHgsIFhMOiAxMjAwcHggKTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcbiAgICBAZWxzZSB7XG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLCIkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrOiAnTWFnb3JpYW4gUmVndWxhcicsIEdlb3JnaWEsIFRpbWVzLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG5cbiRjcmltc29uUm9tYW5Gb250U3RhY2s6ICAgICdDcmltc29uIFJlZ3VsYXInLCBHZW9yZ2lhLCBUaW1lcywgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuJGNyaW1zb25Cb2xkRm9udFN0YWNrOiAgICAgJ0NyaW1zb24gQm9sZCcsIEdlb3JnaWEsIFRpbWVzLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG4kY3JpbXNvbkl0YWxpY0ZvbnRTdGFjazogICAnQ3JpbXNvbiBJdGFsaWMnLCBHZW9yZ2lhLCBUaW1lcywgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuXG4kcm9ib3RvUmVndWxhckZvbnRTdGFjazogICAnUm9ib3RvIFJlZ3VsYXInLCBBcmlhbCwgc2FucztcbiRyb2JvdG9MaWdodEZvbnRTdGFjazogICAnUm9ib3RvIExpZ2h0JywgQXJpYWwsIHNhbnM7XG5cbiR6aWxsYXNsYWJMaWdodEZvbnRTdGFjazogJ3ppbGxhX3NsYWJsaWdodCcsIEdlb3JnaWEsIFRpbWVzLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG4kemlsbGFzbGFiTWVkaXVtRm9udFN0YWNrOiAnemlsbGFfc2xhYm1lZGl1bScsIEdlb3JnaWEsIFRpbWVzLCAnVGltZXMgTmV3IFJvbWFuJywgc2VyaWY7XG4kemlsbGFzbGFiU2VtaUJvbGRGb250U3RhY2s6ICd6aWxsYV9zbGFic2VtaWJvbGQnLCBHZW9yZ2lhLCBUaW1lcywgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuXG4kamFwYW5lc2VGb250U3RhY2s6ICdNUyBNaW5jaG8nLCBUYWthb1BHb3RoaWMsICdIaXJhZ2lubyBNaW5jaG8gUHJvJywgJ0hpcmFnaW5vIE1pbmNobyBQcm8gTicsICdIaXJhTWluUHJvTi1XMycsICdBcmlhbCB1bmljb2RlIE1TJywgJ0Ryb2lkIFNhbnMgSmFwYW5lc2UnLCBzZXJpZjtcblxuJGxhcmdlLWhlYWRlci1mb250OiAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJHNtYWxsLWhlYWRlci1mb250OiAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuXG4kc21hbGwtYm9keS1mb250OiAkY3JpbXNvblJvbWFuRm9udFN0YWNrO1xuJGxhcmdlLWJvZHktZm9udDogJHNtYWxsLWJvZHktZm9udDtcblxuJGNhcHRpb24tZm9udDogJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4kc21hbGwtY2FwdGlvbi1mb250OiAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiRsYXJnZS1jYXB0aW9uLWZvbnQ6ICRzbWFsbC1jYXB0aW9uLWZvbnQ7XG4kc21hbGwtY2FwdGlvbi1oZWF2eTogJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG5cblxuLy8gQXMgZGVmaW5lZCBpbiBTdHVkaW8gT3V0cHV0IFN0eWxlIEd1aWRlXG5cbiRmb250LXNpemUtdDEtZGVza3RvcDogICAgICA2MHB4O1xuJGZvbnQtc2l6ZS10Mi1kZXNrdG9wOiAgICAgIDQ4cHg7XG4kZm9udC1zaXplLXQzLWRlc2t0b3A6ICAgICAgMzZweDtcbiRmb250LXNpemUtdDQtZGVza3RvcDogICAgICAyNHB4O1xuJGZvbnQtc2l6ZS10NS1kZXNrdG9wOiAgICAgIDI0cHg7XG5cbiRmb250LXNpemUtY2FwdGlvbi1kZXNrdG9wOiAxMnB4O1xuJGZvbnQtc2l6ZS1pbnRyby1kZXNrdG9wOiAgIDMwcHg7XG5cbiRsaW5lLWhlaWdodC10MS1kZXNrdG9wOiAgICAgIDY2cHg7XG4kbGluZS1oZWlnaHQtdDItZGVza3RvcDogICAgICA1MXB4O1xuJGxpbmUtaGVpZ2h0LXQzLWRlc2t0b3A6ICAgICAgNDJweDtcbiRsaW5lLWhlaWdodC10NC1kZXNrdG9wOiAgICAgIDQycHg7XG4kbGluZS1oZWlnaHQtdDUtZGVza3RvcDogICAgICAzMHB4O1xuXG4kbGluZS1oZWlnaHQtY2FwdGlvbi1kZXNrdG9wOiAxOHB4O1xuJGxpbmUtaGVpZ2h0LWludHJvLWRlc2t0b3A6ICAgMzZweDtcblxuJGZvbnQtdDEtZGVza3RvcDogICAgICAjeyRmb250LXNpemUtdDEtZGVza3RvcH0vI3skbGluZS1oZWlnaHQtdDEtZGVza3RvcH0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LXQyLWRlc2t0b3A6ICAgICAgI3skZm9udC1zaXplLXQyLWRlc2t0b3B9LyN7JGxpbmUtaGVpZ2h0LXQyLWRlc2t0b3B9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC10My1kZXNrdG9wOiAgICAgICN7JGZvbnQtc2l6ZS10My1kZXNrdG9wfS8jeyRsaW5lLWhlaWdodC10My1kZXNrdG9wfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtdDQtZGVza3RvcDogICAgICAjeyRmb250LXNpemUtdDQtZGVza3RvcH0vI3skbGluZS1oZWlnaHQtdDQtZGVza3RvcH0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LXQ1LWRlc2t0b3A6ICAgICAgI3skZm9udC1zaXplLXQ1LWRlc2t0b3B9LyN7JGxpbmUtaGVpZ2h0LXQ1LWRlc2t0b3B9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1pbnRyby1kZXNrdG9wOiAgICN7JGZvbnQtc2l6ZS1pbnRyby1kZXNrdG9wfS8jeyRsaW5lLWhlaWdodC1pbnRyby1kZXNrdG9wfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtY2FwdGlvbi1kZXNrdG9wOiAjeyRmb250LXNpemUtY2FwdGlvbi1kZXNrdG9wfS8jeyRsaW5lLWhlaWdodC1jYXB0aW9uLWRlc2t0b3B9ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuXG4kZm9udC1zaXplLXQxLW1vYmlsZTogICAgICA2MHB4O1xuJGZvbnQtc2l6ZS10Mi1tb2JpbGU6ICAgICAgNDhweDtcbiRmb250LXNpemUtdDMtbW9iaWxlOiAgICAgIDM2cHg7XG4kZm9udC1zaXplLXQ0LW1vYmlsZTogICAgICAyNHB4O1xuJGZvbnQtc2l6ZS10NS1tb2JpbGU6ICAgICAgMThweDtcblxuJGZvbnQtc2l6ZS1jYXB0aW9uLW1vYmlsZTogMTJweDtcblxuJGxpbmUtaGVpZ2h0LXQxLW1vYmlsZTogICAgICA2NnB4O1xuJGxpbmUtaGVpZ2h0LXQyLW1vYmlsZTogICAgICA1MXB4O1xuJGxpbmUtaGVpZ2h0LXQzLW1vYmlsZTogICAgICA0MXB4O1xuJGxpbmUtaGVpZ2h0LXQ0LW1vYmlsZTogICAgICAyMXB4O1xuJGxpbmUtaGVpZ2h0LXQ1LW1vYmlsZTogICAgICAzMHB4O1xuXG4kbGluZS1oZWlnaHQtY2FwdGlvbi1tb2JpbGU6IDE4cHg7XG5cbiRmb250LXQxLW1vYmlsZTogICAgICAjeyRmb250LXNpemUtdDEtbW9iaWxlfS8jeyRsaW5lLWhlaWdodC10MS1tb2JpbGV9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC10Mi1tb2JpbGU6ICAgICAgI3skZm9udC1zaXplLXQyLW1vYmlsZX0vI3skbGluZS1oZWlnaHQtdDItbW9iaWxlfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtdDMtbW9iaWxlOiAgICAgICN7JGZvbnQtc2l6ZS10My1tb2JpbGV9LyN7JGxpbmUtaGVpZ2h0LXQzLW1vYmlsZX0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LXQ0LW1vYmlsZTogICAgICAjeyRmb250LXNpemUtdDQtbW9iaWxlfS8jeyRsaW5lLWhlaWdodC10NC1tb2JpbGV9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC10NS1tb2JpbGU6ICAgICAgI3skZm9udC1zaXplLXQ1LW1vYmlsZX0vI3skbGluZS1oZWlnaHQtdDUtbW9iaWxlfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtY2FwdGlvbi1tb2JpbGU6ICN7JGZvbnQtc2l6ZS1jYXB0aW9uLW1vYmlsZX0vI3skbGluZS1oZWlnaHQtY2FwdGlvbi1tb2JpbGV9ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuXG4vLyBCcmVha3BvaW50IEZvbnQgU2l6ZXMgLSBzdXBlcnNlZGVzIGFib3ZlXG4kZm9udC1zaXplLWEwOiA3MnB4O1xuJGZvbnQtc2l6ZS1hMTogNjBweDtcbiRmb250LXNpemUtYTI6IDQ4cHg7XG4kZm9udC1zaXplLWEzOiAzNnB4O1xuJGZvbnQtc2l6ZS1hNDogMzBweDtcbiRmb250LXNpemUtYTU6IDI0cHg7XG4kZm9udC1zaXplLWE2OiAyMHB4O1xuJGZvbnQtc2l6ZS1hNzogMThweDtcbiRmb250LXNpemUtYTg6IDE2cHg7XG4kZm9udC1zaXplLWE5OiAxNHB4O1xuXG4kZm9udC1zaXplLWIxOiAyNnB4O1xuJGZvbnQtc2l6ZS1iMjogMjJweDtcbiRmb250LXNpemUtYjQ6IDE4cHg7XG5cbiRmb250LXNpemUtYzA6IDExcHg7XG4kZm9udC1zaXplLWMxOiAxMnB4O1xuJGZvbnQtc2l6ZS1jMjogMThweDtcbiRmb250LXNpemUtYzM6IDI0cHg7XG5cbiRmb250LXNpemUtZDA6IDEwcHg7XG4kZm9udC1zaXplLWQxOiAxNHB4O1xuJGZvbnQtc2l6ZS1kMjogMThweDtcbiRmb250LXNpemUtZDM6IDI0cHg7XG5cbiRsaW5lLWhlaWdodC1hMDogNzhweDtcbiRsaW5lLWhlaWdodC1hMTogNjZweDtcbiRsaW5lLWhlaWdodC1hMjogNTFweDtcbiRsaW5lLWhlaWdodC1hMzogNDJweDtcbiRsaW5lLWhlaWdodC1hNDogMzZweDtcbiRsaW5lLWhlaWdodC1hNTogMzJweDtcbiRsaW5lLWhlaWdodC1hNjogMjRweDtcbiRsaW5lLWhlaWdodC1hNzogMjJweDtcbiRsaW5lLWhlaWdodC1hODogMjBweDtcbiRsaW5lLWhlaWdodC1hOTogMThweDtcblxuJGxpbmUtaGVpZ2h0LWIxOiA0NHB4O1xuJGxpbmUtaGVpZ2h0LWIyOiA0MHB4O1xuJGxpbmUtaGVpZ2h0LWIzOiAzNnB4O1xuJGxpbmUtaGVpZ2h0LWI0OiAzMnB4O1xuXG4kbGluZS1oZWlnaHQtYzE6IDE4cHg7XG4kbGluZS1oZWlnaHQtYzI6IDE4cHg7XG4kbGluZS1oZWlnaHQtYzM6IDI0cHg7XG5cbiRsaW5lLWhlaWdodC1kMDogMTRweDtcbiRsaW5lLWhlaWdodC1kMTogMThweDtcbiRsaW5lLWhlaWdodC1kMjogMjRweDtcbiRsaW5lLWhlaWdodC1kMzogMjRweDtcblxuJGZvbnQtYTA6ICN7JGZvbnQtc2l6ZS1hMH0vI3skbGluZS1oZWlnaHQtYTB9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1hMTogI3skZm9udC1zaXplLWExfS8jeyRsaW5lLWhlaWdodC1hMX0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LWEyOiAjeyRmb250LXNpemUtYTJ9LyN7JGxpbmUtaGVpZ2h0LWEyfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtYTM6ICN7JGZvbnQtc2l6ZS1hM30vI3skbGluZS1oZWlnaHQtYTN9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1hNDogI3skZm9udC1zaXplLWE0fS8jeyRsaW5lLWhlaWdodC1hNH0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LWE1OiAjeyRmb250LXNpemUtYTV9LyN7JGxpbmUtaGVpZ2h0LWE1fSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtYTY6ICN7JGZvbnQtc2l6ZS1hNn0vI3skbGluZS1oZWlnaHQtYTZ9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1hNzogI3skZm9udC1zaXplLWE3fS8jeyRsaW5lLWhlaWdodC1hN30gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LWE4OiAjeyRmb250LXNpemUtYTh9LyN7JGxpbmUtaGVpZ2h0LWE4fSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtYTk6ICN7JGZvbnQtc2l6ZS1hOX0vI3skbGluZS1oZWlnaHQtYTl9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG5cblxuJGZvbnQtYjE6ICN7JGZvbnQtc2l6ZS1iMX0vI3skbGluZS1oZWlnaHQtYjF9ICRjcmltc29uUm9tYW5Gb250U3RhY2s7XG4kZm9udC1iMjogI3skZm9udC1zaXplLWIyfS8jeyRsaW5lLWhlaWdodC1iMn0gJGNyaW1zb25Sb21hbkZvbnRTdGFjaztcbiRmb250LWIyLWJvbGQ6ICN7JGZvbnQtc2l6ZS1iMn0vI3skbGluZS1oZWlnaHQtYjJ9ICRjcmltc29uQm9sZEZvbnRTdGFjaztcbiRmb250LWIzOiAjeyRmb250LXNpemUtYjJ9LyN7JGxpbmUtaGVpZ2h0LWIzfSAkY3JpbXNvblJvbWFuRm9udFN0YWNrO1xuJGZvbnQtYjQ6ICN7JGZvbnQtc2l6ZS1iNH0vI3skbGluZS1oZWlnaHQtYjR9ICRjcmltc29uUm9tYW5Gb250U3RhY2s7XG5cbiRmb250LWMwOiAjeyRmb250LXNpemUtYzB9LyN7JGxpbmUtaGVpZ2h0LWMxfSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiRmb250LWMxOiAjeyRmb250LXNpemUtYzF9LyN7JGxpbmUtaGVpZ2h0LWMxfSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiRmb250LWMyOiAjeyRmb250LXNpemUtYzJ9LyN7JGxpbmUtaGVpZ2h0LWMyfSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiRmb250LWMzOiAjeyRmb250LXNpemUtYzN9LyN7JGxpbmUtaGVpZ2h0LWMzfSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiRmb250LWM0OiAjeyRmb250LXNpemUtYTl9LyN7JGxpbmUtaGVpZ2h0LWE5fSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiRmb250LWM1OiAjeyRmb250LXNpemUtYTh9LyN7JGxpbmUtaGVpZ2h0LWE5fSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcblxuJGZvbnQtZDA6ICN7JGZvbnQtc2l6ZS1kMH0vI3skbGluZS1oZWlnaHQtZDB9ICRyb2JvdG9MaWdodEZvbnRTdGFjaztcbiRmb250LWQxOiAjeyRmb250LXNpemUtZDF9LyN7JGxpbmUtaGVpZ2h0LWQxfSAkcm9ib3RvTGlnaHRGb250U3RhY2s7XG4kZm9udC1kMjogI3skZm9udC1zaXplLWQyfS8jeyRsaW5lLWhlaWdodC1kMn0gJHJvYm90b0xpZ2h0Rm9udFN0YWNrO1xuJGZvbnQtZDM6ICN7JGZvbnQtc2l6ZS1kM30vI3skbGluZS1oZWlnaHQtZDN9ICRyb2JvdG9MaWdodEZvbnRTdGFjaztcblxuXG4kY29sb3ItcHJpbWFyeTogICAgICAgICAgICAgICAjODEwMDQxO1xuJGNvbG9yLXNlY29uZGFyeTogICAgICAgICAgICAgIzQxMDAyMTtcbiRjb2xvci1zZWNvbmRhcnk6ICAgICAgICAgICAgICM0MTAwMjE7XG4kYy13aGl0ZTogICAgICAgICAgICAgICAgICAgICAjZmZmZmZmO1xuJGNvbG9yLWJhY2tncm91bmQtc2hhZGU6ICAgICAgI2U4ZThlNDtcbiRjLXRleHQ6ICAgICAgICAgICAgICAgICAgICAgICMzMzMzMzM7XG4iLCJAaW1wb3J0ICdmb250JztcbkBpbXBvcnQgJ2RldmljZS1yZXNvbHV0aW9ucyc7XG5AaW1wb3J0ICdwYWxldHRlcyc7XG5cbiRmb250LXBhdGg6ICcvYXNzZXRzL2ZvbnRzLycgIWRlZmF1bHQ7XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ01hZ29yaWFuIFJlZ3VsYXInO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCRmb250LXBhdGggKyAnTWFnb3JpYW4td2ViLmVvdCcpO1xuICBzcmM6IHVybCgkZm9udC1wYXRoICsgJ01hZ29yaWFuLXdlYi5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJGZvbnQtcGF0aCArICdNYWdvcmlhbi13ZWIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgkZm9udC1wYXRoICsgJ01hZ29yaWFuLXdlYi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgkZm9udC1wYXRoICsgJ01hZ29yaWFuLXdlYi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgkZm9udC1wYXRoICsgJ01hZ29yaWFuLXdlYi5zdmcjbWFnb3JpYW5yZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ3JpbXNvbiBSZWd1bGFyJztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgkZm9udC1wYXRoICsgJ2NyaW1zb24tcm9tYW4td2ViLmVvdCcpO1xuICBzcmM6IHVybCgkZm9udC1wYXRoICsgJ2NyaW1zb24tcm9tYW4td2ViLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgkZm9udC1wYXRoICsgJ2NyaW1zb24tcm9tYW4td2ViLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJGZvbnQtcGF0aCArICdjcmltc29uLXJvbWFuLXdlYi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgkZm9udC1wYXRoICsgJ2NyaW1zb24tcm9tYW4td2ViLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgdXJsKCRmb250LXBhdGggKyAnY3JpbXNvbi1yb21hbi13ZWIuc3ZnI2NyaW1zb25yb21hbicpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NyaW1zb24gQm9sZCc7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJGZvbnQtcGF0aCArICdjcmltc29uLWJvbGQtd2ViLmVvdCcpO1xuICBzcmM6IHVybCgkZm9udC1wYXRoICsgJ2NyaW1zb24tYm9sZC13ZWIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCRmb250LXBhdGggKyAnY3JpbXNvbi1ib2xkLXdlYi53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCRmb250LXBhdGggKyAnY3JpbXNvbi1ib2xkLXdlYi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgkZm9udC1wYXRoICsgJ2NyaW1zb24tYm9sZC13ZWIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJGZvbnQtcGF0aCArICdjcmltc29uLWJvbGQtd2ViLnN2ZyNjcmltc29uYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NyaW1zb24gSXRhbGljJztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgkZm9udC1wYXRoICsgJ2NyaW1zb24taXRhbGljLXdlYi5lb3QnKTtcbiAgc3JjOiB1cmwoJGZvbnQtcGF0aCArICdjcmltc29uLWl0YWxpYy13ZWIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgdXJsKCRmb250LXBhdGggKyAnY3JpbXNvbi1pdGFsaWMtd2ViLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICB1cmwoJGZvbnQtcGF0aCArICdjcmltc29uLWl0YWxpYy13ZWIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJGZvbnQtcGF0aCArICdjcmltc29uLWl0YWxpYy13ZWIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJGZvbnQtcGF0aCArICdjcmltc29uLWl0YWxpYy13ZWIuc3ZnI2NyaW1zb25pdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8gUmVndWxhcic7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJGZvbnQtcGF0aCArICdyb2JvdG8tcmVndWxhci5lb3QnKTtcbiAgc3JjOiB1cmwoJGZvbnQtcGF0aCArICdyb2JvdG8tcmVndWxhci5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICB1cmwoJGZvbnQtcGF0aCArICdyb2JvdG8tcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgdXJsKCRmb250LXBhdGggKyAncm9ib3RvLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICB1cmwoJGZvbnQtcGF0aCArICdyb2JvdG8tcmVndWxhci50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gIHVybCgkZm9udC1wYXRoICsgJ3JvYm90by1yZWd1bGFyLnN2ZyNyb2JvdG9yZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8gTGlnaHQnO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOiB1cmwoJGZvbnQtcGF0aCArICdyb2JvdG8tbGlnaHQuZW90Jyk7XG4gICAgc3JjOiB1cmwoJGZvbnQtcGF0aCArICdyb2JvdG8tbGlnaHQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJGZvbnQtcGF0aCArICdyb2JvdG8tbGlnaHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCRmb250LXBhdGggKyAncm9ib3RvLWxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJGZvbnQtcGF0aCArICdyb2JvdG8tbGlnaHQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgkZm9udC1wYXRoICsgJ3JvYm90by1saWdodC5zdmcjcm9ib3RvbGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3ppbGxhX3NsYWJsaWdodCc7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBzcmM6IHVybCgkZm9udC1wYXRoICsgJ3ppbGxhc2xhYi1saWdodC5lb3QnKTtcbiAgICBzcmM6IHVybCgkZm9udC1wYXRoICsgJ3ppbGxhc2xhYi1saWdodC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgkZm9udC1wYXRoICsgJ3ppbGxhc2xhYi1saWdodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJGZvbnQtcGF0aCArICd6aWxsYXNsYWItbGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgkZm9udC1wYXRoICsgJ3ppbGxhc2xhYi1saWdodC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLWxpZ2h0LnN2ZyN6aWxsYV9zbGFibGlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ3ppbGxhX3NsYWJtZWRpdW0nO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOiB1cmwoJGZvbnQtcGF0aCArICd6aWxsYXNsYWItbWVkaXVtLmVvdCcpO1xuICAgIHNyYzogdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLW1lZGl1bS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgIHVybCgkZm9udC1wYXRoICsgJ3ppbGxhc2xhYi1tZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLW1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLW1lZGl1bS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLW1lZGl1bS5zdmcjemlsbGFfc2xhYm1lZGl1bScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnemlsbGFfc2xhYnNlbWlib2xkJztcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLXNlbWlib2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLXNlbWlib2xkLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLXNlbWlib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgkZm9udC1wYXRoICsgJ3ppbGxhc2xhYi1zZW1pYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCRmb250LXBhdGggKyAnemlsbGFzbGFiLXNlbWlib2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJGZvbnQtcGF0aCArICd6aWxsYXNsYWItc2VtaWJvbGQuc3ZnI3ppbGxhX3NsYWJzZW1pYm9sZCcpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbmJvZHkge1xuICBjb2xvcjogIzMzMztcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1IHtcbiAgZm9udC1mYW1pbHk6ICRzbWFsbC1oZWFkZXItZm9udDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IHRvLXNjYWxlKDk4cHgpO1xuICBsaW5lLWhlaWdodDogdG8tc2NhbGUoMTA0cHgpO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogdG8tc2NhbGUoNjBweCk7XG4gIGxpbmUtaGVpZ2h0OiB0by1zY2FsZSg2NHB4KTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IHRvLXNjYWxlKDQ4cHgpO1xuICBsaW5lLWhlaWdodDogdG8tc2NhbGUoNTFweCk7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiB0by1zY2FsZSgzNnB4KTtcbiAgbGluZS1oZWlnaHQ6IHRvLXNjYWxlKDM4cHgpO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogdG8tc2NhbGUoMzZweCk7XG4gIGxpbmUtaGVpZ2h0OiB0by1zY2FsZSgzOHB4KTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkc21hbGwtYm9keS1mb250O1xuICBmb250LXNpemU6IHRvLXNjYWxlKDM2cHgpO1xuICBsaW5lLWhlaWdodDogdG8tc2NhbGUoNjBweCk7XG59XG5cbi5sYW5nLWphIHtcbiAgZm9udC1mYW1pbHk6ICRqYXBhbmVzZUZvbnRTdGFjayAhaW1wb3J0YW50O1xuXG4gIHAge1xuICAgIGZvbnQtZmFtaWx5OiAkamFwYW5lc2VGb250U3RhY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LWZhbWlseTogJGphcGFuZXNlRm9udFN0YWNrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmNhcHRpb24ge1xuICBmb250LWZhbWlseTogJHNtYWxsLWNhcHRpb24tZm9udDtcbiAgZm9udC1zaXplOiB0by1zY2FsZSgyMnB4KTtcbiAgbGluZS1oZWlnaHQ6IHRvLXNjYWxlKDM0cHgpO1xuICBrZXJuaW5nOiAxMDA7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi5jYXB0aW9uLS1oZWF2eSB7XG4gIEBleHRlbmQgLmNhcHRpb247XG4gIGZvbnQtZmFtaWx5OiAkc21hbGwtY2FwdGlvbi1oZWF2eTtcbn1cblxuLmFjY3JlZGl0YXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBmb250OiAkZm9udC1jMTtcbiAgbGluZS1oZWlnaHQ6IHRvLXNjYWxlKDI4cHgpO1xuICBrZXJuaW5nOiAxMDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtLW1pbi13aWR0aCkge1xuXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSB7XG4gICAgZm9udC1mYW1pbHk6ICRsYXJnZS1oZWFkZXItZm9udDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDkwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDk2cHg7XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiA5OHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDRweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDY0cHg7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiA0OHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MXB4O1xuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIH1cblxuICBib2R5IHtcbiAgICBmb250LWZhbWlseTogJGxhcmdlLWJvZHktZm9udDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cblxuICAuY2FwdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRsYXJnZS1jYXB0aW9uLWZvbnQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICB9XG5cbiAgLmFjY3JlZGl0YXRpb24ge1xuICAgIGZvbnQ6IHtcbiAgICAgICAgc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cblxufVxuIiwiJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjazogJ01hZ29yaWFuIFJlZ3VsYXInLCBHZW9yZ2lhLCBUaW1lcywgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuXG4kY3JpbXNvblJvbWFuRm9udFN0YWNrOiAgICAnQ3JpbXNvbiBSZWd1bGFyJywgR2VvcmdpYSwgVGltZXMsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcbiRjcmltc29uQm9sZEZvbnRTdGFjazogICAgICdDcmltc29uIEJvbGQnLCBHZW9yZ2lhLCBUaW1lcywgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuJGNyaW1zb25JdGFsaWNGb250U3RhY2s6ICAgJ0NyaW1zb24gSXRhbGljJywgR2VvcmdpYSwgVGltZXMsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcblxuJHJvYm90b1JlZ3VsYXJGb250U3RhY2s6ICAgJ1JvYm90byBSZWd1bGFyJywgQXJpYWwsIHNhbnM7XG4kcm9ib3RvTGlnaHRGb250U3RhY2s6ICAgJ1JvYm90byBMaWdodCcsIEFyaWFsLCBzYW5zO1xuXG4kemlsbGFzbGFiTGlnaHRGb250U3RhY2s6ICd6aWxsYV9zbGFibGlnaHQnLCBHZW9yZ2lhLCBUaW1lcywgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuJHppbGxhc2xhYk1lZGl1bUZvbnRTdGFjazogJ3ppbGxhX3NsYWJtZWRpdW0nLCBHZW9yZ2lhLCBUaW1lcywgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xuJHppbGxhc2xhYlNlbWlCb2xkRm9udFN0YWNrOiAnemlsbGFfc2xhYnNlbWlib2xkJywgR2VvcmdpYSwgVGltZXMsICdUaW1lcyBOZXcgUm9tYW4nLCBzZXJpZjtcblxuJGphcGFuZXNlRm9udFN0YWNrOiAnTVMgTWluY2hvJywgVGFrYW9QR290aGljLCAnSGlyYWdpbm8gTWluY2hvIFBybycsICdIaXJhZ2lubyBNaW5jaG8gUHJvIE4nLCAnSGlyYU1pblByb04tVzMnLCAnQXJpYWwgdW5pY29kZSBNUycsICdEcm9pZCBTYW5zIEphcGFuZXNlJywgc2VyaWY7XG5cbiRsYXJnZS1oZWFkZXItZm9udDogJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRzbWFsbC1oZWFkZXItZm9udDogJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcblxuJHNtYWxsLWJvZHktZm9udDogJGNyaW1zb25Sb21hbkZvbnRTdGFjaztcbiRsYXJnZS1ib2R5LWZvbnQ6ICRzbWFsbC1ib2R5LWZvbnQ7XG5cbiRjYXB0aW9uLWZvbnQ6ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuJHNtYWxsLWNhcHRpb24tZm9udDogJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4kbGFyZ2UtY2FwdGlvbi1mb250OiAkc21hbGwtY2FwdGlvbi1mb250O1xuJHNtYWxsLWNhcHRpb24taGVhdnk6ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuXG5cbi8vIEFzIGRlZmluZWQgaW4gU3R1ZGlvIE91dHB1dCBTdHlsZSBHdWlkZVxuXG4kZm9udC1zaXplLXQxLWRlc2t0b3A6ICAgICAgNjBweDtcbiRmb250LXNpemUtdDItZGVza3RvcDogICAgICA0OHB4O1xuJGZvbnQtc2l6ZS10My1kZXNrdG9wOiAgICAgIDM2cHg7XG4kZm9udC1zaXplLXQ0LWRlc2t0b3A6ICAgICAgMjRweDtcbiRmb250LXNpemUtdDUtZGVza3RvcDogICAgICAyNHB4O1xuXG4kZm9udC1zaXplLWNhcHRpb24tZGVza3RvcDogMTJweDtcbiRmb250LXNpemUtaW50cm8tZGVza3RvcDogICAzMHB4O1xuXG4kbGluZS1oZWlnaHQtdDEtZGVza3RvcDogICAgICA2NnB4O1xuJGxpbmUtaGVpZ2h0LXQyLWRlc2t0b3A6ICAgICAgNTFweDtcbiRsaW5lLWhlaWdodC10My1kZXNrdG9wOiAgICAgIDQycHg7XG4kbGluZS1oZWlnaHQtdDQtZGVza3RvcDogICAgICA0MnB4O1xuJGxpbmUtaGVpZ2h0LXQ1LWRlc2t0b3A6ICAgICAgMzBweDtcblxuJGxpbmUtaGVpZ2h0LWNhcHRpb24tZGVza3RvcDogMThweDtcbiRsaW5lLWhlaWdodC1pbnRyby1kZXNrdG9wOiAgIDM2cHg7XG5cbiRmb250LXQxLWRlc2t0b3A6ICAgICAgI3skZm9udC1zaXplLXQxLWRlc2t0b3B9LyN7JGxpbmUtaGVpZ2h0LXQxLWRlc2t0b3B9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC10Mi1kZXNrdG9wOiAgICAgICN7JGZvbnQtc2l6ZS10Mi1kZXNrdG9wfS8jeyRsaW5lLWhlaWdodC10Mi1kZXNrdG9wfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtdDMtZGVza3RvcDogICAgICAjeyRmb250LXNpemUtdDMtZGVza3RvcH0vI3skbGluZS1oZWlnaHQtdDMtZGVza3RvcH0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LXQ0LWRlc2t0b3A6ICAgICAgI3skZm9udC1zaXplLXQ0LWRlc2t0b3B9LyN7JGxpbmUtaGVpZ2h0LXQ0LWRlc2t0b3B9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC10NS1kZXNrdG9wOiAgICAgICN7JGZvbnQtc2l6ZS10NS1kZXNrdG9wfS8jeyRsaW5lLWhlaWdodC10NS1kZXNrdG9wfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtaW50cm8tZGVza3RvcDogICAjeyRmb250LXNpemUtaW50cm8tZGVza3RvcH0vI3skbGluZS1oZWlnaHQtaW50cm8tZGVza3RvcH0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LWNhcHRpb24tZGVza3RvcDogI3skZm9udC1zaXplLWNhcHRpb24tZGVza3RvcH0vI3skbGluZS1oZWlnaHQtY2FwdGlvbi1kZXNrdG9wfSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcblxuJGZvbnQtc2l6ZS10MS1tb2JpbGU6ICAgICAgNjBweDtcbiRmb250LXNpemUtdDItbW9iaWxlOiAgICAgIDQ4cHg7XG4kZm9udC1zaXplLXQzLW1vYmlsZTogICAgICAzNnB4O1xuJGZvbnQtc2l6ZS10NC1tb2JpbGU6ICAgICAgMjRweDtcbiRmb250LXNpemUtdDUtbW9iaWxlOiAgICAgIDE4cHg7XG5cbiRmb250LXNpemUtY2FwdGlvbi1tb2JpbGU6IDEycHg7XG5cbiRsaW5lLWhlaWdodC10MS1tb2JpbGU6ICAgICAgNjZweDtcbiRsaW5lLWhlaWdodC10Mi1tb2JpbGU6ICAgICAgNTFweDtcbiRsaW5lLWhlaWdodC10My1tb2JpbGU6ICAgICAgNDFweDtcbiRsaW5lLWhlaWdodC10NC1tb2JpbGU6ICAgICAgMjFweDtcbiRsaW5lLWhlaWdodC10NS1tb2JpbGU6ICAgICAgMzBweDtcblxuJGxpbmUtaGVpZ2h0LWNhcHRpb24tbW9iaWxlOiAxOHB4O1xuXG4kZm9udC10MS1tb2JpbGU6ICAgICAgI3skZm9udC1zaXplLXQxLW1vYmlsZX0vI3skbGluZS1oZWlnaHQtdDEtbW9iaWxlfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtdDItbW9iaWxlOiAgICAgICN7JGZvbnQtc2l6ZS10Mi1tb2JpbGV9LyN7JGxpbmUtaGVpZ2h0LXQyLW1vYmlsZX0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LXQzLW1vYmlsZTogICAgICAjeyRmb250LXNpemUtdDMtbW9iaWxlfS8jeyRsaW5lLWhlaWdodC10My1tb2JpbGV9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC10NC1tb2JpbGU6ICAgICAgI3skZm9udC1zaXplLXQ0LW1vYmlsZX0vI3skbGluZS1oZWlnaHQtdDQtbW9iaWxlfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtdDUtbW9iaWxlOiAgICAgICN7JGZvbnQtc2l6ZS10NS1tb2JpbGV9LyN7JGxpbmUtaGVpZ2h0LXQ1LW1vYmlsZX0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LWNhcHRpb24tbW9iaWxlOiAjeyRmb250LXNpemUtY2FwdGlvbi1tb2JpbGV9LyN7JGxpbmUtaGVpZ2h0LWNhcHRpb24tbW9iaWxlfSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcblxuLy8gQnJlYWtwb2ludCBGb250IFNpemVzIC0gc3VwZXJzZWRlcyBhYm92ZVxuJGZvbnQtc2l6ZS1hMDogNzJweDtcbiRmb250LXNpemUtYTE6IDYwcHg7XG4kZm9udC1zaXplLWEyOiA0OHB4O1xuJGZvbnQtc2l6ZS1hMzogMzZweDtcbiRmb250LXNpemUtYTQ6IDMwcHg7XG4kZm9udC1zaXplLWE1OiAyNHB4O1xuJGZvbnQtc2l6ZS1hNjogMjBweDtcbiRmb250LXNpemUtYTc6IDE4cHg7XG4kZm9udC1zaXplLWE4OiAxNnB4O1xuJGZvbnQtc2l6ZS1hOTogMTRweDtcblxuJGZvbnQtc2l6ZS1iMTogMjZweDtcbiRmb250LXNpemUtYjI6IDIycHg7XG4kZm9udC1zaXplLWI0OiAxOHB4O1xuXG4kZm9udC1zaXplLWMwOiAxMXB4O1xuJGZvbnQtc2l6ZS1jMTogMTJweDtcbiRmb250LXNpemUtYzI6IDE4cHg7XG4kZm9udC1zaXplLWMzOiAyNHB4O1xuXG4kZm9udC1zaXplLWQwOiAxMHB4O1xuJGZvbnQtc2l6ZS1kMTogMTRweDtcbiRmb250LXNpemUtZDI6IDE4cHg7XG4kZm9udC1zaXplLWQzOiAyNHB4O1xuXG4kbGluZS1oZWlnaHQtYTA6IDc4cHg7XG4kbGluZS1oZWlnaHQtYTE6IDY2cHg7XG4kbGluZS1oZWlnaHQtYTI6IDUxcHg7XG4kbGluZS1oZWlnaHQtYTM6IDQycHg7XG4kbGluZS1oZWlnaHQtYTQ6IDM2cHg7XG4kbGluZS1oZWlnaHQtYTU6IDMycHg7XG4kbGluZS1oZWlnaHQtYTY6IDI0cHg7XG4kbGluZS1oZWlnaHQtYTc6IDIycHg7XG4kbGluZS1oZWlnaHQtYTg6IDIwcHg7XG4kbGluZS1oZWlnaHQtYTk6IDE4cHg7XG5cbiRsaW5lLWhlaWdodC1iMTogNDRweDtcbiRsaW5lLWhlaWdodC1iMjogNDBweDtcbiRsaW5lLWhlaWdodC1iMzogMzZweDtcbiRsaW5lLWhlaWdodC1iNDogMzJweDtcblxuJGxpbmUtaGVpZ2h0LWMxOiAxOHB4O1xuJGxpbmUtaGVpZ2h0LWMyOiAxOHB4O1xuJGxpbmUtaGVpZ2h0LWMzOiAyNHB4O1xuXG4kbGluZS1oZWlnaHQtZDA6IDE0cHg7XG4kbGluZS1oZWlnaHQtZDE6IDE4cHg7XG4kbGluZS1oZWlnaHQtZDI6IDI0cHg7XG4kbGluZS1oZWlnaHQtZDM6IDI0cHg7XG5cbiRmb250LWEwOiAjeyRmb250LXNpemUtYTB9LyN7JGxpbmUtaGVpZ2h0LWEwfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtYTE6ICN7JGZvbnQtc2l6ZS1hMX0vI3skbGluZS1oZWlnaHQtYTF9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1hMjogI3skZm9udC1zaXplLWEyfS8jeyRsaW5lLWhlaWdodC1hMn0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LWEzOiAjeyRmb250LXNpemUtYTN9LyN7JGxpbmUtaGVpZ2h0LWEzfSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtYTQ6ICN7JGZvbnQtc2l6ZS1hNH0vI3skbGluZS1oZWlnaHQtYTR9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1hNTogI3skZm9udC1zaXplLWE1fS8jeyRsaW5lLWhlaWdodC1hNX0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LWE2OiAjeyRmb250LXNpemUtYTZ9LyN7JGxpbmUtaGVpZ2h0LWE2fSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuJGZvbnQtYTc6ICN7JGZvbnQtc2l6ZS1hN30vI3skbGluZS1oZWlnaHQtYTd9ICRtYWdvcmlhblJlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1hODogI3skZm9udC1zaXplLWE4fS8jeyRsaW5lLWhlaWdodC1hOH0gJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiRmb250LWE5OiAjeyRmb250LXNpemUtYTl9LyN7JGxpbmUtaGVpZ2h0LWE5fSAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuXG5cbiRmb250LWIxOiAjeyRmb250LXNpemUtYjF9LyN7JGxpbmUtaGVpZ2h0LWIxfSAkY3JpbXNvblJvbWFuRm9udFN0YWNrO1xuJGZvbnQtYjI6ICN7JGZvbnQtc2l6ZS1iMn0vI3skbGluZS1oZWlnaHQtYjJ9ICRjcmltc29uUm9tYW5Gb250U3RhY2s7XG4kZm9udC1iMi1ib2xkOiAjeyRmb250LXNpemUtYjJ9LyN7JGxpbmUtaGVpZ2h0LWIyfSAkY3JpbXNvbkJvbGRGb250U3RhY2s7XG4kZm9udC1iMzogI3skZm9udC1zaXplLWIyfS8jeyRsaW5lLWhlaWdodC1iM30gJGNyaW1zb25Sb21hbkZvbnRTdGFjaztcbiRmb250LWI0OiAjeyRmb250LXNpemUtYjR9LyN7JGxpbmUtaGVpZ2h0LWI0fSAkY3JpbXNvblJvbWFuRm9udFN0YWNrO1xuXG4kZm9udC1jMDogI3skZm9udC1zaXplLWMwfS8jeyRsaW5lLWhlaWdodC1jMX0gJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1jMTogI3skZm9udC1zaXplLWMxfS8jeyRsaW5lLWhlaWdodC1jMX0gJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1jMjogI3skZm9udC1zaXplLWMyfS8jeyRsaW5lLWhlaWdodC1jMn0gJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1jMzogI3skZm9udC1zaXplLWMzfS8jeyRsaW5lLWhlaWdodC1jM30gJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1jNDogI3skZm9udC1zaXplLWE5fS8jeyRsaW5lLWhlaWdodC1hOX0gJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4kZm9udC1jNTogI3skZm9udC1zaXplLWE4fS8jeyRsaW5lLWhlaWdodC1hOX0gJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG5cbiRmb250LWQwOiAjeyRmb250LXNpemUtZDB9LyN7JGxpbmUtaGVpZ2h0LWQwfSAkcm9ib3RvTGlnaHRGb250U3RhY2s7XG4kZm9udC1kMTogI3skZm9udC1zaXplLWQxfS8jeyRsaW5lLWhlaWdodC1kMX0gJHJvYm90b0xpZ2h0Rm9udFN0YWNrO1xuJGZvbnQtZDI6ICN7JGZvbnQtc2l6ZS1kMn0vI3skbGluZS1oZWlnaHQtZDJ9ICRyb2JvdG9MaWdodEZvbnRTdGFjaztcbiRmb250LWQzOiAjeyRmb250LXNpemUtZDN9LyN7JGxpbmUtaGVpZ2h0LWQzfSAkcm9ib3RvTGlnaHRGb250U3RhY2s7XG5cblxuJGNvbG9yLXByaW1hcnk6ICAgICAgICAgICAgICAgIzgxMDA0MTtcbiRjb2xvci1zZWNvbmRhcnk6ICAgICAgICAgICAgICM0MTAwMjE7XG4kY29sb3Itc2Vjb25kYXJ5OiAgICAgICAgICAgICAjNDEwMDIxO1xuJGMtd2hpdGU6ICAgICAgICAgICAgICAgICAgICAgI2ZmZmZmZjtcbiRjb2xvci1iYWNrZ3JvdW5kLXNoYWRlOiAgICAgICNlOGU4ZTQ7XG4kYy10ZXh0OiAgICAgICAgICAgICAgICAgICAgICAjMzMzMzMzO1xuIiwiJGMtZGVmYXVsdC1wcmltYXJ5OiAgICM4MTAwNDE7XG4kYy1kZWZhdWx0LXNlY29uZGFyeTogIzQxMDAyMTtcbiRjLWRlZmF1bHQtYWNjZW50OiAgICAjYTAwMDU2O1xuJGMtZGVmYXVsdC1iYXNlOiAgICAgICNmZmY1ZWM7XG5cbiRjLXdoaXRlOiAgICAgICNmZmY7XG4kYy1kYXJrLWdyYXk6ICAjMzMzO1xuJGMtbGlnaHQtZ3JheTogI2FjYWNhYztcbiRjLWxpZ2h0ZXItZ3JheTogI2UwZTBlMDtcblxuJHBhbGV0dGUtcG90dGVybW9yZS1wcmltYXJ5OiAgICRjLWRlZmF1bHQtcHJpbWFyeTtcbiRwYWxldHRlLXBvdHRlcm1vcmUtc2Vjb25kYXJ5OiAkYy1kZWZhdWx0LXNlY29uZGFyeTtcbiRwYWxldHRlLXBvdHRlcm1vcmUtYWNjZW50OiAgICAkYy1kZWZhdWx0LWFjY2VudDtcbiRwYWxldHRlLXBvdHRlcm1vcmUtYmFzZTogICAgICAkYy1kZWZhdWx0LWJhc2U7XG5cbiRjb2xvci10ZXh0OiAgICAgICAgICAgICAkYy1kYXJrLWdyYXk7XG4kY29sb3ItdGV4dC1pbnZlcnQ6ICAgICAgJGMtd2hpdGU7XG4kY29sb3Itc3VidGl0bGU6ICAgICAgICAgJGMtbGlnaHQtZ3JheTtcbiRjb2xvci1ib3JkZXItbmV1dHJhbDogICAkYy1saWdodC1ncmF5O1xuJGNvbG9yLWJvcmRlci1saWdodDogICAgICRjLWxpZ2h0ZXItZ3JheTtcbiRjb2xvci1iYWNrZ3JvdW5kLXNoYWRlOiAjZThlOGU0O1xuJGMtc2hvcC1idXR0b24tcHJpbWFyeTogIzAyODU3ZDtcbiRjLXNob3AtYnV0dG9uLXByaW1hcnktaG92ZXI6ICMwNDY0NjA7XG5cbiRwb3R0ZXJtb3JlUGFsZXR0ZTogKFxuICAgICAgICBwcmltYXJ5OiAkcGFsZXR0ZS1wb3R0ZXJtb3JlLXByaW1hcnksXG4gICAgICAgIHNlY29uZGFyeTogJHBhbGV0dGUtcG90dGVybW9yZS1zZWNvbmRhcnksXG4gICAgICAgIGFjY2VudDogJHBhbGV0dGUtcG90dGVybW9yZS1hY2NlbnQsXG4gICAgICAgIGJhc2U6ICRwYWxldHRlLXBvdHRlcm1vcmUtYmFzZVxuKTtcblxuJGlsdmVybW9ybnlQYWxldHRlOiAoXG4gICAgICAgIHByaW1hcnk6ICM4YjBlMDAsXG4gICAgICAgIHNlY29uZGFyeTogIzAzNjk4MyxcbiAgICAgICAgYWNjZW50OiAjNGY2MDY1LFxuICAgICAgICBiYXNlOiAjZTJkNWQ1XG4pO1xuXG4kcGF0cm9udXNQYWxldHRlOiAoXG4gICAgcHJpbWFyeTogIzEzMjgzQSxcbiAgICBzZWNvbmRhcnk6ICM0NjU4NjMsXG4gICAgYWNjZW50OiAjZmZmZmZmXG4pO1xuXG4kYm9va0NsdWJQYWxldHRlOiAoXG4gICAgICAgIHByaW1hcnk6ICM2RkJFQTAsXG4gICAgICAgIHNlY29uZGFyeTogIzJFODI2QSxcbiAgICAgICAgYWNjZW50OiAjZmZmLFxuICAgICAgICBiYXNlOiAjZmZmXG4pO1xuXG4kd2l6YXJkaW5nV29ybGRQYWxldHRlOiAgKFxuICAgIHByaW1hcnk6ICMwMDNlNTEsXG4gICAgc2Vjb25kYXJ5OiAjMDAyYjM5LFxuICAgIGFjY2VudDogIzA5NWQ2NyxcbiAgICBiYXNlOiAjMDc0YzVlXG4pO1xuXG4kcGFsZXR0ZXM6IChcbiAgICAgICAgZGVmYXVsdDogJHBvdHRlcm1vcmVQYWxldHRlLFxuICAgICAgICBwb3R0ZXJtb3JlOiAkcG90dGVybW9yZVBhbGV0dGUsXG4gICAgICAgIGlsdmVybW9ybnk6ICRpbHZlcm1vcm55UGFsZXR0ZSxcbiAgICAgICAgYm9va0NsdWI6ICRib29rQ2x1YlBhbGV0dGUsXG4gICAgICAgIHdpemFyZGluZy13b3JsZDogJHdpemFyZGluZ1dvcmxkUGFsZXR0ZSxcbiAgICAgICAgYWNhZGVtaWMtbWFnaWM6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMzMyNTQ5LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzZlNDQ3YyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMzODU2NmEsXG4gICAgICAgICAgICAgICAgYmFzZTogI2U4ZTdmMFxuICAgICAgICApLFxuICAgICAgICBhdWJ1cm46IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZmY4MDAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2I2MzkwMyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMDgzNzYsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RmZWVlYVxuICAgICAgICApLFxuICAgICAgICBiYXR0bGV3b3JuOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzY0NTg1MCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM3NDNhMzIsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjOTk2ZTAwLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgYmF0LXdpbmctaGF0OiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwMTQwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM1MTFlNjMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDc1MTU1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlZWVkZWZcbiAgICAgICAgKSxcbiAgICAgICAgYmxldTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM5YmIzZDYsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDA0ZTgwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzIyMjU0YSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZTFlYWYwXG4gICAgICAgICksXG4gICAgICAgIGJ1cm50LW1ldGFsOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2ZjYwMzksXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDc1MTU1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmM2YxZWVcbiAgICAgICAgKSxcbiAgICAgICAgY29sZC1mZWF0aGVyOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2NlY2RkMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjYWM1OTA1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlZWVkZWZcbiAgICAgICAgKSxcbiAgICAgICAgY2hpbGx5LW1pc3Q6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzJjMzczZSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM2ZjZiNzQsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YzZjFlZVxuICAgICAgICApLFxuICAgICAgICBjb2xkLXN0b25lOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzlkOWFhMSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMTMyODNhLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlZWVkZWZcbiAgICAgICAgKSxcbiAgICAgICAgY3Vyc2U6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDI4NDM1LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwNTQxNixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMjQ0NGEsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RkZWJkY1xuICAgICAgICApLFxuICAgICAgICBjdXJzZWQtY2hpbGQ6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZWZhYzIwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzgzNTgwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMzMzMzMzMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ViZTJjZFxuICAgICAgICApLFxuICAgICAgICBkYXJrLW1hZ2ljOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwM2UwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMDU0MTYsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMDI4NDM1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgZGVhdGhlYXRlcjogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICMwMDI0MjEsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDA1NDE2LFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzAyODQzNSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZGRlYmRjXG4gICAgICAgICksXG4gICAgICAgIGRlYXRobHktd2F0ZXI6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMTMyODNhLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAyNDQ0YSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMDgzNzYsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RmZWVlYVxuICAgICAgICApLFxuICAgICAgICBkaXZhLWJsdWU6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNjJhZGJmLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzEzMjgzYSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2UxZWFmMFxuICAgICAgICApLFxuICAgICAgICBlbGY6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZGNjN2I3LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzlhNGEwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICNiNDg1NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YyZTdkZFxuICAgICAgICApLFxuICAgICAgICBlbWVyYWxkLXRpbGVzOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwM2UwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMjg0MzUsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgZXhwZWxsaWFybXVzOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2QzMDAwNCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICNhODAwMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNmYwMDAwLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmYWVjZWRcbiAgICAgICAgKSxcbiAgICAgICAgZmFudGFzdGljLWJlYXN0czogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDA1NTZiLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzIyMjIyOCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZWJlMmNkXG4gICAgICAgICksXG4gICAgICAgIGZhd2tlczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNiNzM4MDMsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYTgwMDAwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2UyNzEwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIGZpcmUtYm9sdDogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM3NDNhMzIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYjYzOTAzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2NjNGIxOCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIGZpcmVkLWVhcnRoOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2FjNTkwNSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICNiNjM5MDMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNjEzNDAwLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgZmlyZW56ZTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM2NDU4NTAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjZjhkM2FjLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzJmMmEyNixcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIGZsYW1ib3lhbnQtbWFnaWM6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNjczMjhmLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzUwMWU2MyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM3NTYyMjgsXG4gICAgICAgICAgICAgICAgYmFzZTogI2U4ZTdmMFxuICAgICAgICApLFxuICAgICAgICBmbHVmZnktcGluazogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNkZDg4OWYsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjODIwMDQyLFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2E1Mjc1NyxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmFlY2VkXG4gICAgICAgICksXG4gICAgICAgIGZvb2xzLXBsYXk6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZmY3ZDIwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2I2MzkwMyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICNlNDU1MWUsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZmZjVlY1xuICAgICAgICApLFxuICAgICAgICBmb3Jlc3QtbW9zczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM1NTVmMzQsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjODFhNDAwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzM3NDYwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZThlYmRjXG4gICAgICAgICksXG4gICAgICAgIGZvcmdlZC1zdGVlbDogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNjZWNkZDIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDAyNDIxLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzhkMDAwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZWVlZGVmXG4gICAgICAgICksXG4gICAgICAgIGdvYnN0b25lOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2I0YjhiMyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM5NWM1M2EsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMDI4NDM1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmM2YzZjJcbiAgICAgICAgKSxcbiAgICAgICAgZ29sZDogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYzA5NzVhLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzgwNTYwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIGdyeWZmaW5kb3I6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjOGQwMDAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2QzMDAwNCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM4MDU2MDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZmZjVlY1xuICAgICAgICApLFxuICAgICAgICBodWZmbGVwdWZmOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2YyYjgwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMzMzMzMzLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgaWdub2JsZS1tYWdpYzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICMwMDNlMDAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDA1NDE2LFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzAyODQzNSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZGRlYmRjXG4gICAgICAgICksXG4gICAgICAgIGppbng6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjOTdjODg2LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwNTQxNixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMjg0MzUsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RkZWJkY1xuICAgICAgICApLFxuICAgICAgICBsaW1lLWdyZWVuOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzk1YzUzYSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMjg0MzUsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgbGl2aW5nLWRlYWQ6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDAxNDAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzhkMDAwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMzMzMzMzMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2VlZWRlZlxuICAgICAgICApLFxuICAgICAgICBsaXZpbmctd2F0ZXI6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjYTJjZGM1LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzEzMjgzYSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMDgzNzYsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RmZWVlYVxuICAgICAgICApLFxuICAgICAgICBsaXphcmQtZ3JlZW46IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDI5ZDM1LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwM2UwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM5NWQ1M2EsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RkZWJkY1xuICAgICAgICApLFxuICAgICAgICBtYXAtcGFyY2htZW50OiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2UzYmY5NSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM4ZDAwMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjYzA5NzVhLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgbWludC1pY2VjcmVhbTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM3MWQzYjEsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjZmZlMDlmLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzMwOWI3NSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIG1vb25saWdodC1mdXI6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNDc1MDU1LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2VlZWRlZlxuICAgICAgICApLFxuICAgICAgICBtdWdnbGUtYmllZ2U6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZmZkMmI2LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2ZmYTM2YSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICNmMjk3NWEsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZmZjVlY1xuICAgICAgICApLFxuICAgICAgICBteXN0aWMtcmVkOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2QzMDAwNSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2ZjAwMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjYWMxNjJjLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmYWVjZWRcbiAgICAgICAgKSxcbiAgICAgICAgbmV3c3BhcGVyLXBhcmNobWVudDogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNlM2MwOTUsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDAwZTAwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzY0NTg1MCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIG5vYmxlLW1hZ2ljOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzUwMWU2MyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM4ODcyYjAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMjkwZjMyLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlOGU3ZjBcbiAgICAgICAgKSxcbiAgICAgICAgbm9yZGljLWJsb29kOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2E4MDAwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2MTM0MDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjZDMwMDA1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgcGxheWZ1bC1tYWdpYzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM4ODcyYjAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNTAxZTYzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzI5MGYzMixcbiAgICAgICAgICAgICAgICBiYXNlOiAjZThlN2YwXG4gICAgICAgICksXG4gICAgICAgIHBvd2Rlci1ibHVlOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2FlYzFkZSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMzZDU3OWUsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMjIyNTRhLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlMGU5ZWZcbiAgICAgICAgKSxcbiAgICAgICAgcHJvdGVnbzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNjMDk3NWEsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNzU2MjI4LFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzQ3M2MxOCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIHB1bmt5LXBpbms6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjYTUyNzU3LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzgyMDA0MixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0MTAwMjEsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZhZWNlZFxuICAgICAgICApLFxuICAgICAgICBwdXRyaWQtZ3JleTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNiNGI4YjMsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNDc1MDU1LFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZWVlZGVmXG4gICAgICAgICksXG4gICAgICAgIHJhdmVuY2xhdzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICMwMDRlODAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMjIyNTRhLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzlhNGEwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZTBlOWVmXG4gICAgICAgICksXG4gICAgICAgIHJlZC1lbnZlbG9wZTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNkMzAwMDQsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjZTNiZjk1LFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2E4MDAwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIHJ1c3R5LXNjYWxlczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM5YTRhMDAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYjYzOTAzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2YyOTc1YSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIHNjb3R0aXNoLWJsdWU6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMjIyNTRhLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAyNDQ0YSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2UwZTllZlxuICAgICAgICApLFxuICAgICAgICBzaWx2ZXItZ3VhcmRpYW46IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZTFlYWYwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2I0YjhiMyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2VlZWRlZlxuICAgICAgICApLFxuICAgICAgICBzaGVsbC1jb3R0YWdlOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2ZmZTA5ZixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICNhZjkyMWIsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjODA1NjAwLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY2ZGFcbiAgICAgICAgKSxcbiAgICAgICAgc2x5dGhlcmluOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwNTQxNixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMDNlMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNzI2Yzc4LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgc25hcGU6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDAzZTAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwMjQyMSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMjg0MzUsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RkZWJkY1xuICAgICAgICApLFxuICAgICAgICBzb2lsLWFuZC1zZWVkczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNhYzU5MDUsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYjYzOTAzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzYxMzQwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIHNvb3R5LWJyaWNrczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICMyMDIxMTgsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzAyNDQ0YSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZThlN2YwXG4gICAgICAgICksXG4gICAgICAgIHNvcnRpbmctaGF0OiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzc0NWQ0MixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM0NDI0MDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNmI1NDNkLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgc3Bpcml0czogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNjN2Q4ZTIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzYyYWRiZixcbiAgICAgICAgICAgICAgICBiYXNlOiAjZTFlYWYwXG4gICAgICAgICksXG4gICAgICAgIHN0ZWFtLXRyYWluOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2FjMTYyYyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2ZjAwMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjZDMwMDA1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmYWVjZWRcbiAgICAgICAgKSxcbiAgICAgICAgc3R1cGVmeTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNkMzAwMDQsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYTgwMDAwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzZmMDAwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmFlY2VkXG4gICAgICAgICksXG4gICAgICAgIHN1aXQtb2YtYXJtb3VyOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2NlY2RkMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2YzZkNzMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDc1MTU1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlZWVkZWZcbiAgICAgICAgKSxcbiAgICAgICAgdW5mb3JnaXZhYmxlOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwMmQwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMDNlMzMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMDI4NDM1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgdm9sZGVtb3J0OiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwMDUwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMDJkMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMDA1NDE2LFxuICAgICAgICAgICAgICAgIGJhc2U6ICMwMDFlMDBcbiAgICAgICAgKSxcbiAgICAgICAgd2FuZHM6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNzU2MjI4LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YyZTdkZFxuICAgICAgICApLFxuICAgICAgICB3YW5kLXdvb2Q6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNzU2MjI4LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YyZTdkZFxuICAgICAgICApLFxuICAgICAgICB3YW50ZWQ6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDAwMDAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzY0NTg1MCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM3NTYyMjgsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YyZTdkZFxuICAgICAgICApLFxuICAgICAgICB3YXJtLWNvYXQ6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNjQ1ODUwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2NlY2RkMixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM2MTM0MDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2VlZWRlZlxuICAgICAgICApLFxuICAgICAgICB3YXJtLWVhcnRoOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2FjNTkwNSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2MTM0MDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjZjI5NzVhLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgd2FybS1mZWF0aGVyOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2Q5ZDNjYixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM5ZDlhYTEsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDc1MDU1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmM2YxZWVcbiAgICAgICAgKSxcbiAgICAgICAgd2lzZS1tYWdpYzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM3ODNmNzksXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNTAxZTYzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzI5MGYzMixcbiAgICAgICAgICAgICAgICBiYXNlOiAjZThlN2YwXG4gICAgICAgICksXG4gICAgICAgIHdpc2VseS13aGltc2ljYWw6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjYTQ5Y2MwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzc4M2Y3OSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM1MDFlNjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2U4ZTdmMFxuICAgICAgICApLFxuICAgICAgICB5ZWxsb3ctYnJpY2s6XG4gICAgICAgIChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZTZjYjYwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2FmOTIxYixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM4MDU2MDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZmZjZkYVxuICAgICAgICApLFxuXG4gICAgICAgIC8vIFVudGhlbWVkLCB1c2VkIGZvciBncmV5IGJhY2tkcm9wcy4gaWUgb3ZlcmxheXNcbiAgICAgICAgdW50aGVtZWQ6XG4gICAgICAgIChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZThlOGU0LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2U4ZThlNCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NzUwNTUsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YzZjFlZVxuICAgICAgICApXG4pO1xuIiwiJGxhcmdlLW1pbi13aWR0aDogNzY4cHg7XG4kbWVkaXVtLW1pbi13aWR0aDogNDgxcHg7XG5cbkBmdW5jdGlvbiB0by1zY2FsZSgkb3JpZ2luYWwpIHtcbiAgJHNjYWxlOiAwLjc1O1xuICBAcmV0dXJuIGNhbGMoI3skb3JpZ2luYWx9ICogI3skc2NhbGV9KTtcbn1cblxuJHNtYWxsZXN0OiAgIDMyMXB4O1xuJHNtYWxsOiAgICAgIDQ4MXB4O1xuJG1lZGl1bTogICAgIDc2OHB4O1xuJGxhcmdlOiAgICAgIDk5MnB4O1xuJGh1Z2U6ICAgICAgIDEyMDBweDtcbiRlbm9ybW91czogICAxNDUwcHg7XG4kcmlkaWN1bG91czogMTYwMHB4O1xuXG4vLyBDb25zdGFudHMgdXNlZCBpbiBzaG9wIHRoZW1lXG4kbmV4dXM6IDQxMnB4O1xuJGlwaG9uZVBsdXM6IDQxNHB4O1xuJGlwaG9uZTY6IDM3NXB4O1xuJHM1OiAzNjBweDtcblxuLy8gVG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLyAoSUUgPD0gOCwgRmlyZWZveCA8PSAzLCBPcGVyYSA8PSA5KSBzZXQgJG1xLXJlc3BvbnNpdmUgdG8gZmFsc2Vcbi8vIENyZWF0ZSBhIHNlcGFyYXRlIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIHRoZXNlIGJyb3dzZXJzLFxuLy8gbWVhbmluZyBAbWVkaWEgcXVlcmllcyB3aWxsIGJlIHJhc3Rlcml6ZWQsIHJlbHlpbmcgb24gdGhlIGNhc2NhZGUgaXRzZWxmXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZTtcblxuJG1xLWJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsZXN0OiAgICAgICAkc21hbGxlc3QsXG4gIHNtYWxsOiAgICAgICAgICAkc21hbGwsXG4gIG1lZGl1bTogICAgICAgICAkbWVkaXVtLFxuICBtZWRpdW0tcm90YXRlZDogJG1lZGl1bSxcbiAgbGFyZ2U6ICAgICAgICAgICRsYXJnZSxcbiAgaHVnZTogICAgICAgICAgICRodWdlLFxuICBlbm9ybW91czogICAgICAgJGVub3Jtb3VzLFxuICByaWRpY3Vsb3VzOiAgICAgJHJpZGljdWxvdXNcbik7XG5cbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogbGFyZ2U7XG5cbkBpbXBvcnQgJ3Nhc3MtbXEvbXEnO1xuIiwiJGMtZGVmYXVsdC1wcmltYXJ5OiAgICM4MTAwNDE7XG4kYy1kZWZhdWx0LXNlY29uZGFyeTogIzQxMDAyMTtcbiRjLWRlZmF1bHQtYWNjZW50OiAgICAjYTAwMDU2O1xuJGMtZGVmYXVsdC1iYXNlOiAgICAgICNmZmY1ZWM7XG5cbiRjLXdoaXRlOiAgICAgICNmZmY7XG4kYy1kYXJrLWdyYXk6ICAjMzMzO1xuJGMtbGlnaHQtZ3JheTogI2FjYWNhYztcbiRjLWxpZ2h0ZXItZ3JheTogI2UwZTBlMDtcblxuJHBhbGV0dGUtcG90dGVybW9yZS1wcmltYXJ5OiAgICRjLWRlZmF1bHQtcHJpbWFyeTtcbiRwYWxldHRlLXBvdHRlcm1vcmUtc2Vjb25kYXJ5OiAkYy1kZWZhdWx0LXNlY29uZGFyeTtcbiRwYWxldHRlLXBvdHRlcm1vcmUtYWNjZW50OiAgICAkYy1kZWZhdWx0LWFjY2VudDtcbiRwYWxldHRlLXBvdHRlcm1vcmUtYmFzZTogICAgICAkYy1kZWZhdWx0LWJhc2U7XG5cbiRjb2xvci10ZXh0OiAgICAgICAgICAgICAkYy1kYXJrLWdyYXk7XG4kY29sb3ItdGV4dC1pbnZlcnQ6ICAgICAgJGMtd2hpdGU7XG4kY29sb3Itc3VidGl0bGU6ICAgICAgICAgJGMtbGlnaHQtZ3JheTtcbiRjb2xvci1ib3JkZXItbmV1dHJhbDogICAkYy1saWdodC1ncmF5O1xuJGNvbG9yLWJvcmRlci1saWdodDogICAgICRjLWxpZ2h0ZXItZ3JheTtcbiRjb2xvci1iYWNrZ3JvdW5kLXNoYWRlOiAjZThlOGU0O1xuJGMtc2hvcC1idXR0b24tcHJpbWFyeTogIzAyODU3ZDtcbiRjLXNob3AtYnV0dG9uLXByaW1hcnktaG92ZXI6ICMwNDY0NjA7XG5cbiRwb3R0ZXJtb3JlUGFsZXR0ZTogKFxuICAgICAgICBwcmltYXJ5OiAkcGFsZXR0ZS1wb3R0ZXJtb3JlLXByaW1hcnksXG4gICAgICAgIHNlY29uZGFyeTogJHBhbGV0dGUtcG90dGVybW9yZS1zZWNvbmRhcnksXG4gICAgICAgIGFjY2VudDogJHBhbGV0dGUtcG90dGVybW9yZS1hY2NlbnQsXG4gICAgICAgIGJhc2U6ICRwYWxldHRlLXBvdHRlcm1vcmUtYmFzZVxuKTtcblxuJGlsdmVybW9ybnlQYWxldHRlOiAoXG4gICAgICAgIHByaW1hcnk6ICM4YjBlMDAsXG4gICAgICAgIHNlY29uZGFyeTogIzAzNjk4MyxcbiAgICAgICAgYWNjZW50OiAjNGY2MDY1LFxuICAgICAgICBiYXNlOiAjZTJkNWQ1XG4pO1xuXG4kcGF0cm9udXNQYWxldHRlOiAoXG4gICAgcHJpbWFyeTogIzEzMjgzQSxcbiAgICBzZWNvbmRhcnk6ICM0NjU4NjMsXG4gICAgYWNjZW50OiAjZmZmZmZmXG4pO1xuXG4kYm9va0NsdWJQYWxldHRlOiAoXG4gICAgICAgIHByaW1hcnk6ICM2RkJFQTAsXG4gICAgICAgIHNlY29uZGFyeTogIzJFODI2QSxcbiAgICAgICAgYWNjZW50OiAjZmZmLFxuICAgICAgICBiYXNlOiAjZmZmXG4pO1xuXG4kd2l6YXJkaW5nV29ybGRQYWxldHRlOiAgKFxuICAgIHByaW1hcnk6ICMwMDNlNTEsXG4gICAgc2Vjb25kYXJ5OiAjMDAyYjM5LFxuICAgIGFjY2VudDogIzA5NWQ2NyxcbiAgICBiYXNlOiAjMDc0YzVlXG4pO1xuXG4kcGFsZXR0ZXM6IChcbiAgICAgICAgZGVmYXVsdDogJHBvdHRlcm1vcmVQYWxldHRlLFxuICAgICAgICBwb3R0ZXJtb3JlOiAkcG90dGVybW9yZVBhbGV0dGUsXG4gICAgICAgIGlsdmVybW9ybnk6ICRpbHZlcm1vcm55UGFsZXR0ZSxcbiAgICAgICAgYm9va0NsdWI6ICRib29rQ2x1YlBhbGV0dGUsXG4gICAgICAgIHdpemFyZGluZy13b3JsZDogJHdpemFyZGluZ1dvcmxkUGFsZXR0ZSxcbiAgICAgICAgYWNhZGVtaWMtbWFnaWM6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMzMyNTQ5LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzZlNDQ3YyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMzODU2NmEsXG4gICAgICAgICAgICAgICAgYmFzZTogI2U4ZTdmMFxuICAgICAgICApLFxuICAgICAgICBhdWJ1cm46IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZmY4MDAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2I2MzkwMyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMDgzNzYsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RmZWVlYVxuICAgICAgICApLFxuICAgICAgICBiYXR0bGV3b3JuOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzY0NTg1MCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM3NDNhMzIsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjOTk2ZTAwLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgYmF0LXdpbmctaGF0OiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwMTQwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM1MTFlNjMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDc1MTU1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlZWVkZWZcbiAgICAgICAgKSxcbiAgICAgICAgYmxldTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM5YmIzZDYsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDA0ZTgwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzIyMjU0YSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZTFlYWYwXG4gICAgICAgICksXG4gICAgICAgIGJ1cm50LW1ldGFsOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2ZjYwMzksXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDc1MTU1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmM2YxZWVcbiAgICAgICAgKSxcbiAgICAgICAgY29sZC1mZWF0aGVyOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2NlY2RkMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjYWM1OTA1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlZWVkZWZcbiAgICAgICAgKSxcbiAgICAgICAgY2hpbGx5LW1pc3Q6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzJjMzczZSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM2ZjZiNzQsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YzZjFlZVxuICAgICAgICApLFxuICAgICAgICBjb2xkLXN0b25lOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzlkOWFhMSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMTMyODNhLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlZWVkZWZcbiAgICAgICAgKSxcbiAgICAgICAgY3Vyc2U6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDI4NDM1LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwNTQxNixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMjQ0NGEsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RkZWJkY1xuICAgICAgICApLFxuICAgICAgICBjdXJzZWQtY2hpbGQ6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZWZhYzIwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzgzNTgwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMzMzMzMzMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ViZTJjZFxuICAgICAgICApLFxuICAgICAgICBkYXJrLW1hZ2ljOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwM2UwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMDU0MTYsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMDI4NDM1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgZGVhdGhlYXRlcjogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICMwMDI0MjEsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDA1NDE2LFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzAyODQzNSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZGRlYmRjXG4gICAgICAgICksXG4gICAgICAgIGRlYXRobHktd2F0ZXI6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMTMyODNhLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAyNDQ0YSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMDgzNzYsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RmZWVlYVxuICAgICAgICApLFxuICAgICAgICBkaXZhLWJsdWU6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNjJhZGJmLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzEzMjgzYSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2UxZWFmMFxuICAgICAgICApLFxuICAgICAgICBlbGY6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZGNjN2I3LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzlhNGEwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICNiNDg1NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YyZTdkZFxuICAgICAgICApLFxuICAgICAgICBlbWVyYWxkLXRpbGVzOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwM2UwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMjg0MzUsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgZXhwZWxsaWFybXVzOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2QzMDAwNCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICNhODAwMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNmYwMDAwLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmYWVjZWRcbiAgICAgICAgKSxcbiAgICAgICAgZmFudGFzdGljLWJlYXN0czogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDA1NTZiLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzIyMjIyOCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZWJlMmNkXG4gICAgICAgICksXG4gICAgICAgIGZhd2tlczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNiNzM4MDMsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYTgwMDAwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2UyNzEwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIGZpcmUtYm9sdDogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM3NDNhMzIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYjYzOTAzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2NjNGIxOCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIGZpcmVkLWVhcnRoOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2FjNTkwNSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICNiNjM5MDMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNjEzNDAwLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgZmlyZW56ZTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM2NDU4NTAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjZjhkM2FjLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzJmMmEyNixcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIGZsYW1ib3lhbnQtbWFnaWM6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNjczMjhmLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzUwMWU2MyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM3NTYyMjgsXG4gICAgICAgICAgICAgICAgYmFzZTogI2U4ZTdmMFxuICAgICAgICApLFxuICAgICAgICBmbHVmZnktcGluazogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNkZDg4OWYsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjODIwMDQyLFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2E1Mjc1NyxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmFlY2VkXG4gICAgICAgICksXG4gICAgICAgIGZvb2xzLXBsYXk6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZmY3ZDIwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2I2MzkwMyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICNlNDU1MWUsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZmZjVlY1xuICAgICAgICApLFxuICAgICAgICBmb3Jlc3QtbW9zczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM1NTVmMzQsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjODFhNDAwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzM3NDYwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZThlYmRjXG4gICAgICAgICksXG4gICAgICAgIGZvcmdlZC1zdGVlbDogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNjZWNkZDIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDAyNDIxLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzhkMDAwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZWVlZGVmXG4gICAgICAgICksXG4gICAgICAgIGdvYnN0b25lOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2I0YjhiMyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM5NWM1M2EsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMDI4NDM1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmM2YzZjJcbiAgICAgICAgKSxcbiAgICAgICAgZ29sZDogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYzA5NzVhLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzgwNTYwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIGdyeWZmaW5kb3I6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjOGQwMDAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2QzMDAwNCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM4MDU2MDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZmZjVlY1xuICAgICAgICApLFxuICAgICAgICBodWZmbGVwdWZmOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2YyYjgwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMzMzMzMzLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgaWdub2JsZS1tYWdpYzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICMwMDNlMDAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDA1NDE2LFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzAyODQzNSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZGRlYmRjXG4gICAgICAgICksXG4gICAgICAgIGppbng6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjOTdjODg2LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwNTQxNixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMjg0MzUsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RkZWJkY1xuICAgICAgICApLFxuICAgICAgICBsaW1lLWdyZWVuOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzk1YzUzYSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMjg0MzUsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgbGl2aW5nLWRlYWQ6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDAxNDAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzhkMDAwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMzMzMzMzMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2VlZWRlZlxuICAgICAgICApLFxuICAgICAgICBsaXZpbmctd2F0ZXI6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjYTJjZGM1LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzEzMjgzYSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMDgzNzYsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RmZWVlYVxuICAgICAgICApLFxuICAgICAgICBsaXphcmQtZ3JlZW46IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDI5ZDM1LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwM2UwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM5NWQ1M2EsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RkZWJkY1xuICAgICAgICApLFxuICAgICAgICBtYXAtcGFyY2htZW50OiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2UzYmY5NSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM4ZDAwMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjYzA5NzVhLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgbWludC1pY2VjcmVhbTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM3MWQzYjEsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjZmZlMDlmLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzMwOWI3NSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIG1vb25saWdodC1mdXI6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNDc1MDU1LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2VlZWRlZlxuICAgICAgICApLFxuICAgICAgICBtdWdnbGUtYmllZ2U6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZmZkMmI2LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2ZmYTM2YSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICNmMjk3NWEsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZmZjVlY1xuICAgICAgICApLFxuICAgICAgICBteXN0aWMtcmVkOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2QzMDAwNSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2ZjAwMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjYWMxNjJjLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmYWVjZWRcbiAgICAgICAgKSxcbiAgICAgICAgbmV3c3BhcGVyLXBhcmNobWVudDogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNlM2MwOTUsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMDAwZTAwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzY0NTg1MCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIG5vYmxlLW1hZ2ljOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzUwMWU2MyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM4ODcyYjAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMjkwZjMyLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlOGU3ZjBcbiAgICAgICAgKSxcbiAgICAgICAgbm9yZGljLWJsb29kOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2E4MDAwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2MTM0MDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjZDMwMDA1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgcGxheWZ1bC1tYWdpYzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM4ODcyYjAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNTAxZTYzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzI5MGYzMixcbiAgICAgICAgICAgICAgICBiYXNlOiAjZThlN2YwXG4gICAgICAgICksXG4gICAgICAgIHBvd2Rlci1ibHVlOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2FlYzFkZSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMzZDU3OWUsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMjIyNTRhLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlMGU5ZWZcbiAgICAgICAgKSxcbiAgICAgICAgcHJvdGVnbzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNjMDk3NWEsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNzU2MjI4LFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzQ3M2MxOCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIHB1bmt5LXBpbms6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjYTUyNzU3LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzgyMDA0MixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0MTAwMjEsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZhZWNlZFxuICAgICAgICApLFxuICAgICAgICBwdXRyaWQtZ3JleTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNiNGI4YjMsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNDc1MDU1LFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZWVlZGVmXG4gICAgICAgICksXG4gICAgICAgIHJhdmVuY2xhdzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICMwMDRlODAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjMjIyNTRhLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzlhNGEwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZTBlOWVmXG4gICAgICAgICksXG4gICAgICAgIHJlZC1lbnZlbG9wZTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNkMzAwMDQsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjZTNiZjk1LFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2E4MDAwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIHJ1c3R5LXNjYWxlczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM5YTRhMDAsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYjYzOTAzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogI2YyOTc1YSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIHNjb3R0aXNoLWJsdWU6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMjIyNTRhLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAyNDQ0YSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2UwZTllZlxuICAgICAgICApLFxuICAgICAgICBzaWx2ZXItZ3VhcmRpYW46IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZTFlYWYwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2I0YjhiMyxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NjU4NjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2VlZWRlZlxuICAgICAgICApLFxuICAgICAgICBzaGVsbC1jb3R0YWdlOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2ZmZTA5ZixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICNhZjkyMWIsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjODA1NjAwLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY2ZGFcbiAgICAgICAgKSxcbiAgICAgICAgc2x5dGhlcmluOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwNTQxNixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMDNlMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNzI2Yzc4LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgc25hcGU6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDAzZTAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwMjQyMSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICMwMjg0MzUsXG4gICAgICAgICAgICAgICAgYmFzZTogI2RkZWJkY1xuICAgICAgICApLFxuICAgICAgICBzb2lsLWFuZC1zZWVkczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNhYzU5MDUsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYjYzOTAzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzYxMzQwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmZmNWVjXG4gICAgICAgICksXG4gICAgICAgIHNvb3R5LWJyaWNrczogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICMyMDIxMTgsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzAyNDQ0YSxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZThlN2YwXG4gICAgICAgICksXG4gICAgICAgIHNvcnRpbmctaGF0OiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzc0NWQ0MixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM0NDI0MDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNmI1NDNkLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgc3Bpcml0czogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNjN2Q4ZTIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNDY1ODYzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzYyYWRiZixcbiAgICAgICAgICAgICAgICBiYXNlOiAjZTFlYWYwXG4gICAgICAgICksXG4gICAgICAgIHN0ZWFtLXRyYWluOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2FjMTYyYyxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2ZjAwMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjZDMwMDA1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmYWVjZWRcbiAgICAgICAgKSxcbiAgICAgICAgc3R1cGVmeTogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICNkMzAwMDQsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjYTgwMDAwLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzZmMDAwMCxcbiAgICAgICAgICAgICAgICBiYXNlOiAjZmFlY2VkXG4gICAgICAgICksXG4gICAgICAgIHN1aXQtb2YtYXJtb3VyOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2NlY2RkMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2YzZkNzMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDc1MTU1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNlZWVkZWZcbiAgICAgICAgKSxcbiAgICAgICAgdW5mb3JnaXZhYmxlOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwMmQwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMDNlMzMsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMDI4NDM1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNkZGViZGNcbiAgICAgICAgKSxcbiAgICAgICAgdm9sZGVtb3J0OiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogIzAwMDUwMCxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICMwMDJkMDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjMDA1NDE2LFxuICAgICAgICAgICAgICAgIGJhc2U6ICMwMDFlMDBcbiAgICAgICAgKSxcbiAgICAgICAgd2FuZHM6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNzU2MjI4LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YyZTdkZFxuICAgICAgICApLFxuICAgICAgICB3YW5kLXdvb2Q6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNzU2MjI4LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzAwMGUwMCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM5OTZlMDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YyZTdkZFxuICAgICAgICApLFxuICAgICAgICB3YW50ZWQ6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjMDAwMDAwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzY0NTg1MCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM3NTYyMjgsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YyZTdkZFxuICAgICAgICApLFxuICAgICAgICB3YXJtLWNvYXQ6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjNjQ1ODUwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2NlY2RkMixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM2MTM0MDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2VlZWRlZlxuICAgICAgICApLFxuICAgICAgICB3YXJtLWVhcnRoOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2FjNTkwNSxcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM2MTM0MDAsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjZjI5NzVhLFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmZmY1ZWNcbiAgICAgICAgKSxcbiAgICAgICAgd2FybS1mZWF0aGVyOiAoXG4gICAgICAgICAgICAgICAgcHJpbWFyeTogI2Q5ZDNjYixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnk6ICM5ZDlhYTEsXG4gICAgICAgICAgICAgICAgYWNjZW50OiAjNDc1MDU1LFxuICAgICAgICAgICAgICAgIGJhc2U6ICNmM2YxZWVcbiAgICAgICAgKSxcbiAgICAgICAgd2lzZS1tYWdpYzogKFxuICAgICAgICAgICAgICAgIHByaW1hcnk6ICM3ODNmNzksXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiAjNTAxZTYzLFxuICAgICAgICAgICAgICAgIGFjY2VudDogIzI5MGYzMixcbiAgICAgICAgICAgICAgICBiYXNlOiAjZThlN2YwXG4gICAgICAgICksXG4gICAgICAgIHdpc2VseS13aGltc2ljYWw6IChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjYTQ5Y2MwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogIzc4M2Y3OSxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM1MDFlNjMsXG4gICAgICAgICAgICAgICAgYmFzZTogI2U4ZTdmMFxuICAgICAgICApLFxuICAgICAgICB5ZWxsb3ctYnJpY2s6XG4gICAgICAgIChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZTZjYjYwLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2FmOTIxYixcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM4MDU2MDAsXG4gICAgICAgICAgICAgICAgYmFzZTogI2ZmZjZkYVxuICAgICAgICApLFxuXG4gICAgICAgIC8vIFVudGhlbWVkLCB1c2VkIGZvciBncmV5IGJhY2tkcm9wcy4gaWUgb3ZlcmxheXNcbiAgICAgICAgdW50aGVtZWQ6XG4gICAgICAgIChcbiAgICAgICAgICAgICAgICBwcmltYXJ5OiAjZThlOGU0LFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeTogI2U4ZThlNCxcbiAgICAgICAgICAgICAgICBhY2NlbnQ6ICM0NzUwNTUsXG4gICAgICAgICAgICAgICAgYmFzZTogI2YzZjFlZVxuICAgICAgICApXG4pO1xuIiwiJGljb24tcGF0aDogJy9hc3NldHMvZm9udHMvJyAhZGVmYXVsdDtcblxuQG1peGluIGZvbnQtZmFtaWx5LWljb21vb24ge1xuICAgIGZvbnQtZmFtaWx5OiBpY29tb29uICFpbXBvcnRhbnQ7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogaWNvbW9vbjtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgc3JjOiAgdXJsKCRpY29uLXBhdGggKyAnaWNvbW9vbi12MS43LmVvdD9uaHpyeTEnKTtcbiAgICBzcmM6ICB1cmwoJGljb24tcGF0aCArICdpY29tb29uLXYxLjcuZW90P25oenJ5MSNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJGljb24tcGF0aCArICdpY29tb29uLXYxLjcudHRmP25oenJ5MScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJGljb24tcGF0aCArICdpY29tb29uLXYxLjcud29mZj9uaHpyeTEnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJGljb24tcGF0aCArICdpY29tb29uLXYxLjcuc3ZnP25oenJ5MSNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgIEBpbmNsdWRlIGZvbnQtZmFtaWx5LWljb21vb247XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuODtcblxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cblxuLmljb24tYXdhcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzMlwiO1xufVxuLmljb24tYXdhcmQyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzNcIjtcbn1cbi5pY29uLXNlbGxpbmctZmFzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG4uaWNvbi1leGNsdXNpdmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuLmljb24tbGFzdC1jaGFuY2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xufVxuLmljb24tbGltaXRlZC1lZGl0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzFcIjtcbn1cbi5pY29uLWxvdmVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDNcIjtcbn1cbi5pY29uLW5ldzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG4uaWNvbi1jaGFtYmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbi5pY29uLXN0b25lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cbi5pY29uLWVtYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cbi5pY29uLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDhcIjtcbn1cbi5pY29uLWdvYmxldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG59XG4uaWNvbi1oYWxsb3dzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGFcIjtcbn1cbi5pY29uLXBob2VuaXg6YmVmb3JlLCAuaWNvbi1vcmRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG59XG4uaWNvbi1wcmluY2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwY1wiO1xufVxuLmljb24tcmVhZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBkXCI7XG59XG4uaWNvbi1hemthYmFuOmJlZm9yZSwgLmljb24tcHJpc29uZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xufVxuLmljb24tZGlzY3VzczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBmXCI7XG59XG4uaWNvbi1leGFtaW5lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cbi5pY29uLXNoYXJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWZcIjtcbn1cbi5pY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMVwiO1xufVxuLmljb24tYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMlwiO1xufVxuLmljb24tYmFza2V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTNcIjtcbn1cbi5pY29uLWJpZy1taW51czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE0XCI7XG59XG4uaWNvbi1iaWctcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG59XG4uaWNvbi1idW5kbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNlwiO1xufVxuLmljb24tY2hldnJvbi1kb3duLWluLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG59XG4uaWNvbi1jaGV2cm9uLXVwLWluLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE4XCI7XG59XG4uaWNvbi1jbG9zZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG59XG4uaWNvbi1kaXNjb3ZlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFhXCI7XG59XG4uaWNvbi1kb3duLWFycm93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbn1cbi5pY29uLWRvd24tY2hldnJvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFjXCI7XG59XG4uaWNvbi1leHBhbmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZFwiO1xufVxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZVwiO1xufVxuLmljb24tZnJhbWU6YmVmb3JlLCAuaWNvbi1tb3VudGVkLXByaW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjBcIjtcbn1cbi5pY29uLWdvb2dsZXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyMVwiO1xufVxuLmljb24taW5zdGFncmFtOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjJcIjtcbn1cbi5pY29uLW1pbnVzLWluLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG59XG4uaWNvbi1wYXVzZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI0XCI7XG59XG4uaWNvbi1wbGF5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjVcIjtcbn1cbi5pY29uLXBsdXMtaW4tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjZcIjtcbn1cbi5pY29uLXBvc3RlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI3XCI7XG59XG4uaWNvbi1wcm9maWxlOmJlZm9yZSwgLmljb24tbG9naW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyOFwiO1xufVxuLmljb24tc21hbGwtbGVmdC1jaGV2cm9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cbi5pY29uLXNtYWxsLXJpZ2h0LWNoZXZyb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYVwiO1xufVxuLmljb24tdGhpbi10aWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmJcIjtcbn1cbi5pY29uLXR1bWJscjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJjXCI7XG59XG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmRcIjtcbn1cbi5pY29uLXVwLWNoZXZyb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZVwiO1xufVxuLmljb24tdmlkZW86YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZlwiO1xufVxuLmljb24tdGhpbi10aWNrMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG59XG4uaWNvbi1vcm5hbWVudC0xOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MGFcIjtcbn1cbi5pY29uLW9ybmFtZW50LTI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwYlwiO1xufVxuLmljb24tb3JuYW1lbnQtMzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjBjXCI7XG59XG5cbi5pY29uLWxvZ28td2l6YXJkaW5nLXdvcmxkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzRcIjtcbn1cbi5pY29uLXJvdW5kZWwtd2l6YXJkaW5nLXdvcmxkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzVcIjtcbn1cbi5pY29uLWxvZ28td2l6YXJkaW5nLXdvcmxkLXBvdHRlcm1vcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNlwiO1xufVxuLmljb24tbG9nby13aXphcmRpbmctd29ybGQtd2FuZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XG59XG4uaWNvbi1sb2dvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MDhcIjtcbn1cblxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5ODZcIjtcbn1cblxuLmljb24tbG9nbywgLmljb24tbG9nby13aXphcmRpbmctd29ybGQsIC5pY29uLXJvdW5kZWwtd2l6YXJkaW5nLXdvcmxkLCAuaWNvbi1sb2dvLXdpemFyZGluZy13b3JsZC1wb3R0ZXJtb3JlLCAuaWNvbi1sb2dvLXdpemFyZGluZy13b3JsZC13YW5kIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy9zdHlsZXMvZGV2aWNlLXJlc29sdXRpb25zJztcblxuJHJvYm90b1JlZ3VsYXJGb250U3RhY2s6ICdSb2JvdG8gUmVndWxhcicsIEFyaWFsLCBzYW5zO1xuXG5AbWl4aW4gY2FwdGlvbigkc2l6ZTogMTJweCwgJGxpbmUtaGVpZ2h0OiAxOHB4KSB7XG4gIGZvbnQ6ICN7JHNpemV9LyN7JGxpbmUtaGVpZ2h0fSAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgIGZvbnQtc2l6ZTogJHNpemUgKyAyO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgKyAyO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjVweDtcbiAgfVxufVxuXG4iLCJcbkBtaXhpbiB3aGVuRGlzY292ZXJJc09wZW5XVygpIHtcbiAgICAuaGVhZGVyLS13aXphcmRpbmctd29ybGQgLmhlYWRlcl9fcGFuZS0tZGlzY292ZXIuaXMtb3BlbiAmIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gd2hlbk1lbnVJc09wZW5XVygpIHtcbiAgICAuaGVhZGVyLS13aXphcmRpbmctd29ybGQgLmhlYWRlcl9fcGFuZS0tbmF2aWdhdGlvbi5pcy1vcGVuICYge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvc3R5bGVzL2RldmljZS1yZXNvbHV0aW9ucyc7XG5AaW1wb3J0ICdtaXhpbnMvc3R5bGVzL2Rhcmstb3ItbGlnaHQtdGV4dCc7XG5AaW1wb3J0ICcuLi8uLi9wbS1oZWFkZXIvc3R5bGVzL2NvbW1vbic7XG5cbkBtaXhpbiBidXR0b24tdGhlbWUoJG5hbWUsICRwYWxldHRlLCAkYmFzZSkge1xuXG4gICAgLnRoLSN7JG5hbWV9LC50aC0jeyRuYW1lfS53aXphcmRpbmctd29ybGQtb3ZlcnJpZGVzIHtcblxuICAgICAgICAuZm9ybV9fYnV0dG9uLS1ob2xsb3cge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsICRiYXNlKSk7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCAkYmFzZSkpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsICRiYXNlKSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsICRiYXNlKSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsICRiYXNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGZ1cm5pdHVyZS10aGVtZSgkbmFtZSwgJHBhbGV0dGUpIHtcblxuICAgIC50aC0jeyRuYW1lfSwudGgtI3skbmFtZX0ud2l6YXJkaW5nLXdvcmxkLW92ZXJyaWRlcyB7XG5cbiAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fbWVudSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fbG9nbyBzdmcge1xuICAgICAgICAgICAgZmlsbDogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX2xvZ28gLmhlYWRlcl9fbG9nb19faWNvbi1sb2dvLFxuICAgICAgICAuaWNvbi1sb2dvLXdpemFyZGluZy13b3JsZCB7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX3RvZ2dsZSB7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpLCAkZGFyazogJGNvbG9yLXRleHQsICRsaWdodDogJGNvbG9yLXRleHQtaW52ZXJ0KTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSksICRkYXJrOiAkY29sb3ItdGV4dCwgJGxpZ2h0OiAkY29sb3ItdGV4dC1pbnZlcnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpLCA1JSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgICAgICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyX190b2dnbGUtLWRpc2NvdmVyIHtcbiAgICAgICAgICAgID4gc3ZnIHtcbiAgICAgICAgICAgICAgICBzdHJva2U6IGRhcmstb3ItbGlnaHQobWFwLWdldCgkcGFsZXR0ZSwgc2Vjb25kYXJ5KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSkpO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmstb3ItbGlnaHQobWFwLWdldCgkcGFsZXR0ZSwgc2Vjb25kYXJ5KSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmstb3ItbGlnaHQobWFwLWdldCgkcGFsZXR0ZSwgc2Vjb25kYXJ5KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fdG9nZ2xlLS1uYXZpZ2F0aW9uIHtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXN0aGVhZCwgLnRpbGUge1xuICAgICAgICAgICAgLnBpY3RvZ3JhbSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHByaW1hcnkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5teS1ob3VzZS10cmFpdHMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBwcmltYXJ5KSk7XG4gICAgICAgIH1cblxuICAgICAgICAubWFzdGhlYWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBwcmltYXJ5KSk7XG5cbiAgICAgICAgICAgIC5zb2NpYWwtc2hhcmUgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShpbnZlcnQoZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBwcmltYXJ5KSwgJGRhcms6ICMwMDApKSwgLjIpO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoaW52ZXJ0KGRhcmstb3ItbGlnaHQobWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSksICRkYXJrOiAjMDAwKSksIC40KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc29jaWFsLXNoYXJlLXBhZ2Uge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U4RThFNDtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHByaW1hcnkpKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNnB4O1xuXG4gICAgICAgICAgICAuc29jaWFsLXNoYXJlLS1sYXJnZSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGludmVydChkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHByaW1hcnkpLCAkZGFyazogIzAwMCkpLCAuMik7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShpbnZlcnQoZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBwcmltYXJ5KSwgJGRhcms6ICMwMDApKSwgLjQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zb2NpYWwtc2hhcmUtcGFnZV9faGVhZGluZyB7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOEU4RTQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMzMzNcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5ibG9jay1hbm5vdW5jZW1lbnQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgIC5ob21lLWl0ZW1fX3RpdGxlLFxuICAgICAgICAgICAgICAuaG9tZS1pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH0ubmV4dC1zdGVwX193cmFwcGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgIGNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5leHQtc3RlcF9fYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIGFjY2VudCk7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBhY2NlbnQpKTtcbiAgICAgICAgfVxuICAgICAgICAubmV4dC1zdGVwX19idXR0b246aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKG1hcC1nZXQoJHBhbGV0dGUsIGFjY2VudCksIDEwJSk7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBhY2NlbnQpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtX19idXR0b24tLXRoZW1lIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgY29sb3I6IGRhcmstb3ItbGlnaHQobWFwLWdldCgkcGFsZXR0ZSwgYWNjZW50KSk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSksIDEwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZmlsZV9fY3RhcyB7XG4gICAgICAgICAgICAuZm9ybV9fYnV0dG9uLS1ob2xsb3cge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy13aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm1fX2J1dHRvbi0tdGhlbWUge1xuICAgICAgICAgICAgICAgICY6bm90KC5mb3JtX19idXR0b24tLWhvbGxvdykge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSksIDEwJSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAudGgtcGF0cm9udXMge1xuICAgICAgICAgICAgLnByb2ZpbGVfX2N0YXMge1xuICAgICAgICAgICAgICAgIC5mb3JtX19idXR0b24tLWhvbGxvdyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhdHJvbnVzUGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtX19yb3ctLXRleHQtbGluayB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybV9fcm93LWxpbmstLWludmVydCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLS1zaW1wbGUge1xuICAgICAgICAgICAgLmhlYWRlcl9fbWVudSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtc2hhZGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXJfX2xvZ28gLmhlYWRlcl9fbG9nb19fc3ZnIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvaW1nL2xvZ28tZGFyay5zdmcnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5oZWFkZXItLXdpemFyZGluZy13b3JsZCB7XG5cbiAgICAgICAgICAgICYuaGVhZGVyLS1zaW1wbGUge1xuICAgICAgICAgICAgICAgIC5oZWFkZXJfX2lubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtc2hhZGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnd3LWxvZ29fX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIC53dy1sb2dvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXJfX2lubmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbl9fbGluayB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm92ZXJsYXlfX2JvZHktLW5hdmlnYXRpb24ge1xuXG4gICAgICAgICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbl9fbGluayB7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3RpdmUge1xuICAgICAgICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZWFkZXJfX3RvZ2dsZS0tbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcblxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRoLSN7JG5hbWV9LndpemFyZGluZy13b3JsZC1vdmVycmlkZXMge1xuICAgICAgICAuaGVhZGVyX19wYW5lLS1kZWxldGVBY2NvdW50IHtcbiAgICAgICAgICAgIC5vdmVybGF5IHtcbiAgICAgICAgICAgICAgICAud3ctbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aC11bnRoZW1lZCAuaGVhZGVyLS1maXhlZC5oZWFkZXItLXdpemFyZGluZy13b3JsZCAud3ctbG9nbyB7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgIH1cbiAgICAudGgtdW50aGVtZWQgLmhlYWRlci0tZml4ZWQgLmhlYWRlcl9fbG9nb19fc3ZnIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1nL2xvZ28tZGFyay5zdmcpIG5vLXJlcGVhdDtcbiAgICB9XG5cbn1cblxuQG1peGluIHdpemFyZGluZy10aGVtZSgkbmFtZSwgJHBhbGV0dGUpIHtcblxuICAgIC50aC0jeyRuYW1lfSB7XG5cbiAgICAgICAgLmFydGVmYWN0LS1zdWJqZWN0X19jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRlZmFjdC0tbG9uZy1ib29rX19jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRlZmFjdC0tc2hvcnQtdGV4dF9fdGV4dHVyZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGVmYWN0LS1zaG9ydC10ZXh0X19jb250ZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHNlY29uZGFyeSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGVmYWN0LS1qa3Itd3JpdGluZ19fdGV4dHVyZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRlZmFjdC0tamtyLXdyaXRpbmdfX2NvbnRlbnQge1xuICAgICAgICAgICAgY29sb3I6IGRhcmstb3ItbGlnaHQobWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGVmYWN0LS1xdW90ZV9fdGV4dHVyZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZhY3RmaWxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIGFjY2VudCk7XG4gICAgICAgICAgICBjb2xvcjogZGFyay1vci1saWdodChtYXAtZ2V0KCRwYWxldHRlLCBhY2NlbnQpKTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmstb3ItbGlnaHQobWFwLWdldCgkcGFsZXR0ZSwgYWNjZW50KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcm5hbWVudCxcbiAgICAgICAgICAgIC5vcm5hbWVudC0yLFxuICAgICAgICAgICAgLm9ybmFtZW50LTMge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgYWNjZW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmFjdGZpbGVfX2xpbmsge1xuICAgICAgICAgICAgY29sb3I6IGRhcmstb3ItbGlnaHQobWFwLWdldCgkcGFsZXR0ZSwgc2Vjb25kYXJ5KSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjcmVkaXRhdGlvbl9fdGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuYWNjcmVkaXRhdGlvbl9fbGluayB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIH1cblxuICAgICAgICAucmVsYXRlZC10ZWFzZXJzIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbkBtaXhpbiBuZXdzLXRoZW1lKCRuYW1lLCAkcGFsZXR0ZSkge1xuXG4gICAgLnRoLSN7JG5hbWV9IHtcblxuICAgICAgICAucmVsYXRlZC10ZWFzZXJzIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cbkBtaXhpbiBzdWJqZWN0LXRoZW1lKCRuYW1lLCAkcGFsZXR0ZSkge1xuXG4gICAgLnRoLSN7JG5hbWV9IHtcblxuICAgICAgICAudGlsZS0taGFsZi13aWR0aCAuYXJ0ZWZhY3QtLWFsdGVybmF0aW5nX19jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsIGJhc2UpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBiYXNlKTtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIGJhc2UpKTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG5AbWl4aW4gaW50ZXJhY3RpdmUtdGhlbWUoJG5hbWUsICRwYWxldHRlKSB7XG4gICAgLnRoLSN7JG5hbWV9IHtcbiAgICAgICAgLmludGVyYWN0aXZlLWltYWdlX19ob3RzcG90LFxuICAgICAgICAuaW50ZXJhY3RpdmUtaW1hZ2VfX3NlbGVjdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBkYXJrLW9yLWxpZ2h0KG1hcC1nZXQoJHBhbGV0dGUsIHByaW1hcnkpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBmdW5jdGlvbiBkYXJrLW9yLWxpZ2h0KCRjb2xvciwgJGRhcms6ICRjb2xvci10ZXh0LCAkbGlnaHQ6ICRjb2xvci10ZXh0LWludmVydCkge1xuICBAaWYgKGxpZ2h0bmVzcyggJGNvbG9yICkgPiA0NSkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG4iLCIkbS1zbWFsbEhlaWdodDogNjVweDtcbiRtLW1lZGl1bUhlaWdodDogODZweDtcbiRtLWxhcmdlSGVpZ2h0OiA5OHB4O1xuXG4kbS13dy1zbWFsbEhlaWdodDogNjVweDtcbiRtLXd3LW1lZGl1bUhlaWdodDogODZweDtcbiRtLXd3LWxhcmdlSGVpZ2h0OiAxMDBweDtcblxuJG5hdkhlaWdodDogMzVweDtcblxuJHQtdHJhbnNpdGlvblNwZWVkOiAuNXM7XG4iLCJAbWl4aW4gZmlsbC1wYXJlbnQoJHBvc2l0aW9uOiBhYnNvbHV0ZSwgJHRvcDogMCwgJGJvdHRvbTogMCwgJGxlZnQ6IDAsICRyaWdodDogMCkge1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuICB0b3A6ICR0b3A7XG4gIGJvdHRvbTogJGJvdHRvbTtcbiAgbGVmdDogJGxlZnQ7XG4gIHJpZ2h0OiAkcmlnaHQ7XG59XG4iLCJAaW1wb3J0ICdjb25maWcvc3R5bGVzL2ZvbnQnO1xuXG5AbWl4aW4gbWFya2Rvd24oKSB7XG5cbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBoMSwgaDIsIGgzLCBoNCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBoMSB7XG4gICAgZm9udDogJGZvbnQtdDEtbW9iaWxlO1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIGZvbnQ6ICRmb250LXQxLWRlc2t0b3A7XG4gICAgfVxuICB9XG5cbiAgaDIge1xuICAgIGZvbnQ6ICRmb250LXQzLW1vYmlsZTtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICBmb250OiAkZm9udC10My1kZXNrdG9wO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBmb250OiAkZm9udC10NC1tb2JpbGU7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgZm9udDogJGZvbnQtdDQtZGVza3RvcDtcbiAgICB9XG4gIH1cblxuICBoNCB7XG4gICAgZm9udDogJGZvbnQtdDUtbW9iaWxlO1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIGZvbnQ6ICRmb250LXQ1LWRlc2t0b3A7XG5cbiAgICB9XG4gIH1cblxuICBhLCBhOmhvdmVyLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgPiBwIHtcblxuICAgIGZvbnQ6ICRmb250LWIzO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgZm9udDogJGZvbnQtYjI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICBmb250OiAkZm9udC1iMTtcbiAgICB9XG5cbiAgICBlbSB7XG4gICAgICBmb250LWZhbWlseTogJGNyaW1zb25JdGFsaWNGb250U3RhY2s7XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkY3JpbXNvbkJvbGRGb250U3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cblxuICBsaSB7XG4gICAgZm9udDogJGZvbnQtYjM7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICBmb250OiAkZm9udC1iMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgIGZvbnQ6ICRmb250LWIxO1xuICAgIH1cbiAgfVxuXG4gID4gcHJlIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuXG4gID4gYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMnB4O1xuICAgIGZvbnQ6ICRmb250LWIzO1xuXG4gICAgZW0ge1xuICAgICAgY29sb3I6ICNBQ0FDQUM7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggNTBweDtcbiAgICAgIGZvbnQ6ICRmb250LWIyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgICAgZm9udDogJGZvbnQtYjE7XG4gICAgfVxuICB9XG5cbiAgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvLyBVc2FnZTpcbi8vXG4vLyAuY2xhc3Mge1xuLy8gICAgIEBpbmNsdWRlIG1haW50YWluLXJhdGlvKDE2IHggNyk7XG4vLyB9XG5cbkBtaXhpbiBtYWludGFpbi1yYXRpbygkcmF0aW86IDEgMSkge1xuXG4gIEBpZiBsZW5ndGgoJHJhdGlvKSA8IDMgb3IgbGVuZ3RoKCRyYXRpbykgPiAzIHtcbiAgICBAd2FybiBcIiRyYXRpbyBtdXN0IGJlIGEgbGlzdCB3aXRoIHR3byB2YWx1ZXMgc2VwYXJhdGVkIGJ5IGFuICd4Jy5cIjtcbiAgfVxuXG4gICR3aWR0aDogMTAwJTtcbiAgJGhlaWdodDogcGVyY2VudGFnZShudGgoJHJhdGlvLCAzKSAvIG50aCgkcmF0aW8sIDEpKTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgY29udGVudDogJyc7XG4gICAgcGFkZGluZy1ib3R0b206ICRoZWlnaHQ7XG4gIH1cbn1cblxuQG1peGluIG1haW50YWluLXJhdGlvLW5vLXBhZGRpbmcoJHJhdGlvOiAxIDEpIHtcblxuICBAaWYgbGVuZ3RoKCRyYXRpbykgPCAzIG9yIGxlbmd0aCgkcmF0aW8pID4gMyB7XG4gICAgQHdhcm4gXCIkcmF0aW8gbXVzdCBiZSBhIGxpc3Qgd2l0aCB0d28gdmFsdWVzIHNlcGFyYXRlZCBieSBhbiAneCcuXCI7XG4gIH1cblxuICAkd2lkdGg6IDEwMCU7XG4gICRoZWlnaHQ6IHBlcmNlbnRhZ2UobnRoKCRyYXRpbywgMykgLyBudGgoJHJhdGlvLCAxKSk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG5cbkBtaXhpbiBjbGVhci1yYXRpbygkcG9zaXRpb246IGluaXRpYWwsICRvdmVyZmxvdzogaW5pdGlhbCwgJGRpc3BsYXk6IGluaXRpYWwpIHtcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdztcblxuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogJGRpc3BsYXk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2J0bi0tdGhlbWVkJztcblxuLmJ0biB7XG4gIGZvbnQ6IDEycHgvMThweCAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiA4cHggMjRweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogJGMtd2hpdGU7XG4gICAgY29sb3I6ICRjLWRhcmstZ3JheTtcbiAgfVxufVxuXG5hLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnRuLS1wcmV2aW91cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gIGNvbG9yOiAjMzMzO1xuICBib3JkZXItY29sb3I6ICNFRUU7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbiAgfVxuXG4gICYubXktYm9va19fYmFjay1idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OjUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuLmJ0bi0tcHVyY2hhc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1zaG9wLWJ1dHRvbi1wcmltYXJ5O1xuICBib3JkZXItY29sb3I6ICMwMjg1N2Q7XG4gIGNvbG9yOiAkYy13aGl0ZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1zaG9wLWJ1dHRvbi1wcmltYXJ5LWhvdmVyO1xuICAgIGJvcmRlci1jb2xvcjogIzA0NjQ2MDtcbiAgICBjb2xvcjogJGMtd2hpdGU7XG4gIH1cblxuICAmLmdpZnRpbmcge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm1fX2J1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xufVxuXG4ucHJvZmlsZV9fY3Rhcyxcbi5zb3J0aW5nLWhhdF9fY3RhcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTVweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjYwcHg7XG4gICAgei1pbmRleDogMztcblxuICAgIC5mb3JtX19idXR0b24ge1xuICAgICAgbGluZS1oZWlnaHQ6MTZweDtcblxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAvL21hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybV9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiA1cHggYXV0byAwO1xuICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICB9XG4gIH1cblxuICAuZm9ybV9fYnV0dG9uIGEsIC5mb3JtX19idXR0b24gYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxufVxuXG4uc29ydGluZy1oYXRfX2N0YXMge1xuICBib3R0b206IGF1dG87XG5cbiAgLmZvcm1fX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLnByb2ZpbGVfX2N0YXMtLXVudmVyaWZpZWQge1xuICBib3R0b206IDA7XG4gIGxlZnQ6ICAgMDtcbiAgcmlnaHQ6ICAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgLmZvcm1fX2J1dHRvbi0tdW52ZXJpZmllZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQhaW1wb3J0YW50O1xuICB9XG59XG5cbi5mb3JtX19idXR0b24tLW5vLXBhZGRpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cblxuLmJ0bi0tYWRkZWQge1xuICBjdXJzb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLWxpZ2h0ZXItZ3JheTtcbiAgYm9yZGVyLWNvbG9yOiAkYy1saWdodGVyLWdyYXk7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGlnaHRlci1ncmF5O1xuICAgIGJvcmRlci1jb2xvcjogJGMtbGlnaHRlci1ncmF5O1xuICB9XG59XG5cbi5idG4tLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0IWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogI2YwMDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICNmMDA7XG4gIH1cbn1cblxuXG4ud2l6YXJkaW5nLXdvcmxkLW92ZXJyaWRlcyB7XG5cbiAgICAucHJvZmlsZV9fY3RhcyxcbiAgICAuc29ydGluZy1oYXRfX2N0YXMge1xuICAgICAgICAuZm9ybV9fYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm1fX2J1dHRvbiBhLCAuZm9ybV9fYnV0dG9uIGE6dmlzaXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnNvcnRpbmctaGF0X19jdGFzIHtcbiAgICAgICAgLmZvcm1fX2J1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiQGltcG9ydCAnY29uZmlnL3N0eWxlcy9wYWxldHRlcyc7XG5AaW1wb3J0ICdtaXhpbnMvc3R5bGVzL2Rhcmstb3ItbGlnaHQtdGV4dCc7XG5cbiRob3VzZS10aGVtZXM6ICdwb3R0ZXJtb3JlJywgJ2dyeWZmaW5kb3InLCAnaHVmZmxlcHVmZicsICdzbHl0aGVyaW4nLCAncmF2ZW5jbGF3JztcblxuQGVhY2ggJHRoZW1lIGluICRob3VzZS10aGVtZXMge1xuXG4gICRwYWxldHRlOiBtYXAtZ2V0KCRwYWxldHRlcywgJHRoZW1lKTtcblxuICAudGgtI3skdGhlbWV9IHtcblxuICAgIC5idG4tLXRoZW1lZCB7XG4gICAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICBjb2xvcjogZGFyay1vci1saWdodCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAkaG92ZXItY29sb3I6IGRhcmstb3ItbGlnaHQoJHByaW1hcnktY29sb3IsICRkYXJrOiBkYXJrZW4oJHByaW1hcnktY29sb3IsIDUlKSwgJGxpZ2h0OiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCA4JSkpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhvdmVyLWNvbG9yO1xuICAgICAgICBjb2xvcjogZGFyay1vci1saWdodCgkaG92ZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAnc3VzeS9zYXNzL3N1c3knO1xuXG4ubC1tYXN0aGVhZC1sZWFkIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiAtKHNwYW4oMSBvZiAxMikgKyBndXR0ZXIoMTIpKTtcbiAgfVxufVxuIiwiLmwtY2VudGVyZWQge1xuICBAaW5jbHVkZSBjb250YWluZXIoMTIpO1xufVxuXG4ubC1jZW50ZXJlZC0tbmFycm93IHtcblxuICBAaW5jbHVkZSBjb250YWluZXIoMTIpO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJG1lZGl1bSAtICgkbWVkaXVtLzEyKSk7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJGxhcmdlIC0gKCRsYXJnZS8xMikpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJGh1Z2UgLSAoJGh1Z2UvMTIpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkZW5vcm1vdXMgLSAoJGVub3Jtb3VzLzEyKSk7XG4gIH1cbn1cblxuLmwtY2VudGVyZWQtLWV4dHJhd2lkZSB7XG5cbiAgICBAaW5jbHVkZSBjb250YWluZXIoMTIpO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoJG1lZGl1bSAtICgkbWVkaXVtLzEyKSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkbGFyZ2UgLSAoJGxhcmdlLzEyKSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCRodWdlIC0gKCRodWdlLzEyKSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkZW5vcm1vdXMgLSAoJGVub3Jtb3VzLzEyKSk7XG4gICAgfVxufVxuXG4ubC1jZW50ZXJlZC0td2lkZSB7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCRlbm9ybW91cyk7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJHJpZGljdWxvdXMpO1xuICB9XG59XG5cbi5sLWNlbnRlcmVkLS1yaHl0aG0ge1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAoJG1lZGl1bS8xMikvMlxuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRsYXJnZS8xMikvMlxuICB9XG59XG4iLCJAaW1wb3J0ICdzdXN5L3Nhc3Mvc3VzeSc7XG5AaW1wb3J0ICdjb25maWcvc3R5bGVzL2RldmljZS1yZXNvbHV0aW9ucyc7XG5cbkBpbXBvcnQgJ2xheW91dHMvbWl4aW5zL2wtZm91ci10d28nO1xuXG4ubC1wcm9kdWN0LWxpc3Qge1xuICBAaW5jbHVkZSBsLWZvdXItdHdvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmwtcHJvZHVjdC1saXN0X19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgQGluY2x1ZGUgbC1mb3VyLXR3by1pdGVtKCRtYXJnaW4tdG9wOiA2MHB4KTtcbn1cbiIsIkBtaXhpbiBsLWZvdXItdHdvKCkge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbkBtaXhpbiBsLWZvdXItdHdvLWl0ZW0oJG1hcmdpbi1yaWdodDogZ3V0dGVyKDgpLCAkbWFyZ2luLXRvcDogZ3V0dGVyKDEyKSkge1xuICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXJpZ2h0O1xuICB3aWR0aDogc3Bhbig0IG9mIDgpO1xuXG4gICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoLW4rMikge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG4gICAgd2lkdGg6IHNwYW4oMiBvZiA4KTtcblxuICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoNG4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgtbis0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG59IiwiLmZlYXR1cmVkLWNvbGxlY3Rpb25zIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDIlO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxufVxuXG5cbi5mZWF0dXJlZC1jb2xsZWN0aW9uc19fY29sbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogOTAlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbjogMyUgNSU7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5cbiAgaW1nIHtcbiAgICB3aWR0aDoxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIHdpZHRoOiBzcGFuKDYgb2YgMTIpO1xuICAgIG1hcmdpbjogMCAwIDIlO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jb2xsZWN0aW9uLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAxMCUgNSU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMTIwcHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5jb2xsZWN0aW9uX190aXRsZSB7XG4gIGZvbnQ6ICRmb250LWEzO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uY29sbGVjdGlvbl9fZGVzY3JpcHRpb24ge1xuICBmb250OiAkZm9udC1hNTtcbiAgbWF4LXdpZHRoOiA4NSU7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuXG4iLCJAaW1wb3J0ICdmb3Jtcy9zdHlsZXMvYWxsJztcblxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cImZpbGVcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICBAZXh0ZW5kIC5mb3JtX19pbnB1dDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbn1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAzOHB4O1xuICBwYWRkaW5nOiAwIDdweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uZmllbGQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZpZWxkLS1oYWxmIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgICY6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLmZpZWxkLS1oYWxmKy5maWVsZC0taGFsZiB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5maWVsZF9faW5wdXQtd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5maWVsZF9faW5wdXQge1xuICAmOmludmFsaWQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJlZDtcbiAgfVxuXG4gIC5maWVsZC0tZXJyb3IgJiB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcigpO1xuICB9XG59XG5cbi5maWVsZF9fbGFiZWwge1xuICBAZXh0ZW5kIC5mb3JtX19sYWJlbDtcbn1cblxuaW5wdXQge1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgZm9udDogJGZvbnQtYTY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0ZGRjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQUFBO1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmZpZWxkLS1oYWxmIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7XG4gIGNsZWFyOiBub25lO1xufVxuXG4uZmllbGRfX21lc3NhZ2UtLWVycm9yIHtcbiAgQGV4dGVuZCAuZm9ybV9fZXJyb3I7XG59XG5cblxuXG4ubGFuZ3VhZ2Utc2VsZWN0IHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAkYy1saWdodGVyLWdyYXk7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgQGluY2x1ZGUgY2FwdGlvbigpO1xuICBsaW5lLWhlaWdodDogMzBweDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgd2lkdGg6IDE2MHB4O1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4uZm9ybV9fbGFiZWwtLWxhbmd1YWdlLXNlbGVjdCB7XG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgbWFyZ2luOiAwIDEwcHggMCBhdXRvO1xuICBwYWRkaW5nOiAxLjUlIDAgMCAwO1xufVxuXG4uZm9ybV9faW5wdXQtLWNoZWNrYm94IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uZm9ybV9faGFsZnJvdyB7XG4gIGZsZXg6IDE7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbn1cblxuLmZvcm1fX2hhbGZyb3c6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn0iLCJcbkBpbXBvcnQgJy4vZm9ybS1oZWFkZXInO1xuQGltcG9ydCAnLi4vcmFkaW8tc2VsZWN0aW9uL3N0eWxlcy9hbGwnO1xuXG4kZm9ybS1lcnJvci1iZy1jb2xvcjogI2NhMDQwNCAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWJvcmRlci1jb2xvcjogJGZvcm0tZXJyb3ItYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1lcnJvci10ZXh0LWNvbG9yOiAjRkZGICFkZWZhdWx0O1xuJGZvcm0tZXJyb3ItaW5wdXQtYmc6ICNGQ0YyRjIgIWRlZmF1bHQ7XG5cbiRmb3JtLXdhcm5pbmctYmctY29sb3I6ICNmZjkgIWRlZmF1bHQ7XG4kZm9ybS13YXJuaW5nLWJvcmRlci1jb2xvcjogJGZvcm0tZXJyb3ItYmctY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS13YXJuaW5nLXRleHQtY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG5cbiRwb3R0ZXJtb3JlUGFsZXR0ZTogbWFwLWdldCgkcGFsZXR0ZXMsIGRlZmF1bHQpO1xuJGF1YnVybjogbWFwLWdldCgkcGFsZXR0ZXMsIGF1YnVybik7XG5cbkBtaXhpbiBmb3JtLWVycm9yKCkge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICRmb3JtLWVycm9yLWJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1lcnJvci1pbnB1dC1iZztcbn1cblxuQG1peGluIGZvcm0tZXJyb3ItYW5ndWxhcigpIHtcbiAgICAmLm5nLWludmFsaWQubmctdG91Y2hlZCxcbiAgICAubmctc3VibWl0dGVkICYubmctaW52YWxpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3IoKTtcbiAgICB9XG59XG5cbmJ1dHRvbiB7XG4gICAgQGV4dGVuZCBoNDtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWVkaXVtLW1pbi13aWR0aCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtX19yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIC5mb3JtLS1zdGFja2FibGUgJiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm1fX3Jvdy0taGFsZiB7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLmZvcm1fX3Jvdy1saW5rIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBmb250OiAkZm9udC1jMTtcbn1cblxuLmZvcm1fX3Jvdy1saW5rLS1pbnZlcnQge1xuICAgIGNvbG9yOiAjMzMzO1xufVxuXG4uZm9ybV9fcm93LS10ZXh0LWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGNhcHRpb24oKTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mb3JtX19yb3ctLWNoZWNrYm94IHtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uZm9ybV9fcm93LS1uby1sYWJlbCB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjNweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgfVxufVxuXG4uZm9ybV9fbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBjYXB0aW9uKCk7XG59XG5cbi5mb3JtX19sYWJlbC0taW52ZXJ0IHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLmZvcm1fX2xhYmVsLS1pbnZlcnQgYSwgLmZvcm1fX2xhYmVsLS1pbnZlcnQgYTp2aXNpdGVkLCAuZm9ybV9fbGFiZWwtLWludmVydCBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbn1cblxuLmZvcm1fX2xhYmVsLS1jaGVja2JveCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xufVxuXG4uZm9ybV9faW5wdXQge1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGZvbnQ6ICRmb250LWE2O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgICBjb2xvcjogIzMzMztcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvci1hbmd1bGFyKCk7XG5cbiAgICAmLmZvcm1fX2lucHV0LS1kaXNhYmxlZCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLmZvcm1fX2lucHV0LS1zZWxlY3Qge1xuICAgIGhlaWdodDogMzZweDtcbn1cblxuLmZvcm1fX2lucHV0LS1jaGVja2JveCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItYW5ndWxhcigpO1xufVxuXG4uZm9ybV9fYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjYXB0aW9uKCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xuICAgIGNvbG9yOiAjRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4uZm9ybV9fYnV0dG9uLCAuZm9ybV9fYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkcG90dGVybW9yZVBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgJltkaXNhYmxlZD1kaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYzVjOWNjO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG59XG5cbi5mb3JtX19idXR0b24tLWhvbGxvdyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGRjtcbn1cblxuLm92ZXJsYXkge1xuICAgIC5mb3JtX19idXR0b24tLWhvbGxvdyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcG90dGVybW9yZVBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkcG90dGVybW9yZVBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvcm1fX2J1dHRvbi0tbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybV9fYnV0dG9uLS1hZnRlci1jaGVja2JveCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmZvcm1fX2Vycm9yLFxuLmZvcm1fX2NvbmZpcm1hdGlvbixcbi5mb3JtX193YXJuaW5nIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1lcnJvci1iZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBjYXB0aW9uKCk7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgY29sb3I6ICRmb3JtLWVycm9yLXRleHQtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybV9fd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0td2FybmluZy1iZy1jb2xvcjtcbiAgICBjb2xvcjogJGZvcm0td2FybmluZy10ZXh0LWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmZvcm1fX2NvbmZpcm1hdGlvbiB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkcG90dGVybW9yZVBhbGV0dGUsIHNlY29uZGFyeSk7XG59XG5cbi5mb3JtX19lcnJvci0tZ2xvYmFsIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi53aXphcmRpbmctd29ybGQtb3ZlcnJpZGVzIHtcblxuICAgIC5mb3JtX19idXR0b24sIC5mb3JtX19idXR0b24tLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR3aXphcmRpbmdXb3JsZFBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICZbZGlzYWJsZWQ9ZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNjNWM5Y2M7XG4gICAgICAgIH1cblxuICAgICAgICAmLnd3LWZvcm1fX2J1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi53dy1zaWduaW4tbGluayB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQ0VCRjk2O1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybV9fYnV0dG9uLS1ob2xsb3cge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZm9ybV9fY29uZmlybWF0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkd2l6YXJkaW5nV29ybGRQYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5vdmVybGF5IHtcbiAgICAgICAgLmZvcm1fX2J1dHRvbi0taG9sbG93IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkd2l6YXJkaW5nV29ybGRQYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3aXphcmRpbmdXb3JsZFBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAaW1wb3J0ICdzdXN5L3Nhc3Mvc3VzeSc7XG5AaW1wb3J0ICdjb25maWcvc3R5bGVzL2RldmljZS1yZXNvbHV0aW9ucyc7XG5cbiRmb3JtLWhlYWRlci1jb2xvcjogI0ZGRiAhZGVmYXVsdDtcblxuLmZvcm0taGVhZGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICRmb3JtLWhlYWRlci1jb2xvcjtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkbWVkaXVtIC0gKCRtZWRpdW0vMTIpKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJGxhcmdlIC0gKCRsYXJnZS8xMikpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJGh1Z2UgLSAoJGh1Z2UvMTIpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigkZW5vcm1vdXMgLSAoJGVub3Jtb3VzLzEyKSk7XG4gIH1cbn1cblxuXG4uZm9ybS1oZWFkZXItLWludmVydCB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uZm9ybS1oZWFkZXJfX3RpdGxlIHtcbiAgZm9udDogJGZvbnQtYTQ7XG5cbiAgJi5mb3JtLWhlYWRlcl9fdGl0bGUtLXNlY29uZGFyeSB7XG4gICAgZm9udDogJGZvbnQtYTU7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgZm9udDogJGZvbnQtYTI7XG4gICAgd2lkdGg6IHNwYW4oOCBvZiAxMik7XG4gICAgbWFyZ2luOiA1cHggYXV0byAwO1xuXG4gICAgJi5mb3JtLWhlYWRlcl9fdGl0bGUtLXNlY29uZGFyeSB7XG4gICAgICBmb250OiAkZm9udC1hMztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBmb250OiAkZm9udC1hMjtcblxuICAgICYuZm9ybS1oZWFkZXJfX3RpdGxlLS1zZWNvbmRhcnkge1xuICAgICAgZm9udDogJGZvbnQtYTM7XG4gICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICBmb250OiAkZm9udC1hMTtcblxuICAgICYuZm9ybS1oZWFkZXJfX3RpdGxlLS1zZWNvbmRhcnkge1xuICAgICAgZm9udDogJGZvbnQtYTI7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWhlYWRlcl9fdGl0bGUtLXNlY29uZGFyeSB7XG4gIGZvbnQ6ICRmb250LWE1O1xufVxuXG4uZm9ybS1oZWFkZXJfX3N1Yi10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMCBndXR0ZXIoMTIpO1xuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBmb250OiAkZm9udC1hNjtcblxuICAmLmZvcm0taGVhZGVyX19zdWItdGl0bGUtLXNlY29uZGFyeSB7XG4gICAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBtYXgtd2lkdGg6IHNwYW4oOCBvZiAxMik7XG4gIH1cbn1cblxuLnd3LWFjY291bnQtZm9ybV9fYmFja2dyb3VuZC0tam9pbiB7XG4gICAgI2pvaW4tZXJyb3Ige1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICAgICAgLmZvcm0taGVhZGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWhlYWRlcl9fdGl0bGUge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLmZvcm0taGVhZGVyX19kaXZpZGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU0O1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIC5mb3JtLWhlYWRlcl9fc3ViLXRpdGxlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuZm9ybS1oZWFkZXJfX2FwcC1idG5zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5hcHBzdG9yZS1idG4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy9pbWcvYXBwLXN0b3JlLWJ1dHRvbi5wbmdcIik7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICB9XG4gICAgICAgIC5nb29nbGVwbGF5LWJ0biB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltZy9nb29nbGUtcGxheS1idXR0b24ucG5nXCIpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMzRweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yYWRpby1zZWxlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgZ3V0dGVyKDEyKTtcbiAgaGVpZ2h0OiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAgJGMtbGlnaHRlci1ncmF5O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucmFkaW8tc2VsZWN0aW9uX19yYWRpbyB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXJpZ2h0OiBndXR0ZXIoMTIpO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xufVxuXG4ucmFkaW8tc2VsZWN0aW9uX19sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIGNhcHRpb24oJGxpbmUtaGVpZ2h0OiAxMnB4KTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG59XG5cbi5yYWRpby1zZWxlY3Rpb25fX2xvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiA1MCU7XG4gIGhlaWdodDogNDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgcmlnaHQ6IGd1dHRlcigxMik7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cblxuIiwiQGltcG9ydCAnYnV0dG9ucy9zdHlsZXMvYWxsJztcbkBpbXBvcnQgJ2Zvcm1zL3N0eWxlcy9hbGwnO1xuXG4kcGFkZGluZzogMjBweDtcblxuXG4vKiBFeHBhbmRpbmcgYmFza2V0ICovXG4uY2hlY2tvdXRfX2Jhc2tldCB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5jaGVja291dF9fYmFza2V0LWhlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMCAkcGFkZGluZztcbiAgZm9udC1mYW1pbHk6ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jaGVja291dF9fYmFza2V0LXRvZ2dsZXIge1xuICBmbG9hdDogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2hlY2tvdXRfX2Jhc2tldC1jb250ZW50IHtcbiAgLm9yZGVyLXN1bW1hcnkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAub3JkZXItc3VtbWFyeV9fc2VjdGlvbi0tcHJvZHVjdC1saXN0LCAub3JkZXItc3VtbWFyeV9fc2VjdGlvbi0tcHJvZHVjdC1saXN0LS1hbHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5vcmRlci1zdW1tYXJ5X19zZWN0aW9uX19jb250ZW50IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC43cztcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgIC1tcy10cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub3JkZXItc3VtbWFyeS0taXMtY29sbGFwc2VkIHtcbiAgICAub3JkZXItc3VtbWFyeV9fc2VjdGlvbi0tdG90YWwtbGluZXMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm9yZGVyLXN1bW1hcnktLWlzLWNvbGxhcHNlZCB0YWJsZS5jYXJ0LWRldGFpbHN7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY2hlY2tvdXRfX3N1bW1hcnktaGVhZGVyLXByaWNlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uc3RlcF9fc2VjdGlvbnMge1xuICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZztcblxuICAuY29udGVudC1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRwYWRkaW5nLzI7XG4gICAgfVxuICB9XG59XG5cbi5zdGVwX19mb290ZXIge1xuICBwYWRkaW5nOiAzMHB4IDA7XG59XG5cbi5zdGVwX19mb290ZXJfX2NvbnRpbnVlLWJ0bixcbi5zdGVwX19mb290ZXJfX3ByZXZpb3VzLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAxMHB4IDIwcHggIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQ6ICRmb250LWNhcHRpb24tZGVza3RvcCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIC41cztcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYubG9nLWluLWJ0biB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDIwcHggMCAwcHggNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cbiAgfVxufVxuXG4uc3RlcF9fZm9vdGVyX19wcmV2aW91cy1saW5rIHtcbiAgQGV4dGVuZCAuYnRuLS1wcmV2aW91cztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnN0ZXBfX2Zvb3Rlcl9fY29udGludWUtYnRuIHtcbiAgQGV4dGVuZCAuYnRuLS1wdXJjaGFzZTtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4uYnRuLS1kaXNhYmxlZCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgY29sb3I6ICMzMzM7XG4gIG9wYWNpdHk6IDAuNDtcbn1cblxuLy8gVGhlc2UgYXBwZWFyIHRvIGJlIGVsZW1lbnRzIHRoYXQgd2UgaGF2ZSBubyBjb250cm9sIG92ZXJcbi8vIEJhc2tldCB0YWJsZVxuLnByb2R1Y3QtdGFibGUge1xuXG4gIC5wcm9kdWN0IHtcbiAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5wcm9kdWN0X19kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDkwJTtcbn1cblxuLnByb2R1Y3RfX2Rlc2NyaXB0aW9uX19uYW1lIHtcbiAgbWFyZ2luOiAwO1xuICBmb250OiAkZm9udC1hNjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWF4LXdpZHRoOiAyMCU7XG59XG5cbi5wcm9kdWN0X19wcmljZSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBmb250LWZhbWlseTogJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbn1cblxuLnByb2R1Y3RfX2ltYWdlX19pbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAucHJvZHVjdF9fcXVhbnRpdHkge1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi5wcm9kdWN0LXRodW1ibmFpbF9fcXVhbnRpdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiUXR5OiBcIjtcbn1cblxuLnRvdGFsLWxpbmUtdGFibGUge1xuICB3aWR0aDogMTAwJTtcblxuICAucGF5bWVudC1kdWVfX2N1cnJlbmN5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi50b3RhbC1saW5lIHtcbiAgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuLnRvdGFsLWxpbmVfX25hbWUge1xuICB3aWR0aDogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnRvdGFsLWxpbmVfX25hbWUucGF5bWVudC1kdWUtbGFiZWwsXG4udG90YWwtbGluZV9fcHJpY2UucGF5bWVudC1kdWUge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLnBheW1lbnQtZHVlLWxhYmVsX190b3RhbCxcbi5wYXltZW50LWR1ZV9fcHJpY2Uge1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuXG4ub3JkZXItc3VtbWFyeV9fc2VjdGlvbi0tdG90YWwtbGluZXMsIC5vcmRlci1zdW1tYXJ5X190YXgtZGV0YWlscyB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nICRwYWRkaW5nIDA7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGZvbnQtZmFtaWx5OiAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgLnRvdGFsLWxpbmVfX25hbWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcblxuICAgIC5wYXltZW50LWR1ZS1sYWJlbF9fdGF4ZXMge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50b3RhbC1saW5lX19hbW91bnQge1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxufVxuXG4ub3JkZXItc3VtbWFyeV9fdGF4LWRldGFpbHMge1xuICBwYWRkaW5nOiAwICRwYWRkaW5nICRwYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZztcblxuICAuZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLm9yZGVyLXN1bW1hcnlfX3NlY3Rpb24tLXRvdGFsIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0VFRTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7XG4gIGZvbnQtZmFtaWx5OiAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xufVxuXG4udG90YWwtbGluZV9fcHJpY2Uge1xuICB3aWR0aDogMTAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1mYW1pbHk6ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5vcmRlci1zdW1tYXJ5X19zbWFsbC10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQ6ICRmb250LWNhcHRpb24tbW9iaWxlO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi5jaGVja291dF9fZm9ybSB7XG4gIC5zZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmZpZWxkX19jYXJldCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zZWN0aW9uX190aXRsZSwgLmNvbnRlbnQtYm94X19oZWFkZXJfX3RpdGxlIGgzLFxuICAuc3RlcFtkYXRhLXN0ZXA9XCJyZXZpZXdcIl0gLmNvbnRlbnQtYm94IGgzIHtcbiAgICBmb250OiAzMHB4LzM2cHggJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG5cbiAgLnBheW1lbnQtbWV0aG9kLWxpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuY29udGVudC1ib3hfX2hlYWRlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5jb250ZW50LWJveF9faGVhZGVyX190aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAuY29udGVudC1ib3hfX2hlYWRlcl9fYWN0aW9uIHtcbiAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgICBmb250LWZhbWlseTogJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsYWJlbFtmb3I9XCJjaGVja291dF9idXllcl9hY2NlcHRzX21hcmtldGluZ1wiXSB7XG4gICAgZm9udC1mYW1pbHk6ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuXG4gIC5jb250ZW50LWJveF9fcm93LS1uby1ib3JkZXIge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cblxuICAuY29udGVudC1ib3hfX2hyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZpZWxkX19pbnB1dC13cmFwcGVyIHtcbiAgICBmb250LXNpemU6IDA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy8yO1xuICAgIH1cblxuICAgIGlucHV0LCBzZWxlY3QsIC5maWVsZF9faW5wdXQtLWlmcmFtZS1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQ6ICRmb250LWMyO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAuZmllbGQtLWhhbGYge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgcGFkZGluZzogMCAkcGFkZGluZy8yIDAgMCAhaW1wb3J0YW50O1xuXG4gICAgICArIC5maWVsZC0taGFsZiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmFkaW8td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZy8yO1xuXG4gICAgLnJhZGlvX19pbnB1dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBtYXJnaW46IDAgOXB4IDAgMXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yYWRpb19fbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAucmFkaW9fX2xhYmVsX19hY2Nlc3Nvcnkge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJhZGlvX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSwgJHVudGlsOiBsYXJnZSkge1xuICAgIC5maWVsZC0taGFsZiB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgLmZpZWxkX19pbnB1dC13cmFwcGVyIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQsIHNlbGVjdCwgLmZpZWxkX19pbnB1dC0taWZyYW1lLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbltkYXRhLXN0ZXA9XCJwYXltZW50X21ldGhvZFwiXSB7XG4gIC5jaGVja2JveF9faW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCAxMHB4IDEwcHggMDtcbiAgICB3aWR0aDogMjBweDtcbiAgfVxuXG4gIC5yZXZpZXctYmxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmN1c3RvbWVyLWxvZ2dlZC1pbiBbZGF0YS1zdGVwPVwicGF5bWVudF9tZXRob2RcIl0gLmNoZWNrYm94LXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS1zdGVwPVwiY29udGFjdF9pbmZvcm1hdGlvblwiXSAuY2hlY2tib3gtd3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sb2dnZWQtaW4tY3VzdG9tZXItaW5mb3JtYXRpb25fX3BhcmFncmFwaCB7XG5cbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGEge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5zZWN0aW9uLS1wYXltZW50LW1ldGhvZCB7XG4gIC50b29sdGlwIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHNwYW5bZGF0YS1jdnYtdG9vbHRpcD0ndW5rbm93biddIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHNwYW5bZGF0YS1jdnYtdG9vbHRpcD0nb3RoZXInXS5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgW2RhdGEtY3JlZGl0LWNhcmQ9J2N2diddIHtcbiAgICBtYXJnaW4tdG9wOiAxLjFlbTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLm5vdGljZS0td2FybmluZyxcbiAgLm5vdGljZS0tZXJyb3Ige1xuICAgIEBleHRlbmQgLmZvcm1fX2Vycm9yO1xuXG4gICAgLm5vdGljZV9faWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuY29udGVudC1ib3hfX3JvdyB7XG4gICAgb3JkZXI6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgJi5yYWRpby13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDEwcHggMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBzbWFsbCkge1xuICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmllbGQtLWhhbGYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY29udGVudC1ib3hfX3Jvdy0tc2Vjb25kYXJ5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsZXg6IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgICAgIH1cblxuICAgICAgJi5oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmNvbnRlbnQtYm94X19yb3ctLXNlY29uZGFyeSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cblxuICAuZmllbGQtLWhhbGYge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmZpZWxkLS1xdWFydGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIGNsZWFyOiBub25lO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nIC8gMjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0sICR1bnRpbDogbGFyZ2UpIHtcbiAgICAuZmllbGQtLXF1YXJ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IG1lZGl1bSkge1xuICAgIC5maWVsZC0tcXVhcnRlciB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5maWVsZF9faW5wdXQtd3JhcHBlciB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG5cbiAgICAgIGlucHV0LCBzZWxlY3QsIC5maWVsZF9faW5wdXQtLWlmcmFtZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yYWRpb19faW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgbWFyZ2luOiAwIDlweCAwIDA7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJhZGlvX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbnNlbGVjdCB7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICBmb250OiAkZm9udC1hNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGNvbG9yOiAjMzMzO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDQ0cHg7XG59XG5cbi8qIDooICovXG5kaXYuc2VjdGlvbi0tcGF5bWVudC1tZXRob2QgPiBkaXYuc2VjdGlvbl9fY29udGVudCA+IGRpdiA+IGRpdi5jb250ZW50LWJveCA+IGRpdi5yYWRpby13cmFwcGVyOm50aC1jaGlsZCgxKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zZWN0aW9uLS1iaWxsaW5nLWFkZHJlc3MsIC5zZWN0aW9uLS1zaGlwcGluZy1hZGRyZXNzIHtcbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIFtkYXRhLWNvdW50cnktc2VjdGlvbl0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAmLmZpZWxkLS10aHJlZS1laWdodHMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtkYXRhLXppcC1zZWN0aW9uXSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAmLmZpZWxkLS1xdWFydGVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi5zZWN0aW9uLS1zaGlwcGluZy1hZGRyZXNzIHtcbiAgbWFyZ2luLXRvcDogNTBweDtcblxuICBAaW5jbHVkZSBtcSgkdW50aWw6IG1lZGl1bSkge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICB9XG59XG5cbi5zZWN0aW9uX19oZWFkZXIge1xuICAuc2VjdGlvbl9fdGV4dCB7XG4gICAgZm9udDogJGZvbnQtYzE7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4ucmFkaW8td3JhcHBlciB7XG4gIGZvbnQ6ICRmb250LWMxO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm9mZnNpdGUtcGF5bWVudC1nYXRld2F5LWxvZ28ge1xuICBoZWlnaHQ6IDIycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycHgpO1xufVxuXG4uY2hlY2tvdXRfX2Zvcm0ge1xuICBmb250OiAkZm9udC1jMTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuc2VjdGlvbi0tb3B0aW9uYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLm9zLWhlYWRlcl9faGFuZ2luZy1pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbnRlbnQtYm94IHtcbiAgaDMge1xuICAgIGZvbnQ6ICRmb250LWE1O1xuICB9XG59XG5cbi5jaGVja291dC1zdWNjZXNzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udDogJGZvbnQtYjM7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQ6ICRmb250LWMyO1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cblxuICBoMiB7XG4gICAgZm9udDogJGZvbnQtYTI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbn1cblxuLmNoZWNrb3V0LXN1Y2Nlc3NfX2J0biB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgLmJ0bi0tcHVyY2hhc2Uge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nO1xuICB9XG5cbiAgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAuaWNvbi1kb3duLWFycm93IHtcbiAgICBtYXJnaW4tbGVmdDogJHBhZGRpbmcvNDtcbiAgfVxufVxuXG4uY2hlY2tvdXQtc3VjY2Vzc19fc2VjdGlvbnMge1xuICBmb250OiAkZm9udC1iMztcblxuICAub3Mtb3JkZXItbnVtYmVyIHtcbiAgICBmb250OiAkZm9udC1hMztcbiAgfVxuXG4gIC5vcy1oZWFkZXJfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGZvbnQ6ICRmb250LWE0O1xuICB9XG5cbiAgLmNvbnRlbnQtYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFkZGluZyoyO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQ6ICRmb250LWEzO1xuXG4gICAgJi5vcy1zdGVwX190aXRsZSB7XG4gICAgICBmb250OiAkZm9udC1iMztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGZvbnQ6ICRmb250LWIzO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udDogJGZvbnQtYjM7XG4gIH1cblxuICAuc2hpcG1lbnQtaW5mb3JtYXRpb25fX2ltYWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcblxuICAgIC5wcm9kdWN0LXRodW1ibmFpbF9fd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogc21hbGwpIHtcbiAgICAuc2hpcG1lbnQtaW5mb3JtYXRpb25fX3RpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiA2NXZ3O1xuICAgIH1cbiAgfVxuXG59XG5cbi5jaGVja291dC1zdWNjZXNzX19pbWFnZSB7XG4gIHBpY3R1cmUsXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLyogVE9ETyB0aGlzIG1heSBiZSBicm9rZW4gKi9cbiNjaGVja291dCB7XG4gIC5zZWN0aW9uX19jb250ZW50X190ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jaGVja291dF9fbm90ZSB7XG4gIG1hcmdpbi1ib3R0b206ICRwYWRkaW5nO1xuXG4gIHAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4uY2hlY2tvdXRfX25vdGUtLWdlbmVyYWwtdGVybXMge1xuICBwYWRkaW5nLXRvcDoxNXB4O1xuXG4gIC5zaG9wLVVTRCAmIHtcbiAgICBmb250OiAkZm9udC1jNDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJHBhbGV0dGUtcG90dGVybW9yZS1wcmltYXJ5O1xuICAgIGEge1xuICAgICAgY29sb3I6ICRwYWxldHRlLXBvdHRlcm1vcmUtcHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cblxuLm9yZGVyLXN1bW1hcnlfX3Njcm9sbC1pbmRpY2F0b3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmllbGRfX2lucHV0LS1pZnJhbWUtY29udGFpbmVyIHtcbiAgcGFkZGluZzogM3B4IDAgMDtcbiAgZm9udDogMjBweCAvIDI0cHggXCJNYWdvcmlhbiBSZWd1bGFyXCIsIEdlb3JnaWEsIFRpbWVzLCBcIlRpbWVzIE5ldyBSb21hblwiLCBzZXJpZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQUFBO1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAzOHB4O1xuXG4gIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wIDBzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDdzO1xuICB9XG5cbiAgJltkYXRhLWNhcmQtZmllbGQtcGxhY2Vob2xkZXI9J0NWViddIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogMzAwcHgsICR1bnRpbDogMzkzcHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMWVtO1xuICAgIH1cbiAgfVxuXG59XG5cbi5maWVsZC0tc2hvdy1mbG9hdGluZy1sYWJlbCB7IC8vc2hvcGlmeSBhZGRzIHRvcCBwYWRkaW5nIHRvIGlucHV0IG9uY2UgdmFsdWUgZW50ZXJlZFxuICAuZmllbGRfX2lucHV0LS1pZnJhbWUtY29udGFpbmVyIHtcbiAgICBpZnJhbWUge1xuICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgfVxuICB9XG59XG5cbi5jYXJkLWZpZWxkcyB7XG4gIC5maWVsZF9fbWVzc2FnZS5maWVsZF9fbWVzc2FnZS0tZXJyb3Ige1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjY2EwNDA0O1xuICB9XG5cbiAgLmNyZWRpdF9jYXJkX3ZlcmlmaWNhdGlvbl92YWx1ZV90b29sdGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgfVxufVxuXG4uY2hlY2tvdXRfX2Jhc2tldC1oZWFkZXItdGV4dC0tZ2lmdGluZy1kZXRhaWxzIHtcbiAgbWFyZ2luOiA1MHB4IDAgMTBweCAwO1xuICBmb250OiAkZm9udC1hNDtcbn1cblxuLmNhcnRfX2dpZnRpbmctZGV0YWlscyB7XG4gICYuY29uZmlybWF0aW9uIHtcbiAgICAmLmNvbmZpcm1hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxuICAgIC5jYXJ0X19naWZ0aW5nLWRldGFpbHNfX2hhbGYge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAuZmllbGRfX2xhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGNhcHRpb24oMTJweCk7XG4gICAgICBjb2xvcjogIzAwMDtcblxuICAgIH1cbiAgICAuZmllbGRfX3ZhbHVlIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICBmb250OiAkZm9udC1hNjtcbiAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICB9XG59XG5cbi5jaGVja291dC1zdWNjZXNzX19zZWN0aW9ucyBkaXZbZGF0YS1vcmRlci11cGRhdGVzXSB7XG4gIEBleHRlbmQgLmhpZGRlblxufVxuXG4vLyBSRU1PVkUgcmVkdW5kYW50IERJU0NPVU5UIHNlY3Rpb25cbi5zZWN0aW9uLS1yZWR1Y3Rpb25zLmhpZGRlbi1vbi1kZXNrdG9wIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm9yZGVyLXN1bW1hcnlfX3NlY3Rpb24tLWRpc2NvdW50IHtcblxuICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAuZmllbGRfX2lucHV0LWJ0biB7XG4gICAgQGV4dGVuZCAuc3RlcF9fZm9vdGVyX19jb250aW51ZS1idG47XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmZpZWxkX19pbnB1dHtcbiAgICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XG4gIH1cbn1cblxuLnRoLXdpemFyZGluZy13b3JsZCB7XG4gIC5vcmRlci1zdW1tYXJ5X19zZWN0aW9uLS10b3RhbC1saW5lcywgLm9yZGVyLXN1bW1hcnlfX3RheC1kZXRhaWxzIHtcbiAgICAudG90YWwtbGluZV9fbmFtZSB7XG4gICAgICAucGF5bWVudC1kdWUtbGFiZWxfX3RheGVzIHtcbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50b3RhbC1saW5lX19hbW91bnQge1xuICAgICAgY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLXByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0X19mb3JtIHtcbiAgICAuY29udGVudC1ib3hfX2hlYWRlciB7XG4gICAgICAuY29udGVudC1ib3hfX2hlYWRlcl9fYWN0aW9uIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmFkaW8td3JhcHBlciB7XG4gICAgICAucmFkaW9fX2xhYmVsIHtcbiAgICAgICAgLnJhZGlvX19sYWJlbF9fYWNjZXNzb3J5IHtcbiAgICAgICAgICBjb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jcGFydGlhbC1pY29uLXN5bWJvbHN7XG4gIGRpc3BsYXk6bm9uZTtcbn0iLCIkd2l6YXJkaW5nV29ybGRQYWxldHRlOiBtYXBfZ2V0KCRwYWxldHRlcywgJ3dpemFyZGluZy13b3JsZCcpO1xuJHBhbGV0dGUtd2l6YXJkaW5nLXdvcmxkLXByaW1hcnk6IG1hcF9nZXQoJHdpemFyZGluZ1dvcmxkUGFsZXR0ZSwgcHJpbWFyeSk7XG4kcGFsZXR0ZS13aXphcmRpbmctd29ybGQtc2Vjb25kYXJ5OiBtYXBfZ2V0KCR3aXphcmRpbmdXb3JsZFBhbGV0dGUsIHNlY29uZGFyeSk7XG4kcGFsZXR0ZS13aXphcmRpbmctd29ybGQtYWNjZW50OiBtYXBfZ2V0KCR3aXphcmRpbmdXb3JsZFBhbGV0dGUsIGFjY2VudCk7XG4kcGFsZXR0ZS13aXphcmRpbmctd29ybGQtYmFzZTogbWFwX2dldCgkd2l6YXJkaW5nV29ybGRQYWxldHRlLCBiYXNlKTtcblxuLnNob3AtbmF2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBjYXB0aW9uKCk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGh1Z2UpIHtcbiAgICAgICAgbWFyZ2luOiA2MHB4IGF1dG8gODBweCBhdXRvO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgICRzaG9wLW5hdi1kaXZpZGVyOiAxcHggc29saWQgI0ZGRjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBodWdlKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkc2hvcC1uYXYtZGl2aWRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgYSwgYTpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkuc2hvcC1uYXZfX3RvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBodWdlKSB7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBhLCBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAlKTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5tb2JpbGVfdmlzaWJsZSB7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiBodWdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5tb2JpbGVfaW52aXNpYmxlIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uaGFzLXN1Ym1lbnUge1xuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogaHVnZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDFzIGVhc2UtaW4tb3V0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAjZmZmO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAlKTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIC4zNXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAuMzVzIGVhc2Utb3V0O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogaHVnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRvcDogNDFweDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLzI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmLnN1Ym1lbnUtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHBhZGRpbmcvNDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaG9wLW5hdl9fbGluayB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAuMzVzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gLjM1cyBlYXNlLW91dDtcblxuICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogaHVnZSkge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgIC5zaG9wLW5hdi0tYWN0aXZlICYge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaG9wLW5hdl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGh1Z2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGNhcHRpb24oJHNpemU6IDEycHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgbWFyZ2luOiAtNDlweCBhdXRvIDA7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxufVxuXG4udGgtd2l6YXJkaW5nLXdvcmxkIHtcblxuICAgIC5zaG9wLW5hdiB7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBodWdlKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNob3AtbmF2X190b2dnbGUge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGh1Z2UpIHtcblxuICAgICAgICAgICAgICAgIGEsIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhhcy1zdWJtZW51IHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRpdi5tb2JpbGVfdmlzaWJsZSAuaGFzLXN1Ym1lbnUge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtc2hvcC13aXphcmRpbmctd29ybGQtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGMtc2hvcC13aXphcmRpbmctd29ybGQtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaG9wLW5hdl9fbGluayB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtc2hvcC13aXphcmRpbmctd29ybGQtc2Vjb25kYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBXaGVuIHJlbW92aW5nIG9sZCBzdHlsZSB1cGRhdGUgdGhlIF90aGVtZSBmdXJuaXR1cmUgdG8gbm90IHVuZGVybGluZSB0aGUgcHJpbWFyeS1uYXZpZ2F0aW9uX19pdGVtXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgbGkucHJpbWFyeS1uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICAgICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCIucGFwZXIge1xuICBtYXJnaW4tYm90dG9tOiBndXR0ZXIoMTIpO1xuICBwYWRkaW5nOiBzcGFuKDEgb2YgMTIpICsgZ3V0dGVyKDYpIGd1dHRlcig0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAkY29sb3ItdGV4dDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgcGFkZGluZzoge1xuICAgICAgdG9wOiBzcGFuKDEgb2YgMTIpICsgZ3V0dGVyKDEyKTtcbiAgICAgIGJvdHRvbTogc3BhbigxIG9mIDEyKSArIGd1dHRlcigxMik7XG4gICAgICBsZWZ0OiBzcGFuKDIgb2YgMTIpICsgZ3V0dGVyKDEyKTtcbiAgICAgIHJpZ2h0OiBzcGFuKDIgb2YgMTIpICsgZ3V0dGVyKDEyKTtcbiAgICB9XG4gIH1cbn1cblxuLnBhcGVyLS1ndXR0ZXJsZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgd2lkdGg6MTAwJTtcbn0iLCJAaW1wb3J0ICcuLi8uLi9vdmVybGF5L3N0eWxlcy9hbGwnO1xuXG5AaW1wb3J0ICdoZWFkZXItLXd3JztcbkBpbXBvcnQgJ3RvZ2dsZS0td3cnO1xuQGltcG9ydCAnaGVhZGVyJztcbkBpbXBvcnQgJ3RvZ2dsZSc7XG5AaW1wb3J0ICdwYW5lJztcblxuQGltcG9ydCAnLi4vLi4vbmF2aWdhdGlvbi9wcmltYXJ5LW5hdmlnYXRpb24vc3R5bGVzL2FsbCc7XG5AaW1wb3J0ICcuLi8uLi9uYXZpZ2F0aW9uL3NlY29uZGFyeS1uYXZpZ2F0aW9uL3N0eWxlcy9hbGwnO1xuIiwiQGltcG9ydCAnY29uZmlnL3N0eWxlcy9hY2Nlc3NpYmlsaXR5JztcbkBpbXBvcnQgJ21peGlucy9zdHlsZXMvZmlsbC1wYXJlbnQnO1xuQGltcG9ydCAnbWl4aW5zL3N0eWxlcy9tZW51LWhlbHBlcnMnO1xuQGltcG9ydCAnbWl4aW5zL3N0eWxlcy9YJztcbkBpbXBvcnQgJ21peGlucyc7XG5cbiRtLXNtYWxsSGVpZ2h0OiA2NXB4O1xuJG0tbWVkaXVtSGVpZ2h0OiA4NnB4O1xuJG0tbGFyZ2VIZWlnaHQ6IDk4cHg7XG5cbiRjLWhlYWRlck92ZXJsYXlCZzogI2U4ZThlMztcblxuJHQtdHJhbnNpdGlvbkluc3RhbnQ6IDBzO1xuJHQtdHJhbnNpdGlvblNwZWVkOiAuNXM7XG5cbiRmb3JtLWVycm9yLXRleHQtY29sb3ItcmVkOiAjY2EwNDA0ICFkZWZhdWx0O1xuXG4ub3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgZmlsbC1wYXJlbnQoKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWhlYWRlck92ZXJsYXlCZztcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLmlzLW9wZW4gJiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm92ZXJsYXktLWRpc2NvdmVyIHtcbiAgICAuaGVhZGVyX19wYW5lLS1kaXNjb3Zlci5pcy1vcGVuICYge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG59XG5cbi5vdmVybGF5LS1uYXZpZ2F0aW9uIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50KCk7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgIEBpbmNsdWRlIHN0YXJyeS1uaWdodCgkaW1hZ2Utc2l6ZTogJ2xyZycpO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzdGFycnktbmlnaHQoJG9yaWVudGF0aW9uOiAnbGFuZHNjYXBlJywgJGltYWdlLXNpemU6ICdscmcnKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmhlYWRlcl9fcGFuZS0tbmF2aWdhdGlvbi5pcy1vcGVuICYge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuXG4ub3ZlcmxheV9fdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAyMi41cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB6LWluZGV4OiA5MDAwO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgWCgkY29sb3I6ICRjb2xvci10ZXh0KTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2FwdGlvbigkc2l6ZTogMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcblxuICAgICAgICB0b3A6IDM0cHg7XG4gICAgICAgIGxlZnQ6IDQwcHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdDbG9zZSc7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vdmVybGF5X190b2dnbGUtLW5hdmlnYXRpb24ge1xuICAgIGNvbG9yOiAkY29sb3ItdGV4dC1pbnZlcnQ7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBYKCRjb2xvcjogJGNvbG9yLXRleHQtaW52ZXJ0KTtcbiAgICB9XG59XG5cbi5vdmVybGF5X19sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICA+IHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgaGVpZ2h0OiAzOXB4O1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2xvZ29fX3N2ZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pbWcvbG9nby1kYXJrLnN2ZycpIG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19sb2dvX19pY29uLWxvZ28ge1xuICAgICAgICBjb2xvcjogJGMtZGFyay1ncmF5O1xuICAgIH1cblxufVxuXG4ub3ZlcmxheV9fbG9nby0tbGlnaHQge1xuICAgID4gc3ZnIHtcbiAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgfVxufVxuXG4ub3ZlcmxheV9fYm9keSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgdG9wOiAkbS1zbWFsbEhlaWdodCAtIDVweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMjIuNXB4O1xuICAgIHBhZGRpbmc6IDAgMjIuNXB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHRyYW5zaXRpb246IG1hcmdpbiAkdC10cmFuc2l0aW9uU3BlZWQsIHZpc2liaWxpdHkgJHQtdHJhbnNpdGlvbkluc3RhbnQ7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIHRvcDogJG0tbWVkaXVtSGVpZ2h0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgICAgICB0b3A6ICRtLWxhcmdlSGVpZ2h0O1xuICAgIH1cblxuICAgIC5oZWFkZXJfX3BhbmUtLW5hdmlnYXRpb24uaXMtb3BlbiAmIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luICR0LXRyYW5zaXRpb25TcGVlZCwgdmlzaWJpbGl0eSAkdC10cmFuc2l0aW9uSW5zdGFudDtcbiAgICB9XG59XG5cbi5vdmVybGF5X19ib2R5LS1kaXNjb3ZlciB7XG4gICAgLmhlYWRlcl9fcGFuZS0tZGlzY292ZXIuaXMtb3BlbiAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgfVxufVxuXG4ub3ZlcmxheV9fYm9keS0tc2VhcmNoIHtcbiAgICAuaGVhZGVyX19wYW5lLS1zZWFyY2guaXMtb3BlbiAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgfVxufVxuXG4ub3ZlcmxheV9fYm9keS0tbmF2aWdhdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgY29sb3I6ICRjLXdoaXRlO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAkdC10cmFuc2l0aW9uU3BlZWQ7XG5cbiAgICAuaGVhZGVyX19wYW5lLS1uYXZpZ2F0aW9uLmlzLW9wZW4gJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0LXRyYW5zaXRpb25JbnN0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAub3JuYW1lbnQtLW5vLWRpdmlkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4ub3ZlcmxheV9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDYwdmggLSA2NXB4KTtcbiAgICBwYWRkaW5nLXRvcDogZ3V0dGVyKDYpO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICB9XG59XG5cbi5vdmVybGF5X19jb250ZW50LWhlYWRpbmcge1xuICAgIGZvbnQ6ICRmb250LWE1O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBmb250OiAkZm9udC1hMztcbiAgICAgICAgd2lkdGg6IHNwYW4oOCBvZiAxMik7XG4gICAgICAgIG1hcmdpbjogNXB4IGF1dG8gMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgZm9udDogJGZvbnQtYTI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgIGZvbnQ6ICRmb250LWExO1xuICAgIH1cbn1cblxuLm92ZXJsYXlfX2NvbnRlbnQtdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMCBndXR0ZXIoMTIpO1xuICAgIG1hcmdpbjogMTFweCBhdXRvIDA7XG4gICAgZm9udDogJGZvbnQtYTY7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIG1heC13aWR0aDogc3Bhbig4IG9mIDEyKTtcbiAgICB9XG5cbiAgICA+IHAge1xuICAgICAgICBlbSB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+IGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XG4gICAgfVxuXG4gICAgJi5vdmVybGF5X19jb250ZW50LXRleHQtLXdhcm5pbmcge1xuICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItdGV4dC1jb2xvci1yZWQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLXRleHQtY29sb3ItcmVkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyLS13aXphcmRpbmctd29ybGQge1xuICAgIC5oZWFkZXJfX3BhbmUge1xuICAgICAgICBAaW5jbHVkZSBmaWxsLXBhcmVudCgkcG9zaXRpb246IGFic29sdXRlLCAkYm90dG9tOiBhdXRvKTtcbiAgICB9XG5cbiAgICAub3ZlcmxheSB7XG4gICAgICAgIEBpbmNsdWRlIG1ldGFsLWJnKCk7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJsYXlfX2hlYWRlci0td3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAub3ZlcmxheV9faGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWV0YWwtYmcoKTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoZWlnaHQ6ICRtLXNtYWxsSGVpZ2h0O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgfVxuXG4gICAgLm92ZXJsYXlfX3RvZ2dsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzA0YzUzO1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogJG0tc21hbGxIZWlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgICAuaGVhZGVyX190b2dnbGUge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vdmVybGF5X190b2dnbGUtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAub3ZlcmxheV9fdG9nZ2xlLS1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuXG4gICAgICAgIC5pY29uLWNsb3NlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJsYXlfX2JvZHkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJsYXlfX2JvZHktLW5hdmlnYXRpb24ge1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2xpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cztcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyODVweDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTsgLy9zb3JyeVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vZG9uJ3QgZGVsZXRlIC0gd2FpdGluZyBmb3IgY29ycmVjdCBhc3NldFxuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pbWFnZXMvc3BhcmtsZS1sb29wLmdpZicpIHRvcCBsZWZ0IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3ZlcmxheV9fYm9keS0tc2VhcmNoLFxuICAgIC5vdmVybGF5X19ib2R5LS1kaXNjb3ZlciB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogJG0tc21hbGxIZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAub3ZlcmxheV9faGVhZGVyIFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19wYW5lLS1zZWFyY2gsXG4gICAgLmhlYWRlcl9fcGFuZS0tZGlzY292ZXIge1xuICAgICAgICB6LWluZGV4OiA0MTtcbiAgICAgICAgLm92ZXJsYXlfX2hlYWRlciB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi53aXphcmRpbmctd29ybGQtb3ZlcnJpZGVzIHtcbiAgICAub3ZlcmxheSB7XG4gICAgICAgIC53dy1sb2dvX19jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDE1MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnd3LWxvZ28ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgICAgICAgIGNvbG9yOiAkYy1kYXJrLWdyYXk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA1N3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlcl9fdG9nZ2xlIHtcbiAgICAgICAgICAgIC5pY29uLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmxpbmstdGV4dCB7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogLTEwMDAwZW07XG59XG4iLCJAbWl4aW4gWCgkY29sb3IsICRzaXplOiAyMHB4LCAkdGhpY2tuZXNzOiAycHgpIHtcblxuICAkWC1tYXJnaW46ICAjeygkc2l6ZSAtICR0aGlja25lc3MpIC8gMn07XG4gICRYLXBvc2l0aW9uOiAtI3soJHNpemUgLSAoJHRoaWNrbmVzcyAqIDMpKSAvIDJ9O1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAkWC1tYXJnaW4gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDA7XG4gIGhlaWdodDogJHRoaWNrbmVzcztcbiAgd2lkdGg6ICRzaXplO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgMCk7XG4gIG9wYWNpdHk6IDE7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6ICR0aGlja25lc3M7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgdG9wOiAkWC1wb3NpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC00NWRlZyk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBib3R0b206ICRYLXBvc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoNDVkZWcpO1xuICB9XG59XG4iLCIkYy1oZWFkZXJTdGFycnlCZzogIzA1MTQzYztcblxuQG1peGluIHN0YXJyeS1uaWdodCgkb3JpZW50YXRpb246ICdwb3J0cmFpdCcsICRpbWFnZS1zaXplOiAnc21sJywgJGJhc2UtY29sb3I6ICRjLWhlYWRlclN0YXJyeUJnKSB7XG5cbiAgICAkZnJvbTogcmdiYSgkYmFzZS1jb2xvciwgMSk7XG4gICAgJHRvOiByZ2JhKCRiYXNlLWNvbG9yLCAwKTtcblxuICAgICRncmFkaWVudDogKCk7XG5cbiAgICAkZ3JhZGllbnQ6IHVucXVvdGUoJ2xpbmVhci1ncmFkaWVudCh0byB0b3AsICN7JGZyb219IDMwJSwgI3skdG99IDc1JSksJyk7XG5cbiAgICBiYWNrZ3JvdW5kOiAkZ3JhZGllbnQgdXJsKCdodHRwczovL3d3dy5wb3R0ZXJtb3JlLmNvbS9hc3NldHMvaW1nL3N0YXJyeS1uaWdodC4jeyRpbWFnZS1zaXplfS4jeyRvcmllbnRhdGlvbn0ucG5nJykgdG9wIGNlbnRlciBuby1yZXBlYXQsICRiYXNlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiAkaHVnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1ldGFsLWJnKCkge1xuICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pbWcvbWV0YWwtYmctNzY4cHguanBnJykgdG9wIGNlbnRlciByZXBlYXQteSAjMDIyMDI4O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206ICRsYXJnZSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvaW1nL21ldGFsLWJnLTEyMDBweC5qcGcnKTtcbiAgICB9XG59XG4iLCJAaW1wb3J0ICdjb25maWcvc3R5bGVzL2RldmljZS1yZXNvbHV0aW9ucyc7XG5AaW1wb3J0ICdjb25maWcvc3R5bGVzL3BhbGV0dGVzJztcbkBpbXBvcnQgJ21peGlucy9zdHlsZXMvbWVudS1oZWxwZXJzJztcbkBpbXBvcnQgJ2NvbW1vbic7XG5cbiRoZWFkZXItbG9naW4taGVpZ2h0OiAoXG4gICAgbW9iaWxlOiAyOTVweCxcbiAgICBtZWRpdW06IDk1cHgsXG4gICAgbGFyZ2U6IDExNXB4XG4pO1xuXG4uaGVhZGVyLS13aXphcmRpbmctd29ybGQge1xuICAgIGhlaWdodDogJG0td3ctc21hbGxIZWlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA+IGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICBoZWlnaHQ6ICRtLXd3LWxhcmdlSGVpZ2h0O1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2lubmVyIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAzMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOXM7XG5cbiAgICAgICAgJi5oZWFkZXItLWRhcmtlbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAzZTUxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1oaWRkZW4ge1xuICAgICAgICAgICAgdG9wOiAtJG0tc21hbGxIZWlnaHQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB0b3A6IC0oJG0td3ctbGFyZ2VIZWlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogJG0td3ctc21hbGxIZWlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIGhlaWdodDogJG0td3ctbGFyZ2VIZWlnaHQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaGlkZGVuIHtcbiAgICAgICAgICAgIHRvcDogLSRtLXd3LXNtYWxsSGVpZ2h0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgICAgIHRvcDogLSgkbS13dy1sYXJnZUhlaWdodCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtc2hvd2luZy1sb2dpbiB7XG4gICAgICAgIC5oZWFkZXJfX2xvZ2luIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1hcC1nZXQoJGhlYWRlci1sb2dpbi1oZWlnaHQsIG1vYmlsZSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRoZWFkZXItbG9naW4taGVpZ2h0LCBtZWRpdW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRoZWFkZXItbG9naW4taGVpZ2h0LCBsYXJnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX19sb2dpbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZC1zaGFkZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19sb2dpbi1mb3JtIHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19jb250ZW50LFxuICAgIC5oZWFkZXJfX21vYmlsZS1tZW51IHtcbiAgICAgICAgZmxleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgZmxleDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXJfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDEycHggMCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX190b2dnbGUtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ud3ctbG9nb19fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZsZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICBmbGV4OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMjkwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxufVxuXG4ud3ctbG9nbyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjp2aXNpdGVkLFxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6IDQ5cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5oZWFkZXJfX3RvZ2dsZSB7XG4gICAgQGluY2x1ZGUgd2hlbk1lbnVJc09wZW5XVygpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgd2hlbkRpc2NvdmVySXNPcGVuV1coKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmhlYWRlci0tc2ltcGxlIHtcbiAgICAud3ctbG9nb19fY29udGFpbmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC53dy1sb2dvIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICdtaXhpbnMvc3R5bGVzL2J1cmdlcic7XG5AaW1wb3J0ICdjb21tb24nO1xuXG5AbWl4aW4gY29tcGFzcy0td2l6YXJkaW5nLXdvcmxkKCRjb2xvciwgJHNpemU6IDIwcHgsICR0aGlja25lc3M6IDJweCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA5cHg7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCkgcm90YXRlKC02MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yLjVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICAgIGhlaWdodDogMi41cHg7XG4gICAgICAgIHdpZHRoOiA2cHg7XG4gICAgICAgIGJvcmRlcjogJHRoaWNrbmVzcyBzb2xpZCAkY29sb3I7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHRoaWNrbmVzcy8yICR0aGlja25lc3M7XG4gICAgICAgIHRyYW5zZm9ybTogc2tldyg2MmRlZyk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cHg7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE2ZGVnKTtcbiAgICB9XG59XG5cbkBtaXhpbiBjb21wYXNzLWNsb3NlLS13aXphcmRpbmctd29ybGQoJGNvbG9yKSB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKCRjb2xvciwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSByb3RhdGUoMGRlZyk7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxufVxuXG4uaGVhZGVyLS13aXphcmRpbmctd29ybGQge1xuXG4gICAgLmhlYWRlcl9fdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgLjRzO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcblxuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDEzcHggMTBweCAwIDA7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmhlYWRlcl9fbW9iaWxlLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIC5oZWFkZXJfX3RvZ2dsZS0tbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDEycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1cmdlci1iYXItd3coJGNvbG9yOiAkYy13aGl0ZSwgJHNpemU6IDMwcHgsICRzcGVlZDogJHQtdHJhbnNpdGlvblNwZWVkKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX190b2dnbGUtLWRpc2NvdmVyLFxuICAgIC5oZWFkZXJfX3RvZ2dsZS0tc2VhcmNoLFxuICAgIC5oZWFkZXJfX3RvZ2dsZS0tbG9naW4sXG4gICAgLmhlYWRlcl9fdG9nZ2xlLS1wcm9maWxlLFxuICAgIC5oZWFkZXJfX3RvZ2dsZS0tY2FydCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBjYXB0aW9uKCRzaXplOiAxMHB4KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIFtjbGFzc149aWNvbi1dIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgIFtjbGFzc149aWNvbi1dIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5oZWFkZXJfX3RvZ2dsZS0tc2VhcmNoIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLXNlYXJjaCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoJG0td3ctc21hbGxIZWlnaHQvMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fdG9nZ2xlLS1kaXNjb3ZlciB7XG5cbiAgICAgICAgPiBzdmcge1xuICAgICAgICAgICAgc3Ryb2tlOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aDogNTtcbiAgICAgICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5oZWFkZXJfX3RvZ2dsZS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCJAbWl4aW4gYnVyZ2VyLWNvbG9yKCRjb2xvciwgJG9wYWNpdHk6IDAsICRzcGVlZDogLjVzKSB7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRvcGFjaXR5KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkc3BlZWQgLyAyO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIGJ1cmdlci1iYXIoJGNvbG9yLCAkc2l6ZTogMjBweCwgJHRoaWNrbmVzczogMnB4LCAkc3BlZWQ6IC41cykge1xuXG4gICRidXJnZXItbWFyZ2luOiAgI3tyb3VuZCgoJHNpemUgLSAkdGhpY2tuZXNzKSAvIDIpfTtcbiAgJGJ1cmdlci1wb3NpdGlvbjogLSN7cm91bmQoKCRzaXplIC0gKCR0aGlja25lc3MgKiAzKSkgLyAyKX07XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAkYnVyZ2VyLW1hcmdpbiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgaGVpZ2h0OiAkdGhpY2tuZXNzO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgMSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkc3BlZWQgLyAyO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6ICR0aGlja25lc3M7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHNwZWVkO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRidXJnZXItcG9zaXRpb247XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogJGJ1cmdlci1wb3NpdGlvbjtcbiAgICB9XG59XG5cblxuQG1peGluIGJ1cmdlci1iYXItd3coJGNvbG9yLCAkc2l6ZTogMzBweCwgJHRoaWNrbmVzczogMnB4LCAkc3BlZWQ6IC41cykge1xuXG4gICAgJGhlaWdodDogJHNpemUgKiAwLjY7XG4gICAgJGJ1cmdlci1tYXJnaW46ICAje3JvdW5kKCgkc2l6ZSAtICR0aGlja25lc3MpIC8gMil9O1xuICAgICRidXJnZXItcG9zaXRpb246IC0je3JvdW5kKCgoJGhlaWdodCAtICgkdGhpY2tuZXNzICogMykpIC8gMikgKyAkdGhpY2tuZXNzKX07XG4gICAgJGJvcmRlci1yYWRpdXM6ICN7cm91bmQoJHRoaWNrbmVzcyAvIDIpfTtcblxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46ICRidXJnZXItbWFyZ2luIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBoZWlnaHQ6ICR0aGlja25lc3M7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLCAxKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICRzcGVlZCAvIDI7XG4gICAgb3BhY2l0eTogMTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6ICR0aGlja25lc3M7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIDEpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHNwZWVkO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRidXJnZXItcG9zaXRpb247XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogJGJ1cmdlci1wb3NpdGlvbjtcbiAgICB9XG59XG5cbkBtaXhpbiBidXJnZXItY2xvc2UoJGNvbG9yLCAkc2l6ZTogMjBweCwgJHRoaWNrbmVzczogMnB4KSB7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIDApO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxufVxuIiwiQGltcG9ydCAnY29uZmlnL3N0eWxlcy9kZXZpY2UtcmVzb2x1dGlvbnMnO1xuQGltcG9ydCAnY29uZmlnL3N0eWxlcy9wYWxldHRlcyc7XG5AaW1wb3J0ICdtaXhpbnMvc3R5bGVzL21lbnUtaGVscGVycyc7XG5AaW1wb3J0ICdjb21tb24nO1xuXG4kaGVhZGVyLWxvZ2luLWhlaWdodDogKFxuICAgIG1vYmlsZTogMjk1cHgsXG4gICAgbWVkaXVtOiA5NXB4LFxuICAgIGxhcmdlOiAxMTVweFxuKTtcblxuLmhvbWUgLmhlYWRlcl9fbG9nbyAuaGVhZGVyX19sb2dvX19pY29uLWxvZ28ge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uaGVhZGVyX19sb2dvX19zdmcge1xuICAgIGJhY2tncm91bmQ6IHVybCgnL2Fzc2V0cy9pbWcvbG9nby1saWdodC5zdmcnKSBuby1yZXBlYXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDExcHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMzlweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0LXRyYW5zaXRpb25TcGVlZDtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgd2lkdGg6IDE1MnB4O1xuICAgICAgICBoZWlnaHQ6IDU3cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwcywgMHM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG5cbn1cblxuLmhlYWRlcl9fcGFuZS0tZGlzY292ZXIuaXMtb3BlbiB7XG4gICAgLmhlYWRlcl9fbG9nb19fc3ZnIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvYXNzZXRzL2ltZy9sb2dvLWRhcmsuc3ZnJykgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLmhlYWRlcl9fcGFuZS0tbmF2aWdhdGlvbi5pcy1vcGVuIHtcbiAgICAuaGVhZGVyX19sb2dvX19zdmcge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvaW1nL2xvZ28tbGlnaHQuc3ZnJykgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLmhlYWRlci5pcy1vcGVuIHtcbiAgICAuaGVhZGVyX19sb2dvX19zdmcge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMHMsIDBzO1xuICAgIH1cbn1cblxuLmhlYWRlcl9fbG9nb19faWNvbi1sb2dvIHtcbiAgICBmb250LXNpemU6IDM4cHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdC10cmFuc2l0aW9uU3BlZWQ7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAxNTJweDtcbiAgICAgICAgaGVpZ2h0OiA1N3B4O1xuICAgICAgICBmb250LXNpemU6IDU3cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwcywgMHM7XG4gICAgfVxuXG59XG5cbi5oZWFkZXJfX3BhbmUtLWRpc2NvdmVyLmlzLW9wZW4ge1xuICAgIC5oZWFkZXJfX2xvZ29fX2ljb24tbG9nbyB7XG4gICAgICAgIGNvbG9yOiAkYy1kYXJrLWdyYXk7XG4gICAgfVxufVxuXG4uaGVhZGVyX19wYW5lLS1uYXZpZ2F0aW9uLmlzLW9wZW4ge1xuICAgIC5oZWFkZXJfX2xvZ29fX2ljb24tbG9nbyB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG59XG5cbi5oZWFkZXIuaXMtb3BlbiB7XG4gICAgLmhlYWRlcl9fbG9nb19faWNvbi1sb2dvIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDBzLCAwcztcbiAgICB9XG59XG5cbi5oZWFkZXItLW9sZCB7XG4gICAgJi5oZWFkZXIge1xuICAgICAgICBoZWlnaHQ6ICRtLXNtYWxsSGVpZ2h0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0LXRyYW5zaXRpb25TcGVlZDtcblxuICAgICAgICA+IGlucHV0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtLW1lZGl1bUhlaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtLW1lZGl1bUhlaWdodCArICRuYXZIZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgICAgIGhlaWdodDogJG0tbGFyZ2VIZWlnaHQgKyAkbmF2SGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9faW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC45cztcblxuICAgICAgICAmLmlzLWhpZGRlbiB7XG4gICAgICAgICAgICB0b3A6IC0kbS1zbWFsbEhlaWdodDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zcztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRvcDogLSRtLW1lZGl1bUhlaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAtKCRtLW1lZGl1bUhlaWdodCArICRuYXZIZWlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgICAgICAgICB0b3A6IC0oJG0tbGFyZ2VIZWlnaHQgKyAoJG5hdkhlaWdodCszKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtc2hvd2luZy1sb2dpbiB7XG4gICAgICAgIC5oZWFkZXJfX2xvZ2luIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1hcC1nZXQoJGhlYWRlci1sb2dpbi1oZWlnaHQsIG1vYmlsZSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRoZWFkZXItbG9naW4taGVpZ2h0LCBtZWRpdW0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRoZWFkZXItbG9naW4taGVpZ2h0LCBsYXJnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX19sb2dpbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZC1zaGFkZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4yNXMgbWF4LWhlaWdodCBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2xvZ2luLWZvcm0ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX21lbnUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogJG0tc21hbGxIZWlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMzA7XG4gICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdC10cmFuc2l0aW9uU3BlZWQsIGJhY2tncm91bmQgLjI1cztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDAuNXM7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgaGVpZ2h0OiAkbS1tZWRpdW1IZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtLWxhcmdlSGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci5pcy1vcGVuIHtcbiAgICAgICAgLmhlYWRlcl9fbWVudSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItLWRhcmtlbl9fbWVudSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgfVxufVxuXG4iLCJAaW1wb3J0ICdtaXhpbnMvc3R5bGVzL2J1cmdlcic7XG5AaW1wb3J0ICdjb21tb24nO1xuXG5AbWl4aW4gY29tcGFzcygkY29sb3IsICRzaXplOiAyMHB4LCAkdGhpY2tuZXNzOiAycHgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogOXB4O1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHJvdGF0ZSgtNjBkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNXM7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMi41cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICBoZWlnaHQ6IDIuNXB4O1xuICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICBib3JkZXI6ICR0aGlja25lc3Mgc29saWQgJGNvbG9yO1xuICAgICAgICBib3JkZXItd2lkdGg6ICR0aGlja25lc3MvMiAkdGhpY2tuZXNzO1xuICAgICAgICB0cmFuc2Zvcm06IHNrZXcoNjJkZWcpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXB4O1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNmRlZyk7XG4gICAgfVxufVxuXG5AbWl4aW4gY29tcGFzcy1jbG9zZSgkY29sb3IpIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoJGNvbG9yLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHJvdGF0ZSgwZGVnKTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG59XG5cbi5oZWFkZXItLW9sZCB7XG5cbiAgICAuaGVhZGVyX190b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIC40cztcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjYXB0aW9uKCRzaXplOiAxMHB4KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci5pcy1vcGVuIHtcbiAgICAgICAgLmhlYWRlcl9fdG9nZ2xlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIDBzO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX190b2dnbGUtLXNlYXJjaCB7XG4gICAgICAgIGxlZnQ6IDIyLjVweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBsZWZ0OiA0MHB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgY29udGVudDogJ1NlYXJjaCc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXJfX3RvZ2dsZS0tZGlzY292ZXIge1xuICAgICAgICBsZWZ0OiAyMi41cHg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuXG4gICAgICAgID4gc3ZnLCAuaGVhZGVyX19sb2dvX19zdmcge1xuICAgICAgICAgICAgc3Ryb2tlOiAkYy13aGl0ZTtcbiAgICAgICAgICAgIHN0cm9rZS13aWR0aDogNTtcbiAgICAgICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29tcGFzcygkY29sb3I6ICRjLXdoaXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIGxlZnQ6IDQwcHg7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnRGlzY292ZXInO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX190b2dnbGUtLW5hdmlnYXRpb24ge1xuICAgICAgICByaWdodDogMjIuNXB4O1xuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXJnZXItYmFyKCRjb2xvcjogJGMtd2hpdGUsICRzcGVlZDogJHQtdHJhbnNpdGlvblNwZWVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdNZW51JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmhlYWRlcl9fdG9nZ2xlLS1sb2dpbixcbiAgICAuaGVhZGVyX190b2dnbGUtLXByb2ZpbGUsXG4gICAgLmhlYWRlcl9fdG9nZ2xlLS1jYXJ0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAyMi41cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgY2FwdGlvbigkc2l6ZTogMTBweCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBbY2xhc3NePWljb24tXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIHJpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgIFtjbGFzc149aWNvbi1dIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmhlYWRlcl9fdG9nZ2xlLS1wcm9maWxlLFxuICAgIC5oZWFkZXJfX3RvZ2dsZS0tbG9naW4ge1xuICAgICAgICByaWdodDogNTdweDtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICByaWdodDogNzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXJfX3RvZ2dsZS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX190b2dnbGUtLWxvZ2luLFxuICAgIC5oZWFkZXJfX3RvZ2dsZS0tcHJvZmlsZSB7XG4gICAgICAgIC5oZWFkZXJfX3RvZ2dsZS10ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhhcy1sb2dpbi1lbmFibGVkIHtcblxuICAgICAgICAuaGVhZGVyX190b2dnbGUtLXNlYXJjaCxcbiAgICAgICAgLmhlYWRlcl9fdG9nZ2xlLS1kaXNjb3ZlciB7XG4gICAgICAgICAgICBsZWZ0OiA2MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMTQwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXJfX3RvZ2dsZS0tbmF2aWdhdGlvbiB7XG4gICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIGxlZnQ6IDIyLjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgIH1cblxufVxuIiwiQGltcG9ydCAnY29uZmlnL3N0eWxlcy91dGlsJztcblxuLmhlYWRlcl9fcGFuZSB7XG4gICAgQGluY2x1ZGUgZmlsbC1wYXJlbnQoJHBvc2l0aW9uOiBmaXhlZCwgJGJvdHRvbTogYXV0byk7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRvcDogLTEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiA0MDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjUwMHM7XG5cbiAgICAvLyBIaWRlIHRoZSBwYW5lcyBjb250ZW50IHNvIHRoYXQgd2UgY2Fubm90IHRhYiB0byBpdCAtIEFDQ0VTU0lCSUxJVFkgRklYXG4gICAgPiAqIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiAuNTAwcztcbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTW9iaWxlIGRldmljZXMgaGlkaW5nIG9mIGhlYWRlciBwYW5lIGlnbm9yZWQgYXMgYSB3b3JrYXJvdW5kIGZvciBJT1MgZm9jdXMgYmVoYXZpb3VyXG4uaW9zLWRldmljZSB7XG4gICAgLmhlYWRlcl9fcGFuZSB7XG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4iLCIubm8tc2Nyb2xsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdmVyZmxvdy15OnNjcm9sbDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5uby1zY3JvbGxiYXJzIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiQGltcG9ydCAnbWl4aW5zL3N0eWxlcy9tZW51LWhlbHBlcnMnO1xuQGltcG9ydCAnbWl4aW5zL3N0eWxlcy9kYXJrLW9yLWxpZ2h0LXRleHQnO1xuXG4kaXRlbXM6IChcbiAgICAob3V0OiAxNTBtcywgaW46IDM1MG1zKSxcbiAgICAob3V0OiAxNTBtcywgaW46IDI4MG1zKSxcbiAgICAob3V0OiAyMDBtcywgaW46IDIzMG1zKSxcbiAgICAob3V0OiAyNTBtcywgaW46IDE1MG1zKSxcbiAgICAob3V0OiAzMDBtcywgaW46IDExMG1zKSxcbiAgICAob3V0OiAzNTBtcywgaW46IDkwbXMpLFxuICAgIChvdXQ6IDM1MG1zLCBpbjogODBtcyksXG4gICAgKG91dDogMzUwbXMsIGluOiA3MG1zKSxcbiAgICAob3V0OiAzNTBtcywgaW46IDUwbXMpXG4pO1xuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uIHtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4ucHJpbWFyeS1uYXZpZ2F0aW9uX19pdGVtIHtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSB0cmFuc2xhdGVZKC0yNHB4KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zNXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAuMzVzIGVhc2Utb3V0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5oZWFkZXJfX3BhbmUtLW5hdmlnYXRpb24uaXMtb3BlbiAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgLjM1cyBlYXNlLW91dCwgdHJhbnNmb3JtIC4zNXMgZWFzZS1vdXQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGMtd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBlYWNoICRpdGVtIGluICRpdGVtcyB7XG5cbiAgICAkaWR4OiBpbmRleCgkaXRlbXMsICRpdGVtKTtcblxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLnByaW1hcnktbmF2aWdhdGlvbl9faXRlbTpudGgtY2hpbGQoI3skaWR4fSkge1xuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGh1Z2UpIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IG1hcC1nZXQoJGl0ZW0sIGluKSwgbWFwLWdldCgkaXRlbSwgaW4pO1xuXG4gICAgICAgICAgICAuaGVhZGVyX19wYW5lLS1uYXZpZ2F0aW9uLmlzLW9wZW4gJiB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogbWFwLWdldCgkaXRlbSwgb3V0KSwgbWFwLWdldCgkaXRlbSwgb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByaW1hcnktbmF2aWdhdGlvbl9fbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZm9udDogJGZvbnQtYTY7XG4gICAgY29sb3I6ICRjLXdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICBmb250OiAkZm9udC1hNDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udDogJGZvbnQtYTk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDhweCA5cHggOHB4O1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJHBhbGV0dGVzLCBkZWZhdWx0KSwgcHJpbWFyeSk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG9tZSxcbi5lcnJvciB7XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbl9fbGluayB7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uX19pdGVtIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3VyOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyLS13aXphcmRpbmctd29ybGQge1xuXG4gICAgLnByaW1hcnktbmF2aWdhdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICYucHJpbWFyeS1uYXZpZ2F0aW9uLS1vdmVybGF5IHtcbiAgICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2l0ZW0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbl9fbGluayB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgICBmb250OiAkZm9udC1jNTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcblxuICAgICAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAuMzVzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gLjM1cyBlYXNlLWluO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIGZvbnQ6ICRmb250LWMwO1xuICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAycHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgICAgIGZvbnQ6ICRmb250LWMxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWNvbmRhcnktbmF2aWdhdGlvbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb25fX2xpc3Qge1xuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb25fX2l0ZW0ge1xuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXI6MnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAuMzVzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gLjM1cyBlYXNlLW91dDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLCAmLmFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGMtd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRjLXdoaXRlO1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGMtZGVmYXVsdC1wcmltYXJ5O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbl9fbGluayB7XG4gIEBpbmNsdWRlIGNhcHRpb24oJHNpemU6IDEycHgpO1xuICBwYWRkaW5nOiAxMnB4IDhweCA5cHg7XG4gIGNvbG9yOiNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjpub25lO1xuXG4gIEBpbmNsdWRlIG1xKCRhbmQ6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLndpemFyZGluZy13b3JsZC1vdmVycmlkZXMge1xuXG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uX19pdGVtIHtcblxuICAgICAgICAmLmFjdGl2ZSB7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3aXphcmRpbmdXb3JsZFBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCJAaW1wb3J0ICcuLi8uLi9mb3Jtcy9zdHlsZXMvYWxsJztcblxuLmNvb2tpZS1kaXNjbGFpbWVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCw1MCw1MCwwLjgpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzRmNGY0ZjtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDk5OTsgLyogZG9lc24ndCB3b3JrIHdpdGggbGVzcyB0aGFuIDMwPy4uLiAqL1xuXG5cdCYuaXMtc2hvd24ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cbiAgYSB7XG4gICAgY29sb3I6I2ZmZjtcbiAgfVxuXG4gIGEsIGE6aG92ZXIsIGE6dmlzaXRlZCwgYTpsaW5rLCBhOmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBmb250LWZhbWlseTokcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cblxuLmNvb2tpZS1kaXNjbGFpbWVyX190ZXh0IHtcblx0bWFyZ2luOiAwIDVweDtcbn1cblxuIiwiXG5AaW1wb3J0ICcuL2Zvcm0taGVhZGVyJztcbkBpbXBvcnQgJy4uL3JhZGlvLXNlbGVjdGlvbi9zdHlsZXMvYWxsJztcblxuJGZvcm0tZXJyb3ItYmctY29sb3I6ICNjYTA0MDQgIWRlZmF1bHQ7XG4kZm9ybS1lcnJvci1ib3JkZXItY29sb3I6ICRmb3JtLWVycm9yLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZXJyb3ItdGV4dC1jb2xvcjogI0ZGRiAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWlucHV0LWJnOiAjRkNGMkYyICFkZWZhdWx0O1xuXG4kZm9ybS13YXJuaW5nLWJnLWNvbG9yOiAjZmY5ICFkZWZhdWx0O1xuJGZvcm0td2FybmluZy1ib3JkZXItY29sb3I6ICRmb3JtLWVycm9yLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0td2FybmluZy10ZXh0LWNvbG9yOiAjMDAwICFkZWZhdWx0O1xuXG4kcG90dGVybW9yZVBhbGV0dGU6IG1hcC1nZXQoJHBhbGV0dGVzLCBkZWZhdWx0KTtcbiRhdWJ1cm46IG1hcC1nZXQoJHBhbGV0dGVzLCBhdWJ1cm4pO1xuXG5AbWl4aW4gZm9ybS1lcnJvcigpIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAkZm9ybS1lcnJvci1ib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tZXJyb3ItaW5wdXQtYmc7XG59XG5cbkBtaXhpbiBmb3JtLWVycm9yLWFuZ3VsYXIoKSB7XG4gICAgJi5uZy1pbnZhbGlkLm5nLXRvdWNoZWQsXG4gICAgLm5nLXN1Ym1pdHRlZCAmLm5nLWludmFsaWQge1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yKCk7XG4gICAgfVxufVxuXG5idXR0b24ge1xuICAgIEBleHRlbmQgaDQ7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bS1taW4td2lkdGgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybV9fcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAuZm9ybS0tc3RhY2thYmxlICYge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtX19yb3ctLWhhbGYge1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbi5mb3JtX19yb3ctbGluayB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udDogJGZvbnQtYzE7XG59XG5cbi5mb3JtX19yb3ctbGluay0taW52ZXJ0IHtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLmZvcm1fX3Jvdy0tdGV4dC1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBjYXB0aW9uKCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZm9ybV9fcm93LS1jaGVja2JveCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmZvcm1fX3Jvdy0tbm8tbGFiZWwge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIzcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIH1cbn1cblxuLmZvcm1fX2xhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgY2FwdGlvbigpO1xufVxuXG4uZm9ybV9fbGFiZWwtLWludmVydCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5mb3JtX19sYWJlbC0taW52ZXJ0IGEsIC5mb3JtX19sYWJlbC0taW52ZXJ0IGE6dmlzaXRlZCwgLmZvcm1fX2xhYmVsLS1pbnZlcnQgYTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG59XG5cbi5mb3JtX19sYWJlbC0tY2hlY2tib3gge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiA4NSU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbn1cblxuLmZvcm1fX2lucHV0IHtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBmb250OiAkZm9udC1hNjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItYW5ndWxhcigpO1xuXG4gICAgJi5mb3JtX19pbnB1dC0tZGlzYWJsZWQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG59XG5cbi5mb3JtX19pbnB1dC0tc2VsZWN0IHtcbiAgICBoZWlnaHQ6IDM2cHg7XG59XG5cbi5mb3JtX19pbnB1dC0tY2hlY2tib3gge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yLWFuZ3VsYXIoKTtcbn1cblxuLmZvcm1fX2J1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2FwdGlvbigpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLmZvcm1fX2J1dHRvbiwgLmZvcm1fX2J1dHRvbi0tcHJpbWFyeSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHBvdHRlcm1vcmVQYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICZbZGlzYWJsZWQ9ZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2M1YzljYztcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cblxufVxuXG4uZm9ybV9fYnV0dG9uLS1ob2xsb3cge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkY7XG59XG5cbi5vdmVybGF5IHtcbiAgICAuZm9ybV9fYnV0dG9uLS1ob2xsb3cge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHBvdHRlcm1vcmVQYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHBvdHRlcm1vcmVQYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtX19idXR0b24tLWxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm1fX2J1dHRvbi0tYWZ0ZXItY2hlY2tib3gge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5mb3JtX19lcnJvcixcbi5mb3JtX19jb25maXJtYXRpb24sXG4uZm9ybV9fd2FybmluZyB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tZXJyb3ItYmctY29sb3I7XG4gICAgQGluY2x1ZGUgY2FwdGlvbigpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGNvbG9yOiAkZm9ybS1lcnJvci10ZXh0LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZvcm1fX3dhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXdhcm5pbmctYmctY29sb3I7XG4gICAgY29sb3I6ICRmb3JtLXdhcm5pbmctdGV4dC1jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5mb3JtX19jb25maXJtYXRpb24ge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHBvdHRlcm1vcmVQYWxldHRlLCBzZWNvbmRhcnkpO1xufVxuXG4uZm9ybV9fZXJyb3ItLWdsb2JhbCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4ud2l6YXJkaW5nLXdvcmxkLW92ZXJyaWRlcyB7XG5cbiAgICAuZm9ybV9fYnV0dG9uLCAuZm9ybV9fYnV0dG9uLS1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkd2l6YXJkaW5nV29ybGRQYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAmW2Rpc2FibGVkPWRpc2FibGVkXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYzVjOWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgJi53dy1mb3JtX19idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYud3ctc2lnbmluLWxpbmsge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0NFQkY5NjtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm1fX2J1dHRvbi0taG9sbG93IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLmZvcm1fX2NvbmZpcm1hdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHdpemFyZGluZ1dvcmxkUGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICB9XG5cbiAgICAub3ZlcmxheSB7XG4gICAgICAgIC5mb3JtX19idXR0b24tLWhvbGxvdyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHdpemFyZGluZ1dvcmxkUGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2l6YXJkaW5nV29ybGRQYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIiwiXG4kbWFzdGhlYWRBdXRob3JUZXh0Q29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4kbWFzdGhlYWRUZXh0Q29sb3JMaWdodDogJGNvbG9yLXN1YnRpdGxlO1xuXG4kbmV3c01hc3RoZWFkVGV4dENvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiRtYXN0aGVhZEJhY2tncm91bmRDb2xvcjogJGNvbG9yLWJhY2tncm91bmQtc2hhZGU7XG4kbmV3c01hc3RoZWFkSGVhZGluZ0ZvbnRzdGFjazogJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4kbWFzdGhlYWRDYXRlZ29yeUZvbnRzdGFjazogJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG5cbiR3aXphcmRpbmdNYXN0aGVhZFRleHRDb2xvcjogJGNvbG9yLXRleHQtaW52ZXJ0O1xuJHdpemFyZGluZ01hc3RoZWFkQmFja2dyb3VuZENvbG9yOiAkcGFsZXR0ZS1wb3R0ZXJtb3JlLXByaW1hcnk7XG4kd2l6YXJkaW5nTWFzdGhlYWRIZWFkaW5nRm9udHN0YWNrOiAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuXG4kamtyV3JpdGluZ01hc3RoZWFkRm9udHN0YWNrOiAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuXG4ubWFzdGhlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFzdGhlYWRCYWNrZ3JvdW5kQ29sb3I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IGNhbGMoOTB2aCAtIDY1cHgpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMXM7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgIH1cbn1cblxuLm1hc3RoZWFkX19jb250ZW50IHtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCRtZWRpdW0gLSAoJG1lZGl1bS8xMikpO1xuXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhbigxIG9mIDEyKSArIGd1dHRlcigxMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCRsYXJnZSAtICgkbGFyZ2UvMTIpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoJGh1Z2UgLSAoJGh1Z2UvMTIpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCRlbm9ybW91cyAtICgkZW5vcm1vdXMvMTIpKTtcbiAgICB9XG59XG5cbi5tYXN0aGVhZF9fbG9uZy1oZWFkbGluZSB7XG4gICAgZm9udDogJGZvbnQtYTM7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIGZvbnQ6ICRmb250LWEyO1xuICAgICAgICB3aWR0aDogc3Bhbig4IG9mIDEyKTtcbiAgICAgICAgbWFyZ2luOiA1cHggYXV0byAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICBmb250OiAkZm9udC1hMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgZm9udDogJGZvbnQtYTE7XG4gICAgfVxufVxuXG4ubWFzdGhlYWRfX2xvbmctaGVhZGxpbmUtLW5vLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3MXB4O1xufVxuXG4ubWFzdGhlYWRfX2xvbmctaGVhZGxpbmUtLW5vLWF1dGhvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLm1hc3RoZWFkX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgZ3V0dGVyKDEyKTtcbiAgICBtYXJnaW4tdG9wOiAxMXB4O1xuICAgIGZvbnQ6ICRmb250LWE1O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6IHNwYW4oOCBvZiAxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgICAgIGZvbnQ6ICRmb250LWE2O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgICAgICBmb250OiAkZm9udC1hNjtcbiAgICB9XG5cbiAgICA+IHAge1xuICAgICAgICBlbSB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYXN0aGVhZC0tYXJ0ZWZhY3RfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW46IDEwcHggMCAxNXB4O1xufVxuXG4ubWFzdGhlYWRfX2NhdGVnb3J5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSBjYXB0aW9uKCk7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLm1hc3RoZWFkX19zb2NpYWwtc2hhcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDQ2cHg7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIGhlaWdodDogNDFweDtcbiAgICB9XG59XG5cbi5tYXN0aGVhZF9fYXV0aG9yLFxuLm1hc3RoZWFkX19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogN3B4O1xuICAgIGZvbnQ6ICRmb250LWE1O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBmb250OiAkZm9udC1hNDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgZm9udDogJGZvbnQtYTQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgIGZvbnQ6ICRmb250LWEzO1xuICAgIH1cbn1cblxuLm1hc3RoZWFkX19waWN0b2dyYW0ge1xuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLm1hc3RoZWFkLS1pbmZvcm1hdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDcxcHg7XG59XG5cbi5tYXN0aGVhZC0tY29sbGVjdGlvbl9fbG9uZy1oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbn1cbiIsIkBpbXBvcnQgJ2NvbmZpZy9zdHlsZXMvcGFsZXR0ZXMnO1xuQGltcG9ydCAnY29uZmlnL3N0eWxlcy9kZXZpY2UtcmVzb2x1dGlvbnMnO1xuXG5AaW1wb3J0ICcuLi8uLi9pY29ucy9zdHlsZXMvYWxsJztcblxuLm9ybmFtZW50LFxuLm9ybmFtZW50LTIsXG4ub3JuYW1lbnQtMyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDEzcHggMDtcbiAgICBoZWlnaHQ6IDExcHg7XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDlweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmb250LXNpemU6IDQ5cHg7XG4gICAgQGluY2x1ZGUgZm9udC1mYW1pbHktaWNvbW9vbjtcbiAgICBjb250ZW50OiBcIlxcZTYwYVwiO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJhY2tncm91bmQtc2hhZGU7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiA1MCU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIHRyYW5zaXRpb246IGFsbCAxcztcbiAgfVxuXG4gIC5vdXQtb2YtdmlldyAmOmFmdGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxufVxuXG4ub3JuYW1lbnQtMjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwYlwiO1xufVxuXG4ub3JuYW1lbnQtMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwY1wiO1xufVxuXG4ub3JuYW1lbnQtLW5vLWRpdmlkZXIge1xuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vcm5hbWVudC0tZnVsbC1zcGFjaW5nIHtcbiAgbWFyZ2luOiAyNXB4IDA7XG59XG5cbi5vcm5hbWVudC0taG9yaXpvbnRhbC1zcGFjaW5nIHtcbiAgbWFyZ2luLXJpZ2h0OiBzcGFuKDEgb2YgMTIpIC0gZ3V0dGVyKDEyKTtcbiAgbWFyZ2luLWxlZnQ6IHNwYW4oMSBvZiAxMikgLSBndXR0ZXIoMTIpO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLnByb2ZpbGUtbXktYm9va3NfX29ybmFtZW50LCAub3JuYW1lbnQtLWJvb2stY2x1YiwgLm15LWJvb2stZGV0YWlsc19fb3JuYW1lbnQge1xuICAmLm9ybmFtZW50LS1saWdodCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLm9ybmFtZW50LS1ib29rLWNsdWIsXG4uYm9vay1jbHViLWRpdmlkZXIge1xuICAgIG1hcmdpbjogMjBweCAxMHB4IDI1cHg7XG5cbiAgICBjb2xvcjogI2NiZDBhZDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG59XG5cbi5vcm5hbWVudC5vcm5hbWVudC0tYm9vay1jbHViIHtcbiAgICBjb2xvcjogI2NiZDBhZDtcbn1cbiIsIiRpY29uLXBhdGg6ICcvYXNzZXRzL2ZvbnRzLycgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb250LWZhbWlseS1pY29tb29uIHtcbiAgICBmb250LWZhbWlseTogaWNvbW9vbiAhaW1wb3J0YW50O1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IGljb21vb247XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIHNyYzogIHVybCgkaWNvbi1wYXRoICsgJ2ljb21vb24tdjEuNy5lb3Q/bmh6cnkxJyk7XG4gICAgc3JjOiAgdXJsKCRpY29uLXBhdGggKyAnaWNvbW9vbi12MS43LmVvdD9uaHpyeTEjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCRpY29uLXBhdGggKyAnaWNvbW9vbi12MS43LnR0Zj9uaHpyeTEnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCRpY29uLXBhdGggKyAnaWNvbW9vbi12MS43LndvZmY/bmh6cnkxJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCRpY29uLXBhdGggKyAnaWNvbW9vbi12MS43LnN2Zz9uaHpyeTEjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICBAaW5jbHVkZSBmb250LWZhbWlseS1pY29tb29uO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG5cbiAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG5cbi5pY29uLWF3YXJkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzJcIjtcbn1cbi5pY29uLWF3YXJkMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMzXCI7XG59XG4uaWNvbi1zZWxsaW5nLWZhc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuLmljb24tZXhjbHVzaXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cbi5pY29uLWxhc3QtY2hhbmNlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cbi5pY29uLWxpbWl0ZWQtZWRpdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG59XG4uaWNvbi1sb3ZlczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG59XG4uaWNvbi1uZXc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24tY2hhbWJlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG59XG4uaWNvbi1zdG9uZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG59XG4uaWNvbi1lbWFpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XG59XG4uaWNvbi1zdHVtYmxldXBvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG4uaWNvbi1nb2JsZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xufVxuLmljb24taGFsbG93czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG59XG4uaWNvbi1waG9lbml4OmJlZm9yZSwgLmljb24tb3JkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xufVxuLmljb24tcHJpbmNlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbn1cbi5pY29uLXJlYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuLmljb24tYXprYWJhbjpiZWZvcmUsIC5pY29uLXByaXNvbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGVcIjtcbn1cbi5pY29uLWRpc2N1c3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZlwiO1xufVxuLmljb24tZXhhbWluZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG59XG4uaWNvbi1zaGFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFmXCI7XG59XG4uaWNvbi1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTFcIjtcbn1cbi5pY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cbi5pY29uLWJhc2tldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG59XG4uaWNvbi1iaWctbWludXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNFwiO1xufVxuLmljb24tYmlnLXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuLmljb24tYnVuZGxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTZcIjtcbn1cbi5pY29uLWNoZXZyb24tZG93bi1pbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxN1wiO1xufVxuLmljb24tY2hldnJvbi11cC1pbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xufVxuLmljb24tZGlzY292ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYVwiO1xufVxuLmljb24tZG93bi1hcnJvdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFiXCI7XG59XG4uaWNvbi1kb3duLWNoZXZyb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxY1wiO1xufVxuLmljb24tZXhwYW5kOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWRcIjtcbn1cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWVcIjtcbn1cbi5pY29uLWZyYW1lOmJlZm9yZSwgLmljb24tbW91bnRlZC1wcmludDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XG59XG4uaWNvbi1nb29nbGVwbHVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjFcIjtcbn1cbi5pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIyXCI7XG59XG4uaWNvbi1taW51cy1pbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyM1wiO1xufVxuLmljb24tcGF1c2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xufVxuLmljb24tcGxheTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI1XCI7XG59XG4uaWNvbi1wbHVzLWluLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG4uaWNvbi1wb3N0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyN1wiO1xufVxuLmljb24tcHJvZmlsZTpiZWZvcmUsIC5pY29uLWxvZ2luOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjhcIjtcbn1cbi5pY29uLXNtYWxsLWxlZnQtY2hldnJvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG59XG4uaWNvbi1zbWFsbC1yaWdodC1jaGV2cm9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmFcIjtcbn1cbi5pY29uLXRoaW4tdGljazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJiXCI7XG59XG4uaWNvbi10dW1ibHI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyY1wiO1xufVxuLmljb24tdHdpdHRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG59XG4uaWNvbi11cC1jaGV2cm9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmVcIjtcbn1cbi5pY29uLXZpZGVvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmZcIjtcbn1cbi5pY29uLXRoaW4tdGljazI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzMFwiO1xufVxuLmljb24tb3JuYW1lbnQtMTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjBhXCI7XG59XG4uaWNvbi1vcm5hbWVudC0yOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU2MGJcIjtcbn1cbi5pY29uLW9ybmFtZW50LTM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTYwY1wiO1xufVxuXG4uaWNvbi1sb2dvLXdpemFyZGluZy13b3JsZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM0XCI7XG59XG4uaWNvbi1yb3VuZGVsLXdpemFyZGluZy13b3JsZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM1XCI7XG59XG4uaWNvbi1sb2dvLXdpemFyZGluZy13b3JsZC1wb3R0ZXJtb3JlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cbi5pY29uLWxvZ28td2l6YXJkaW5nLXdvcmxkLXdhbmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzN1wiO1xufVxuLmljb24tbG9nbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlNjA4XCI7XG59XG5cbi5pY29uLXNlYXJjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTg2XCI7XG59XG5cbi5pY29uLWxvZ28sIC5pY29uLWxvZ28td2l6YXJkaW5nLXdvcmxkLCAuaWNvbi1yb3VuZGVsLXdpemFyZGluZy13b3JsZCwgLmljb24tbG9nby13aXphcmRpbmctd29ybGQtcG90dGVybW9yZSwgLmljb24tbG9nby13aXphcmRpbmctd29ybGQtd2FuZCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG4iLCIuZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgcGFkZGluZzogMjBweCAwIDcwcHg7XG4gIHRleHQtYWxpZ246Y2VudGVyO1xuXG4gIC5mb290ZXJfX3NpdGUtbGlua3Mge1xuICAgIGEge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgZGlzcGxheTp0YWJsZTtcbiAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgICAgY29sb3I6I2ZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjpub25lO1xuICAgICAgbWFyZ2luOjAgYXV0byAxMHB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6M3B4O1xuICAgICAgbGluZS1oZWlnaHQ6MzBweDtcbiAgICAgIEBpbmNsdWRlIGNhcHRpb24oJHNpemU6IDEycHgpO1xuICAgIH1cblxuICB9XG5cbiAgLmZvb3Rlcl9fY29va2llLXRleHQge1xuICAgIGZvbnQtc2l6ZToxMnB4O1xuICAgIGNvbG9yOiNkM2QzZDM7XG4gICAgbGluZS1oZWlnaHQ6MThweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgZm9udC1mYW1pbHk6JHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4gICAgbWF4LXdpZHRoOiBzcGFuKDggb2YgMTIpO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjppbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyX19yb3VuZGVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNzVweDtcbiAgICBoZWlnaHQ6IDc1cHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWcvd2l6YXJkaW5nLXdvcmxkLXJvdW5kZWwucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uZm9vdGVyX19yb3VuZGVsLS13aXphcmRpbmctd29ybGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBtYXJnaW46IDIwcHggYXV0byAyMHB4O1xuICAgIGZvbnQtc2l6ZTogNTdweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDU3cHg7XG4gICAgfVxufVxuIiwiJHNvY2lhbFdpZHRoOiAzN3B4O1xuJHNvY2lhbEhlaWdodDogJHNvY2lhbFdpZHRoO1xuJHNvY2lhbFdpZHRoRGVza3RvcDogMzVweDtcbiRzb2NpYWxIZWlnaHREZXNrdG9wOiAkc29jaWFsV2lkdGhEZXNrdG9wO1xuXG4kc29jaWFsTGFyZ2VXaWR0aDogNTBweDtcbiRzb2NpYWxMYXJnZUhlaWdodDogJHNvY2lhbExhcmdlV2lkdGg7XG5cbiRzb2NpYWxGb290ZXJXcmFwV2lkdGg6IDI4NnB4O1xuJHNvY2lhbEZvb3RlcldyYXBXaWR0aERlc2t0b3A6IDI0MHB4O1xuJHNvY2lhbEhlaWdodEZvb3RlcjogNjdweDtcbiRzb2NpYWxIZWlnaHRGb290ZXJEZXNrdG9wOiA1N3B4O1xuXG4kYm9yZGVyU3R5bGU6IDFweCBzb2xpZCAjNGY0ZjRmO1xuXG4uc29jaWFsLXNoYXJlLFxuLnNvY2lhbC1zaGFyZS0tbGFyZ2Uge1xuICBoZWlnaHQ6IDQ2cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgYSB7XG4gICAgd2lkdGg6ICRzb2NpYWxXaWR0aDtcbiAgICBoZWlnaHQ6ICRzb2NpYWxIZWlnaHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzb2NpYWxXaWR0aDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLC4yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzO1xuICAgIHBhZGRpbmc6MDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB0b3A6IDBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjQpO1xuICAgIH1cbiAgfVxuXG4gICYuZm9vdGVyX19zb2NpYWwtc2hhcmUge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXJTdHlsZTtcbiAgICBtYXJnaW46IDEycHggYXV0byA1MHB4O1xuICAgIGhlaWdodDogJHNvY2lhbEhlaWdodEZvb3RlcjtcbiAgICB3aWR0aDogJHNvY2lhbEZvb3RlcldyYXBXaWR0aDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogJHNvY2lhbEhlaWdodERlc2t0b3A7XG4gICAgICB3aWR0aDogJHNvY2lhbFdpZHRoRGVza3RvcDtcbiAgICAgIGhlaWdodDogJHNvY2lhbFdpZHRoRGVza3RvcDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzb2NpYWxXaWR0aERlc2t0b3A7XG5cbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgICAmLmZvb3Rlcl9fc29jaWFsLXNoYXJlIHtcbiAgICAgIGhlaWdodDogJHNvY2lhbEhlaWdodEZvb3RlckRlc2t0b3A7XG4gICAgfVxuXG4gICAgJi5tYXN0aGVhZF9fc29jaWFsLXNoYXJlIHtcbiAgICAgIGEge1xuICAgICAgICAgIHRvcDogLTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59XG5cbi5mb290ZXJfX3NvY2lhbC1zaGFyZS1oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMi41cHg7XG4gIG1hcmdpbjogMzZweCBhdXRvIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICRzb2NpYWxGb290ZXJXcmFwV2lkdGg7XG5cbiAgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgd2lkdGg6ICRzb2NpYWxGb290ZXJXcmFwV2lkdGhEZXNrdG9wO1xuICB9XG59XG5cbi5mb290ZXJfX3NvY2lhbC1zaGFyZS1oZWFkaW5nOmFmdGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogJGJvcmRlclN0eWxlO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDUwJTtcbiAgbGVmdDogMDtcbn1cblxuLnNvY2lhbC1zaGFyZS0tZGFyayB7XG4gIGEge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyMjUsLjIpO1xuICB9XG59XG5cbi5zb2NpYWwtc2hhcmUtLWdyZXkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC40KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNvY2lhbC1zaGFyZS0tbGlnaHQge1xuICBhIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjI1LC4yKTtcbiAgfVxufVxuXG4uc29jaWFsLXNoYXJlLS1sYXJnZSB7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAuc29jaWFsLXNoYXJlX19idXR0b24ge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAuc29jaWFsLXNoYXJlX19idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zb2NpYWwtc2hhcmUge1xuICAmOm5vdCguZm9vdGVyX19zb2NpYWwtc2hhcmUpIHtcbiAgICAuc29jaWFsLXNoYXJlX19idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc29jaWFsLXNoYXJlX19idXR0b246bnRoLWNoaWxkKDEpLFxuICAgIC5zb2NpYWwtc2hhcmVfX2J1dHRvbjpudGgtY2hpbGQoMiksXG4gICAgLnNvY2lhbC1zaGFyZV9fYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgICYuc29jaWFsLXNoYXJlLS1vcGVuZWQge1xuICAgICAgICAuc29jaWFsLXNoYXJlX19idXR0b246bnRoLWNoaWxkKG4gKyAzKTpudGgtY2hpbGQoLW4gKyA3KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLnNvY2lhbC1zaGFyZV9fYnV0dG9uOm50aC1jaGlsZChuICsgMyk6bnRoLWNoaWxkKC1uKSB7IC8vdGVtcCBtZWFzdXJlIHRvIGZpeCBtb2JpbGUgc2hhcmluZyB2aWV3IC0gaGlkZSBnK1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHVudGlsOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zb2NpYWwtc2hhcmVfX21vcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDFzO1xuICBsaW5lLWhlaWdodDogMDtcblxuICAuc29jaWFsLXNoYXJlLS1vcGVuZWQgJiB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgfVxufVxuXG4uc29jaWFsLXNoYXJlX19idXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDFweDsgLy9maXggZm9yIGlwYWQgY2xpcGluZyBpbiBzYWZhcmlcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb2NpYWwtc2hhcmUtLWxhcmdlIHtcbiAgbGkge1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgfVxuXG4gIGEge1xuICAgIHdpZHRoOiAkc29jaWFsTGFyZ2VXaWR0aDtcbiAgICBoZWlnaHQ6ICRzb2NpYWxMYXJnZUhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkc29jaWFsTGFyZ2VXaWR0aDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gIH1cbn1cblxuLnNvY2lhbC1zaGFyZS1wYWdlIHtcbiAgcGFkZGluZzogMjBweCAwIDIwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc29jaWFsLXNoYXJlLXBhZ2VfX2hlYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCBzcGFuKDEgb2YgMTIpIC0gZ3V0dGVyKDEyKSAxMnB4IHNwYW4oMSBvZiAxMikgLSBndXR0ZXIoMTIpO1xuICBmb250OiAxMnB4LzE0cHggJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIEBpbmNsdWRlIGNhcHRpb24oKTtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGRkY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm90dG9tOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuIiwiXG5AaW1wb3J0ICdwcm9kdWN0LXN1bW1hcnknO1xuXG4ucHJvZHVjdC1saXN0IHtcbiAgcGFkZGluZy10b3A6IGd1dHRlcig4KTtcbn1cblxuLnByb2R1Y3QtbGlzdF9fc29ydGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogZ3V0dGVyKDE2KTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMDtcblxuICA+IGxhYmVsLFxuICA+c2VsZWN0IHtcbiAgICBAaW5jbHVkZSBjYXB0aW9uKCk7XG4gIH1cblxuICA+IGxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBndXR0ZXIoMTIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGd1dHRlcig4KTtcbiAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgPiBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJGMtbGlnaHRlci1ncmF5O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IHNwYW4oNCBvZiA4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgIHdpZHRoOiBzcGFuKDEgb2YgNCkgKyBndXR0ZXIoOCk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1saXN0X19wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiJHBhZGRpbmc6IDIwcHg7XG4kdHJhbnNpdGlvbi1zcGVlZDogLjVzO1xuXG4ucHJvZHVjdC1zdW1tYXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYTY7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG5cbi5jb2xsZWN0aW9uLWxpc3QgLnByb2R1Y3Qtc3VtbWFyeV9faW1hZ2Uge1xuICAgIG1pbi1oZWlnaHQ6IDE4NHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206ICRzNSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMDVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGlwaG9uZTYpIHtcbiAgICAgICAgbWluLWhlaWdodDogMjE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206ICRuZXh1cykge1xuICAgICAgICBtaW4taGVpZ2h0OiAyNDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgbWluLWhlaWdodDogMjIwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgbWluLWhlaWdodDogMTgzcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgbWluLWhlaWdodDogMjIycHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4MXB4O1xuICAgIH1cbn1cblxuXG4ucHJvZHVjdC1saXN0LS1jb2xsZWN0aW9uLWxpc3QgLnByb2R1Y3Qtc3VtbWFyeV9faW1hZ2UtLWF1ZGlvLmJvb2sge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbCwgJHVudGlsOiBtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzUlO1xuICAgIH1cbn1cblxuLnByb2R1Y3Qtc3VtbWFyeV9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICA+IHBpY3R1cmUsXG4gICAgPnBpY3R1cmUgPiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbn1cblxuLmZlYXR1cmVkLWNvbGxlY3Rpb25zLS1mdWxsLXdpZHRoIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAucHJvZHVjdC1zdW1tYXJ5X19pbWFnZSB7XG4gICAgICAgID4gcGljdHVyZSwgPiBwaWN0dXJlID4gaW1nIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmEucHJvZHVjdC1zdW1tYXJ5X19pbWFnZSB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmlsbC1wYXJlbnQoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tc3BlZWQgY3ViaWMtYmV6aWVyKDAuNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogLjI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG4ucHJvZHVjdC1zdW1tYXJ5X19kZXRhaWxzIHtcbiAgICBtaW4taGVpZ2h0OiA4NyU7XG59XG5cbi5wcm9kdWN0LXN1bW1hcnlfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250OiAkZm9udC1hNjtcbiAgICBjb2xvcjogJGMtZGVmYXVsdC1zZWNvbmRhcnk7XG59XG5cbi5wcm9kdWN0LXN1bW1hcnlfX3RpdGxlIHtcbiAgICBmb250OiAkZm9udC1hNjtcbn1cblxuYS5wcm9kdWN0LXN1bW1hcnlfX2xpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb24tc3BlZWQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGMtZGVmYXVsdC1wcmltYXJ5O1xuICAgIH1cbn1cblxuLnByb2R1Y3Qtc3VtbWFyeV9fdHlwZSB7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBmb250OiAkZm9udC1jMTtcbiAgICBjb2xvcjogJGMtZGFyay1ncmF5O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xufVxuXG4ucHJvZHVjdC1zdW1tYXJ5X19wcmljZXMge1xufVxuXG4ucHJvZHVjdC1saXN0X19yZXN1bHRzIHtcbiAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmcgKiAyO1xufVxuXG4ucHJvZHVjdC1zdW1tYXJ5X19wcmljZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogM3B4O1xuICAgIGZvbnQ6ICRmb250LWMyO1xuICAgIGNvbG9yOiAkYy1kYXJrLWdyYXk7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG59XG5cbi5wcm9kdWN0LXN1bW1hcnlfX3JlYWQtYnkge1xuICAgIG1hcmdpbi10b3A6IGd1dHRlcigxMCk7XG4gICAgZm9udDogJGZvbnQtYTg7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgZm9udDogJGZvbnQtYTc7XG4gICAgfVxuXG59XG5cbi5wcm9kdWN0LXN1bW1hcnlfX3JlYWQtYnkge1xuICAgIGNvbG9yOiAkYy1kZWZhdWx0LXNlY29uZGFyeTtcbn1cblxuLnByb2R1Y3Qtc3VtbWFyeV9fcHJpY2UtLXJlZHVjZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIGNvbG9yOiAkYy1saWdodC1ncmF5O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucHJvZHVjdC1zdW1tYXJ5X19jdGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnRoLXdpemFyZGluZy13b3JsZCB7XG5cbiAgICAucHJvZHVjdC1zdW1tYXJ5X19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1zZWNvbmRhcnk7XG4gICAgfVxuXG5cbiAgICBhLnByb2R1Y3Qtc3VtbWFyeV9fbGluayB7XG4gICAgICAgIGNvbG9yOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1wcmltYXJ5O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXN1bW1hcnlfX3JlYWQtYnkge1xuICAgICAgICBjb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtc2Vjb25kYXJ5O1xuICAgIH1cblxufVxuIiwiLnByb2R1Y3Qtc2luZ2xlX19zdW1tYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFuKDEgb2YgMTIpICsgZ3V0dGVyKDEyKTtcbn1cblxuLnByb2R1Y3Qtc2luZ2xlX19wdWxsLXF1b3RlIHtcbiAgICBtYXJnaW46IHNwYW4oMSBvZiAxMikgKyBndXR0ZXIoMTIpIDA7XG4gICAgcGFkZGluZzoge1xuICAgICAgICBsZWZ0OiBzcGFuKDEgb2YgMTIpO1xuICAgICAgICByaWdodDogc3BhbigxIG9mIDEyKTtcbiAgICB9XG5cbiAgICBmb250OiAkZm9udC1hNTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIGZvbnQ6ICRmb250LWE0O1xuICAgIH1cbn1cblxuLnByb2R1Y3Qtc2luZ2xlX19kZXNjcmlwdGlvbiB7XG4gICAgQGluY2x1ZGUgbWFya2Rvd24oKTtcblxuICAgIG1hcmdpbi10b3A6IHNwYW4oMSBvZiAxMikgKyBndXR0ZXIoMTIpO1xuICAgIGZvbnQ6ICRmb250LWI0O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBmb250OiAkZm9udC1iMztcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcblxuICAgIH1cblxuICAgIGkge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgYiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLnByb2R1Y3Qtc2luZ2xlX19kYWItZGlzY2xhaW1lciB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4ucHJvZHVjdC1zaW5nbGVfX21ldGEge1xuICAgIG1hcmdpbi1ib3R0b206IHNwYW4oMSBvZiAxMikgKyBndXR0ZXIoMTIpO1xufVxuXG5cbi5wcm9kdWN0LXN1bW1hcnlfX3NrdS1pc2JuIHtcbiAgICBmb250OiAkZm9udC1iNDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBtYXgtd2lkdGg6IDgyJTtcbiAgICBtYXJnaW46IDE1cHggYXV0bztcbn1cblxuLnByb2R1Y3Qtc3VtbWFyeS0tZ2lmdGluZy1pbmZvIHtcbiAgICBtYXJnaW46IDMwcHggYXV0byAwO1xuICAgIHBhZGRpbmc6IHNwYW4oMSBvZiAxMikgMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGh1Z2UpIHtcbiAgICAgICAgcGFkZGluZzogc3BhbigxIG9mIDEyKTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAuZ2lmdGluZy1zZWFsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTE0JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTE2JTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZ2lmdGluZy1pbmZvLS1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdpZnRpbmctc2VhbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTYlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIGxlZnQ6IC0yJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcblxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuXG4uZ2lmdGluZy1pbmZvX190ZXh0IHtcbiAgICBmb250OiAkZm9udC1hNztcbiAgICB3aWR0aDogNTQlO1xuICAgIG1hcmdpbjogMCAyJSAwJSAyJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDU0JTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDUlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3JTtcbiAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICAgICAgd2lkdGg6IDUyJTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXN1bW1hcnlfX2ltYWdlLmhpZGRlbiB7XG4gICAgZGlzcGF5OiBub25lIWltcG9ydGFudDtcbn1cblxuLnByb2R1Y3Qtc3VtbWFyeV9faW1hZ2UtLXdyYXBwaW5nIHtcbn1cblxuLnByb2R1Y3Qtc3VtbWFyeV9fd3JhcHBpbmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucHJvZHVjdC1zdW1tYXJ5X193cmFwcGluZyB7XG4gICAgZGlzcGxheTogbm9uZVxufVxuXG4udGgtd2l6YXJkaW5nLXdvcmxkIC5wcm9kdWN0LXN1bW1hcnktLWdpZnRpbmctaW5mbywgLnByb2R1Y3Qtc3VtbWFyeS0tZ2lmdGluZy1pbmZvIHtcbiAgICAuYnRuLS1wdXJjaGFzZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgfVxufVxuIiwiLnByb2R1Y3QtbWV0YV9fdGl0bGUge1xuICBmb250OiAkZm9udC1iMi1ib2xkO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICc6JztcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4ucHJvZHVjdC1tZXRhX19pdGVtIHtcbiAgZm9udDogJGZvbnQtYjI7XG5cbiAgPiBlbTphZnRlciB7XG4gICAgY29udGVudDogJzonO1xuICB9XG59XG4iLCJAaW1wb3J0ICdwcm9kdWN0LXN1bW1hcnknO1xuXG4ucHJvZHVjdC1zdW1tYXJ5LS1zaW5nbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogc21hbGwpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLnByb2R1Y3Qtc3VtbWFyeV9faW1hZ2Uge1xuICAgIGZsZXg6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuXG4gICAgPiBwaWN0dXJlIHtcbiAgICAgID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBhbGlnbi1zZWxmOiBsZWZ0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLkF1ZGlvIHtcbiAgICAucHJvZHVjdC1zdW1tYXJ5X19pbWFnZSB7XG5cbiAgICAgID4gcGljdHVyZSB7XG5cbiAgICAgICAgPiBpbWcge1xuXG4gICAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZHVjdC1zdW1tYXJ5X19kZXRhaWxzIHtcbiAgICBmbGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbCwgJHVudGlsOiBtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3Qtc3VtbWFyeV9fbGFiZWwge1xuICAgIGZvbnQ6ICRmb250LWE1O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsKSB7XG4gICAgICBmb250OiAkZm9udC1hNjtcbiAgICB9XG4gIH1cblxuICAucHJvZHVjdC1zdW1tYXJ5X190aXRsZSB7XG4gICAgZm9udDogJGZvbnQtYTU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgIGZvbnQ6ICRmb250LWE0O1xuICAgICAgcGFkZGluZzogMCBndXR0ZXIoNik7XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3Qtc3VtbWFyeV9fYXV0aG9yIHtcbiAgICBmb250OiAkZm9udC1hNjtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgZm9udDogJGZvbnQtYTU7XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3Qtc3VtbWFyeV9fcmVhZC1ieSB7XG4gICAgbWFyZ2luLXRvcDogZ3V0dGVyKDEwKTtcbiAgICBmb250OiAkZm9udC1hODtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgZm9udDogJGZvbnQtYTc7XG4gICAgfVxuICB9XG5cbiAgLnByb2R1Y3Qtc3VtbWFyeV9fcHJpY2Uge1xuICAgIGZvbnQ6ICRmb250LWMyO1xuICAgIGNvbG9yOiAkYy1zaG9wLWJ1dHRvbi1wcmltYXJ5LWhvdmVyO1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsKSB7XG4gICAgICBmb250OiAkZm9udC1jMztcbiAgICB9XG4gIH1cblxuICAucHJvZHVjdC1zdW1tYXJ5X19wcmljZS0tcmVkdWNlZCB7XG4gICAgY29sb3I6IGxpZ2h0ZW4oZGVzYXR1cmF0ZSgkYy1zaG9wLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLCA2MCksIDQwKTtcbiAgfVxuXG4gIC5wcm9kdWN0LXN1bW1hcnlfX2N0YSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiBndXR0ZXIoNik7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogc21hbGwpIHtcbiAgICAgIG1hcmdpbi10b3A6IGd1dHRlcigzKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogc21hbGwsICR1bnRpbDogbGFyZ2UpIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmLmdpZnRpbmctY3RhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsZXN0LCAkdW50aWw6IHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LXN1bW1hcnktLWdpZnRpbmctaW5mby5naWZ0aW5nLWluZm8tLWJvdHRvbSB7XG4gIC5wcm9kdWN0LXN1bW1hcnlfX2N0YSB7XG4gICAgJi5naWZ0aW5nLWN0YSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbGVzdCwgJHVudGlsOiBzbWFsbCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdC1zdW1tYXJ5X193cmFwcGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLnRoLXdpemFyZGluZy13b3JsZCB7XG4gIC5wcm9kdWN0LXN1bW1hcnktLXNpbmdsZSB7XG4gICAgLnByb2R1Y3Qtc3VtbWFyeV9fcHJpY2Uge1xuICAgICAgY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLWJ1dHRvbi1wcmltYXJ5LWhvdmVyO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXN1bW1hcnlfX3ByaWNlLS1yZWR1Y2VkIHtcbiAgICAgIGNvbG9yOiBsaWdodGVuKGRlc2F0dXJhdGUoJGMtc2hvcC13aXphcmRpbmctd29ybGQtYnV0dG9uLXByaW1hcnktaG92ZXIsIDYwKSwgNDApO1xuICAgIH1cbiAgfVxufSIsIi5zZWN0aW9uLWxlYWQge1xuICBtYXJnaW46IDMwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgIG1hcmdpbjogNjBweCAwO1xuICB9XG59XG5cbi5zZWN0aW9uLWxlYWQtLWNvbXBhY3Qge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLnNlY3Rpb24tbGVhZF9fdGl0bGUge1xuICBmb250OiAkZm9udC1hNDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBmb250OiAkZm9udC1hMztcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgIGZvbnQ6ICRmb250LWEyO1xuICB9XG59XG5cbi5zZWN0aW9uLWxlYWRfX3N1YnRpdGxlIHtcbiAgQGluY2x1ZGUgY2FwdGlvbigpO1xuICBkaXNwbGF5OmJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uc2VjdGlvbi1sZWFkX19wcmVmYWNlIHtcbiAgZm9udDogJGZvbnQtYTY7XG4gIHBhZGRpbmc6IHtcbiAgICBsZWZ0OiBzcGFuKDEgb2YgMTIpO1xuICAgIHJpZ2h0OiBzcGFuKDEgb2YgMTIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgZm9udDogJGZvbnQtYTU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ21peGlucy9zdHlsZXMvYXJyb3cnO1xuXG5AaW1wb3J0ICdsLXBhZ2luYXRpb24nO1xuXG4kcGFnaW5hdGlvbi1pdGVtLXNpemU6IDIwcHg7XG5cbi5wYWdpbmF0aW9uLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6ICRwYWdpbmF0aW9uLWl0ZW0tc2l6ZTtcbiAgd2lkdGg6ICRwYWdpbmF0aW9uLWl0ZW0tc2l6ZTtcbiAgZm9udDogJGZvbnQtYzI7XG4gIGNvbG9yOiAkY29sb3ItdGV4dDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnBhZ2luYXRpb24taXRlbS0tbmV4dCxcbi5wYWdpbmF0aW9uLWl0ZW0tLXByZXZpb3VzIHtcbiAgZm9udC1zaXplOiAwO1xufVxuLnBhZ2luYXRpb24taXRlbS0tcHJldmlvdXMge1xuICBAaW5jbHVkZSBza2lubnktYXJyb3coJHBvc2l0aW9uOiBsZWZ0LCAkY29sb3I6ICRjb2xvci10ZXh0LCAkd2VpZ2h0OiAxcHgsICRzaXplOiAkcGFnaW5hdGlvbi1pdGVtLXNpemUgLyAyKTtcbn1cblxuLnBhZ2luYXRpb24taXRlbS0tbmV4dCB7XG4gIEBpbmNsdWRlIHNraW5ueS1hcnJvdygkcG9zaXRpb246IHJpZ2h0LCAkY29sb3I6ICRjb2xvci10ZXh0LCAkd2VpZ2h0OiAxcHgsICRzaXplOiAkcGFnaW5hdGlvbi1pdGVtLXNpemUgLyAyKTtcbn1cblxuLnBhZ2luYXRpb24taXRlbS0tYWN0aXZlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5wYWdpbmF0aW9uLWl0ZW0tLWRpc2FibGVkIHtcbiAgY29sb3I6IGxpZ2h0ZW4oZGVzYXR1cmF0ZSgkY29sb3ItdGV4dCwgNjApLCAzMCk7XG59XG4iLCJAZnVuY3Rpb24gc3RyaXAtdW5pdHMoJG51bWJlcikge1xuICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcbn1cblxuQGZ1bmN0aW9uIHNxcnQoJHIpIHtcbiAgJHgwOiAxO1xuICAkeDE6ICR4MDtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcbiAgICAkeDE6ICR4MCAtICgkeDAgKiAkeDAgLSBhYnMoJHIpKSAvICgyICogJHgwKTtcbiAgICAkeDA6ICR4MTtcbiAgfVxuXG4gIEByZXR1cm4gJHgxO1xufVxuXG5AZnVuY3Rpb24gaHlwb3RlbnVzZSgkbnVtYmVyKSB7XG4gICRudW1iZXI6IHN0cmlwLXVuaXRzKCRudW1iZXIpIC8gMjtcbiAgQHJldHVybiBzcXJ0KCgkbnVtYmVyICogJG51bWJlcikgKiAyKSArIHB4O1xufVxuXG5AbWl4aW4gc2tpbm55LWFycm93KCRwb3NpdGlvbiwgJGNvbG9yOiBpbmhlcml0LCAkc2l6ZTogMzBweCwgJHdlaWdodDogMnB4LCAkcGFyZW50UG9zaXRpb246IHJlbGF0aXZlKSB7XG5cbiAgJGxvY2F0aW9uOiAkc2l6ZSAvIDI7XG5cbiAgcG9zaXRpb246ICRwYXJlbnRQb3NpdGlvbjtcbiAgaGVpZ2h0OiAkc2l6ZTtcbiAgd2lkdGg6ICRzaXplO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogJHNpemUgLyA0O1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICB3aWR0aDogaHlwb3RlbnVzZSgkc2l6ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4yNXM7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRvcDogJGxvY2F0aW9uO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBib3R0b206ICRsb2NhdGlvbjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDVweCB3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGFycm93KCRwb3NpdGlvbiwgJGNvbG9yOiBpbmhlcml0LCAkc2l6ZTogMTRweCwgJHBhcmVudFBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICBwb3NpdGlvbjogJHBhcmVudFBvc2l0aW9uO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBib3JkZXItd2lkdGg6ICRzaXplO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gI3skc2l6ZX0pO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiAtJHNpemU7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuXG4gICAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtICN7JHNpemV9KTtcbiAgICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcblxuICAgIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGJvdHRvbTogLSRzaXplO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAjeyRzaXplfSk7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgfSBAZWxzZSB7XG4gICAgICB0b3A6IC0kc2l6ZTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAjeyRzaXplfSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiXG4ubC1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogZ3V0dGVyKDEyKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5sLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogZ3V0dGVyKDEyKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGd1dHRlcigxMik7XG4gIH1cbn1cbiIsIlxuLnNob3AtZGV2aWNlcyB7XG4gIHBhZGRpbmc6IHNwYW4oMSBvZiAxMikgKyBndXR0ZXIoNikgZ3V0dGVyKDQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIHRvcDogKHNwYW4oMSBvZiAxMikgKyBndXR0ZXIoMTIpKSAvIDI7XG4gICAgICBib3R0b206IChzcGFuKDEgb2YgMTIpICsgZ3V0dGVyKDEyKSkgLyAyO1xuICAgICAgbGVmdDogc3BhbigyIG9mIDEyKSArIGd1dHRlcigxMik7XG4gICAgICByaWdodDogc3BhbigyIG9mIDEyKSArIGd1dHRlcigxMik7XG4gICAgfVxuICB9XG59XG5cbi5zaG9wLWRldmljZXNfX3RpdGxlIHtcbiAgZm9udDogJGZvbnQtYTQ7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIGZvbnQ6ICRmb250LWEzO1xuICB9XG59XG5cbi5zaG9wLWRldmljZXNfX2RldmljZXMtb3V0bGluZSB7XG4gIHdpZHRoOiA5MCU7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIHdpZHRoOiA5NSU7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGh1Z2UpIHtcbiAgICB3aWR0aDogNjUlO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgd2lkdGg6IDU1JTtcbiAgfVxufVxuXG4uc2hvcC1kZXZpY2VzX190YWdsaW5lIHtcbiAgQGluY2x1ZGUgY2FwdGlvbigpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IHtcbiAgICBsZWZ0OiBzcGFuKDIgb2YgMTIpO1xuICAgIHJpZ2h0OiBzcGFuKDIgb2YgMTIpO1xuICB9XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG5cbiAgPiBzcGFuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IGd1dHRlcigxMikgZ3V0dGVyKDYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICB9XG59XG5cbi5zaG9wLWRldmljZXNfX3ZlbmRvcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiBndXR0ZXIoNik7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gID4gKiB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG59XG5cbi5zaG9wLWRldmljZXNfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGZvbnQ6ICRmb250LWMxO1xufVxuXG4iLCIkYy1zaG9wLWNhcm91c2VsLW5hdi1jb2xvcjogIzk2OTY5NjtcblxuLnBhcGVyLS1hcnQge1xuXHRwYWRkaW5nOiAwO1xuXG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbCkge1xuICAgIFx0cGFkZGluZzogJHBhZGRpbmcgLyAyO1xuICBcdH1cbn1cblxuLnNob3AtbGl0ZWJveC5saXRlYm94LXdyYXBwZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuXHQubGl0ZWJveC1sb2FkaW5nIGRpdiB7XG5cdFx0Ym9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7XG5cdFx0Ym9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwwLDAsMSk7XG5cdH1cblxuXHQubGl0ZWJveF9fY291bnQge1xuXHRcdGNvbG9yOiBibGFjaztcblx0fVxuXG5cdC5saWdodGJveC1jbG9zZS1hcmVhIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cblx0XHQubGlnaHRib3gtY2xvc2Uge1xuXHRcdFx0cmlnaHQ6IDMwcHg7XG5cblx0XHRcdCY6OmJlZm9yZSxcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmxpdGVib3hfX2NvbnRyb2wge1xuXHRcdGNvbG9yOiBibGFjaztcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6IHdoaXRlO1xuXHRcdH1cblx0fVxuXG5cdC5saXRlYm94X190aXAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICNjNWM1YzU7XG5cdFx0Zm9udDogJGZvbnQtYzE7XG5cdFx0cGFkZGluZzogMTBweCAzMHB4O1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHR0b3A6IDE0MHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblx0XHR6LWluZGV4OiA5OTk7XG5cdH1cblxuXHQub3JuYW1lbnQtLWxpdGVib3gge1xuXHRcdGNsZWFyOiBib3RoO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdH1cblx0fVxufVxuXG4ubGl0ZWJveC13cmFwcGVyIGZpZ3VyZSwgLmxpdGVib3gtd3JhcHBlciBpbWcge1xuXHQvL3RvcDogNSUhaW1wb3J0YW50O1xuXHQvL21heC1oZWlnaHQ6IDkzJSFpbXBvcnRhbnQ7XG5cdGN1cnNvcjogLW1vei16b29tLWluO1xuXHRjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcblx0Y3Vyc29yOiB6b29tLWluO1xufVxuXG4ucGFwZXItLWZsdXNoLXRvcCB7XG5cdHBhZGRpbmctdG9wOiAkcGFkZGluZyAvIDI7XG59XG5cbi5tb2RhbC1vdmVybGF5IHtcblx0ZGlzcGxheTpibG9jaztcblx0cG9zaXRpb246Zml4ZWQ7XG5cdHRvcDowO1xuXHRyaWdodDowO1xuXHRib3R0b206MDtcblx0bGVmdDowO1xuXHR6LWluZGV4Ojk5OTg7XG5cdGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNSk7XG5cdC13ZWJraXQtYW5pbWF0aW9uOmZhZGUgLjVzO1xuXHRhbmltYXRpb246ZmFkZSAuNXM7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tb2RhbCB7XG5cdHotaW5kZXg6IDk5OTk7XG5cdHdpZHRoOiA2MDBweDtcblx0bWF4LXdpZHRoOiA5MCU7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdGNvbG9yOiAjMTIxMDBiO1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuXHRwYWRkaW5nOiAkcGFkZGluZyoyO1xuXHRmb250OiAkZm9udC1jMjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC43NSk7XG5cblx0LmNsb3NlLW1vZGFsIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogJHBhZGRpbmc7XG5cdFx0cmlnaHQ6ICRwYWRkaW5nO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG5cdC5tb2RhbF9fdGl0bGUge1xuXHRcdGZvbnQ6IDMwcHgvMzRweCAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuXHRcdG1hcmdpbi1ib3R0b206ICRwYWRkaW5nO1xuXHR9XG5cblx0Lm1vZGFsX190aXRsZS0tc21hbGwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0Zm9udDogMjRweC8yNnB4ICAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuXHR9XG5cblx0Lm1vZGFsX19wcm9kdWN0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0bWFyZ2luLWJvdHRvbTogJHBhZGRpbmc7XG5cblx0XHQubW9kYWxfX3Byb2R1Y3QtaW1hZ2Uge1xuXHRcdFx0ZmxleDogMSAxIDMzLjMzJTtcblx0XHRcdG1hcmdpbi1yaWdodDogJHBhZGRpbmcqMS41O1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm1vZGFsX19wcm9kdWN0LWluZm8ge1xuXHRcdFx0ZmxleDogMiAyIDMzLjMzJTtcblx0XHR9XG5cblx0XHQubW9kYWxfX3Byb2R1Y3QtaW5mby10aXRsZSB7XG5cdFx0XHRmb250OiAyNHB4LzI2cHggJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcblx0XHRcdG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLzI7XG5cdFx0fVxuXG5cdFx0Lm1vZGFsX19wcm9kdWN0LWluZm8tbWV0YSB7XG5cdFx0XHRmb250OiAxNHB4LzE2cHggJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogJHBhZGRpbmcvMjtcblx0XHR9XG5cblx0XHQubW9kYWxfX3Byb2R1Y3QtaW5mby1wcmljZSB7XG5cdFx0XHRmb250OiAyNHB4LzI2cHggJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG5cdFx0fVxuXHR9XG5cblx0Lm1vZGFsX19idXR0b25zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cblx0XHQubW9kYWxfX2J1dHRvbnMtYnV0dG9uIHtcblx0XHRcdGZsZXg6IDEgMSA1MCU7XG5cblx0XHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogJHBhZGRpbmc7XG5cblx0XHRcdFx0LmJ0biB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogd2hpdGU7XG5cdFx0XHRcdFx0Y29sb3I6ICRjLXNob3AtYnV0dG9uLXByaW1hcnk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmJ0biB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjLXNob3AtYnV0dG9uLXByaW1hcnk7XG5cdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRjLXNob3AtYnV0dG9uLXByaW1hcnk7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEoJHVudGlsOiBtZWRpdW0pIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHQubW9kYWxfX3RpdGxlLS1zbWFsbCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cblx0XHQubW9kYWxfX3RpdGxlLS1sYXJnZSwgLm1vZGFsX19wcm9kdWN0IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cdFx0Lm1vZGFsX19idXR0b25zIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHRcdC5tb2RhbF9fYnV0dG9ucy1idXR0b24ge1xuXHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkcGFkZGluZy8yO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmJ0biB7XG5cdFx0XHRcdFx0d2lkdGg6IDgwJTtcblx0XHRcdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBQTFBcblxuLnByb2R1Y3QtbGlzdF9fc29ydGVycyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cblx0LnByb2R1Y3QtbGlzdF9fc29ydGVyIHtcblx0XHRmbGV4OiAxO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0bWFyZ2luOiAwICRwYWRkaW5nLzI7XG5cblx0XHQ+IGxhYmVsIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luOiAwIDAgJHBhZGRpbmcvNDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdH1cblxuXHRcdC5wcm9kdWN0LWxpc3RfX3NvcnRlcl9fd3JhcCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0ICAgIGhlaWdodDogYXV0bztcblx0XHRcdCAgICB3aWR0aDogMTAwJTtcblx0XHRcdCAgICBwYWRkaW5nOiA2cHggMTBweDtcblx0XHRcdCAgICBsaW5lLWhlaWdodDogMzBweDtcblx0XHRcdCAgICBib3JkZXI6IDA7XG5cdFx0XHQgICAgYmFja2dyb3VuZDogJGMtbGlnaHRlci1ncmF5O1xuXHRcdFx0ICAgIGZvbnQ6IDEycHggLyAxOHB4IFwiUm9ib3RvIFJlZ3VsYXJcIiwgQXJpYWwsIHNhbnM7XG4gICAgXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgIFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblxuXHRcdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0YXBwZWFyYW5jZTogbm9uZTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMjhweDtcblx0XHRcdFx0dGV4dC1pbmRlbnQ6IDAuMDFweDtcblx0XHRcdFx0dGV4dC1vdmVyZmxvdzogJyc7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5pY29uLWRvd24tY2hldnJvbiB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyNyUpO1xuXHRcdFx0XHRyaWdodDogMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkdW50aWw6IG1lZGl1bSkge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblx0XHQucHJvZHVjdC1saXN0X19zb3J0ZXIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogJHBhZGRpbmc7XG5cdFx0fVxuXHR9XG59XG5cbi5zZWN0aW9uLWxlYWRfX3RpdGxlIHtcblx0bGV0dGVyLXNwYWNpbmc6IDJweDtcbn1cblxuLmwtcHJvZHVjdC1saXN0IHtcblx0anVzdGlmeS1jb250ZW50OiBzdGFydDtcblxuXHQubC1wcm9kdWN0LWxpc3RfX2VtcHR5IHtcblx0XHRmb250LWZhbWlseTogJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG5cdH1cbn1cblxuLnByb2R1Y3Qtc3VtbWFyeV9fcHJpY2VzIHtcblx0bWFyZ2luLWJvdHRvbTogJHBhZGRpbmc7XG5cblx0LnByb2R1Y3Qtc3VtbWFyeV9fcHJpY2UtLXJlZHVjZWQge1xuXHRcdGRpc3BsYXk6IGlubGluZTtcblx0fVxufVxuXG4vLyBDYXJ0XG5cbi5wbS10YWJsZS5jYXJ0LWRldGFpbHMge1xuXHR0ZCwgdGgge1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cblx0XHQmLmNhcnQtaXRlbV9fcHJvZHVjdC1pbmZvIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRwYWRkaW5nOiAwIDAgJHBhZGRpbmcgJHBhZGRpbmcgLyAyO1xuXHRcdFx0bWF4LXdpZHRoOiA0MHZ3O1xuXG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nIDAgJHBhZGRpbmcgJHBhZGRpbmc7XG5cdFx0XHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHR0aGVhZCB0aCwgdGZvb3QgdGQge1xuXG5cdFx0Ly8gcGFkZGluZzogJHBhZGRpbmcgJHBhZGRpbmcgJHBhZGRpbmcgJHBhZGRpbmcgLzI7XG5cblx0XHRAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG5cdFx0XHRwYWRkaW5nOiAkcGFkZGluZztcblx0XHR9XG5cblx0XHQmOmZpcnN0LW9mLXR5cGUge1xuXHRcdH1cblxuXHRcdCY6bGFzdC1vZi10eXBlIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0LmNhcnQtaXRlbV9fcHJvZHVjdC1pbWFnZS1ob2xkZXIge1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDUwJTtcblxuXHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cblx0XHQuY2FydC1pdGVtX19wcm9kdWN0LWxpbmsge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuXHRcdC5jYXJ0LWl0ZW1fX3Byb2R1Y3QtaW1hZ2Uge1xuXHRcdFx0bWF4LXdpZHRoOiA4MHB4O1xuXHRcdFx0aGVpZ2h0OiBpbmhlcml0O1xuXG5cdFx0XHRAaW5jbHVkZSBtcSgkZnJvbTogc21hbGwpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAxNTBweFxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jYXJ0LWl0ZW1fX3Byb2R1Y3QtdGl0bGUge1xuXHRcdGZvbnQ6ICRmb250LWE1O1xuXHRcdG1hcmdpbi1ib3R0b206ICRwYWRkaW5nO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0QGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuXHRcdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0XHRtYXgtd2lkdGg6IDkwJTtcblx0XHR9XG5cdH1cblxuXHQuY2FydC1pdGVtX19wcm9kdWN0LXR5cGUge1xuXHRcdG1hcmdpbi1ib3R0b206ICRwYWRkaW5nLzI7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHR9XG5cblx0LmNhcnQtaXRlbV9fcHJvZHVjdC1zaXplIHtcblx0XHRmb250OiAkZm9udC1jMTtcblx0fVxuXG5cdC5jYXJ0LXN1YnRvdGFsIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQhaW1wb3J0YW50O1xuXHR9XG5cblx0LmNhcnQtaXRlbV9fcXR5IHtcblx0XHRmb250OiAxNHB4LzE0cHggJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRtYXJnaW4tYm90dG9tOiAkcGFkZGluZy8yO1xuXHRcdGxldHRlci1zcGFjaW5nOiAxLjVweDtcblx0fVxuXG5cdC5jYXJ0LWNvbnRyb2xzIHtcblx0XHRtYXJnaW4tdG9wOiAkcGFkZGluZy8yO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG5cdFx0LmNhcnQtY29udHJvbHMge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdFx0bWFyZ2luLWxlZnQ6ICRwYWRkaW5nIC8gNDtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG5cblx0LmNhcnQtaXRlbS1jaGFuZ2Uge1xuXHRcdGJhY2tncm91bmQ6ICNmM2YzZjM7XG5cdFx0d2lkdGg6IDMwcHg7XG5cdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdG1hcmdpbi1yaWdodDogJHBhZGRpbmcgLyA0O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cblx0XHQmLmNhcnQtaXRlbS1jaGFuZ2UtLWhpZGRlbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJ0LWl0ZW1fX3Byb2R1Y3QtcHJpY2Uge1xuXHRcdC5jYXJ0LWl0ZW1fX3Byb2R1Y3QtdHlwZSwgLmNhcnQtaXRlbV9fcXR5IHtcblx0ICAgICAgZGlzcGxheTogbm9uZTtcblx0ICAgIH1cblx0fVxuXG5cdC5jYXJ0LWl0ZW1fX3JlbW92ZS1saW5rIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkdW50aWw6IHNtYWxsKSB7XG5cdFx0LmNhcnQtaXRlbV9fcHJvZHVjdC10aXRsZSB7XG5cdFx0XHRmb250OiAyMXB4LzI2cHggJG1hZ29yaWFuUmVndWxhckZvbnRTdGFjaztcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlKSB7XG5cdFx0dGhlYWQge1xuXHRcdFx0ZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuXG5cdFx0XHR0ciB7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLXJvdztcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0Zm9vdCB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1mb290ZXItZ3JvdXA7XG5cblx0XHRcdHRyIHtcblx0XHRcdFx0ZGlzcGxheTogdGFibGUtcm93O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRkLCB0aCB7XG5cdFx0XHQmLmNhcnQtaXRlbV9fcHJvZHVjdC1pbmZvLS1wcmljZS10b3RhbCB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nIDAgJHBhZGRpbmcgJHBhZGRpbmcgLyAyO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAkcGFkZGluZyAwICRwYWRkaW5nICRwYWRkaW5nO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNhcnQtaXRlbSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1yb3c7XG5cdFx0fVxuXG5cdFx0LmNhcnQtaXRlbV9fcHJvZHVjdC1pbWFnZS1ob2xkZXIge1xuXHRcdFx0LmNhcnQtaXRlbV9fcHJvZHVjdC1pbWFnZSB7XG5cdFx0XHRcdG1pbi13aWR0aDogODBweDtcblx0XHRcdFx0aGVpZ2h0OiBpbmhlcml0O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jYXJ0LWl0ZW1fX3Byb2R1Y3QtaW5mby0tcHJpY2UtdG90YWwge1xuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0fVxuXHRcdH1cbiAgICB9XG59XG5cbi5sZWdhbC1jb3B5LCAuY2hlY2tvdXRfX25vdGUge1xuXHRmb250OiAkZm9udC1jMTtcbiBcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGJhY2tncm91bmQ6ICNmNWY1ZjU7XG5cdHBhZGRpbmc6ICRwYWRkaW5nO1xuXHRib3JkZXItYm90dG9tOiBub25lO1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRjbGVhcjogYm90aDtcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xuXG5cdHAge1xuICAgIFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIFx0JjpsYXN0LW9mLXR5cGUge1xuICAgIFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuICAgIFx0fVxuICBcdH1cbn1cblxuLy8gQnV0dG9uc1xuLmJ0bi0tZGlzYWJsZWQge1xuXHRib3JkZXI6IDFweCBzb2xpZCAjZTBlMGUwICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6ICNlMGUwZTAgIWltcG9ydGFudDtcblx0Y29sb3I6ICMzMzMgIWltcG9ydGFudDtcblx0b3BhY2l0eTogMC40ICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJvdXNlbF9faXRlbS0tdmlkZW8ge1xuXHRoZWlnaHQ6IDgwJTtcblx0QGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG59XG4ucHJvZHVjdC1zdW1tYXJ5X190aHVtYm5haWwtLXZpZGVvIHtcblx0Ym9yZGVyOiAycHggc29saWQgI2NjYztcblxuXHQudGh1bWJuYWlsLS12aWRlb19faW5uZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdHBhZGRpbmc6IDIwJTtcblx0fVxufVxuXG5cbi5wcm9kdWN0LXN1bW1hcnlfX3RodW1ibmFpbC0tdmlkZW9fX3RleHQge1xuXHRAaW5jbHVkZSBjYXB0aW9uKDE0cHgpO1xufVxuXG4ucHJvZHVjdC10YWdzIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHQucHJvZHVjdC10YWcge1xuXHRcdG1hcmdpbjogMCA4cHggMjBweCAwO1xuXHR9XG5cbn1cblxuLnByb2R1Y3QtdGFnIHtcblx0b3V0bGluZToxcHggc29saWQgJGMtZGFyay1ncmF5O1xuXHRAaW5jbHVkZSBjYXB0aW9uKCRzaXplOiAxMHB4KTtcblx0bWFyZ2luOiA2cHggMTBweCA4cHggMDtcblx0QGluY2x1ZGUgbXEoJGZyb206aHVnZSkge1xuXHRcdG1hcmdpbjogNnB4IDEwcHggM3B4IDA7XG5cdH1cblx0cGFkZGluZzogNHB4IDVweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdCY6OnNlbGVjdGlvbiB7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cblxuLmljb24tbGltaXRlZC1lZGl0aW9uIHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuXHRtYXJnaW46IDAgMCAwIDJweDtcbn1cblxuLmljb24tbmV3IHtcbiAgZm9udC1zaXplOiAxN3B4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG59XG5cbi50aC13aXphcmRpbmctd29ybGQge1xuXG5cdC5jb2xsZWN0aW9uLXR5cGUtLWFydC1jb2xsZWN0aW9uIHtcblx0XHQucHJvZHVjdC1zdW1tYXJ5X190aXRsZSB7XG5cdFx0XHRjb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtYnV0dG9uLXByaW1hcnk7XG5cdFx0fVxuXHR9XG5cblx0LnByb2R1Y3Qtc3VtbWFyeS0tc2luZ2xlLS1hcnQge1xuXG5cblx0XHQucHJvZHVjdC1zdW1tYXJ5X190aHVtYm5haWxzIHtcblx0XHRcdC5hY3RpdmUge1xuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1idXR0b24tcHJpbWFyeTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQucHJvZHVjdC1zdW1tYXJ5X19wcmljZSB7XG5cdFx0XHRjb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtYnV0dG9uLXByaW1hcnk7XG5cdFx0fVxuXG5cdFx0LnByb2R1Y3Qtc3VtbWFyeV9fcHJpY2UtLXJlZHVjZWQge1xuXHRcdFx0Y29sb3I6IGxpZ2h0ZW4oZGVzYXR1cmF0ZSgkYy1zaG9wLXdpemFyZGluZy13b3JsZC1idXR0b24tcHJpbWFyeS1ob3ZlciwgNjApLCA0MCk7XG5cdFx0fVxuXG5cblx0XHQucHJvZHVjdC1zdW1tYXJ5X192YXJpYW50cyB7XG5cblx0XHRcdGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdFx0XHRcdCY6Y2hlY2tlZCArIGxhYmVsIHtcblx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1wcmltYXJ5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5wcm9kdWN0LXN1bW1hcnlfX3N0b2NrIHtcblx0XHRcdGNvbG9yOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1idXR0b24tcHJpbWFyeTtcblx0XHR9XG5cdH1cblxuXHQucHJvZHVjdC1zaW5nbGVfX3B1bGwtcXVvdGUtLWFydCB7XG5cdFx0LnByb2R1Y3Qtc2luZ2xlX19wdWxsLXF1b3RlLWxpbmUge1xuXHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRjb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtYnV0dG9uLXByaW1hcnk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm1vZGFsIHtcblx0XHQubW9kYWxfX2J1dHRvbnMge1xuXHRcdFx0Lm1vZGFsX19idXR0b25zLWJ1dHRvbiB7XG5cblx0XHRcdFx0JjpmaXJzdC1vZi10eXBlIHtcblx0XHRcdFx0XHQuYnRuIHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHdoaXRlO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLWJ1dHRvbi1wcmltYXJ5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5idG4ge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLWJ1dHRvbi1wcmltYXJ5O1xuXHRcdFx0XHRcdGJvcmRlcjogMnB4IHNvbGlkICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLWJ1dHRvbi1wcmltYXJ5O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbn0iLCJAaW1wb3J0ICdidXR0b25zL3N0eWxlcy9hbGwnO1xuQGltcG9ydCAnZm9ybXMvc3R5bGVzL2FsbCc7XG5AaW1wb3J0ICdzZWN0aW9uLWxlYWQvc3R5bGVzL2FsbCc7XG5AaW1wb3J0ICd0YWJsZS9zdHlsZXMvYWxsJztcbkBpbXBvcnQgJ2J1dHRvbnMvc3R5bGVzL2FsbCc7XG5AaW1wb3J0ICdjb25maWcvc3R5bGVzL2ZvbnQnO1xuQGltcG9ydCAnZm9ybXMvc3R5bGVzL2FsbCc7XG5AaW1wb3J0ICdzdGF0ZXMvc3R5bGVzL2FsbCc7XG5cbi5jYXJ0LWRldGFpbHMge1xuXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogbGFyZ2UpIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHRmb290IHRyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gIH1cbn1cblxuXG4uY2FydC1pdGVtX19wcm9kdWN0LWxpbmsge1xuICBmb250OiAkZm9udC1hNjtcbiAgY29sb3I6ICRjLWRlZmF1bHQtcHJpbWFyeTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBmb250OiAkZm9udC1hNTtcbiAgfVxufVxuXG5hIC5jYXJ0LWl0ZW1fX3Byb2R1Y3QtdGl0bGUge1xuICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb24tc3BlZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAmOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYy1kZWZhdWx0LXByaW1hcnk7XG4gIH1cbn1cblxuLmNhcnQtaXRlbV9fcHJvZHVjdC1pbWFnZS1ob2xkZXIge1xuICBoZWlnaHQ6IDE5OHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICB3aWR0aDogMjglO1xuICB9XG5cbiAgJi5hdWRpbyB7XG4gICAgaGVpZ2h0OiAxMzBweDtcbiAgfVxufVxuXG4uY2FydC1pdGVtX19wcm9kdWN0LWltYWdlIHtcbiAgdmVydGljYWwtYWxpZ246IHRleHQtdG9wO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jYXJ0LWl0ZW1fX3Byb2R1Y3QtaW5mby0tcHJpY2UtdG90YWwge1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBmb250LXNpemU6ICN7JGZvbnQtc2l6ZS1jMn07XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIH1cblxuICBmb250OiAxNHB4LzI4cHggJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4gIGNvbG9yOiAkYy1kYXJrLWdyYXk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5jYXJ0LWl0ZW1fX3JlbW92ZS1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGNhcHRpb24oKTtcbiAgY29sb3I6ICRjLWRlZmF1bHQtcHJpbWFyeTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2FydC1pdGVtX19wcm9kdWN0LXR5cGUge1xuICBAaW5jbHVkZSBjYXB0aW9uKCk7XG59XG5cbi5jYXJ0LXN1YnRvdGFsLWhlYWRlciB7XG4gIGZsZXg6IDEgMCA2NiU7XG59XG5cbi5jYXJ0LXN1YnRvdGFsIHtcbiAgZmxleDogMSAwIDMzJTtcbn1cblxuLmNhcnQtc3VidG90YWwtaGVhZGVyLFxuLmNhcnQtc3VidG90YWwge1xuICBmb250OiAkZm9udC1jMjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2hpcHBpbmctZGlzY291bnQtY29weSB7XG4gIGZvbnQ6ICRmb250LWMxO1xuICBmb250LXdlaWdodDogOTAwO1xuICBib3JkZXItYm90dG9tOiAxcHggZ3JleSBzb2xpZDtcbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG5cbi5jYXJ0LWJ1dHRvbnMge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuYnRuIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAxNjdweDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgbWluLWhlaWdodDogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtaW4taGVpZ2h0OiA1NXB4O1xuICB9XG5cbiAgLmJ0bi0tcHVyY2hhc2Uge1xuICAgIHdpZHRoOjEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiAxNjdweDtcbiAgICB9XG4gIH1cblxuICAuYnRuLS1jb250aW51ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbGlnaHRlci1ncmF5O1xuICAgIGJvcmRlci1jb2xvcjogJGMtbGlnaHRlci1ncmF5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjMmMyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYy1saWdodGVyLWdyYXk7XG4gICAgfVxuXG4gICAgJi5idG4tLWFkZGVkIHtcbiAgICAgIGN1cnNvcjogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cblxuLmNhcnRfX2dpZnRpbmctZGV0YWlscyB7XG4gIGNvbG9yOiAkYy13aGl0ZTtcblxuICAuc2VjdGlvbi1sZWFkX190aXRsZSB7XG4gICAgZm9udDogJGZvbnQtYTM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC5maWVsZC0taGFsZjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG4gIH1cblxuICAuZmllbGRfX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cblxuICAuZm9ybV9fZXJyb3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuZmllbGRfX2lucHV0LmVycm9yZWQgKyAuZm9ybV9fZXJyb3IsIC5maWVsZF9fc2VsZWN0LmVycm9yZWQgKyAuZm9ybV9fZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5jb25maXJtYXRpb24ge1xuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgfVxuXG4gIC5jb25maXJtYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICB9XG59XG5cbi5maWVsZF9fdmFsdWUtLWdpZnQtbWVzc2FnZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLmNhcnRfX2dpZnRpbmctZGV0YWlsc19fZmllbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1MCwyNTAsMjUwLDAuOCk7XG59XG5cbi53cmFwcGluZy1zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMCAwIHNwYW4oMSBvZiAxMikgc3BhbigxIG9mIDEyKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTAsMjUwLDI1MCwwLjkpO1xuXG4gIC5zZWxlY3Qtd3JhcCB7XG4gICAgd2lkdGg6IDY1cHg7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIG1hcmdpbjogMCAzcHggMCAwO1xuICAgIHRyYW5zaXRpb246IG91dGxpbmUgMXM7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsKSB7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgbWFyZ2luOiAwIDdweCAwIDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgbWFyZ2luOiAwIDEzcHggMCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgaGVpZ2h0OiAxMjVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogaHVnZSkge1xuICAgICAgd2lkdGg6IDE1NXB4O1xuICAgICAgaGVpZ2h0OiAxNTVweDtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ3dyYXBwaW5nLXNlbGVjdC5qcGcnKTtcblxuICAgIC5kZXNpZ24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgICYuc2VsZWN0ZWQge1xuICAgICAgb3V0bGluZS1jb2xvcjogJGMtZGVmYXVsdC1wcmltYXJ5O1xuICAgIH1cblxuICAgICYub3B0aW9uVGhyZWUge1xuICAgICAgLmRlc2lnbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnd3JhcHBpbmctb3B0aW9uVGhyZWUucG5nJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcHRpb25PbmUge1xuICAgICAgLmRlc2lnbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnd3JhcHBpbmctb3ZlcmxheS1vcHRpb25PbmUucG5nJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcHRpb25Ud28ge1xuICAgICAgLmRlc2lnbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnd3JhcHBpbmctb3B0aW9uVHdvLmpwZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZ2lmdGluZy1pbmZvLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6IHVybCgnZ2lmdC1pbmZvLWJnLmpwZycpO1xuICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgbWF4LWhlaWdodDogMTAwMDBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAxcztcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBzcGFuKDEgb2YgMTIpO1xuXG4gICYuaXMtcmVtb3ZlZCB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgfVxuXG4gICYub3B0aW9uVGhyZWUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnd3JhcHBpbmctY29udGFpbmVyLW9wdGlvbi10aHJlZS1zbWFsbC5qcGcnKTtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3dyYXBwaW5nLWNvbnRhaW5lci1vcHRpb24tdGhyZWUuanBnJyk7XG4gICAgfVxuICB9XG4gICYub3B0aW9uT25lIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3dyYXBwaW5nLWNvbnRhaW5lci1vcHRpb24tb25lLXNtYWxsLmpwZycpO1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnd3JhcHBpbmctY29udGFpbmVyLW9wdGlvbi1vbmUuanBnJyk7XG4gICAgfVxuICB9XG4gICYub3B0aW9uVHdvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3dyYXBwaW5nLWNvbnRhaW5lci1vcHRpb24tdHdvLXNtYWxsLmpwZycpO1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnd3JhcHBpbmctY29udGFpbmVyLW9wdGlvbi10d28uanBnJyk7XG4gICAgfVxuICB9XG5cbn1cblxuLmdpZnRpbmctaW5mby1jb250YWluZXJfX2lubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1MCwyNTAsMjUwLDAuOSk7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiBzcGFuKDEgb2YgMTIpO1xufVxuXG5cbi5naWZ0aW5nLWNoZWNrYm94LWNvbnRhaW5lciB7XG4gIGJvcmRlci1jb2xvcjogJGMtc2hvcC1idXR0b24tcHJpbWFyeTtcbiAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xuICBmb250LXNpemU6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250OiAkZm9udC1hNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC5pbnB1dC0taXMtZ2lmdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbn1cblxuLmdpZnRpbmctaW5mby1jb250YWluZXJfX2Zvcm0ge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgbWFyZ2luOiAzNXB4IDAgMCBzcGFuKDEgb2YgMTIpO1xuICB9XG59XG5cbi5maWVsZF9fbGFiZWwtLWRhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZpZWxkX19sYWJlbC0tcGljay1kYXRlIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5naWZ0aW5nLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDIwMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDFzO1xuXG4gICYuYW5pbWF0ZSB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgfVxufVxuXG5cbi5naWZ0aW5nLWluZm8tY29udGFpbmVyX190ZXh0IHtcbiAgZm9udDogJGZvbnQtYTc7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xufVxuXG4uZ2lmdGluZy1pbmZvX193cmFwcGluZy1zZWxlY3Qge1xuICBmb250OiAkZm9udC1hNTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjLWRhcmstZ3JheTtcbn1cblxuLnByb2R1Y3Qtc3VtbWFyeV9faW1hZ2UtLXdyYXBwaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndyYXBwZWQgLnByb2R1Y3Qtc3VtbWFyeV9faW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ud3JhcHBlZCAucHJvZHVjdC1zdW1tYXJ5X19pbWFnZS0td3JhcHBpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jYXJ0LWJ1dHRvbnMge1xuICB0cmFuc2l0aW9uOiBhbGwgMXM7XG59XG5cbi51aS13aWRnZXQudWktd2lkZ2V0LWNvbnRlbnQge1xuICBib3JkZXI6MXB4IHNvbGlkICNlZWU7XG59XG5hLnVpLXN0YXRlLWRlZmF1bHQge1xuICBoZWlnaHQ6IDM4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cbmEudWktc3RhdGUtYWN0aXZlIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1kZWZhdWx0LXByaW1hcnkhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRjLWRlZmF1bHQtcHJpbWFyeSFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcbn1cblxuXG5hLnVpLXN0YXRlLWhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtZGVmYXVsdC1wcmltYXJ5IWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkYy1kZWZhdWx0LXByaW1hcnkhaW1wb3J0YW50O1xuXG4gIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcbn1cblxuLmNhcnQtaXRlbV9fcHJvZHVjdC1pbWFnZS1ob2xkZXIge1xuICAmLm9wdGlvblRocmVlIHtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnZUJvb2tfd3JhcF9ncmFuZGVfdGhyZWUuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgJi5hdWRpbyB7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdhdWRpb0Jvb2tfd3JhcHBlZF90aHJlZS5qcGcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYub3B0aW9uVHdvIHtcbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnZUJvb2tfd3JhcF9ncmFuZGUuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgJi5hdWRpbyB7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdhdWRpb0Jvb2tfd3JhcHBlZF90d28uanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5vcHRpb25PbmUge1xuICAgIGEge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCdlQm9va193cmFwX2dyYW5kZV9vbmUuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgJi5hdWRpbyB7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCdhdWRpb0Jvb2tfd3JhcHBlZF9vbmUuanBnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4udGgtd2l6YXJkaW5nLXdvcmxkIC5naWZ0aW5nLWN0YSwgLmdpZnRpbmctY3RhIHtcbiAgLmJ0bi0tcHVyY2hhc2Uge1xuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmJ0bi0tYWRkZWQge1xuICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxufVxuXG50ZXh0YXJlYS5jYXJ0X19naWZ0aW5nLWRldGFpbHNfX2ZpZWxkIHtcbiAgZm9udDogJGZvbnQtYTY7XG4gIHBhZGRpbmc6IDZweCAxMHB4O1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSBtcSAoJGZyb206IG1lZGl1bSkge1xuICAgIHdpZHRoOiA0MDBweDtcbiAgfVxufVxuXG4uZmllbGRfX2xhYmVsLS1kYXRlIHtcbiAgQGluY2x1ZGUgbXEgKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxufVxuXG5cbi50aC13aXphcmRpbmctd29ybGQge1xuXG4gIC5jYXJ0LWl0ZW1fX3Byb2R1Y3QtbGluayB7XG4gICAgY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLXByaW1hcnk7XG4gIH1cblxuICBhIC5jYXJ0LWl0ZW1fX3Byb2R1Y3QtdGl0bGUge1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAuY2FydC1pdGVtX19yZW1vdmUtbGluayB7XG4gICAgY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLXByaW1hcnk7XG4gIH1cblxuICBhLnVpLXN0YXRlLWhvdmVyLFxuICBhLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtcHJpbWFyeSFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYy1zaG9wLXdpemFyZGluZy13b3JsZC1wcmltYXJ5IWltcG9ydGFudDtcbiAgfVxuXG59XG5cbiIsIi5wbS10YWJsZSB7XG5cbiAgICBmb250OiAkZm9udC1hNjtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIGZvbnQ6ICRmb250LWE1O1xuICAgIH1cblxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgdHIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgQGluY2x1ZGUgY2FwdGlvbigpO1xuICAgIH1cblxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIC8vcGFkZGluZzogMHB4IDNweCAxNXB4IDNweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBncmV5IHNvbGlkO1xuICAgIH1cblxuICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgdGQ6bGFzdC1jaGlsZCxcbiAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG59XG5cbi5wbS10YWJsZV9fbm8tZGF0YSB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuIiwiLmlzLWhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uaXMtcmVtb3ZlZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn0iLCJAaW1wb3J0ICdzZWN0aW9uLWxlYWQvc3R5bGVzL2FsbCc7XG5AaW1wb3J0ICdsYXlvdXRzL3N0eWxlcy9sLW11bHRpLWNvbHVtbic7XG4kdHJhbnNpdGlvbi1zcGVlZDogMXM7XG5cbi5vcmRlci1saW5rIGEge1xuICBjb2xvcjogJGMtZGVmYXVsdC1wcmltYXJ5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbi1zcGVlZDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAmOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYy1kZWZhdWx0LXByaW1hcnk7XG4gIH1cbn1cblxuLm9yZGVyLWhpc3Rvcnkge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gIHRmb290IHtcbiAgICB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0VFRTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcm9ib3RvUmVndWxhckZvbnRTdGFjaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICB9XG5cbiAgICB0cjpsYXN0LWNoaWxkIHtcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub3JkZXItaGlzdG9yeV9fdG90YWwtbGluZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm9yZGVyLXByaWNlIHtcbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIGZvbnQtc2l6ZTogI3skZm9udC1zaXplLWMyfVxuICB9XG5cbiAgdGJvZHkgJiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG5cbiAgdGZvb3QgJiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG5cbiAgZm9udC1mYW1pbHk6ICRyb2JvdG9SZWd1bGFyRm9udFN0YWNrO1xuICBjb2xvcjogJGMtZGFyay1ncmF5O1xuICBmb250LXdlaWdodDogOTAwO1xuICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmFjY291bnQtb3JkZXJfX2RhdGUge1xuICBmb250OiAkZm9udC1iMztcbn1cblxuLmFjY291bnQtc3VidGl0bGUge1xuICBmb250OiAkZm9udC1hNTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbWFyZ2luLXRvcDogNTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmN1c3RvbWVyLWFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250OiAkZm9udC1hNjtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgZm9udDogJGZvbnQtYTU7XG4gIH1cbn1cblxuLmFjY291bnQtb3JkZXJfX3JldHVybiB7XG4gIG1hcmdpbi10b3A6IDU1cHg7XG59XG5cbi5jdXN0b21lci1hZGRyZXNzX19idG5zIHtcbiAgbWFyZ2luOiAyNXB4IDAgNTVweCAwO1xufVxuXG4uY3VzdG9tZXItYWRkcmVzc19fdGl0bGUge1xuICBmb250OiAkZm9udC1hNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jdXN0b21lci1hZGRyZXNzX19mb3JtIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLmN1c3RvbWVyLWFkZHJlc3NfX2Zvcm0tZGVmYXVsdCB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbi5zZWN0aW9uLWhlYWRlcl9fbGluay0tcmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG59XG5cbi5idG4tLXZpZXctYWRkcmVzc2VzIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuLmJ0bi0tdmlldy1ib29rcyB7XG4gIG1hcmdpbjogMCAwIDUwcHggMDtcbn1cblxuLnRoLXdpemFyZGluZy13b3JsZCB7XG5cbiAgLm9yZGVyLWxpbmsgYSB7XG4gICAgY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLWJ1dHRvbi1wcmltYXJ5O1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGMtc2hvcC13aXphcmRpbmctd29ybGQtYnV0dG9uLXByaW1hcnk7XG4gICAgfVxuICB9XG5cbn0iLCJAaW1wb3J0ICdzdXN5L3Nhc3Mvc3VzeSc7XG5AaW1wb3J0ICdjb25maWcvc3R5bGVzL2RldmljZS1yZXNvbHV0aW9ucyc7XG5cbkBpbXBvcnQgJy4uL21peGlucy9sLXR3by1vbmUnO1xuXG4ubC1tdWx0aS1jb2x1bW4tMi0xIHtcbiAgQGluY2x1ZGUgbC10d28tb25lKCk7XG5cbiAgJiA+ICoge1xuICAgIEBpbmNsdWRlIGwtdHdvLW9uZS1pdGVtKCk7XG4gIH1cbn1cbiIsIkBtaXhpbiBsLXR3by1vbmUoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG5AbWl4aW4gbC10d28tb25lLWl0ZW0oJG1hcmdpbi1yaWdodDogZ3V0dGVyKDEyKSwgJG1hcmdpbi10b3A6IGd1dHRlcigxMikpIHtcbiAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gIHdpZHRoOiBzcGFuKDEyIG9mIDEyKTtcblxuICAmOm50aC1jaGlsZCgtbisxKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG4gICAgd2lkdGg6IHNwYW4oNiBvZiAxMik7XG5cbiAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKC1uKzIpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbn0iLCJAaW1wb3J0ICdjb25maWcvc3R5bGVzL3R5cG9ncmFwaHknO1xuXG4uZXJyb3ItcGFnZSB7XG4gIGZvbnQtZmFtaWx5OiAkbWFnb3JpYW5SZWd1bGFyRm9udFN0YWNrO1xuXG4gIC5icmVhZGNydW1iLFxuICAucGF5bWVudC1sb2dvcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5lcnJvci1wYWdlLWNvbnRlbnQge1xuICAgIC5lcnJvciB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDEwJSAzJTtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRjLWRlZmF1bHQtcHJpbWFyeTtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi50aC13aXphcmRpbmctd29ybGQuZXJyb3ItcGFnZSB7XG4gIC5lcnJvci1wYWdlLWNvbnRlbnQge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRjLXNob3Atd2l6YXJkaW5nLXdvcmxkLXByaW1hcnk7XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCAnbWl4aW5zL3N0eWxlcy9maWxsLXBhcmVudCc7XG5AaW1wb3J0ICdtaXhpbnMvc3R5bGVzL21haW50YWluLXJhdGlvJztcblxuJG5hdkNvbG91cjogbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlcywgZGVmYXVsdCksIHByaW1hcnkpO1xuXG4uY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICA6Zm9jdXN7XG4gICAgICAgIG91dGxpbmU6bm9uZTtcbiAgICB9XG59XG5cbi5jYXJvdXNlbC0taG9tZSB7XG4gIG1hcmdpbi10b3A6IC02NXB4O1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBtYXJnaW4tdG9wOiAtMTMzcHg7XG4gIH1cbn1cblxuLmNhcm91c2VsX19zcGxhc2gtaXRlbSxcbi5jYXJvdXNlbF9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnZpZXcgLmNhcm91c2VsX19zcGxhc2gtaXRlbSB7XG4gIGRpc3BsYXk6bm9uZTtcbn1cblxuLmNhcm91c2VsX19zcGxhc2gtaXRlbSB7XG4gIGJhY2tncm91bmQ6I2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDMwO1xuICB3aWR0aDogMTAwJTtcblxuXG4gIC5pY29uLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZpbGw6ICMzMzM7XG4gICAgZm9udC1zaXplOiA5MHB4O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgZm9udC1zaXplOiAxNjBweDtcbiAgICB9XG4gIH1cbn1cblxuLmNhcm91c2VsX19zcGxhc2gtYXVkaW8ge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgfVxuXG4gIHAge1xuICAgICAgZm9udDogJGZvbnQtYTY7XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgZm9udDogJGZvbnQtYTQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgICAgICBmb250OiAkZm9udC1hMztcbiAgICAgIH1cbiAgfVxufVxuXG4uY2Fyb3VzZWxfX3NwbGFzaC1hdWRpby1idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXRvcDogMTdweDtcbiAgfVxuXG4gIFtjbGFzc149J2ljb24tJ10ge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjIpO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBbY2xhc3NePSdpY29uLSddIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsLjQpO1xuICAgIH1cbiAgfVxufVxuXG4ubnZpZXcgLmNhcm91c2VsX19zcGxhc2gtY29udGVudHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jYXJvdXNlbF9fc3BsYXNoLWNvbnRlbnQsXG4uY2Fyb3VzZWxfX2l0ZW0tY29udGVudCB7XG4gIEBpbmNsdWRlIGZpbGwtcGFyZW50KCk7XG4gIGNvbG9yOiAjRkZGO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAyO1xufVxuXG4uY2Fyb3VzZWxfX3NwbGFzaC1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCwgb3BhY2l0eSAyLjVzIDFzO1xuICBjb2xvcjogIzMzMztcbiAgb3BhY2l0eTogMC4wMDE7XG5cbiAgLmljb24tbG9nbyB7XG4gICAgZmlsbDogIzMzMztcbiAgfVxuXG4gIC5oYXMtbG9hZGVkICYge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNhcm91c2VsX19pdGVtLWNvbnRlbnQtaW5uZXIsXG4uY2Fyb3VzZWxfX3NwbGFzaC1jb250ZW50LWlubmVyIHtcbiAgd2lkdGg6IHNwYW4oMTAgb2YgMTIgKSArIGd1dHRlcigxMik7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIHdpZHRoOiBzcGFuKDcgb2YgMTIpICsgZ3V0dGVyKDEyKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWxfX3NwbGFzaC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbjogMjBweCBndXR0ZXIoMTIpIDEwcHggZ3V0dGVyKDEyKTtcbiAgZm9udDogJGZvbnQtYTY7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHdpZHRoOiBzcGFuKDEyIG9mIDEyKTtcbiAgICBmb250OiAkZm9udC1hNDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgIGZvbnQ6ICRmb250LWEzO1xuICB9XG59XG5cbi5jYXJvdXNlbF9faXRlbS1jdGEge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuXG4uY2Fyb3VzZWxfX3NwbGFzaC1pbWFnZSxcbi5jYXJvdXNlbF9faXRlbS10ZXh0dXJlIHtcbiAgQGluY2x1ZGUgZmlsbC1wYXJlbnQoKTtcblxuICAuaW1nIHtcbiAgICBAaW5jbHVkZSBmaWxsLXBhcmVudCgpO1xuICAgIHotaW5kZXg6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnZpZGVvIHtcbiAgICBAaW5jbHVkZSBmaWxsLXBhcmVudCgpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIHZpZGVvLmNhcm91c2VsX19pdGVtLXZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgfVxuXG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IDUwJSA1MCU7XG4gIH1cbn1cblxuLmNhcm91c2VsX19zcGxhc2gtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xufVxuXG4uY2Fyb3VzZWxfX2l0ZW0tYXJ0aWNsZS10eXBlLFxuLmNhcm91c2VsX19pdGVtLWRhdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgQGluY2x1ZGUgY2FwdGlvbigkc2l6ZTogMTJweCk7XG59XG5cblxuLmNhcm91c2VsX19pdGVtLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZm9udDogJGZvbnQtYTQ7XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsKSB7XG4gICAgZm9udDogJGZvbnQtYTM7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcbiAgICBmb250OiAkZm9udC1hMjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBlbm9ybW91cykge1xuICAgIGZvbnQ6ICRmb250LWExO1xuICB9XG59XG5cblxuLmNhcm91c2VsX19pdGVtLWRlc2NyaXB0aW9uIHtcbiAgZm9udDogJGZvbnQtYTY7XG4gIG1hcmdpbi1ib3R0b206MjBweDtcblxuICBAaW5jbHVkZSBtcSgkZnJvbTogc21hbGwpIHtcbiAgICBmb250OiAkZm9udC1hNTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgIGZvbnQ6ICRmb250LWE0O1xuICB9XG5cbn1cblxuXG4uY2Fyb3VzZWxfX2l0ZW0tc3ViLXRpdGxlIHtcbiAgZm9udDogJGZvbnQtdDMtZGVza3RvcDtcbn1cblxuLmNhcm91c2VsX19pdGVtLWJ5amtyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gIGZvbnQ6ICRmb250LWE1O1xuXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBzbWFsbCkge1xuICAgIGZvbnQ6ICRmb250LWE0O1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJGZyb206IGxhcmdlKSB7XG4gICAgZm9udDogJGZvbnQtYTM7XG4gIH1cblxuICBAaW5jbHVkZSBtcSgkZnJvbTogZW5vcm1vdXMpIHtcbiAgICBmb250OiAkZm9udC1hMjtcbiAgfVxufVxuXG5cbi5jYXJvdXNlbF9fbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBib3R0b206IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgb2wge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLmNhcm91c2VsX19uYXYtaXRlbSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBhLCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0ZGRjtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB0ZXh0LWluZGVudDogLTEwMDBlbTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUsXG4gICYtLWFjdGl2ZSB7XG4gICAgYSxcbiAgICBzcGFuLFxuICAgIHNwYW46aG92ZXIsXG4gICAgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRkZGO1xuICAgIH1cbiAgfVxufVxuXG4ub3dsLXN0YWdlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1NSwgMC4wMDUsIDAuNDU1LCAxLjAwMCkgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OjEwMHZoO1xufVxuXG4ub3dsLXN0YWdlLW91dGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm93bC1pdGVtIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm93bC1kb3RzIHtcbiAgQGV4dGVuZCAuY2Fyb3VzZWxfX25hdjtcbn1cblxuLm93bC1kb3Qge1xuICBAZXh0ZW5kIC5jYXJvdXNlbF9fbmF2LWl0ZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLm93bC1wcmV2LFxuLm93bC1uZXh0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDMwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yNXM7XG4gIG1hcmdpbi10b3A6IC0zMHB4O1xuXG4gICY6aG92ZXIge1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTYwcHg7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG5cbiAgICAuaW1nIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAyMTNweDtcbiAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNhcm91c2VsX19wcmV2LFxuICAuY2Fyb3VzZWxfX25leHQge1xuICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50KCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSBzY2FsZSgxLjAsIDEuMCk7XG4gIH1cblxuICAuaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMHB4O1xuICAgIHdpZHRoOiAxMDZweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5vd2wtcHJldiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA1MCU7XG5cbiAgLmltZyB7XG4gICAgbGVmdDogLTIxM3B4O1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAuY2Fyb3VzZWxfX3ByZXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2Q29sb3VyO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIH1cblxuICAgICAgLmltZyB7XG4gICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICAuaW1nIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbi5vd2wtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuXG4gIC5pY29uLWFycm93LXJpZ2h0IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuXG4gIC5pbWcge1xuICAgIHJpZ2h0OiAtMjEzcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIC5jYXJvdXNlbF9fbmV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRuYXZDb2xvdXI7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgfVxuXG4gICAgICAuaW1nIHtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICAuaW1nIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jYXJvdXNlbF9faXRlbS1jb250ZW50X19saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jYXJvdXNlbF9fc3BsYXNoLWNvbnRlbnQtaW5uZXIge1xuICAgIC5vcm5hbWVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuY2Fyb3VzZWwtLXNob3Age1xuXG4gIG1hcmdpbi1ib3R0b206IDIlO1xuXG4gIC5jYXJvdXNlbF9faXRlbSB7XG4gICAgbWluLWhlaWdodDogMTAwdnchaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IG1lZGl1bSkge1xuICAgICAgbWluLWhlaWdodDogNjAwcHghaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgbWluLWhlaWdodDogNDAwcHghaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBodWdlKSB7XG4gICAgICBtaW4taGVpZ2h0OiA1MDBweCFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IGVub3Jtb3VzKSB7XG4gICAgICBtaW4taGVpZ2h0OiA2MDBweCFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAmOmZpcnN0LWNoaWxkLCAuc2hvdyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLm93bC1zdGFnZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLm93bC1pdGVtIHtcbiAgICBvcGFjaXR5OjA7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4iLCJAaW1wb3J0ICdtaXhpbnMvc3R5bGVzL1gnO1xuQGltcG9ydCAnbWl4aW5zL3N0eWxlcy9sb2FkaW5nJztcbiRuYXZDb2xvdXI6IG1hcC1nZXQobWFwLWdldCgkcGFsZXR0ZXMsIGRlZmF1bHQpLCBwcmltYXJ5KTtcblxuLmxpdGVib3gtd3JhcHBlcixcbi5saXRlYm94LXdyYXBwZXIgZmlndXJlLFxuLmxpdGVib3gtbG9hZGluZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG59XG5cbi5saXRlYm94LXdyYXBwZXIgZmlndXJlLFxuLmxpdGVib3gtd3JhcHBlciBpbWcge1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdG9wOiA4MHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLmxpdGVib3gtd3JhcHBlciBpbWcge1xuICAgIHRvcDogMHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4ubGl0ZWJveC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEpO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMTAwdmghaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiA5OTk5OTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGZpZ3VyZSB7XG4gICAgICAgIG1hcmdpbjogMCA1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgIH1cbn1cblxuLmluZm8tZ3JhcGhpYyB7XG4gICAgLmxpdGVib3gtd3JhcHBlciB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogbGFyZ2UpIHtcblxuICAgICAgICAubGl0ZWJveC13cmFwcGVyIHtcbiAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGl0ZWJveC1zY3JvbGwge1xuICAgICYubm8tbWF4LXdpZHRoIHtcbiAgICAgICAgLmxpdGVib3gtd3JhcHBlciB7XG4gICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgIHRvcDogLTgwcHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjAyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGlnaHRib3gtdG9wIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAub3JuYW1lbnQtLWxpdGVib3gsIC5zb2NpYWwtc2hhcmVfX3RleHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuc29jaWFsLXNoYXJlLS1saXRlYm94IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNvY2lhbC1zaGFyZV9fdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGl0ZWJveC13cmFwcGVyIGZpZ2NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgIEBpbmNsdWRlIGNhcHRpb24oMTBweCk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmxpdGVib3gtd3JhcHBlciBmaWd1cmUsXG4ubGl0ZWJveC1sb2FkaW5nIHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4ubGl0ZWJveC1sb2FkaW5nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHotaW5kZXg6IDk5O1xuICAgIHRvcDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgbG9hZGluZygpO1xufVxuXG5cbi5saWdodGJveEltZyB7XG4gICAgY3Vyc29yOnBvaW50ZXI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNSU7XG4gICAgICAgIHJpZ2h0OiA1JTtcbiAgICB9XG59XG5cbi5saWdodGJveC10b3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMycHg7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAubGlnaHRib3gtY2xvc2UtYXJlYSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMDtcbiAgICB9XG5cbiAgICAubGlnaHRib3gtY2xvc2Uge1xuICAgICAgICBAaW5jbHVkZSBYKCRjb2xvcjogI2ZmZik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7XG4gICAgICAgIHRvcDogMzBweDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5saWdodGJveF9faW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmxpZ2h0Ym94X19jbGljayB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwwLDAsMCksIHJnYmEoMCwwLDAsMSkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApLCByZ2JhKDAsMCwwLDEpKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsMCwwLDApLCByZ2JhKDAsMCwwLDEpKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLDAsMCwwKSwgcmdiYSgwLDAsMCwxKSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB9XG5cbiAgICAubGlnaHRib3hfX2NsaWNrX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FwdGlvbigxMHB4KTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4IDAgMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1nL2xpdGVib3gtb3Blbi1idG4ucG5nKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAubGlnaHRib3hfX2NsaWNrIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb3ZlIHtcbiAgICAubGlnaHRib3hfX2NsaWNrIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5zb2NpYWwtc2hhcmVfX3RleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5saXRlYm94LXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgLm1hc3RoZWFkIHtcbiAgICAgICAgLm1hc3RoZWFkX19zb2NpYWwtc2hhcmUge1xuICAgICAgICAgICAgJi5zb2NpYWwtc2hhcmUtLWxpdGVib3gge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiA5OTk5OTtcbiAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwIDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcblxuICAgICAgICAgICAgICAgIC5zb2NpYWwtc2hhcmVfX3RleHQge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc29jaWFsLXNoYXJlX19idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6c21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zb2NpYWwtc2hhcmUtLW9wZW5lZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgIC5zb2NpYWwtc2hhcmVfX3RleHQsIC5saXRlYm94X19jb3VudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLnNvY2lhbC1zaGFyZV9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzVweDtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JuYW1lbnQtLWxpdGVib3gge1xuICAgICAgICBtYXJnaW46IDNweCAwIDAgMDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvY2lhbC1zaGFyZV9fdGV4dCwgLmxpdGVib3hfX2NvdW50IHtcblxuICAgICAgICBAaW5jbHVkZSBtcSgkdW50aWw6IG1lZGl1bSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzZweDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250OiAxMHB4LzEycHggJHJvYm90b1JlZ3VsYXJGb250U3RhY2s7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAubGl0ZWJveF9fY291bnQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIGNhcHRpb24oMTJweCk7XG4gICAgfVxufVxuXG5cbi5saXRlYm94X19jb250cm9sIHtcbiAgICBAaW5jbHVkZSBtcSgkdW50aWw6IGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgei1pbmRleDoyMDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjI1cztcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBoZWlnaHQ6IDEyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtNjBweDtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgfVxuXG4gICAgLmNhcm91c2VsX19wcmV2LFxuICAgIC5jYXJvdXNlbF9fbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50KCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMjVzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwgMS4wKTtcbiAgICB9XG5cbiAgICAmLnNob3cge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLm5vLW1heC13aWR0aCB7XG4gICAgLmxpdGVib3hfX2NvbnRyb2wge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGl0ZWJveF9fY291bnQsIC5zb2NpYWwtc2hhcmVfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5saXRlYm94X19jb250cm9sLS1uZXh0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG5cbiAgICAuaWNvbi1hcnJvdy1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAuY2Fyb3VzZWxfX25leHQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXZDb2xvdXI7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmxpdGVib3hfX2NvbnRyb2wtLXByZXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNTAlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIC5jYXJvdXNlbF9fcHJldiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG5hdkNvbG91cjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiQG1peGluIGxvYWRpbmcoJHNpemU6IDEycHgsICRsaW5lLWhlaWdodDogMThweCkge1xuXG4gICAgZGl2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTBlbTtcbiAgICAgICAgaGVpZ2h0OiAxMGVtO1xuICAgICAgICBtYXJnaW46IDZlbSBhdXRvO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGZvbnQtc2l6ZTogNHB4O1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgICAgICAgYm9yZGVyLXRvcDogMmVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAyZW0gc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAyZW0gc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICBib3JkZXItbGVmdDogMmVtIHNvbGlkICNmZmY7XG5cbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW5ueVRoaW5nIDEuMXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICBhbmltYXRpb246IHNwaW5ueVRoaW5nIDEuMXMgaW5maW5pdGUgbGluZWFyO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEwZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbm55VGhpbmcge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBrZXlmcmFtZXMgc3Bpbm55VGhpbmcge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBNENFQSxBQUFBLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEUwQjJCN0QsTUFBTSxFMUIzQnlELEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxF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 */
