@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 100;
  src: local("Montserrat Thin Italic"),local(Montserrat-ThinItalic),url(//fonts.gstatic.com/s/montserrat/v12/1809Y0aW9bpFOPXsQTFwf9P2OS6Bzu7BENq0TH5sayk.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/1809Y0aW9bpFOPXsQTFwf1dBB84BqlWy1BjOnCrU9PY.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/1809Y0aW9bpFOPXsQTFwfy1dfeF-hbOdKKuBDEXxqhQ.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 200;
  src: local("Montserrat ExtraLight Italic"),local(Montserrat-ExtraLightItalic),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft2hUd5_HpjpfImmlNZG9RF4.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft5dxImagpP7sHxM18iKeP-M.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft_7J9eW2S58LCMPoFblzf2g.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 300;
  src: local("Montserrat Light Italic"),local(Montserrat-LightItalic),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft4ySLpARcVRs9uFJp0LRZgE.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft04GofcKVZz6wtzX_QUIqsI.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft2Fp2sMiApZm5Dx7NpSTOZk.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 400;
  src: local("Montserrat Italic"),local(Montserrat-Italic),url(//fonts.gstatic.com/s/montserrat/v12/-iqwlckIhsmvkx0N6rwPmnZ2MAKAc2x4R1uOSeegc5U.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/-iqwlckIhsmvkx0N6rwPmugdm0LZdjqr5-oayXSOefg.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/-iqwlckIhsmvkx0N6rwPmnhCUOGz7vYGh680lGh-uXM.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 500;
  src: local("Montserrat Medium Italic"),local(Montserrat-MediumItalic),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9FtzHhXAPWOXQc-mHRKx4oalk.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft81Lch-SD8r0CsJ60meulZ8.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9FtxF47VQSRrvbVYTKIrepY7I.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 600;
  src: local("Montserrat SemiBold Italic"),local(Montserrat-SemiBoldItalic),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9FtzBIQ40lcwWW3vj9tFMKvqw.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft_Bf3Xtc57ojmY2ox2Xv8Go.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft9Od4RnLmtUrdSQkDmC5b8k.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 700;
  src: local("Montserrat Bold Italic"),local(Montserrat-BoldItalic),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft2msoyWrDyoltQVIP7q_RGg.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft3NuWYKPzoeKl5tYj8yhly0.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft3l4twXkwp3_u9ZoePkT564.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 800;
  src: local("Montserrat ExtraBold Italic"),local(Montserrat-ExtraBoldItalic),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft9Kd--5SjvBBPdO8SYNBozY.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9FtxqoE9FO9sRveXk8Nnop4Zo.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft2pVmE9oLybi4D_AN-2K110.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: italic;
  font-weight: 900;
  src: local("Montserrat Black Italic"),local(Montserrat-BlackItalic),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft19iNfvTt1gMvrhy159_6ck.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ft9DLwwZd-mS_8JqJ_KGXwxs.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/zhwB3-BAdyKDf0geWr9Ftwi3Hume1-TKjJz2lX0jYjo.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 100;
  src: local("Montserrat Thin"),local(Montserrat-Thin),url(//fonts.gstatic.com/s/montserrat/v12/CdKWaRAal2Bxq9mORLKRRXZ2MAKAc2x4R1uOSeegc5U.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/CdKWaRAal2Bxq9mORLKRRegdm0LZdjqr5-oayXSOefg.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/CdKWaRAal2Bxq9mORLKRRXhCUOGz7vYGh680lGh-uXM.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 200;
  src: local("Montserrat ExtraLight"),local(Montserrat-ExtraLight),url(//fonts.gstatic.com/s/montserrat/v12/eWRmKHdPNWGn_iFyeEYja26IuzAwjfI5Pbb6jofSqzk.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/eWRmKHdPNWGn_iFyeEYja6EWXqnGSfwnQD3YDlprsb0.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/eWRmKHdPNWGn_iFyeEYjaxp4ivTFcMoDJtPEqAe9hmM.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 300;
  src: local("Montserrat Light"),local(Montserrat-Light),url(//fonts.gstatic.com/s/montserrat/v12/IVeH6A3MiFyaSEiudUMXE6SxSvC1lIsK_unZDHWqTBg.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/IVeH6A3MiFyaSEiudUMXE8u2Q0OS-KeTAWjgkS85mDg.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/IVeH6A3MiFyaSEiudUMXE9kZXW4sYc4BjuAIFc1SXII.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 400;
  src: local("Montserrat Regular"),local(Montserrat-Regular),url(//fonts.gstatic.com/s/montserrat/v12/zhcz-_WihjSQC0oHJ9TCYFQlYEbsez9cZjKsNMjLOwM.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/zhcz-_WihjSQC0oHJ9TCYPk_vArhqVIZ0nv9q090hN8.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/zhcz-_WihjSQC0oHJ9TCYBsxEYwM7FgeyaSgU71cLG0.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 500;
  src: local("Montserrat Medium"),local(Montserrat-Medium),url(//fonts.gstatic.com/s/montserrat/v12/BYPM-GE291ZjIXBWrtCweoJh5taHiwXv-DjBEZUuYXM.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/BYPM-GE291ZjIXBWrtCwejOo-lJoxoMO4vrg2XwIHQk.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/BYPM-GE291ZjIXBWrtCweu46x7QEqGuF-FJIFiH1W2g.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 600;
  src: local("Montserrat SemiBold"),local(Montserrat-SemiBold),url(//fonts.gstatic.com/s/montserrat/v12/q2OIMsAtXEkOulLQVdSl08G3e9iX24ta7lLMfbqPFME.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/q2OIMsAtXEkOulLQVdSl06VlZKEoJGujTpfWnQT9bUY.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/q2OIMsAtXEkOulLQVdSl024H_cQCpNmkmj7HsMzmiiM.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 700;
  src: local("Montserrat Bold"),local(Montserrat-Bold),url(//fonts.gstatic.com/s/montserrat/v12/IQHow_FEYlDC4Gzy_m8fcmzklk6MJbhg7BmBP42CjCQ.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/IQHow_FEYlDC4Gzy_m8fcoWiMMZ7xLd792ULpGE4W_Y.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/IQHow_FEYlDC4Gzy_m8fcgFhaRv2pGgT5Kf0An0s4MM.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 800;
  src: local("Montserrat ExtraBold"),local(Montserrat-ExtraBold),url(//fonts.gstatic.com/s/montserrat/v12/H8_7oktkjVeeX06kbAvc0B8AHhEfjUJjouFVttJjJoo.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/H8_7oktkjVeeX06kbAvc0Ary2jK1Y0oNyoF1xLf3zMQ.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/H8_7oktkjVeeX06kbAvc0CS-0kw_uRLN9JEz12uqVRQ.woff) format("woff"); }
@font-face{
  font-family: Montserrat;
  font-style: normal;
  font-weight: 900;
  src: local("Montserrat Black"),local(Montserrat-Black),url(//fonts.gstatic.com/s/montserrat/v12/aEu-9ATAroJ1iN4zmQ55BsWwaGkf25P-zZOrMBTzpJc.eot?#) format("eot"),url(//fonts.gstatic.com/s/montserrat/v12/aEu-9ATAroJ1iN4zmQ55Bsjsb7Oq0o-uqUFW7Ygu5rM.woff2) format("woff2"),url(//fonts.gstatic.com/s/montserrat/v12/aEu-9ATAroJ1iN4zmQ55BoPAkl-0rCkX4F4zIO7lYWE.woff) format("woff"); }
@charset "UTF-8";
.row.full-width {
  margin-left: auto;
  margin-right: auto; }

@media (min-width: 768px) {
  .row.row-custom {
    margin-left: -0.625rem;
    margin-right: -0.625rem; }
    .row.row-custom [class*='col-'] {
      padding-right: 0.625rem;
      padding-left: 0.625rem; }
    .row.row-custom .row {
      margin-left: -0.625rem;
      margin-right: -0.625rem; } }

@media (max-width: 991px) {
  .row.row-custom > div + div {
    margin-top: 1.25rem; } }

.mt-custom {
  margin-top: 1.25rem; }

@media (max-width: 767px) {
  .mt-custom-sm {
    margin-top: 1.25rem; } }

.background-gray {
  background: #e9e9e9;
  position: relative;
  z-index: 0; }
  .background-gray:before, .background-gray:after {
    position: absolute;
    content: '';
    width: 625rem;
    top: 0;
    bottom: 0;
    background: #e9e9e9;
    z-index: -1; }
  .background-gray:before {
    right: 99%; }
  .background-gray:after {
    left: 99%; }

/* Extra content */
/* Banners */
.jx-custom-banner {
  position: relative;
  overflow: hidden; }
  .jx-custom-banner .jxml-banner-title {
    display: none; }
  .jx-custom-banner .jxml-banner-link {
    display: block; }
  .jx-custom-banner .jxml-banner-img {
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    will-change: transform;
    width: 100%; }
  .jx-custom-banner .jxml-banner-description {
    font-size: 1rem; }
    .jx-custom-banner .jxml-banner-description h2, .jx-custom-banner .jxml-banner-description h3, .jx-custom-banner .jxml-banner-description h4 {
      text-transform: uppercase;
      letter-spacing: 0;
      margin: 0;
      font-family: "Montserrat", sans-serif;
      color: #000; }
    .jx-custom-banner .jxml-banner-description .color-white {
      color: #fff; }
      .jx-custom-banner .jxml-banner-description .color-white a {
        color: #fff; }
        .jx-custom-banner .jxml-banner-description .color-white a:hover {
          color: #c0de01; }
    .jx-custom-banner .jxml-banner-description h2 {
      font-weight: 600;
      line-height: 1;
      font-size: 8.750em; }
    .jx-custom-banner .jxml-banner-description h3 {
      font-weight: 600;
      line-height: 1.143;
      font-size: 4.375em; }
      .jx-custom-banner .jxml-banner-description h3 span {
        font-weight: 200; }
    .jx-custom-banner .jxml-banner-description h4 {
      font-weight: 600;
      line-height: 1.25;
      font-size: 2.500em; }
      .jx-custom-banner .jxml-banner-description h4 span {
        font-weight: 300; }
    .jx-custom-banner .jxml-banner-description .link-block {
      margin: 2.5rem 0 0 0; }
    .jx-custom-banner .jxml-banner-description .btn-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-top: 3.25rem; }
      .jx-custom-banner .jxml-banner-description .btn-wrapper > p {
        margin: 0.1875rem 0.5625rem; }
    @media (min-width: 1200px) {
      .jx-custom-banner .jxml-banner-description .btn-wrapper--brands > p {
        position: relative;
        padding-top: 3.4375rem; }
        .jx-custom-banner .jxml-banner-description .btn-wrapper--brands > p:before {
          position: absolute;
          content: '';
          top: 0;
          left: 50%;
          -webkit-transform: translateX(-50%);
                  transform: translateX(-50%);
          width: 100%;
          height: 1.9375rem; }
      .jx-custom-banner .jxml-banner-description .btn-wrapper--brands .btn-md {
        min-width: 14.375rem; }
      .jx-custom-banner .jxml-banner-description .btn-md {
        min-width: 12.625rem; } }
    @media (max-width: 1869px) {
      .jx-custom-banner .jxml-banner-description {
        font-size: 0.625rem; } }
    @media (max-width: 1199px) {
      .jx-custom-banner .jxml-banner-description {
        font-size: 0.5rem; }
        .jx-custom-banner .jxml-banner-description .btn-wrapper {
          margin-top: 1.25rem; }
        .jx-custom-banner .jxml-banner-description .btn-md {
          padding: 0.625rem 0.625rem; }
        .jx-custom-banner .jxml-banner-description .btn {
          font-size: 0.75rem; } }
  .jx-custom-banner:hover .jxml-banner-img {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }

.banner-default .jxml-banner-description {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  padding-left: 3.375rem; }

.banner-default.right-align .jxml-banner-description {
  left: auto;
  right: 0;
  padding-right: 2.5rem;
  padding-left: 0;
  width: 50%; }

@media (max-width: 1869px) {
  .banner-default .jxml-banner-description {
    padding-left: 1.875rem; } }

.banner-primary .jxml-banner-description {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  top: 6.875rem; }

.banner-primary.bottom-align .jxml-banner-description {
  top: auto;
  bottom: 6.75rem; }

.banner-primary.left-align .jxml-banner-description {
  right: auto;
  padding-left: 5.625rem;
  top: 10rem; }

.banner-primary.center-align .jxml-banner-description {
  top: 47%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

@media (max-width: 1869px) {
  .banner-primary .jxml-banner-description {
    top: 3.125rem; }
  .banner-primary.left-align .jxml-banner-description {
    padding-left: 1.875rem;
    top: 3.125rem; } }

@media (max-width: 1199px) {
  .banner-primary .jxml-banner-description {
    top: 1.875rem; }
  .banner-primary.bottom-align .jxml-banner-description {
    bottom: 1.875rem; } }

@media (max-width: 991px) {
  .banner-primary .jxml-banner-description {
    top: 1.5625rem; } }

@media (max-width: 575px) {
  .banner-primary.left-align .jxml-banner-description {
    padding-left: 0.3125rem;
    top: 1.25rem;
    text-align: left;
    font-size: 0.375rem; }
    .banner-primary.left-align .jxml-banner-description .btn-wrapper {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }

@media (min-width: 576px) and (max-width: 991px) {
  .banner-primary--md .jxml-banner-description {
    font-size: 0.875rem; } }

.banner-secondary {
  overflow: hidden;
  position: relative;
  z-index: 0;
  margin-bottom: 3.75rem; }
  @media (min-width: 768px) {
    .banner-secondary {
      margin-bottom: 5.625rem; } }
  @media (min-width: 1200px) {
    .banner-secondary {
      margin-bottom: 7.8125rem; } }
  .banner-secondary .jxml-banner-title {
    display: none; }
  .banner-secondary .jxml-banner-description .custom-background {
    position: absolute;
    top: 0;
    bottom: -0.0625rem;
    right: -0.0625rem;
    background: #fff;
    -webkit-transform: skewX(15deg);
            transform: skewX(15deg);
    -webkit-transform-origin: right top;
            transform-origin: right top;
    width: 44%;
    z-index: 1; }
    @media (max-width: 767px) {
      .banner-secondary .jxml-banner-description .custom-background {
        width: 50%; } }
    .banner-secondary .jxml-banner-description .custom-background:before {
      position: absolute;
      content: '';
      background: #c0de01;
      top: 0;
      left: 0;
      right: 0;
      bottom: 3.625rem;
      z-index: 1; }
    @media (max-width: 1599px) {
      .banner-secondary .jxml-banner-description .custom-background:before {
        bottom: 1.875rem; } }
    @media (max-width: 767px) {
      .banner-secondary .jxml-banner-description .custom-background:before {
        bottom: 0.625rem; } }
  .banner-secondary .jxml-banner-description .text-overlay {
    position: absolute;
    top: 48%;
    right: 0.9375rem;
    left: auto;
    width: 37%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    font-size: 1rem;
    z-index: 2;
    text-align: center; }
    .banner-secondary .jxml-banner-description .text-overlay h5 {
      font-weight: 500;
      font-family: "Montserrat", sans-serif;
      font-size: 1.7em;
      line-height: 1.333;
      color: #000;
      text-transform: none;
      letter-spacing: 0;
      margin: 2.8125rem 0 0 0; }
    .banner-secondary .jxml-banner-description .text-overlay .btn {
      margin-top: 3.125rem; }
    .banner-secondary .jxml-banner-description .text-overlay .logo-brand {
      display: inline-block;
      width: 27.6875rem;
      height: 16.0625rem;
      background-size: 100% auto; }
    @media (max-width: 1599px) {
      .banner-secondary .jxml-banner-description .text-overlay {
        font-size: 0.8125rem; }
        .banner-secondary .jxml-banner-description .text-overlay .logo-brand {
          max-width: 23.125rem;
          margin-left: auto;
          margin-right: auto; }
        .banner-secondary .jxml-banner-description .text-overlay h5 {
          margin-top: 1.5625rem; }
        .banner-secondary .jxml-banner-description .text-overlay .btn {
          margin-top: 1.25rem; } }
    @media (max-width: 1199px) {
      .banner-secondary .jxml-banner-description .text-overlay {
        font-size: 0.625rem; }
        .banner-secondary .jxml-banner-description .text-overlay .btn-lg {
          padding: 0.625rem 0.9375rem;
          font-size: 0.75rem;
          line-height: 1rem; }
        .banner-secondary .jxml-banner-description .text-overlay .btn.icon-right > span {
          padding-right: 1.25rem; } }
    @media (max-width: 991px) {
      .banner-secondary .jxml-banner-description .text-overlay {
        font-size: 0.5rem; }
        .banner-secondary .jxml-banner-description .text-overlay .logo-brand {
          width: 9.375rem;
          height: 3.125rem; }
        .banner-secondary .jxml-banner-description .text-overlay h5 {
          margin-top: 0.9375rem; } }
    @media (max-width: 767px) {
      .banner-secondary .jxml-banner-description .text-overlay .logo-brand {
        display: none; }
      .banner-secondary .jxml-banner-description .text-overlay h5 {
        margin-top: 0; }
      .banner-secondary .jxml-banner-description .text-overlay .btn {
        margin-top: 0.625rem; } }
    @media (max-width: 575px) {
      .banner-secondary .jxml-banner-description .text-overlay {
        font-size: 0.375rem; }
        .banner-secondary .jxml-banner-description .text-overlay .btn-lg {
          padding: 0.375rem 0.5rem; } }

@media (max-width: 991px) {
  .banner-long-md {
    min-height: 50rem;
    overflow: hidden; }
    .banner-long-md .jxml-banner-img {
      position: absolute;
      top: 70%;
      left: 0;
      right: 0;
      max-width: inherit;
      -webkit-transform: scale(1.1) translateY(-50%);
              transform: scale(1.1) translateY(-50%); }
    .banner-long-md:hover .jxml-banner-img {
      -webkit-transform: scale(1, 1) translateY(-50%);
              transform: scale(1, 1) translateY(-50%); } }

@media (max-width: 767px) {
  .banner-long-md {
    min-height: 40.625rem; } }

@media (max-width: 575px) {
  .banner-long-md {
    min-height: 25.625rem; } }

/* Html */
.footer-html {
  margin-top: 3.125rem; }
  .footer-html .jxml-html-title {
    display: none; }
  .footer-html .jxml-html-description p {
    font: 400 1.125rem/1.875rem "Montserrat", sans-serif;
    color: #9e9e9e; }
  @media (min-width: 1870px) {
    .footer-html {
      padding-right: 4.375rem; } }
  @media (min-width: 1200px) {
    .footer-html {
      padding-right: 1.875rem; } }
  @media (max-width: 1199px) {
    .footer-html {
      margin-top: 1.25rem; }
      .footer-html .jxml-html-description p {
        font-size: 0.875rem;
        line-height: 1.25rem; } }

.testimonials-slider {
  background: #e9e9e9;
  position: relative;
  z-index: 0;
  margin-top: 5rem;
  /* navigation */
  /* pagination */ }
  .testimonials-slider:before, .testimonials-slider:after {
    position: absolute;
    content: '';
    background: #e9e9e9;
    top: 0;
    bottom: 0;
    width: 625rem;
    z-index: -1; }
  .testimonials-slider:before {
    right: 99%; }
  .testimonials-slider:after {
    left: 99%; }
  @media (min-width: 768px) {
    .testimonials-slider {
      margin-top: 6.875rem; } }
  @media (min-width: 1200px) {
    .testimonials-slider {
      margin-top: 10rem; } }
  .testimonials-slider .jxml-slider-title {
    display: none; }
  .testimonials-slider .testimonials-slide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 5rem 2.1875rem 2.5rem; }
    @media (min-width: 768px) {
      .testimonials-slider .testimonials-slide {
        padding-left: 3.125rem;
        padding-right: 3.125rem; } }
    @media (min-width: 1200px) {
      .testimonials-slider .testimonials-slide {
        padding-top: 8.125rem;
        padding-bottom: 4.6875rem; } }
    .testimonials-slider .testimonials-slide .jxml-banner-title {
      display: none; }
    .testimonials-slider .testimonials-slide .jxml-banner-img {
      -webkit-box-shadow: 0 0 0 1rem #fff;
              box-shadow: 0 0 0 1rem #fff;
      border-radius: 50%;
      max-width: 12.375rem; }
    .testimonials-slider .testimonials-slide .jxml-banner-description {
      text-align: center;
      margin-top: 2.5rem;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
      .testimonials-slider .testimonials-slide .jxml-banner-description p {
        font-size: 0.75rem;
        font-style: italic; }
        @media (min-width: 768px) {
          .testimonials-slider .testimonials-slide .jxml-banner-description p {
            font-size: 0.875rem; } }
        @media (min-width: 1200px) {
          .testimonials-slider .testimonials-slide .jxml-banner-description p {
            font-size: 1rem; } }
      .testimonials-slider .testimonials-slide .jxml-banner-description q, .testimonials-slider .testimonials-slide .jxml-banner-description em {
        font-family: "Montserrat", sans-serif;
        font-weight: 400; }
      .testimonials-slider .testimonials-slide .jxml-banner-description q {
        font-weight: 400;
        font-size: 1.875em;
        line-height: 1.3333;
        color: #9e9e9e; }
        .testimonials-slider .testimonials-slide .jxml-banner-description q:before, .testimonials-slider .testimonials-slide .jxml-banner-description q:after {
          content: ''; }
      .testimonials-slider .testimonials-slide .jxml-banner-description em {
        font-weight: bold;
        font-size: 1.125em;
        line-height: 1.6667;
        color: #000;
        text-transform: capitalize;
        margin-top: 1.25rem;
        font-style: normal;
        display: inline-block; }
      @media (min-width: 1200px) {
        .testimonials-slider .testimonials-slide .jxml-banner-description {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 83.33333%;
                  flex: 0 0 83.33333%;
          max-width: 83.33333%; } }
      @media (min-width: 1870px) {
        .testimonials-slider .testimonials-slide .jxml-banner-description {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 66.66667%;
                  flex: 0 0 66.66667%;
          max-width: 66.66667%; } }
  .testimonials-slider .swiper-button-prev {
    left: 0; }
    .testimonials-slider .swiper-button-prev:before {
      font-family: 'Linearicons';
      content: "\EC43";
      font-size: 2.5rem;
      line-height: 1;
      color: rgba(0, 0, 0, 0.5); }
    @media (max-width: 767px) {
      .testimonials-slider .swiper-button-prev {
        left: -0.3125rem; } }
  .testimonials-slider .swiper-button-next {
    right: 0; }
    .testimonials-slider .swiper-button-next:before {
      font-family: 'Linearicons';
      content: "\EC44";
      font-size: 2.5rem;
      line-height: 1;
      color: rgba(0, 0, 0, 0.5); }
    @media (max-width: 767px) {
      .testimonials-slider .swiper-button-next {
        right: -0.3125rem; } }
  .testimonials-slider .swiper-button-prev, .testimonials-slider .swiper-button-next {
    top: 46%; }
    .testimonials-slider .swiper-button-prev:before, .testimonials-slider .swiper-button-next:before {
      -webkit-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
    .testimonials-slider .swiper-button-prev:hover:before, .testimonials-slider .swiper-button-prev:active:before, .testimonials-slider .swiper-button-prev:focus:before, .testimonials-slider .swiper-button-next:hover:before, .testimonials-slider .swiper-button-next:active:before, .testimonials-slider .swiper-button-next:focus:before {
      color: #000; }
    @media (max-width: 767px) {
      .testimonials-slider .swiper-button-prev:before, .testimonials-slider .swiper-button-next:before {
        font-size: 1.875rem; } }
  .testimonials-slider .swiper-pagination .swiper-pagination-bullet {
    border: solid 0.125rem rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: none;
            box-shadow: none; }
    .testimonials-slider .swiper-pagination .swiper-pagination-bullet:hover, .testimonials-slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
      border-color: #000; }

.payment-logo .jxml-html-title {
  display: none; }

.payment-logo .jxml-html-description ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .payment-logo .jxml-html-description ul > li:not(:last-child) {
    margin-right: 1.25rem; }
  .payment-logo .jxml-html-description ul > li > a i {
    font-size: 2.1875rem;
    line-height: 1;
    color: rgba(0, 0, 0, 0.5);
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
  .payment-logo .jxml-html-description ul > li > a:hover i {
    color: black; }

.title-jxblog {
  margin-top: 1.875rem;
  margin-bottom: 1.875rem; }
  @media (min-width: 768px) {
    .title-jxblog {
      margin-bottom: 3.75rem; } }
  @media (min-width: 1200px) {
    .title-jxblog {
      margin-bottom: 5.625rem; } }
  .title-jxblog .jxml-html-title {
    text-align: center;
    font: 400 1.875rem/2.5rem "Montserrat", sans-serif;
    color: #000; }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvPG5vIHNvdXJjZT4iLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvQmlrZUlkb2wvdGhlbWVzL3RoZW1lMTUxOS9fZGV2L21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9qeG1lZ2FsYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvQmlrZUlkb2wvdGhlbWVzL3RoZW1lMTUxOS9fZGV2L21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9qeG1lZ2FsYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvQmlrZUlkb2wvdGhlbWVzL3RoZW1lMTUxOS9fZGV2L25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvQmlrZUlkb2wvdGhlbWVzL3RoZW1lMTUxOS9fZGV2L21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L0Jpa2VJZG9sL3RoZW1lcy90aGVtZTE1MTkvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlc19jb2xvci5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L0Jpa2VJZG9sL3RoZW1lcy90aGVtZTE1MTkvX2Rldi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvY3NzL3BhcnRpYWxzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvQmlrZUlkb2wvdGhlbWVzL3RoZW1lMTUxOS9fZGV2L2Nzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtF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MEM7TUkzZ0IxQywwQkoyZ0I4RCxFQUM3RDtJQ3plRDtNRGdZSjtRQTJHTSxpQkFBVSxFQUViO0VBN0dIO0lBK0dJLFNBQVEsRUFPVDtJQXRISDtNSTVhRSwyQkFBMEI7TUFDMUIsaUJKNGhCbUM7TUkxaEJqQyxrQkowaEJ1QztNSXZoQnZDLGVKdWhCMEM7TUlwaEIxQywwQkpvaEI4RCxFQUM3RDtJQ2xmRDtNRGdZSjtRQW9ITSxrQkFBVyxFQUVkO0VBdEhIO0lBd0hJLFNBQVEsRUFjVDtJQXRJSDtNQTBITSx5Q0FBZ0M7TUFBaEMsaUNBQWdDLEVBQ2pDO0lBM0hMO01BOEhRLFlFdGpCSyxFRnVqQk47SUMvZkg7TURnWUo7UUFtSVEsb0JBQWUsRUFDaEI7RUFwSVA7SUEySU0sMENFbmtCTztJRm9rQlAseUJBQWdCO1lBQWhCLGlCQUFnQixFQUlqQjtJQWhKTDtNQThJUSxtQkV0a0JLLEVGdWtCTjs7QUFLUDtFQUVJLGNBQWEsRUFDZDs7QUFISDtFQU1NLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUIsRUFpQnhCO0VBeEJMO0lBVVUsc0JBQWtCLEVBQ25CO0VBWFQ7SUFjWSxxQkFBZTtJQUNmLGVBQWM7SUFDZCwwQkU1bEJDO0lGNmxCRCx5Q0FBZ0M7SUFBaEMsaUNBQWdDLEVBQ2pDO0VBbEJYO0lBb0JZLGFFaG1CQyxFRmltQkY7O0FBT1g7RUFDRSxxQkFBZ0I7RUFDaEIsd0JBQW1CLEVBWXBCO0VDM2tCRztJRDZqQko7TUFJSSx1QkFBbUIsRUFVdEI7RUMza0JHO0lENmpCSjtNQU9JLHdCQUFtQixFQU90QjtFQWREO0lBVUksbUJBQWtCO0lBQ2xCLG1ER3htQnVDO0lIeW1CdkMsWUVwbkJTLEVGcW5CViIsImZpbGUiOiIuLlxcbW9kdWxlc1xcanhtZWdhbGF5b3V0XFx2aWV3c1xcY3NzXFxqeG1lZ2FsYXlvdXQuY3NzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJAY2hhcnNldCBcIlVURi04XCI7XG4ucm93LmZ1bGwtd2lkdGgge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucm93LnJvdy1jdXN0b20ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4OyB9XG4gICAgLnJvdy5yb3ctY3VzdG9tIFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG4gICAgLnJvdy5yb3ctY3VzdG9tIC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAucm93LnJvdy1jdXN0b20gPiBkaXYgKyBkaXYge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuXG4ubXQtY3VzdG9tIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm10LWN1c3RvbS1zbSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5iYWNrZ3JvdW5kLWdyYXkge1xuICBiYWNrZ3JvdW5kOiAjZTllOWU5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7IH1cbiAgLmJhY2tncm91bmQtZ3JheTpiZWZvcmUsIC5iYWNrZ3JvdW5kLWdyYXk6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwMDBweDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICNlOWU5ZTk7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmJhY2tncm91bmQtZ3JheTpiZWZvcmUge1xuICAgIHJpZ2h0OiA5OSU7IH1cbiAgLmJhY2tncm91bmQtZ3JheTphZnRlciB7XG4gICAgbGVmdDogOTklOyB9XG5cbi8qIEV4dHJhIGNvbnRlbnQgKi9cbi8qIEJhbm5lcnMgKi9cbi5qeC1jdXN0b20tYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5qeC1jdXN0b20tYmFubmVyIC5qeG1sLWJhbm5lci10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuangtY3VzdG9tLWJhbm5lciAuanhtbC1iYW5uZXItbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAuangtY3VzdG9tLWJhbm5lciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDIsIC5qeC1jdXN0b20tYmFubmVyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMywgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg0IHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5jb2xvci13aGl0ZSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5jb2xvci13aGl0ZSBhIHtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5jb2xvci13aGl0ZSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2MwZGUwMTsgfVxuICAgIC5qeC1jdXN0b20tYmFubmVyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBoMiB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBmb250LXNpemU6IDguNzUwZW07IH1cbiAgICAuangtY3VzdG9tLWJhbm5lciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0MztcbiAgICAgIGZvbnQtc2l6ZTogNC4zNzVlbTsgfVxuICAgICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGgzIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogMjAwOyB9XG4gICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGZvbnQtc2l6ZTogMi41MDBlbTsgfVxuICAgICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIGg0IHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5saW5rLWJsb2NrIHtcbiAgICAgIG1hcmdpbjogNDBweCAwIDAgMDsgfVxuICAgIC5qeC1jdXN0b20tYmFubmVyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAuYnRuLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogNTJweDsgfVxuICAgICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5idG4td3JhcHBlciA+IHAge1xuICAgICAgICBtYXJnaW46IDNweCA5cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuangtY3VzdG9tLWJhbm5lciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLmJ0bi13cmFwcGVyLS1icmFuZHMgPiBwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTVweDsgfVxuICAgICAgICAuangtY3VzdG9tLWJhbm5lciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLmJ0bi13cmFwcGVyLS1icmFuZHMgPiBwOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMzFweDsgfVxuICAgICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5idG4td3JhcHBlci0tYnJhbmRzIC5idG4tbWQge1xuICAgICAgICBtaW4td2lkdGg6IDIzMHB4OyB9XG4gICAgICAuangtY3VzdG9tLWJhbm5lciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLmJ0bi1tZCB7XG4gICAgICAgIG1pbi13aWR0aDogMjAycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxODY5cHgpIHtcbiAgICAgIC5qeC1jdXN0b20tYmFubmVyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiA4cHg7IH1cbiAgICAgICAgLmp4LWN1c3RvbS1iYW5uZXIgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5idG4td3JhcHBlciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgICAuangtY3VzdG9tLWJhbm5lciAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLmJ0bi1tZCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4OyB9XG4gICAgICAgIC5qeC1jdXN0b20tYmFubmVyIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAuYnRuIHtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7IH0gfVxuICAuangtY3VzdG9tLWJhbm5lcjpob3ZlciAuanhtbC1iYW5uZXItaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOyB9XG5cbi5iYW5uZXItZGVmYXVsdCAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBhZGRpbmctbGVmdDogNTRweDsgfVxuXG4uYmFubmVyLWRlZmF1bHQucmlnaHQtYWxpZ24gLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgd2lkdGg6IDUwJTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTg2OXB4KSB7XG4gIC5iYW5uZXItZGVmYXVsdCAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDsgfSB9XG5cbi5iYW5uZXItcHJpbWFyeSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTEwcHg7IH1cblxuLmJhbm5lci1wcmltYXJ5LmJvdHRvbS1hbGlnbiAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTA4cHg7IH1cblxuLmJhbm5lci1wcmltYXJ5LmxlZnQtYWxpZ24gLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogOTBweDtcbiAgdG9wOiAxNjBweDsgfVxuXG4uYmFubmVyLXByaW1hcnkuY2VudGVyLWFsaWduIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XG4gIHRvcDogNDclO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDE4NjlweCkge1xuICAuYmFubmVyLXByaW1hcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICB0b3A6IDUwcHg7IH1cbiAgLmJhbm5lci1wcmltYXJ5LmxlZnQtYWxpZ24gLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgdG9wOiA1MHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuYmFubmVyLXByaW1hcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICB0b3A6IDMwcHg7IH1cbiAgLmJhbm5lci1wcmltYXJ5LmJvdHRvbS1hbGlnbiAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIGJvdHRvbTogMzBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuYmFubmVyLXByaW1hcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICB0b3A6IDI1cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgLmJhbm5lci1wcmltYXJ5LmxlZnQtYWxpZ24gLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICB0b3A6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDZweDsgfVxuICAgIC5iYW5uZXItcHJpbWFyeS5sZWZ0LWFsaWduIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAuYnRuLXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmJhbm5lci1wcmltYXJ5LS1tZCAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG5cbi5iYW5uZXItc2Vjb25kYXJ5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5iYW5uZXItc2Vjb25kYXJ5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmJhbm5lci1zZWNvbmRhcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTI1cHg7IH0gfVxuICAuYmFubmVyLXNlY29uZGFyeSAuanhtbC1iYW5uZXItdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5jdXN0b20tYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgcmlnaHQ6IC0xcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gICAgd2lkdGg6IDQ0JTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAuYmFubmVyLXNlY29uZGFyeSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLmN1c3RvbS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC5jdXN0b20tYmFja2dyb3VuZDpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZlZDAxO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiA1OHB4O1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAuY3VzdG9tLWJhY2tncm91bmQ6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAuY3VzdG9tLWJhY2tncm91bmQ6YmVmb3JlIHtcbiAgICAgICAgYm90dG9tOiAxMHB4OyB9IH1cbiAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC50ZXh0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ4JTtcbiAgICByaWdodDogMTVweDtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAzNyU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IGg1IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuN2VtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzMzO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgbWFyZ2luOiA0NXB4IDAgMCAwOyB9XG4gICAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC50ZXh0LW92ZXJsYXkgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gICAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC50ZXh0LW92ZXJsYXkgLmxvZ28tYnJhbmQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDQ0M3B4O1xuICAgICAgaGVpZ2h0OiAyNTdweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAgICAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC50ZXh0LW92ZXJsYXkge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgICAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC50ZXh0LW92ZXJsYXkgLmxvZ28tYnJhbmQge1xuICAgICAgICAgIG1heC13aWR0aDogMzcwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IGg1IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gICAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IC5idG4ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4OyB9XG4gICAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IC5idG4tbGcge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7IH1cbiAgICAgICAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC50ZXh0LW92ZXJsYXkgLmJ0bi5pY29uLXJpZ2h0ID4gc3BhbiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAuYmFubmVyLXNlY29uZGFyeSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLnRleHQtb3ZlcmxheSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4OyB9XG4gICAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IC5sb2dvLWJyYW5kIHtcbiAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4OyB9XG4gICAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IGg1IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IC5sb2dvLWJyYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmJhbm5lci1zZWNvbmRhcnkgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIC50ZXh0LW92ZXJsYXkgaDUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuYmFubmVyLXNlY29uZGFyeSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLnRleHQtb3ZlcmxheSAuYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICAuYmFubmVyLXNlY29uZGFyeSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gLnRleHQtb3ZlcmxheSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNnB4OyB9XG4gICAgICAgIC5iYW5uZXItc2Vjb25kYXJ5IC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiAudGV4dC1vdmVybGF5IC5idG4tbGcge1xuICAgICAgICAgIHBhZGRpbmc6IDZweCA4cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmJhbm5lci1sb25nLW1kIHtcbiAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmJhbm5lci1sb25nLW1kIC5qeG1sLWJhbm5lci1pbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA3MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgIC5iYW5uZXItbG9uZy1tZDpob3ZlciAuanhtbC1iYW5uZXItaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYmFubmVyLWxvbmctbWQge1xuICAgIG1pbi1oZWlnaHQ6IDY1MHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC5iYW5uZXItbG9uZy1tZCB7XG4gICAgbWluLWhlaWdodDogNDEwcHg7IH0gfVxuXG4vKiBIdG1sICovXG4uZm9vdGVyLWh0bWwge1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIC5mb290ZXItaHRtbCAuanhtbC1odG1sLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb290ZXItaHRtbCAuanhtbC1odG1sLWRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQ6IDQwMCAxOHB4LzMwcHggXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICM5ZTllOWU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE4NzBweCkge1xuICAgIC5mb290ZXItaHRtbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5mb290ZXItaHRtbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5mb290ZXItaHRtbCB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgICAuZm9vdGVyLWh0bWwgLmp4bWwtaHRtbC1kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgfSB9XG5cbi50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcbiAgYmFja2dyb3VuZDogI2U5ZTllOTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBtYXJnaW4tdG9wOiA4MHB4O1xuICAvKiBuYXZpZ2F0aW9uICovXG4gIC8qIHBhZ2luYXRpb24gKi8gfVxuICAudGVzdGltb25pYWxzLXNsaWRlcjpiZWZvcmUsIC50ZXN0aW1vbmlhbHMtc2xpZGVyOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogI2U5ZTllOTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAwMHB4O1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC50ZXN0aW1vbmlhbHMtc2xpZGVyOmJlZm9yZSB7XG4gICAgcmlnaHQ6IDk5JTsgfVxuICAudGVzdGltb25pYWxzLXNsaWRlcjphZnRlciB7XG4gICAgbGVmdDogOTklOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDExMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2MHB4OyB9IH1cbiAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLmp4bWwtc2xpZGVyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC50ZXN0aW1vbmlhbHMtc2xpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDgwcHggMzVweCA0MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAudGVzdGltb25pYWxzLXNsaWRlciAudGVzdGltb25pYWxzLXNsaWRlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAudGVzdGltb25pYWxzLXNsaWRlciAudGVzdGltb25pYWxzLXNsaWRlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEzMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDsgfSB9XG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnRlc3RpbW9uaWFscy1zbGlkZSAuanhtbC1iYW5uZXItdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC50ZXN0aW1vbmlhbHMtc2xpZGUgLmp4bWwtYmFubmVyLWltZyB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxNnB4ICNmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDE5OHB4OyB9XG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnRlc3RpbW9uaWFscy1zbGlkZSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAudGVzdGltb25pYWxzLXNsaWRlciAudGVzdGltb25pYWxzLXNsaWRlIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnRlc3RpbW9uaWFscy1zbGlkZSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnRlc3RpbW9uaWFscy1zbGlkZSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnRlc3RpbW9uaWFscy1zbGlkZSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gcSwgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnRlc3RpbW9uaWFscy1zbGlkZSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gZW0ge1xuICAgICAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC50ZXN0aW1vbmlhbHMtc2xpZGUgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHEge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEuODc1ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzM7XG4gICAgICAgIGNvbG9yOiAjOWU5ZTllOyB9XG4gICAgICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC50ZXN0aW1vbmlhbHMtc2xpZGUgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHE6YmVmb3JlLCAudGVzdGltb25pYWxzLXNsaWRlciAudGVzdGltb25pYWxzLXNsaWRlIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiBxOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnRlc3RpbW9uaWFscy1zbGlkZSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24gZW0ge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42NjY3O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC50ZXN0aW1vbmlhbHMtc2xpZGUgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxODcwcHgpIHtcbiAgICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnRlc3RpbW9uaWFscy1zbGlkZSAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBsZWZ0OiAwOyB9XG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnN3aXBlci1idXR0b24tcHJldjpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdMaW5lYXJpY29ucyc7XG4gICAgICBjb250ZW50OiBcIu6xg1wiO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgICAgbGVmdDogLTVweDsgfSB9XG4gIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnN3aXBlci1idXR0b24tbmV4dDpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6ICdMaW5lYXJpY29ucyc7XG4gICAgICBjb250ZW50OiBcIu6xhFwiO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC01cHg7IH0gfVxuICAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1wcmV2LCAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1uZXh0IHtcbiAgICB0b3A6IDQ2JTsgfVxuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC5zd2lwZXItYnV0dG9uLXByZXY6YmVmb3JlLCAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1uZXh0OmJlZm9yZSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXI6YmVmb3JlLCAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFjdGl2ZTpiZWZvcmUsIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC5zd2lwZXItYnV0dG9uLXByZXY6Zm9jdXM6YmVmb3JlLCAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1uZXh0OmhvdmVyOmJlZm9yZSwgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnN3aXBlci1idXR0b24tbmV4dDphY3RpdmU6YmVmb3JlLCAudGVzdGltb25pYWxzLXNsaWRlciAuc3dpcGVyLWJ1dHRvbi1uZXh0OmZvY3VzOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnN3aXBlci1idXR0b24tcHJldjpiZWZvcmUsIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC5zd2lwZXItYnV0dG9uLW5leHQ6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH1cbiAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIGJvcmRlcjogc29saWQgMnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLnRlc3RpbW9uaWFscy1zbGlkZXIgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6aG92ZXIsIC50ZXN0aW1vbmlhbHMtc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwOyB9XG5cbi5wYXltZW50LWxvZ28gLmp4bWwtaHRtbC10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBheW1lbnQtbG9nbyAuanhtbC1odG1sLWRlc2NyaXB0aW9uIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnBheW1lbnQtbG9nbyAuanhtbC1odG1sLWRlc2NyaXB0aW9uIHVsID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gIC5wYXltZW50LWxvZ28gLmp4bWwtaHRtbC1kZXNjcmlwdGlvbiB1bCA+IGxpID4gYSBpIHtcbiAgICBmb250LXNpemU6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsgfVxuICAucGF5bWVudC1sb2dvIC5qeG1sLWh0bWwtZGVzY3JpcHRpb24gdWwgPiBsaSA+IGE6aG92ZXIgaSB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG5cbi50aXRsZS1qeGJsb2cge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50aXRsZS1qeGJsb2cge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAudGl0bGUtanhibG9nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7IH0gfVxuICAudGl0bGUtanhibG9nIC5qeG1sLWh0bWwtdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250OiA0MDAgMzBweC80MHB4IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL2p4bWVnYWxheW91dC5zY3NzIiwiQGltcG9ydCBcImNzcy9wYXJ0aWFscy9fdmFyaWFibGVzXCI7XHJcbi5yb3cuZnVsbC13aWR0aCB7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4ucm93LnJvdy1jdXN0b20ge1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcclxuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XHJcbiAgICBbY2xhc3MqPSdjb2wtJ10ge1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAucm93IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgID4gZGl2ICsgZGl2IHtcclxuICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5tdC1jdXN0b20ge1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5tdC1jdXN0b20tc20ge1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLWdyYXkge1xyXG4gIGJhY2tncm91bmQ6ICRncmF5LTkxO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAwO1xyXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwMDAwcHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS05MTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxuICAmOmJlZm9yZSB7XHJcbiAgICByaWdodDogOTklO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGxlZnQ6IDk5JTtcclxuICB9XHJcbn1cclxuXHJcbi8qIEV4dHJhIGNvbnRlbnQgKi9cclxuXHJcbi8qIEJhbm5lcnMgKi9cclxuLmp4LWN1c3RvbS1iYW5uZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIC5qeG1sLWJhbm5lci10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAuanhtbC1iYW5uZXItbGluayB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgLmp4bWwtYmFubmVyLWltZyB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGgyLCBoMywgaDQge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICB9XHJcbiAgICAuY29sb3Itd2hpdGUge1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgZm9udC1zaXplOiA4Ljc1MGVtO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4xNDM7XHJcbiAgICAgIGZvbnQtc2l6ZTogNC4zNzVlbTtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgZm9udC1zaXplOiAyLjUwMGVtO1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubGluay1ibG9jayB7XHJcbiAgICAgIG1hcmdpbjogNDBweCAwIDAgMDtcclxuICAgIH1cclxuICAgIC5idG4td3JhcHBlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi10b3A6IDUycHg7XHJcbiAgICAgID4gcCB7XHJcbiAgICAgICAgbWFyZ2luOiAzcHggOXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgIC5idG4td3JhcHBlci0tYnJhbmRzIHtcclxuICAgICAgICA+IHAge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDU1cHg7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMxcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idG4tbWQge1xyXG4gICAgICAgICAgbWluLXdpZHRoOiAyMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmJ0bi1tZCB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyMDJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhsKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICBmb250LXNpemU6IDhweDtcclxuICAgICAgLmJ0bi13cmFwcGVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5idG4tbWQge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcclxuICAgICAgfVxyXG4gICAgICAuYnRuIHtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICAuanhtbC1iYW5uZXItaW1nIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5iYW5uZXItZGVmYXVsdCB7XHJcbiAgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHBhZGRpbmctbGVmdDogNTRweDtcclxuICB9XHJcbiAgJi5yaWdodC1hbGlnbiB7XHJcbiAgICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeGwpIHtcclxuICAgIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5iYW5uZXItcHJpbWFyeSB7XHJcbiAgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMTEwcHg7XHJcbiAgfVxyXG4gICYuYm90dG9tLWFsaWduIHtcclxuICAgIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHRvcDogYXV0bztcclxuICAgICAgYm90dG9tOiAxMDhweDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5sZWZ0LWFsaWduIHtcclxuICAgIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDkwcHg7XHJcbiAgICAgIHRvcDogMTYwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuY2VudGVyLWFsaWduIHtcclxuICAgIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHRvcDogNDclO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4bCkge1xyXG4gICAgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcclxuICAgICAgdG9wOiA1MHB4O1xyXG4gICAgfVxyXG4gICAgJi5sZWZ0LWFsaWduIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgdG9wOiA1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHRvcDogMzBweDtcclxuICAgIH1cclxuICAgICYuYm90dG9tLWFsaWduIHtcclxuICAgICAgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBib3R0b206IDMwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xyXG4gICAgICB0b3A6IDI1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xyXG4gICAgJi5sZWZ0LWFsaWduIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICB0b3A6IDIwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogNnB4O1xyXG4gICAgICAuYnRuLXdyYXBwZXIge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJhbm5lci1wcmltYXJ5LS1tZCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKHNtLCBtZCkge1xyXG4gICAgLmp4bWwtYmFubmVyLWRlc2NyaXB0aW9uIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJhbm5lci1zZWNvbmRhcnkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMjVweDtcclxuICB9XHJcbiAgLmp4bWwtYmFubmVyLXRpdGxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIC5qeG1sLWJhbm5lci1kZXNjcmlwdGlvbiB7XHJcbiAgICAuY3VzdG9tLWJhY2tncm91bmQge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICByaWdodDogLTFweDtcclxuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICB0cmFuc2Zvcm06IHNrZXdYKDE1ZGVnKTtcclxuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xyXG4gICAgICB3aWR0aDogNDQlO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICB9XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLXdhcm5pbmc7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiA1OHB4O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDE1OTlweCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRleHQtb3ZlcmxheSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA0OCU7XHJcbiAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICB3aWR0aDogMzclO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBoNSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjdlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMzM7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICBtYXJnaW46IDQ1cHggMCAwIDA7XHJcbiAgICAgIH1cclxuICAgICAgLmJ0biB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgfVxyXG4gICAgICAubG9nby1icmFuZCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiA0NDNweDtcclxuICAgICAgICBoZWlnaHQ6IDI1N3B4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNTk5cHgpIHtcclxuICAgICAgICAubG9nby1icmFuZCB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDM3MHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICBoNSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAuYnRuLWxnIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYnRuLmljb24tcmlnaHQgPiBzcGFuIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgIC5sb2dvLWJyYW5kIHtcclxuICAgICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAgICAgLmxvZ28tYnJhbmQge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ0biB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcclxuICAgICAgICBmb250LXNpemU6IDZweDtcclxuICAgICAgICAuYnRuLWxnIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDZweCA4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFubmVyLWxvbmctbWQge1xyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xyXG4gICAgbWluLWhlaWdodDogODAwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLmp4bWwtYmFubmVyLWltZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA3MCU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBtYXgtd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciAuanhtbC1iYW5uZXItaW1nIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgIG1pbi1oZWlnaHQ6IDY1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcclxuICAgIG1pbi1oZWlnaHQ6IDQxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLyogSHRtbCAqL1xyXG4uZm9vdGVyLWh0bWwge1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgLmp4bWwtaHRtbC10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAuanhtbC1odG1sLWRlc2NyaXB0aW9uIHtcclxuICAgIHAge1xyXG4gICAgICBmb250OiAkZm9udC1tZDtcclxuICAgICAgY29sb3I6ICRncmF5LTYyO1xyXG4gICAgfVxyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xyXG4gICAgcGFkZGluZy1yaWdodDogNzBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgLmp4bWwtaHRtbC1kZXNjcmlwdGlvbiBwIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcclxuICBiYWNrZ3JvdW5kOiAkZ3JheS05MTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMDtcclxuICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJhY2tncm91bmQ6ICRncmF5LTkxO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDEwMDAwcHg7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgcmlnaHQ6IDk5JTtcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBsZWZ0OiA5OSU7XHJcbiAgfVxyXG4gIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgbWFyZ2luLXRvcDogMTEwcHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgIG1hcmdpbi10b3A6IDE2MHB4O1xyXG4gIH1cclxuICAuanhtbC1zbGlkZXItdGl0bGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLnRlc3RpbW9uaWFscy1zbGlkZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDgwcHggMzVweCA0MHB4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMzBweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDc1cHg7XHJcbiAgICB9XHJcbiAgICAuanhtbC1iYW5uZXItdGl0bGUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmp4bWwtYmFubmVyLWltZyB7XHJcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDE2cHggJHdoaXRlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIG1heC13aWR0aDogMTk4cHg7XHJcbiAgICB9XHJcbiAgICAuanhtbC1iYW5uZXItZGVzY3JpcHRpb24ge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHEsIGVtIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgfVxyXG4gICAgICBxIHtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMzMzO1xyXG4gICAgICAgIGNvbG9yOiAkZ3JheS02MjtcclxuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZW0ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42NjY3O1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcclxuICAgICAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xyXG4gICAgICAgIG1heC13aWR0aDogODMuMzMzMzMlO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcclxuICAgICAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogbmF2aWdhdGlvbiAqL1xyXG4gIC5zd2lwZXItYnV0dG9uLXByZXYge1xyXG4gICAgbGVmdDogMDtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgYWRkTGluZWFySWNvbnMoJ1xcZWM0MycsIDQwcHgsIDEsIHJnYmEoMCwgMCwgMCwgMC41KSwgbWFyZ2luLWxlZnQsIG1hcmdpbi1yaWdodCwgdmVydGljYWwtYWxpZ24pO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XHJcbiAgICAgIGxlZnQ6IC01cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zd2lwZXItYnV0dG9uLW5leHQge1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIGFkZExpbmVhckljb25zKCdcXGVjNDQnLCA0MHB4LCAxLCByZ2JhKDAsIDAsIDAsIDAuNSksIG1hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQsIHZlcnRpY2FsLWFsaWduKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xyXG4gICAgICByaWdodDogLTVweDtcclxuICAgIH1cclxuICB9XHJcbiAgLnN3aXBlci1idXR0b24tcHJldiwgLnN3aXBlci1idXR0b24tbmV4dCB7XHJcbiAgICB0b3A6IDQ2JTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyogcGFnaW5hdGlvbiAqL1xyXG4gIC5zd2lwZXItcGFnaW5hdGlvbiB7XHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgICAgYm9yZGVyOiBzb2xpZCAycHggcmdiYSgkYmxhY2ssIC41KTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgJjpob3ZlciwgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRibGFjaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBheW1lbnQtbG9nbyB7XHJcbiAgLmp4bWwtaHRtbC10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAuanhtbC1odG1sLWRlc2NyaXB0aW9uIHtcclxuICAgIHVsIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgID4gbGkge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoJGJsYWNrLCAuNSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpob3ZlciBpIHtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoJGJsYWNrLCAxKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50aXRsZS1qeGJsb2cge1xyXG4gIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG4gIH1cclxuICAuanhtbC1odG1sLXRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQ6IDQwMCAzMHB4LzQwcHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICBjb2xvcjogJGJsYWNrO1xyXG4gIH1cclxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L0Jpa2VJZG9sL3RoZW1lcy90aGVtZTE1MTkvX2Rldi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL2p4bWVnYWxheW91dC5zY3NzIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjEuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjdweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSlcbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSlcbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvQmlrZUlkb2wvdGhlbWVzL3RoZW1lMTUxOS9fZGV2L21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L0Jpa2VJZG9sL3RoZW1lcy90aGVtZTE1MTkvX2Rldi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLy9cclxuLy8gQ29sb3Igc3lzdGVtXHJcbi8vXHJcbiR3aGl0ZTogICNmZmYgIWRlZmF1bHQ7XHJcbiRncmF5LTEwMDogI2ZhZmFmYSAgIWRlZmF1bHQ7XHJcbiRncmF5LTIwMDogI2YxZjFmMSAhZGVmYXVsdDtcclxuJGdyYXktMzAwOiAjZTdlN2U3ICFkZWZhdWx0O1xyXG4kZ3JheS00MDA6ICNkZGRkZGQgIWRlZmF1bHQ7XHJcbiRncmF5LTUwMDogI2EyYTJhMiAhZGVmYXVsdDtcclxuJGdyYXktNjAwOiAjODg4ODg4ICFkZWZhdWx0O1xyXG4kZ3JheS03MDA6ICM1NTU1NTUgIWRlZmF1bHQ7XHJcbiRncmF5LTgwMDogIzNhM2EzYSAhZGVmYXVsdDtcclxuJGdyYXktOTAwOiAjMTQxNDE0ICFkZWZhdWx0O1xyXG4kYmxhY2s6ICAjMDAwICFkZWZhdWx0O1xyXG4kZ3JheS04MDogI2NjY2NjYztcclxuJGdyYXktNjg6ICNhZGFkYWQ7XHJcbiRncmF5LTYyOiAjOWU5ZTllO1xyXG4kZ3JheS05MDogI2U1ZTVlNTtcclxuJGdyYXktOTE6ICNlOWU5ZTk7XHJcbiRncmF5LTkyOiAjZWRlZGVkO1xyXG4kYm9yZGVyLWNvbG9yOiAkZ3JheS05MTtcclxuXHJcbiRncmF5czogKFxyXG4gIDEwMDogJGdyYXktMTAwLFxyXG4gIDIwMDogJGdyYXktMjAwLFxyXG4gIDMwMDogJGdyYXktMzAwLFxyXG4gIDQwMDogJGdyYXktNDAwLFxyXG4gIDUwMDogJGdyYXktNTAwLFxyXG4gIDYwMDogJGdyYXktNjAwLFxyXG4gIDcwMDogJGdyYXktNzAwLFxyXG4gIDgwMDogJGdyYXktODAwLFxyXG4gIDkwMDogJGdyYXktOTAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYmx1ZTogICAgIzJhYmRmYyAhZGVmYXVsdDtcclxuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XHJcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xyXG4kcGluazogICAgI2RlNmQ2ZCAhZGVmYXVsdDtcclxuJHJlZDogICAgICNkMDU2NTYgIWRlZmF1bHQ7XHJcbiRvcmFuZ2U6ICAjZmViMzgwICFkZWZhdWx0O1xyXG4keWVsbG93OiAgI2ZmZWQwMSAhZGVmYXVsdDtcclxuJGdyZWVuOiAgICNjMGRlMDEgIWRlZmF1bHQ7XHJcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xyXG4kY3lhbjogICAgI2M1ZjJmZCAhZGVmYXVsdDtcclxuJG1hZ2VudGE6ICNiZDQxYjggIWRlZmF1bHQ7XHJcblxyXG4kY29sb3JzOiAoXHJcbiAgYmx1ZTogJGJsdWUsXHJcbiAgaW5kaWdvOiAkaW5kaWdvLFxyXG4gIHB1cnBsZTogJHB1cnBsZSxcclxuICBwaW5rOiAkcGluayxcclxuICByZWQ6ICRyZWQsXHJcbiAgb3JhbmdlOiAkb3JhbmdlLFxyXG4gIHllbGxvdzogJHllbGxvdyxcclxuICBncmVlbjogJGdyZWVuLFxyXG4gIHRlYWw6ICR0ZWFsLFxyXG4gIGN5YW46ICRjeWFuLFxyXG4gIG1hZ2VudGE6ICRtYWdlbnRhLFxyXG4gIHdoaXRlOiAkd2hpdGUsXHJcbiAgZ3JheTogJGdyYXktNjAwLFxyXG4gIGdyYXktZGFyazogJGdyYXktODAwLFxyXG4gIGdyYXktZGFya2VyOiAkZ3JheS05MDAsXHJcbiAgZ3JheS1saWdodDogJGdyYXktMjAwLFxyXG4gIGdyYXktbGlnaHRlcjogJGdyYXktMTAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kdGhlbWUtY29sb3JzOiAoXHJcbiAgcHJpbWFyeTogJGdyZWVuLFxyXG4gIHNlY29uZGFyeTogJGdyYXktODAwLFxyXG4gIHN1Y2Nlc3M6ICRncmVlbixcclxuICBpbmZvOiAkYmx1ZSxcclxuICB3YXJuaW5nOiAkeWVsbG93LFxyXG4gIGRhbmdlcjogJHBpbmssXHJcbiAgbGlnaHQ6ICRncmF5LTIwMCxcclxuICB3aGl0ZTogJHdoaXRlXHJcbikgIWRlZmF1bHQ7XG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvQmlrZUlkb2wvdGhlbWVzL3RoZW1lMTUxOS9fZGV2L21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L0Jpa2VJZG9sL3RoZW1lcy90aGVtZTE1MTkvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlc19jb2xvci5zY3NzIiwiQGltcG9ydCBcInZhcmlhYmxlc19jb2xvclwiO1xyXG5AaW1wb3J0IFwifmJvb3RzdHJhcC9zY3NzL21peGluc1wiO1xyXG5AaW1wb3J0IFwibWl4aW5zXCI7XHJcblxyXG4vL21haW4gY29sb3JzXHJcbiRicmFuZC1wcmltYXJ5OiAkZ3JlZW47XHJcbiRicmFuZC1zZWNvbmRhcnk6ICRncmF5LTYwMDtcclxuJGJyYW5kLXN1Y2Nlc3M6ICRncmVlbjtcclxuJGJyYW5kLWluZm86ICRibHVlO1xyXG4kYnJhbmQtd2FybmluZzogJHllbGxvdztcclxuJGJyYW5kLWRhbmdlcjogJHJlZDtcclxuJGJvZHktY29sb3I6ICRncmF5LTYyO1xyXG4kZm9vdGVyLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGhlYWRlci1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRtYWluLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGJvZHktYmc6ICRmb290ZXItYmFja2dyb3VuZDtcclxuJHByb2R1Y3QtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcHJvZHVjdC1jb2xvcjogJGJsYWNrO1xyXG4kcHJpY2UtY29sb3I6ICRibGFjaztcclxuJHJlZ3VsYXItcHJpY2UtY29sb3I6ICRncmF5LTYyO1xyXG4kcHJpY2UtbmV3LWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuJGluLXN0b2NrOiAjMWM1NmU4O1xyXG5cclxuLy9mb250c1xyXG4kZm9udC1mYW1pbHktYmFzZTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1saW5lYXJpY29uczogJ0xpbmVhcmljb25zJztcclxuJGJvZHktZm9udDogNDAwIDE0cHgvMjBweCAkZm9udC1mYW1pbHktYmFzZTtcclxuJGZvbnQteHM6IDQwMCAxMnB4LzE4cHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiRmb250LW1kOiA0MDAgMThweC8zMHB4ICRmb250LWZhbWlseS1iYXNlO1xyXG4kZm9udC1sZzogNTAwIDMwcHgvNDBweCAkZm9udC1mYW1pbHktYmFzZTtcclxuJHByb2R1Y3QtZm9udDogNDAwIDE4cHgvMzBweCAkZm9udC1mYW1pbHktYmFzZTtcclxuJHBhY2stcHJvZHVjdC1mb250OiA0MDAgMTZweC8yMHB4ICRmb250LWZhbWlseS1iYXNlO1xyXG4kcHJvZHVjdC1mb250LXNtOiA0MDAgMTRweC8yMHB4ICRmb250LWZhbWlseS1iYXNlO1xyXG4kcHJvZHVjdC1mb250LWxnOiA2MDAgNDBweC81MHB4ICRmb250LWZhbWlseS1iYXNlO1xyXG4kcHJpY2UtZm9udDogNjAwIDE4cHgvMjRweCAkZm9udC1mYW1pbHktYmFzZTtcclxuJGRpc2NvdW50LXByaWNlLWZvbnQ6IDYwMCAzMHB4LzM0cHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiRmb250LXN1YmhlYWRpbmc6ICRmb250LW1kO1xyXG5cclxuXHJcbi8vTGlua3NcclxuJGxpbmstY29sb3I6ICRncmF5LTgwMDtcclxuJGxpbmstaG92ZXItY29sb3I6ICRncmF5LTYwMDtcclxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbi8vZm9udCBzaXplXHJcbiRmb250LXNpemUtYmFzZTogMC44NzVyZW07XHJcbiRmb250LXNpemUtbGc6IDFyZW07XHJcbiRmb250LXNpemUtc206IDAuNzVyZW07XHJcbiRmb250LXdlaWdodC1iYXNlOiA0MDA7XHJcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjI4NjtcclxuJGgxLWZvbnQtc2l6ZTogMi41cmVtO1xyXG4kaDItZm9udC1zaXplOiAxLjc1MHJlbTtcclxuJGgzLWZvbnQtc2l6ZTogMS41cmVtO1xyXG4kaDQtZm9udC1zaXplOiAxLjVyZW07XHJcbiRoNS1mb250LXNpemU6IDEuMTI1cmVtO1xyXG4kaDYtZm9udC1zaXplOiAxLjEyNXJlbTtcclxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206IDI3cHg7XHJcbiRoZWFkaW5ncy1mb250LXdlaWdodDogYm9sZDtcclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjU7XHJcbiRoZWFkaW5ncy1jb2xvcjogJGdyYXktODAwO1xyXG5cclxuLy9idXR0b25zXHJcbiRidG4tZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiRidG4tYm9yZGVyLXJhZGl1czogMDtcclxuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAwO1xyXG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6IDA7XHJcbiRidG4tYm94LXNoYWRvdzogbm9uZTtcclxuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiBub25lO1xyXG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiBub25lO1xyXG5cclxuLy9TcGFjaW5nXHJcbiRib3JkZXItcmFkaXVzOiAwO1xyXG4kYm9yZGVyLXJhZGl1cy1zbTogMDtcclxuJGJvcmRlci1yYWRpdXMtbGc6IDA7XHJcbiRzcGFjZXI6IDJyZW07XHJcbiRleHRyYS1zbWFsbC1zcGFjZTogJHNwYWNlciAqIC4yNTtcclxuJHNtYWxsLXNwYWNlOiAkc3BhY2VyICogLjU7XHJcbiRtZWRpdW0tc3BhY2U6ICRzcGFjZXI7XHJcbiRsYXJnZS1zcGFjZTogJHNwYWNlciAqIDEuNTtcclxuJGV4dHJhLWxhcmdlLXNwYWNlOiAkc3BhY2VyICogMztcclxuXHJcbi8vZm9ybXNcclxuJGlucHV0LWJnOiAkd2hpdGU7XHJcbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAxcHg7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICRncmF5LTIwMDtcclxuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogJGdyYXktMzAwO1xyXG4kaW5wdXQtZm9jdXMtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkZ3JheS02MDA7XHJcbiRpbnB1dC1ib3gtc2hhZG93OiBub25lO1xyXG4kaW5wdXQtZ3JvdXAtYnRuLWJvcmRlci1jb2xvcjogaW5pdGlhbDtcclxuXHJcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6IDEuNTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6IDAuNjI1cmVtO1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteDogMS4xMjVyZW07XHJcblxyXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtOiAxLjU7XHJcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAwLjVyZW07XHJcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAxcmVtO1xyXG5cclxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogMS41O1xyXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogMS4xNXJlbTtcclxuJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGc6IDIuNHJlbTtcclxuXHJcbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAqIDIgIWRlZmF1bHQ7XHJcbiRpbnB1dC1oZWlnaHQtaW5uZXI6ICgkZm9udC1zaXplLXNtICogJGlucHV0LWJ0bi1saW5lLWhlaWdodCkgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcclxuJGlucHV0LWhlaWdodDogY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xyXG5cclxuLy9jdXN0b20gZm9ybXNcclxuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogMjdweDtcclxuJGN1c3RvbS1jb250cm9sLXNwYWNlci15OiAxMHB4O1xyXG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6IDA7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogMS4xODhyZW07XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6IHRyYW5zcGFyZW50O1xyXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6IDcwJSA3MCUgIWRlZmF1bHQ7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRncmF5LTIwMDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogJGdyYXktMTAwO1xyXG4kY3VzdG9tLWNvbnRyb2wtZGVzY3JpcHRpb24tZGlzYWJsZWQtY29sb3I6ICRncmF5LTEwMDtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAkZ3JheS04MDA7XHJcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogbm9uZTtcclxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICRncmF5LTgwMDtcclxuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmODtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0S1BITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJaWEp6YVc5dVBTSXhMakVpSUhacFpYZENiM2c5SWpBZ01DQXhNamtnTVRJNUlpQmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQXhNamtnTVRJNUlpQjNhV1IwYUQwaU1UWndlQ0lnYUdWcFoyaDBQU0l4Tm5CNElqNEtJQ0E4Wno0S0lDQWdJRHh3WVhSb0lHUTlJbTB4TWpFdU15d3pOQzQyWXkweExqWXRNUzQyTFRRdU1pMHhMall0TlM0NExEQnNMVFV4TERVeExqRXROVEV1TVMwMU1TNHhZeTB4TGpZdE1TNDJMVFF1TWkweExqWXROUzQ0TERBdE1TNDJMREV1TmkweExqWXNOQzR5SURBc05TNDRiRFV6TGprc05UTXVPV013TGpnc01DNDRJREV1T0N3eExqSWdNaTQ1TERFdU1pQXhMREFnTWk0eExUQXVOQ0F5TGprdE1TNHliRFV6TGprdE5UTXVPV014TGpjdE1TNDJJREV1TnkwMExqSWdNQzR4TFRVdU9Ib2lJR1pwYkd3OUlpTXdNREF3TURBaUx6NEtJQ0E4TDJjK0Nqd3ZjM1puUGdvPVwiKTtcclxuJGN1c3RvbS1zZWxlY3QtYmc6ICRncmF5LTIwMDtcclxuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICRncmF5LTYwMDtcclxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XHJcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG4vL21vZGFsc1xyXG4kbW9kYWwtbGc6IDE0NTBweDtcclxuJG1vZGFsLW1kOiAxMDAwcHg7XHJcbiRtb2RhbC1zbTogNTAwcHg7XHJcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogMzBweDtcclxuJG1vZGFsLWlubmVyLXBhZGRpbmc6IDMwcHg7XHJcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6IG5vbmU7XHJcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6IG5vbmU7XHJcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogMDtcclxuXHJcbi8vZHJvcGRvd25zXHJcbiRkcm9wZG93bi1taW4td2lkdGg6IDIwMHB4O1xyXG4kZHJvcGRvd24tcGFkZGluZy15OiA1cHg7XHJcbiRkcm9wZG93bi1zcGFjZXI6IDA7XHJcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6IDA7XHJcbiRkcm9wZG93bi1iZzogd2hpdGU7XHJcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCA0M3B4IHJnYmEoMCwgMCwgMCwgMC4xMSk7XHJcbiRlbmFibGUtc2hhZG93czogdHJ1ZTtcclxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAxMHB4O1xyXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6IDE1cHg7XHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAkZ3JheS02MDA7XHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiB0cmFuc3BhcmVudDtcclxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiB0cmFuc3BhcmVudDtcclxuXHJcbi8vZ3JpZCBleGFtcGxlXHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDMwcHg7XHJcblxyXG4kZ3JpZC1icmVha3BvaW50czogKFxyXG4gIC8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXHJcbiAgeHM6IDAsXHJcbiAgLy8gU21hbGwgc2NyZWVuIC8gcGhvbmVcclxuICBzbTogNTc2cHgsXHJcbiAgLy8gTWVkaXVtIHNjcmVlbiAvIHRhYmxldFxyXG4gIG1kOiA3NjhweCxcclxuICAvLyBMYXJnZSBzY3JlZW4gLyBkZXNrdG9wXHJcbiAgbGc6IDk5MnB4LFxyXG4gIC8vIEV4dHJhIGxhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxyXG4gIHhsOiAxMjAwcHgsXHJcbiAgLy8gRXh0cmEgbGFyZ2Ugc2NyZWVuIDIgLyB3aWRlIGRlc2t0b3BcclxuICB4eGw6IDE4NzBweFxyXG4pO1xyXG5cclxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXHJcbiAgc206IDYxMHB4LFxyXG4gIG1kOiA3NjBweCxcclxuICBsZzogOTkwcHgsXHJcbiAgeGw6IDExNzBweCxcclxuICB4eGw6IDE4NDBweFxyXG4pO1xyXG5cclxuLy9DdXN0b20gbWVkaWEgcG9pbnRcclxuJHNjcmVlbi1jdXN0b20tbWluOiAxODAwcHg7XHJcbiRzY3JlZW4tY3VzdG9tLW1heDogMTc5OXB4O1xyXG5cclxuLy9pbnB1dHNcclxuJGlucHV0LWhlaWdodDogNDdweDtcblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvbW9kdWxlcy9qeG1lZ2FsYXlvdXQvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvQmlrZUlkb2wvdGhlbWVzL3RoZW1lMTUxOS9fZGV2L2Nzcy9wYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCIvL21peGluIGZvciBpY29ucyAtIEBpbmNsdWRlIGFkZEljb24oJ1xcZjAyMScsIGZvbnQtc2l6ZSwgbGluZS1oZWlnaHQsIGNvbG9yLCBtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0LCB2ZXJ0aWNhbC1hbGlnbilcclxuQG1peGluIGFkZEljb24oJGNvbnRlbnQsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNvbG9yLCAkbWFyZ2luLWxlZnQsICRtYXJnaW4tcmlnaHQsICR2ZXJ0aWNhbC1hbGlnbikge1xyXG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xyXG4gIGNvbnRlbnQ6ICRjb250ZW50O1xyXG4gIEBpZiAkZm9udC1zaXplICE9IGZvbnQtc2l6ZSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgfVxyXG4gIEBpZiAkbGluZS1oZWlnaHQgIT0gbGluZS1oZWlnaHQge1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICB9XHJcbiAgQGlmICRjb2xvciAhPSBjb2xvciB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuICBAaWYgJG1hcmdpbi1sZWZ0ICE9IG1hcmdpbi1sZWZ0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxlZnQ7XHJcbiAgfVxyXG4gIEBpZiAkbWFyZ2luLXJpZ2h0ICE9IG1hcmdpbi1yaWdodCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XHJcbiAgfVxyXG4gIEBpZiAkdmVydGljYWwtYWxpZ24gIT0gdmVydGljYWwtYWxpZ24ge1xyXG4gICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhZGRMaW5lYXJJY29ucygkY29udGVudCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkY29sb3IsICRtYXJnaW4tbGVmdCwgJG1hcmdpbi1yaWdodCwgJHZlcnRpY2FsLWFsaWduKSB7XHJcbiAgZm9udC1mYW1pbHk6ICdMaW5lYXJpY29ucyc7XHJcbiAgY29udGVudDogJGNvbnRlbnQ7XHJcbiAgQGlmICRmb250LXNpemUgIT0gZm9udC1zaXplIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICB9XHJcbiAgQGlmICRsaW5lLWhlaWdodCAhPSBsaW5lLWhlaWdodCB7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gIH1cclxuICBAaWYgJGNvbG9yICE9IGNvbG9yIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gIEBpZiAkbWFyZ2luLWxlZnQgIT0gbWFyZ2luLWxlZnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcclxuICB9XHJcbiAgQGlmICRtYXJnaW4tcmlnaHQgIT0gbWFyZ2luLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbi1yaWdodDtcclxuICB9XHJcbiAgQGlmICR2ZXJ0aWNhbC1hbGlnbiAhPSB2ZXJ0aWNhbC1hbGlnbiB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3cge1xyXG4gIGJveC1zaGFkb3c6ICAwcHggMHB4IDMwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxufVxyXG5cclxuQG1peGluIGJveC1zaGFkb3ctbGlnaHQge1xyXG4gIGJveC1zaGFkb3c6IDJweCAycHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2hhZG93LWN1c3RvbSB7XHJcbiAgYm94LXNoYWRvdzogMHB4IDNweCAyN3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdy1wcmltYXJ5IHtcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcclxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanhtZWdhbGF5b3V0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L0Jpa2VJZG9sL3RoZW1lcy90aGVtZTE1MTkvX2Rldi9tb2R1bGVzL2p4bWVnYWxheW91dC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC9CaWtlSWRvbC90aGVtZXMvdGhlbWUxNTE5L19kZXYvY3NzL3BhcnRpYWxzL19taXhpbnMuc2NzcyJdLCJzb3VyY2VSb290IjoiIn0=*/