.wrap-bg-blackberry{
  color:var(--color-white);
  background-color:var(--bg-color-blackberry);
}
.wrap-bg-cream{
  background-color:var(--bg-color-cream);
}
.wrap-bg-grape{
  color:var(--color-white);
  background-color:var(--bg-color-grape);
}
.wrap-bg-peach{
  background-color:var(--bg-color-peach);
}
.hero{
  position:relative;
  z-index:var(--z-plus);
}
.hero::after{
  --height:500px;
  --bottom:0;
  --bkgd-position:center -3px;
  --bkgd-size:110%;
  content:"";
  width:100%;
  height:var(--height);
  position:absolute;
  z-index:var(--z-minus);
  bottom:var(--bottom);
  left:0;
  background-color:var(--color-white);
  background-image:url("https://assets.dockyard.com/images/hero-bg-shape-ps.svg");
  background-repeat:no-repeat;
  background-position:var(--bkgd-position);
  background-size:var(--bkgd-size);
}
.capabilities-elixir-hero::after{
    --height:260px;
    --bottom:-100px;
    --bkgd-size:1440px;
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-elixir.svg");
  }
@media (min-width: 760px) and (max-width: 999px){
.capabilities-elixir-hero::after{
      --height:200px
  }
    }
@media (min-width: 1000px) and (max-width: 1239px){
.capabilities-elixir-hero::after{
      --height:240px
  }
    }
@media (min-width: 1240px) and (max-width: 2559px){
.capabilities-elixir-hero::after{
      --height:340px;
      --bottom:-140px;
      --bkgd-size:2560px
  }
    }
@media (min-width: 2560px){
.capabilities-elixir-hero::after{
      --height:460px;
      --bottom:-250px;
      --bkgd-size:101vw
  }
    }
.capabilities-ember-hero::after{
    --height:220px;
    --bkgd-size:1440px;
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-ember.svg");
  }
@media (min-width: 760px) and (max-width: 1239px){
.capabilities-ember-hero::after{
      --height:150px;
      --bottom:-60px
  }
    }
@media (min-width: 1240px) and (max-width: 2559px){
.capabilities-ember-hero::after{
      --height:280px;
      --bottom:-120px;
      --bkgd-size:2560px
  }
    }
@media (min-width: 2560px){
.capabilities-ember-hero::after{
      --height:400px;
      --bottom:-210px;
      --bkgd-size:101vw
  }
    }
.capabilities-pwa-hero{
  color:var(--color-white);
  background-color:var(--bg-color-grape);
}
.capabilities-pwa-hero::after{
    --height:260px;
    --bottom:-40px;
    --bkgd-size:1440px;
    height:var(--height);
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-pwa.svg");
  }
@media (min-width: 760px) and (max-width: 1239px){
.capabilities-pwa-hero::after{
      --height:170px
  }
    }
@media (min-width: 1240px) and (max-width: 2559px){
.capabilities-pwa-hero::after{
      --height:440px;
      --bkgd-size:2560px
  }
    }
@media (min-width: 2560px){
.capabilities-pwa-hero::after{
      --height:420px;
      --bkgd-size:101vw
  }
    }
.careers-hero{
  background-color:var(--bg-color-cream);
}
.careers-hero::after{
    --height:200px;
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-careers.svg");
    background-position:center -3px;
  }
@media (min-width: 760px) and (max-width: 1239px){
.careers-hero::after{
      --height:300px;
      --bottom:-80px
  }
    }
@media (min-width: 1240px){
.careers-hero::after{
      --height:460px
  }
    }
.culture-hero{
  background-color:var(--bg-color-cream);
}
.culture-hero::after{
    --height:120px;
    height:var(--height);
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-culture.svg");
  }
@media (min-width: 1000px){
.culture-hero::after{
      --height:300px
  }
    }
.home-hero{
  background-color:var(--bg-color-cream);
}
.home-hero::after{
    display:none;
  }
.why-dy-hero{
  background-color:var(--bg-color-cream);
}
.why-dy-hero::after{
    --height:650px;
    --bottom:-400px;
    --bkgd-size:2000px;
    --bkgd-position:-400px -1px;
  }
@media (min-width: 1000px) and (max-width: 1239px){
.why-dy-hero::after{
      --bottom:-260px
  }
    }
@media (min-width: 1600px){
.why-dy-hero::after{
      --height:1400px;
      --bottom:-1100px;
      --bkgd-size:126vw;
      --bkgd-position:-25vw -1px
  }
    }
.services-main-hero{
  color:var(--color-white);
  background-color:var(--bg-color-grape);
}
.services-main-hero::after{
    --height:240px;
    background-color:var(--color-white);
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-main.svg");
  }
@media (min-width: 760px) and (max-width: 999px){
.services-main-hero::after{
      --height:300px;
      --bottom:-170px
  }
    }
@media (min-width: 1000px) and (max-width: 1259px){
.services-main-hero::after{
      --height:420px;
      --bottom:-160px
  }
    }
@media (min-width: 1260px) and (max-width: 2559px){
.services-main-hero::after{
      --height:600px;
      --bottom:-250px
  }
    }
@media (min-width: 2560px){
.services-main-hero::after{
      --height:800px;
      --bottom:-400px
  }
    }
.services-des-hero{
  color:var(--color-white);
  background-color:var(--bg-color-blackberry);
}
.services-des-hero::after{
    --height:180px;
    --bkgd-size:2560px;
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-des.svg");
  }
@media (min-width: 760px) and (max-width: 999px){
.services-des-hero::after{
      --height:340px;
      --bottom:-300px
  }
    }
@media (min-width: 1000px) and (max-width: 2099px){
.services-des-hero::after{
      --height:500px;
      --bottom:-400px
  }
    }
@media (min-width: 2100px){
.services-des-hero::after{
      --height:900px;
      --bottom:-800px;
      --bkgd-size:101vw
  }
    }
.services-eng-hero{
  color:var(--color-white);
  background-color:var(--bg-color-blackberry);
}
.services-eng-hero::after{
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-eng.svg");
  }
@media (max-width: 759px){
.services-eng-hero::after{
      --height:300px
  }
    }
@media (min-width: 760px) and (max-width: 1239px){
.services-eng-hero::after{
      --bottom:-400px
  }
    }
@media (min-width: 1240px) and (max-width: 2559px){
.services-eng-hero::after{
      --height:600px;
      --bottom:-400px
  }
    }
@media (min-width: 2560px){
.services-eng-hero::after{
      --height:800px;
      --bottom:-540px
  }
    }
.services-ps-hero{
  background-color:var(--bg-color-cream);
}
.services-ps-hero::after{
    --height:540px;
    --bottom:-360px;
    --bkgd-size:2000px;
  }
@media (min-width: 760px) and (max-width: 999px){
.services-ps-hero::after{
      --bottom:-500px
  }
    }
@media (min-width: 1000px) and (max-width: 1239px){
.services-ps-hero::after{
      --height:700px;
      --bottom:-500px
  }
    }
@media (min-width: 1240px) and (max-width: 2099px){
.services-ps-hero::after{
      --height:1000px;
      --bottom:-800px;
      --bkgd-size:160%
  }
    }
@media (min-width: 2100px){
.services-ps-hero::after{
      --height:1400px;
      --bottom:-1240px;
      --bkgd-size:120%
  }
    }
.services-pm-hero{
  color:var(--color-white);
  background-color:var(--bg-color-blackberry);
}
.services-pm-hero::after{
    --height:120px;
    --bottom:-10px;
    --bkgd-size:2560px;
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-pm.svg");
  }
@media (min-width: 760px) and (max-width: 999px){
.services-pm-hero::after{
      --height:200px;
      --bottom:-180px
  }
    }
@media (min-width: 1000px) and (max-width: 1239px){
.services-pm-hero::after{
      --height:120px
  }
    }
@media (min-width: 1240px){
.services-pm-hero::after{
      --bkgd-size:101vw
  }
    }
@media (min-width: 1240px) and (max-width: 2559px){
.services-pm-hero::after{
      --height:160px;
      --bottom:-20px
  }
    }
@media (min-width: 2560px){
.services-pm-hero::after{
      --height:245px;
      --bottom:-120px
  }
    }
.services-aug-hero{
  background-color:var(--bg-color-cream);
}
.services-aug-hero::after{
    --height:200px;
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-aug.svg");
  }
@media (min-width: 760px) and (max-width: 999px){
.services-aug-hero::after{
      --height:100px;
      --bottom:-60px
  }
    }
@media (min-width: 1000px) and (max-width: 2049px){
.services-aug-hero::after{
      --height:500px;
      --bottom:-400px
  }
    }
@media (min-width: 2050px){
.services-aug-hero::after{
      --height:500px;
      --bottom:-240px
  }
    }
.services-test-hero{
  color:var(--color-white);
  background-color:var(--bg-color-grape);
}
.services-test-hero::after{
    --height:220px;
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-test.svg");
  }
@media (min-width: 760px) and (max-width: 999px){
.services-test-hero::after{
      --bottom:-120px
  }
    }
@media (min-width: 1240px) and (max-width: 2559px){
.services-test-hero::after{
      --height:400px;
      --bottom:-140px
  }
    }
@media (min-width: 2560px){
.services-test-hero::after{
      --height:500px;
      --bottom:-160px
  }
    }
.services-ts-hero{
  background-color:var(--bg-color-cream);
}
.services-ts-hero::after{
    --height:200px;
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-ts.svg");
  }
@media (min-width: 760px) and (max-width: 999px){
.services-ts-hero::after{
      --height:300px;
      --bottom:-100px
  }
    }
@media (min-width: 1000px) and (max-width: 1239px){
.services-ts-hero::after{
      --height:400px;
      --bottom:-150px
  }
    }
@media (min-width: 1240px){
.services-ts-hero::after{
      --height:600px;
      --bottom:-200px
  }
    }
.hero--grid{
  --column-gap:20px;
  --row-gap:20px;
  display:grid;
  grid-template-columns:[left-edge] 100% [right-edge];
  -webkit-box-align:start;
      -ms-flex-align:start;
          align-items:start;
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
  row-gap:var(--row-gap);
}
@media (min-width: 760px) and (max-width: 999px){
.hero--grid{
    grid-template-columns:[left-edge] 5fr [center] 7fr [right-edge]
}
  }
@media (min-width: 1000px){
.hero--grid{
    grid-template-columns:[left-edge] 4fr [center] 6fr [right-edge]
}
  }
.hero__content{
  z-index:var(--z-plus);
}
.hero__heading{
  --space-vt:36px;
  margin-bottom:var(--space-vt);
}
@media (min-width: 760px) and (max-width: 1239px){
.hero__heading{
    --space-vt:30px
}
  }
@media (min-width: 1240px){
.hero__heading{
    --space-vt:40px
}
  }
.hero__figure{
  --width:calc(100% + 48px);
  --left:-24px;
  width:var(--width);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  position:relative;
  z-index:var(--z-plus);
  left:var(--left);
}
@media (min-width: 760px){
.hero__figure{
    --width:100%;
    --left:0
}
  }
.hero__img{
  --space-hz:-24px;
  --width:130%;
  --min-width:348px;
  --max-width:66vw;
  margin-right:var(--space-hz);
  margin-left:var(--space-hz);
  width:var(--width);
  min-width:var(--min-width);
  height:100%;
  position:relative;
}
@media (min-width: 500px) and (max-width: 759px){
.hero__img{
    --space-hz:auto;
    max-width:var(--max-width)
}
  }
@media (min-width: 760px){
.hero__img{
    --space-hz:0;
    --width:100%
}
  }
@media (min-width: 760px){
  .capabilities-elixir-hero__figure,
  .capabilities-ember-hero__figure,
  .capabilities-pwa-hero__figure,
  .culture-hero__figure,
  .services-main-hero__figure,
  .services-aug-hero__figure,
  .services-des-hero__figure,
  .services-eng-hero__figure,
  .services-pm-hero__figure,
  .services-ps-hero__figure,
  .services-test-hero__figure,
  .services-ts-hero__figure{
    -webkit-box-pack:end;
        -ms-flex-pack:end;
            justify-content:flex-end;
  }

  .capabilities-elixir-hero__img,
  .capabilities-ember-hero__img,
  .capabilities-pwa-hero__img,
  .culture-hero__img,
  .services-main-hero__img,
  .services-des-hero__img,
  .services-eng-hero__img,
  .services-pm-hero__img,
  .services-ps-hero__img,
  .services-test-hero__img{
    width:90%;
  }
}
@media (min-width: 760px){
  .services-aug-hero__img,
  .services-ts-hero__img{
    width:95%;
  }
}
.blockquote{
  --margin-hz:-24px;
  --pad-vt:84px;
  --pad-hz:40px;
  margin-right:var(--margin-hz);
  margin-left:var(--margin-hz);
  padding-top:var(--pad-vt);
  padding-right:var(--pad-vt);
  padding-bottom:var(--pad-vt);
  padding-left:var(--pad-vt);
  border-radius:var(--radius-lg);
  background-color:var(--brand-color-gray-blue-pale);
}
@media (min-width: 760px){
.blockquote{
    --margin-hz:0;
    --pad-vt:60px;
    --pad-hz:100px
}
  }
.blockquote__citation{
  margin-top:var(--space-md);
  display:block;
}
.blockquote__text{
  margin-bottom:var(--space-md);
}
.blockquote__text:last-of-type{
    margin-bottom:0;
  }
.tile{
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  position:relative;
}
.tile::before{
    --top:0;
    --right:0;
    --bottom:0;
    --left:0;
    content:"";
    position:absolute;
    z-index:var(--z-normal);
    top:var(--top);
    right:var(--right);
    bottom:var(--bottom);
    left:var(--left);
    border-width:var(--border-width-xs);
    border-style:solid;
    border-color:var(--color-gray-90);
    border-radius:var(--radius-lg);
    -webkit-transition-property:border, -webkit-box-shadow;
    transition-property:border, -webkit-box-shadow;
    transition-property:border, box-shadow;
    transition-property:border, box-shadow, -webkit-box-shadow;
    -webkit-transition-duration:var(--transition-duration-base);
            transition-duration:var(--transition-duration-base);
    -webkit-transition-timing-function:linear;
            transition-timing-function:linear;
  }
.tile:focus-within::before{
      border:var(--border-focus-grape);
    }
.tile:focus-within .job-tile__link:focus{
        border-bottom:none;
      }
.tile:hover::before{
      border-width:var(--border-width-sm);
      border-color:var(--color-gray-90);
      -webkit-box-shadow:var(--shadow-hover-tile-neutral);
              box-shadow:var(--shadow-hover-tile-neutral);
    }
.tile--no-default-border::before{
    border-color:transparent;
  }
.tile--no-default-border:focus-within .job-tile__link:focus{
        border-bottom:none;
      }
.job-tile__link:focus{
    border-bottom:var(--border-width-sm) solid var(--brand-color-grape);
  }
.tile--unpadded::before{
    --top:-18px;
    --right:-16px;
    --bottom:-24px;
    --left:-16px;
    top:var(--top);
    right:var(--right);
    bottom:var(--bottom);
    left:var(--left);
  }
@media (min-width: 760px){
.tile--unpadded::before{
      --top:-30px;
      --right:-40px;
      --bottom:-40px;
      --left:-40px
  }
    }
.home__heading{
  margin-bottom:var(--space-lg);
}
.home-services--grid{
  --column-gap:20px;
  display:grid;
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (min-width: 760px){
.home-services--grid{
    grid-template-columns:[left-gutter] 1fr [center] 1fr [right-gutter]
}
  }
.home-services--grid::after{
    --height:90px;
    --bottom:-30px;
    --bkgd-position:center top;
    --bkgd-size:2560px;
    content:"";
    width:100%;
    height:var(--height);
    position:absolute;
    z-index:var(--z-minus);
    bottom:var(--bottom);
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-home.svg");
    background-repeat:no-repeat;
    background-position:var(--bkgd-position);
    background-size:var(--bkgd-size);
  }
@media (min-width: 760px){
.home-services--grid::after{
      --height:160px;
      --bkgd-position:center bottom
  }
    }
@media (min-width: 760px){
.home-services--grid::after{
      --bottom:-80px
  }
    }
@media (min-width: 2560px){
.home-services--grid::after{
      --height:300px;
      --bkgd-size:101vw
  }
    }
.home-services__item{
  --margin-bottom:28px;
  margin-bottom:var(--margin-bottom);
  position:relative;
}
.home-services__item::before{
    content:"";
    display:block;
    position:absolute;
    top:0;
    right:0;
    bottom:-18px;
    left:0;
    border-bottom:.5px solid var(--color-gray-60);
  }
.home-services__item-link{
  padding:0;
  display:block;
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  position:relative;
}
.home-services__item-link::after{
    --margin-top:15px;
    content:"";
    margin-top:var(--margin-top);
    width:40px;
    height:8px;
    display:inline-block;
    position:absolute;
    right:0;
    background:url("https://assets.dockyard.com/images/icon-more-arrow-dark.svg") left center no-repeat;
    -webkit-transition:var(--transition-duration-base) all linear;
    transition:var(--transition-duration-base) all linear;
  }
.home-services__item-link::before{
    --top:-11px;
    --bottom:-18px;
    content:"";
    position:absolute;
    top:var(--top);
    right:-16px;
    bottom:var(--bottom);
    left:-16px;
    border:var(--border-width-sm) solid transparent;
    border-radius:var(--radius-xs);
  }
.home-services__item-link:focus{
    outline:none;
  }
.home-services__item-link:focus::before{
      border-color:var(--brand-color-grape);
      outline:none;
    }
.home-services__item-link:hover{
    color:var(--brand-color-grape);
  }
.home-services__item-link:hover::after{
      right:-20px;
      background-image:url("https://assets.dockyard.com/images/icon-more-arrow-grape.svg");
    }
.home-services__overview{
  --pad-right:0;
  padding-right:var(--pad-right);
}
@media (min-width: 760px) and (max-width: 999px){
.home-services__overview{
    --pad-right:60px
}
  }
@media (min-width: 1000px){
.home-services__overview{
    --pad-right:80px
}
  }
.home-services__list{
  --pad-top:0;
  --column-gap:0;
  padding-top:var(--pad-top);
  display:grid;
  grid-template-columns:[left-gutter] minmax(auto, 480px) [right-gutter];
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (min-width: 460px) and (max-width: 999px){
.home-services__list{
    --pad-top:7px
}
  }
@media (min-width: 760px){
.home-services__list{
    -webkit-box-pack:left;
        -ms-flex-pack:left;
            justify-content:left
}
  }
@media (min-width: 1000px) and (max-width: 1439px){
.home-services__list{
    --pad-top:10px
}
  }
@media (min-width: 1440px){
.home-services__list{
    --pad-top:8px
}
  }
.home-experience--grid{
  display:grid;
}
@media (max-width: 759px){
.home-experience--grid{
    row-gap:40px
}
  }
@media (min-width: 760px){
.home-experience--grid{
    grid-template-columns:[left-edge] 1fr [center] 1fr [right-edge];
    -webkit-column-gap:20px;
       -moz-column-gap:20px;
            column-gap:20px
}
  }
@media (min-width: 1200px){
.home-experience__overview{
    padding-left:100px
}
  }
.home-experience__copy{
  padding-right:var(--space-xl);
}
.home-experience__image{
  --margin-top:20px;
  margin-top:var(--margin-top);
  position:relative;
}
@media (max-width: 759px){
.home-experience__image{
    margin-right:auto;
    margin-left:auto
}
  }
@media (min-width: 760px) and (max-width: 1239px){
.home-experience__image{
    --margin-top:60px
}
  }
@media (min-width: 1000px){
.home-experience__image{
    left:-40px
}
  }
@media (min-width: 1240px){
.home-experience__image{
    --margin-top:80px;
    width:105%;
    max-width:105%
}
  }
.home-experience__list{
  --margin-top:0;
  margin-top:var(--margin-top);
  padding-left:48px;
}
@media (min-width: 760px) and (max-width: 999px){
.home-experience__list{
    --margin-top:12px
}
  }
@media (min-width: 1000px){
.home-experience__list{
    --margin-top:14px
}
  }
.home-client-list{
  --pad-bottom:20px;
  padding-top:0;
  padding-bottom:var(--pad-bottom);
}
@media (min-width: 760px) and (max-width: 1239px){
.home-client-list{
    --pad-bottom:100px
}
  }
@media (min-width: 1240px){
.home-client-list{
    --pad-bottom:160px
}
  }
.home-client-list__heading{
  text-align:center;
}
.home-clients{
  padding-top:var(--space-md);
}
@media (max-width: 569px){
.home-clients{
    margin-right:auto;
    margin-left:auto;
    width:160px
}
  }
@media (min-width: 570px){
.home-clients{
    margin-right:0;
    margin-left:0;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
        flex-wrap:wrap;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center;
    -webkit-box-pack:space-evenly;
        -ms-flex-pack:space-evenly;
            justify-content:space-evenly
}
  }
.home-client{
  margin-bottom:var(--space-2x-md);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-item-align:center;
      align-self:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
}
@media (max-width: 569px){
.home-client{
    width:100%;
    display:none;
    text-align:center
}
    .home-client:nth-child(1),
    .home-client:nth-child(2),
    .home-client:nth-child(3),
    .home-client:nth-child(4),
    .home-client:nth-child(5),
    .home-client:nth-child(6){
      display:-webkit-box;
      display:-ms-flexbox;
      display:flex;
    }
  }
@media (min-width: 570px) and (max-width: 799px){
.home-client{
    -webkit-box-flex:0;
        -ms-flex:0 1 33%;
            flex:0 1 33%
}
  }
@media (min-width: 800px) and (max-width: 899px){
.home-client{
    -webkit-box-flex:0;
        -ms-flex:0 1 25%;
            flex:0 1 25%
}
  }
@media (min-width: 900px){
.home-client{
    -webkit-box-flex:0;
        -ms-flex:0 1 20%;
            flex:0 1 20%
}
  }
.home-client__logo{
  --max-width:150px;
  --max-height:36px;
  max-width:var(--max-width);
  max-height:var(--max-height);
}
.home-client__logo--apple,
  .home-client__logo--flywheel,
  .home-client__logo--mcgraw-hill{
    --max-height:46px;
  }
.home-client__logo--netflix,
  .home-client__logo--fidelity{
    --max-height:30px;
  }
.home-client__logo--dollar-shave-club{
    --max-width:170px;
  }
.home-client__logo--digilant{
    --max-width:130px;
  }
.btn.home-client-list-more-link{
  margin-top:0;
  margin-bottom:0;
}
.home-inc-mag{
  --pad-top:100px;
  padding-top:var(--pad-top);
}
@media (min-width: 760px) and (max-width: 999px){
.home-inc-mag{
    --pad-top:10px
}
  }
@media (min-width: 1000px) and (max-width: 1239px){
.home-inc-mag{
    --pad-top:30px
}
  }
@media (min-width: 1240px){
.home-inc-mag{
    --pad-top:0
}
  }
.home-inc-mag--grid{
  display:grid;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  row-gap:var(--space-lg);
  -webkit-column-gap:var(--space-md);
     -moz-column-gap:var(--space-md);
          column-gap:var(--space-md);
}
@media (max-width: 759px){
.home-inc-mag--grid{
    grid-template-areas:"figure"
      "content"
}
  }
@media (min-width: 760px){
.home-inc-mag--grid{
    grid-template-areas:"figure content"
}
  }
@media (min-width: 760px) and (max-width: 999px){
.home-inc-mag--grid{
    grid-template-columns:[left-edge] 5fr [center] 7fr [right-edge]
}
  }
@media (min-width: 1000px){
.home-inc-mag--grid{
    grid-template-columns:[left-edge] 4fr [center] 6fr [right-edge]
}
  }
.home-inc-mag__figure{
  grid-area:figure;
  justify-self:center;
}
@media (max-width: 999px){
.home-inc-mag__figure{
    max-width:280px
}
  }
@media (min-width: 1000px){
.home-inc-mag__figure{
    max-width:300px
}
  }
.home-inc-mac__content{
  grid-area:content;
}
.home-capabilities--grid{
  display:grid;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-column-gap:var(--space-md);
     -moz-column-gap:var(--space-md);
          column-gap:var(--space-md);
}
@media (max-width: 759px){
.home-capabilities--grid{
    grid-template-areas:"figure"
      "overview"
}
  }
@media (min-width: 760px){
.home-capabilities--grid{
    grid-template-areas:"overview figure"
}
  }
@media (min-width: 760px) and (max-width: 999px){
.home-capabilities--grid{
    grid-template-columns:[left-edge] 7fr [center] 5fr [right-edge]
}
  }
@media (min-width: 1000px){
.home-capabilities--grid{
    grid-template-columns:[left-edge] 6fr [center] 4fr [right-edge]
}
  }
.home-capabilities__overview{
  grid-area:overview;
}
.home-capabilities__figure{
  grid-area:figure;
}
.home-capabilities__image{
  --max-width:220px;
  width:auto;
  max-width:var(--max-width);
  height:auto;
}
@media (max-width: 759px){
.home-capabilities__image{
    margin-bottom:var(--space-2x-md)
}
  }
@media (min-width: 760px){
.home-capabilities__image{
    --max-width:260px
}
  }
.home-case{
  --margin-hz:-24px;
  --pad-top:40px;
  --pad-hz:24px;
  --pad-bottom:60px;
  margin-right:var(--margin-hz);
  margin-bottom:var(--space-xl);
  margin-left:var(--margin-hz);
  padding-top:var(--pad-top);
  padding-right:var(--pad-hz);
  padding-bottom:var(--pad-bottom);
  padding-left:var(--pad-hz);
  position:relative;
  z-index:var(--z-plus);
}
@media (min-width: 760px) and (max-width: 999px){
.home-case{
    --pad-hz:calc(10vw + 10px)
}
  }
@media (min-width: 1000px){
.home-case{
    --margin-hz:0;
    --pad-hz:calc(9.25% + 10px);
    border-radius:var(--radius-lg)
}
  }
.home-case:hover .home-case__cover{
      -webkit-box-shadow:var(--shadow-hover-tile-neutral);
              box-shadow:var(--shadow-hover-tile-neutral);
    }
.home-case:hover .home-case__view-link{
      left:20px;
    }
.home-case:focus-within .home-case__cover{
      -webkit-box-shadow:var(--shadow-focus-double-grape);
              box-shadow:var(--shadow-focus-double-grape);
    }
.home-case:focus-within .home-case__link:focus{
      text-decoration:none;
      outline:none;
    }
.home-case--grid{
  --row-gap:20px;
  --column-gap:40px;
  row-gap:var(--row-gap);
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (min-width: 760px){
.home-case--grid{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:"title view-link"
      "cover cover"
}
  }
.home-case__cover{
  grid-area:cover;
}
.home-case__link:focus{
    outline:var(--border-width-sm) solid var(--color-white);
  }
.home-case__link::after{
    content:"";
    position:absolute;
    z-index:1;
    top:0;
    right:0;
    bottom:0;
    left:0;
    cursor:pointer;
  }
.home-case__view-link{
  --margin-top:18px;
  margin-bottom:var(--space-2x-md);
  display:block;
  grid-area:view-link;
  position:relative;
  left:0;
  -webkit-transition:.2s left ease-in;
  transition:.2s left ease-in;
}
@media (min-width: 760px){
.home-case__view-link{
    margin-top:var(--margin-top)
}
  }
.home-case__title{
  margin-top:var(--space-md);
  margin-bottom:var(--space-md);
  grid-area:title;
}
@media (max-width: 759px){
.home-case__title .eyebrow__main{
      margin-top:var(--space-md)
  }
    }
@media (min-width: 760px){
.home-case__title .eyebrow__main{
      margin-top:var(--space-xxxs)
  }
    }
.home-case--peach{
  background-color:var(--bg-color-peach);
}
.why-dy-grid{
  --column-gap:20px;
  --row-gap:60px;
  display:grid;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  row-gap:var(--row-gap);
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (max-width: 759px){
.why-dy-grid{
    grid-template-columns:100%;
    grid-template-areas:"content"
      "figure"
}
  }
@media (min-width: 760px){
.why-dy-grid{
    grid-template-columns:[left-edge] 1fr [center] 1fr [right-edge];
    grid-template-areas:"content figure"
}
  }
@media (min-width: 760px){
.why-dy-grid--flipped{
    grid-template-areas:"figure content"
}
  }
.why-dy__heading{
  margin-bottom:var(--space-lg);
}
.full-service__content{
  --width:auto;
  width:var(--width);
  grid-area:content;
  justify-self:center;
}
@media (min-width: 760px) and (max-width: 999px){
.full-service__content{
    --width:30vw
}
  }
@media (min-width: 1000px){
.full-service__content{
    --width:66%
}
  }
.full-service__figure{
  --width:auto;
  width:var(--width);
  grid-area:figure;
  justify-self:end;
}
@media (min-width: 760px) and (max-width: 999px){
.full-service__figure{
    --width:38vw
}
  }
@media (min-width: 1000px){
.full-service__figure{
    --width:83%
}
  }
.full-service__img{
  max-width:100%;
}
@media (min-width: 760px){
.why-dy-grid--sharp-apps{
    grid-template-columns:[left-edge] 7fr [center] 5fr [right-edge]
}
  }
.sharp-apps__content{
  --pad-right:0;
  --max-width:auto;
  padding-right:var(--pad-right);
  max-width:var(--max-width);
  grid-area:content;
}
@media (min-width: 760px){
.sharp-apps__content{
    justify-self:end
}
  }
@media (min-width: 760px) and (max-width: 999px){
.sharp-apps__content{
    --pad-right:80px;
    --max-width:300px
}
  }
@media (min-width: 1000px){
.sharp-apps__content{
    --pad-right:90px;
    --max-width:386px
}
  }
.sharp-apps__figure{
  grid-area:figure;
  justify-self:center;
}
@media (min-width: 760px){
.sharp-apps__figure{
    justify-self:start
}
  }
.sharp-apps__img{
  --max-width:280px;
  max-width:var(--max-width);
}
@media (min-width: 760px) and (max-width: 999px){
.sharp-apps__img{
    --max-width:230px
}
  }
.why-dy-graphic-panel--grid.l-grid{
  row-gap:var(--space-xl);
}
.why-dy-graphic-panel__heading{
  margin-top:var(--space-2x-md);
  margin-bottom:var(--space-md);
}
.why-dy-graphic-panel__image-box{
  --min-height:auto;
  min-height:var(--min-height);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
}
@media (min-width: 760px){
.why-dy-graphic-panel__image-box{
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center
}
  }
@media (min-width: 760px) and (max-width: 849px){
.why-dy-graphic-panel__image-box{
    --min-height:200px
}
  }
@media (min-width: 850px) and (max-width: 1439px){
.why-dy-graphic-panel__image-box{
    --min-height:220px
}
  }
@media (min-width: 1440px){
.why-dy-graphic-panel__image-box{
    --min-height:240px
}
  }
.why-dy-graphic-panel__image{
  --max-width:200px;
  width:100%;
  max-width:var(--max-width);
}
@media (min-width: 760px) and (max-width: 1439px){
.why-dy-graphic-panel__image{
    --max-width:220px
}
  }
@media (min-width: 1440px){
.why-dy-graphic-panel__image{
    --max-width:240px
}
  }
.tech-advance__content,
.genius__content,
.clockwork__content{
  --max-width:auto;
  max-width:var(--max-width);
  grid-area:content;
}
@media (min-width: 760px){
.tech-advance__content,
.genius__content,
.clockwork__content{
    justify-self:center
}
  }
@media (min-width: 760px) and (max-width: 999px){
.tech-advance__content,
.genius__content,
.clockwork__content{
    --max-width:300px
}
  }
@media (min-width: 1000px){
.tech-advance__content,
.genius__content,
.clockwork__content{
    --max-width:380px
}
  }
.tech-advance__figure,
.genius__figure,
.clockwork__figure{
  grid-area:figure;
}
@media (min-width: 760px){
.tech-advance__figure,
.clockwork__figure{
    justify-self:end
}
  }
@media (min-width: 760px){
.genius__figure{
    justify-self:start
}
  }
.tech-advance__img,
.genius__img,
.clockwork__img{
  --width:calc(100% + 48px);
  --left:-24px;
  width:var(--width);
  position:relative;
  left:var(--left);
  border-radius:var(--radius-lg);
}
@media (min-width: 760px) and (max-width: 999px){
.tech-advance__img,
.genius__img,
.clockwork__img{
    --width:calc(100% + 24px)
}
  }
@media (min-width: 1000px){
.tech-advance__img,
.genius__img,
.clockwork__img{
    --width:100%;
    --left:0
}
  }
@media (min-width: 760px){
.genius__img{
    --left:0
}
  }
.trusted__heading{
  text-align:center;
}
.service-tiles{
  --gap:20px;
  display:grid;
  row-gap:var(--gap);
  -webkit-column-gap:var(--gap);
     -moz-column-gap:var(--gap);
          column-gap:var(--gap);
}
@media (min-width: 760px){
.service-tiles{
    grid-template-columns:[left-gutter] 1fr [center] 1fr [right-gutter]
}
  }
.service-tile{
  --pad:24px;
  padding:var(--pad);
  position:relative;
}
@media (min-width: 760px) and (max-width: 999px){
.service-tile{
    --pad:24px 24px 36px
}
  }
@media (min-width: 1000px){
.service-tile{
    --pad:52px 52px 40px
}
  }
.service-tile__heading{
  --margin-top:20px;
  margin-top:var(--margin-top);
  margin-bottom:var(--space-md);
}
@media (min-width: 1000px){
.service-tile__heading{
    --margin-top:50px
}
  }
.service-tile__icon{
  width:100%;
  height:100%;
  -o-object-fit:contain;
     object-fit:contain;
}
.service-tile__icon-container{
  --width:160px;
  --height:140px;
  width:var(--width);
  height:var(--height);
}
@media (min-width: 760px) and (max-width: 1239px){
.service-tile__icon-container{
    --width:190px;
    --height:160px
}
  }
@media (min-width: 1240px){
.service-tile__icon-container{
    --width:220px;
    --height:200px
}
  }
.service-tile__more{
  margin-top:0;
  margin-bottom:0;
}
.service-tile__link:focus{
    outline:none;
  }
.service-tile__link::after{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    bottom:0;
    left:0;
  }
.service-tile__text{
  margin-top:0;
  margin-bottom:var(--space-md);
}
.service-pullquote-tile{
  --margin-hz:-24px;
  --margin-bottom:40px;
  --pad:52px 24px;
  margin-right:var(--margin-hz);
  margin-bottom:var(--margin-bottom);
  margin-left:var(--margin-hz);
  padding:var(--pad);
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  position:relative;
  background-color:var(--brand-color-cream);
}
.service-pullquote-tile::after{
    --height:140px;
    content:"";
    height:var(--height);
    display:block;
  }
@media (min-width: 760px){
.service-pullquote-tile::after{
      --height:auto
  }
    }
@media (min-width: 760px){
.service-pullquote-tile{
    --margin-hz:0;
    --margin-bottom:0;
    border-radius:var(--radius-lg)
}
  }
@media (min-width: 1000px){
.service-pullquote-tile{
    --pad:100px 52px
}
  }
.service-pullquote-tile__citation{
  margin-top:var(--space-md);
  display:block;
  position:relative;
  z-index:2;
}
.service-pullquote-tile__text{
  margin-bottom:var(--space-md);
  position:relative;
  z-index:2;
}
.service-pullquote-tile__text:last-of-type{
    margin-bottom:0;
  }
.service-pullquote-tile__img{
  --right:-64px;
  --bottom:-40px;
  width:280px;
  position:absolute;
  right:var(--right);
  bottom:var(--bottom);
}
@media (min-width: 760px) and (max-width: 1239px){
.service-pullquote-tile__img{
    --right:-72px;
    --bottom:-42px
}
  }
@media (min-width: 1240px){
.service-pullquote-tile__img{
    --right:-96px;
    --bottom:-42px
}
  }
.service-spec{
  --margin-bottom:0;
}
.service-spec:last-child{
    margin-bottom:var(--margin-bottom);
  }
@media (max-width: 759px){
.service-spec{
    --margin-bottom:30px
}
  }
@media (min-width: 760px){
.service-spec{
    --margin-bottom:60px;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-orient:horizontal;
    -webkit-box-direction:normal;
        -ms-flex-flow:row wrap;
            flex-flow:row wrap;
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start;
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center
}
  }
@media (min-width: 1240px){
.service-spec--pullquote{
    margin-top:60px;
    margin-bottom:120px
}
  }
.service-spec__fingers{
  position:relative;
}
@media (max-width: 759px){
.service-spec__fingers{
    margin-right:0;
    margin-bottom:var(--space-md);
    width:100%;
    text-align:left
}
  }
@media (min-width: 760px){
.service-spec__fingers{
    margin-bottom:0;
    max-width:280px;
    text-align:right
}
  }
@media (min-width: 760px) and (max-width: 999px){
.service-spec__fingers{
    margin-right:50px;
    width:170px;
    top:2px
}
  }
@media (min-width: 1000px){
.service-spec__fingers{
    margin-right:70px;
    width:250px;
    top:4px
}
  }
.service-spec__fingers-image{
  max-width:280px;
}
.service-spec__palm{
  --space-vt:0;
  --space-hz:0;
  --width:auto;
  margin-top:var(--space-vt);
  margin-right:var(--space-hz);
  max-width:var(--width);
  -webkit-box-flex:1;
      -ms-flex:1;
          flex:1;
}
@media (min-width: 760px) and (max-width: 999px){
.service-spec__palm{
    --space-vt:13px;
    --space-hz:30px;
    --width:420px
}
  }
@media (min-width: 1000px){
.service-spec__palm{
    --width:480px
}
  }
@media (min-width: 1000px){
.service-spec__palm{
    --space-vt:18px;
    --space-hz:50px
}
  }
.service-spec-box{
  --pad-right:24px;
  --pad-left:24px;
  padding-right:var(--pad-right);
  padding-left:var(--pad-left);
  display:grid;
  row-gap:var(--space-xl);
}
@media (min-width: 760px) and (max-width: 999px){
.service-spec-box{
    --pad-right:80px;
    --pad-left:60px
}
  }
@media (min-width: 1000px) and (max-width: 1239px){
.service-spec-box{
    --pad-right:110px;
    --pad-left:90px
}
  }
@media (min-width: 1240px){
.service-spec-box{
    --pad-right:220px;
    --pad-left:220px
}
  }
@media (max-width: 759px){
.service-pullquote{
    padding-right:var(--space-2x-sm);
    padding-left:var(--space-2x-sm)
}
  }
.service-pullquote__citation{
  margin-top:var(--space-md);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
}
.service-pullquote__logo{
  margin-right:var(--space-md);
  max-height:32px;
}
.other-services__title{
  margin-bottom:var(--space-lg);
}
.other-services-tile-box{
  --margin-bottom:50px;
  margin-bottom:var(--margin-bottom);
  padding-top:0;
}
@media (min-width: 760px){
.other-services-tile-box{
    --margin-bottom:60px
}
  }
.other-service-tiles{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:horizontal;
  -webkit-box-direction:normal;
      -ms-flex-flow:row wrap;
          flex-flow:row wrap;
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
}
.other-services-tile{
  --pad-hz:24px;
  --width:100%;
  margin-bottom:var(--space-md);
  padding-top:24px;
  padding-right:var(--pad-hz);
  padding-bottom:24px;
  padding-left:var(--pad-hz);
  width:var(--width);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:horizontal;
  -webkit-box-direction:normal;
      -ms-flex-flow:row wrap;
          flex-flow:row wrap;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  position:relative;
}
@media (max-width: 759px){
.other-services-tile{
    margin-right:0;
    margin-left:0
}
  }
@media (min-width: 760px){
.other-services-tile{
    --pad-hz:30px
}
  }
@media (min-width: 760px) and (max-width: 999px){
.other-services-tile{
    --width:calc(50% - 10px)
}
  }
@media (min-width: 1000px){
.other-services-tile{
    --width:calc((100% / 3) - 10px)
}
  }
.other-services-tile__image{
  --margin-right:24px;
  margin-right:var(--margin-right);
  width:75px;
}
@media (min-width: 760px){
.other-services-tile__image{
    --margin-right:30px
}
  }
.other-services-tile__link{
  -webkit-box-flex:1;
      -ms-flex:1;
          flex:1;
  outline:none;
}
.other-services-tile__link::after{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    bottom:0;
    left:0;
  }
.work{
  background-color:var(--color-white);
  background-image:url("https://assets.dockyard.com/images/work-top-bg-shape.svg?v=2"), url("https://assets.dockyard.com/images/work-side-bg-shape.svg?v=2");
  background-repeat:no-repeat;
  background-position:center top, center 41%;
  background-size:100vw, 2560px;
}
@media (min-width: 2500px){
.work{
    background-position:center top, right 41%
}
  }
.work-hero__heading{
  margin-bottom:var(--space-lg);
  text-align:center;
}
@media (min-width: 760px){
.work-hero__heading{
    margin-bottom:var(--space-xxl)
}
  }
.work-items{
  margin-right:auto;
  margin-left:auto;
  width:100%;
  max-width:100%;
}
@media (min-width: 760px){
.work-items{
    display:grid;
    grid-template-columns:repeat(6, 1fr);
    grid-row-gap:var(--space-2x-lg);
    grid-column-gap:var(--space-2x-md)
}
  }
.work-item{
  --margin-bottom:64px;
  margin-bottom:var(--margin-bottom);
}
@media (min-width: 760px){
.work-item{
    --margin-bottom:0;
    grid-column-end:span 2
}

    .work-item--callout,
    .work-item--featured{
      grid-column-end:span 3;
    }
  }
.work-item__link:focus{
    outline:2px solid var(--color-white);
  }
.work-item__link::after{
    content:"";
    position:absolute;
    top:0;
    right:0;
    bottom:0;
    left:0;
    cursor:pointer;
  }
.work-item__tagline{
  --height:60px;
  --margin-right:20px;
  --margin-bottom:32px;
  margin-right:var(--margin-right);
  margin-bottom:var(--margin-bottom);
  width:-webkit-fit-content;
  width:-moz-fit-content;
  width:fit-content;
  height:var(--height);
}
@media (max-width: 759px){
.work-item__tagline{
    max-width:380px
}
  }
@media (min-width: 760px) and (max-width: 999px){
.work-item__tagline{
    --height:90px
}
  }
@media (min-width: 1000px){
.work-item__tagline{
    --margin-right:0;
    --margin-bottom:48px
}
  }
.work-item__client{
  margin-bottom:var(--space-2x-sm);
  height:var(--space-2x-md);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:end;
      -ms-flex-align:end;
          align-items:flex-end;
}
.work-item__cta{
  color:var(--color-black);
  border-color:var(--color-black);
  cursor:pointer;
}
.work-item__cta:hover{
    color:var(--color-white);
    background-color:var(--color-white);
  }
.work-item__eyebrow{
  margin-bottom:var(--space-sm);
}
.work-item--callout,
.work-item--featured{
  -webkit-box-sizing:border-box;
          box-sizing:border-box;
  overflow:hidden;
  position:relative;
  border-radius:var(--radius-md);
  -webkit-transition:var(--transition-duration-base) all ease;
  transition:var(--transition-duration-base) all ease;
}
.work-item--callout:hover, .work-item--featured:hover{
    -webkit-box-shadow:var(--shadow-hover-tile-neutral);
            box-shadow:var(--shadow-hover-tile-neutral);
  }
.work-item--callout:focus-within, .work-item--featured:focus-within{
    -webkit-box-shadow:var(--shadow-focus-double-grape);
            box-shadow:var(--shadow-focus-double-grape);
  }
.work-item--callout:focus-within .work-item__link:focus, .work-item--featured:focus-within .work-item__link:focus{
      text-decoration:none;
      outline:none;
    }
.work-item--featured{
  --pad-top:20px;
  --pad-right:0;
  --pad-left:16px;
  --height:auto;
  padding-top:var(--pad-top);
  padding-right:var(--pad-right);
  padding-left:var(--pad-left);
  height:var(--height);
  border:var(--border-width-xs) solid var(--brand-color-gray-blue-pale);
}
@media (min-width: 360px) and (max-width: 999px){
.work-item--featured{
    --pad-left:40px
}
  }
@media (max-width: 599px){
.work-item--featured{
    --height:400px
}
  }
@media (min-width: 600px){
.work-item--featured{
    --pad-top:40px
}
  }
@media (min-width: 600px) and (max-width: 759px){
.work-item--featured{
    --height:500px
}
  }
@media (min-width: 760px) and (max-width: 999px){
.work-item--featured{
    --pad-right:16px;
    --height:400px
}
  }
@media (min-width: 1000px){
.work-item--featured{
    --pad-right:20px;
    --pad-left:70px;
    --height:500px
}
  }
.work-item--blackberry{
  background-color:var(--bg-color-blackberry);
}
.work-item--cream{
  background-color:var(--bg-color-cream);
}
.work-item--grape{
  background-color:var(--bg-color-grape);
}
.work-item--peach{
  background-color:var(--bg-color-peach);
}
.work-item--blackberry,
.work-item--grape{
  color:var(--color-white);
}
.work-item__image{
  width:auto;
  border-top-left-radius:var(--radius-md);
}
@media (max-width: 599px){
    .work-item--mysunbuddy .work-item__image{
      max-width:400px;
    }

    .work-item--mcgraw-hill .work-item__image{
      max-width:520px;
    }

    .work-item--learnivore .work-item__image,
    .work-item--mammosphere .work-item__image,
    .work-item--nais .work-item__image{
      max-width:500px;
    }

    .work-item--collegevine .work-item__image{
      max-width:510px;
    }

    .work-item--flywheel .work-item__image{
      max-width:660px;
    }
  }
@media (min-width: 600px) and (max-width: 759px){
    .work-item--collegevine .work-item__image{
      max-width:680px;
    }

    .work-item--flywheel .work-item__image,
    .work-item--learnivore .work-item__image,
    .work-item--mammosphere .work-item__image,
    .work-item--mcgraw-hill .work-item__image,
    .work-item--mysunbuddy .work-item__image,
    .work-item--nais .work-item__image{
      max-width:700px;
    }
  }
@media (min-width: 760px) and (max-width: 999px){
    .work-item--collegevine .work-item__image,
    .work-item--flywheel .work-item__image,
    .work-item--learnivore .work-item__image,
    .work-item--mysunbuddy .work-item__image{
      max-width:420px;
    }

    .work-item--mammosphere .work-item__image,
    .work-item--mcgraw-hill .work-item__image,
    .work-item--nais .work-item__image{
      max-width:470px;
    }
  }
@media (min-width: 1000px){
    .work-item--mysunbuddy .work-item__image{
      max-width:520px;
    }

    .work-item--collegevine .work-item__image{
      max-width:540px;
    }

    .work-item--nais .work-item__image{
      max-width:610px;
    }

    .work-item--flywheel .work-item__image{
      max-width:620px;
    }

    .work-item--mcgraw-hill .work-item__image{
      max-width:650px;
    }

    .work-item--learnivore .work-item__image{
      max-width:690px;
    }

    .work-item--mammosphere .work-item__image{
      max-width:690px;
    }
  }
.work-item--scratch-wireless{
  padding:var(--space-2x-md);
  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-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
}
.work-item--scratch-wireless:hover{
    -webkit-box-shadow:none;
            box-shadow:none;
  }
@media (min-width: 760px){
.work-item--scratch-wireless{
    padding:var(--space-2x-lg)
}
  }
.work-item--callout{
  padding:var(--space-2x-md) var(--space-md) 0;
  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-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  text-align:center;
}
.work-item--callout:hover .btn{
      background-color:var(--bg-color-grape);
    }
.work-item__client-logo{
  max-width:100%;
  max-height:100%;
  position:relative;
}
.work-item__client-logo--apple{
    max-height:48px;
  }
.work-item__client-logo--cars-com,
  .work-item__client-logo--connexio,
  .work-item__client-logo--digilant,
  .work-item__client-logo--dollar-shave-club,
  .work-item__client-logo--drift,
  .work-item__client-logo--harvard,
  .work-item__client-logo--mariana,
  .work-item__client-logo--mbta,
  .work-item__client-logo--mcgraw-hill,
  .work-item__client-logo--openbay,
  .work-item__client-logo--sparta-science,
  .work-item__client-logo--spyce-food,
  .work-item__client-logo--zipcar{
    max-height:46px;
    top:3px;
  }
.work-item__client-logo--flywheel,
  .work-item__client-logo--ppf,
  .work-item__client-logo--society-of-grownups,
  .work-item__client-logo--workers-voice{
    max-height:50px;
    top:5px;
  }
@media (min-width: 760px) and (max-width: 999px){
.work-item__client-logo--constant-contact,
  .work-item__client-logo--learnivore,
  .work-item__client-logo--mysunbuddy,
  .work-item__client-logo--tapology{
      max-width:210px
  }
    }
@media (min-width: 1000px){
.work-item__client-logo--constant-contact,
  .work-item__client-logo--learnivore,
  .work-item__client-logo--mysunbuddy,
  .work-item__client-logo--tapology{
      max-width:240px
  }
    }
.cs{
  overflow:hidden;
}
.cs-block .t-new-body{
    margin-bottom:var(--space-md);
  }
.cs-section{
  --pad-vt:32px;
  padding-top:var(--pad-vt);
  padding-bottom:var(--pad-vt);
  width:100%;
  position:relative;
  z-index:var(--z-normal);
}
@media (min-width: 760px) and (max-width: 999px){
.cs-section{
    --pad-vt:52px
}
  }
@media (min-width: 1000px){
.cs-section{
    --pad-vt:84px
}
  }
@media (min-width: 2460px){
.cs-section--extra-bottom-padding{
    padding-bottom:calc(var(--pad-vt) * 2)
}
  }
.cs-section--bg-blackberry{
  background-color:var(--bg-color-blackberry);
}
.cs-section--bg-grape{
  background-color:var(--bg-color-grape);
}
.cs-section--bg-blackberry,
.cs-section--bg-grape{
  color:var(--color-white);
}
.cs-section--bg-cream{
  background-color:var(--bg-color-cream);
}
.cs-section--bg-lt-grey{
  background-color:var(--color-gray-97);
}
.cs-section--bg-peach{
  background-color:var(--bg-color-peach);
}
.cs-section--bg-blackberry-curve,
.cs-section--bg-blackberry-header-curve,
.cs-section--bg-blackberry-curve-flip,
.cs-section--bg-cream-curve,
.cs-section--bg-grape-curve,
.cs-section--bg-grape-curve-top,
.cs-section--bg-grape-curve-top-lt-grey-bottom,
.cs-section--bg-grape-grey-duo-curve,
.cs-section--bg-lt-grey-curve,
.cs-section--bg-lt-grey-curve-top,
.cs-section--bg-lt-grey-transparent-curve-top,
.cs-section--bg-lt-grey-curve-top-deep,
.cs-section--bg-peach-curve,
.cs-section--bg-white-curve-top,
.cs-section--bg-grape-top-grey-bottom-curve{
  position:relative;
}
.cs-section--bg-blackberry-curve::after, .cs-section--bg-blackberry-header-curve::after, .cs-section--bg-blackberry-curve-flip::after, .cs-section--bg-cream-curve::after, .cs-section--bg-grape-curve::after, .cs-section--bg-grape-curve-top::after, .cs-section--bg-grape-curve-top-lt-grey-bottom::after, .cs-section--bg-grape-grey-duo-curve::after, .cs-section--bg-lt-grey-curve::after, .cs-section--bg-lt-grey-curve-top::after, .cs-section--bg-lt-grey-transparent-curve-top::after, .cs-section--bg-lt-grey-curve-top-deep::after, .cs-section--bg-peach-curve::after, .cs-section--bg-white-curve-top::after, .cs-section--bg-grape-top-grey-bottom-curve::after{
    content:"";
    width:2560px;
    display:block;
    position:absolute;
    z-index:var(--z-minus);
    left:50%;
    -webkit-transform:translateX(-50%);
            transform:translateX(-50%);
    background-color:var(--color-white);
    background-repeat:no-repeat;
    background-position:center -3px;
  }
@media (min-width: 2500px){
.cs-section--bg-blackberry-curve::after, .cs-section--bg-blackberry-header-curve::after, .cs-section--bg-blackberry-curve-flip::after, .cs-section--bg-cream-curve::after, .cs-section--bg-grape-curve::after, .cs-section--bg-grape-curve-top::after, .cs-section--bg-grape-curve-top-lt-grey-bottom::after, .cs-section--bg-grape-grey-duo-curve::after, .cs-section--bg-lt-grey-curve::after, .cs-section--bg-lt-grey-curve-top::after, .cs-section--bg-lt-grey-transparent-curve-top::after, .cs-section--bg-lt-grey-curve-top-deep::after, .cs-section--bg-peach-curve::after, .cs-section--bg-white-curve-top::after, .cs-section--bg-grape-top-grey-bottom-curve::after{
      width:101vw
  }
    }
.cs-section--bg-blackberry-curve::after, .cs-section--bg-blackberry-curve-flip::after, .cs-section--bg-blackberry-header-curve::after, .cs-section--bg-cream-curve::after, .cs-section--bg-grape-curve::after, .cs-section--bg-grape-curve-top::after, .cs-section--bg-grape-curve-top-lt-grey-bottom::after, .cs-section--bg-grape-grey-duo-curve::after, .cs-section--bg-lt-grey-curve-top::after, .cs-section--bg-lt-grey-transparent-curve-top::after, .cs-section--bg-peach-curve::after, .cs-section--bg-white-curve-top::after{
    --height:300px;
    height:var(--height);
  }
@media (min-width: 2500px){
.cs-section--bg-blackberry-curve::after, .cs-section--bg-blackberry-curve-flip::after, .cs-section--bg-blackberry-header-curve::after, .cs-section--bg-cream-curve::after, .cs-section--bg-grape-curve::after, .cs-section--bg-grape-curve-top::after, .cs-section--bg-grape-curve-top-lt-grey-bottom::after, .cs-section--bg-grape-grey-duo-curve::after, .cs-section--bg-lt-grey-curve-top::after, .cs-section--bg-lt-grey-transparent-curve-top::after, .cs-section--bg-peach-curve::after, .cs-section--bg-white-curve-top::after{
      --height:470px
  }
    }
.cs-section--bg-lt-grey-curve::after, .cs-section--bg-lt-grey-curve-top-deep::after{
    --height:500px;
    height:var(--height);
  }
@media (min-width: 2500px){
.cs-section--bg-lt-grey-curve::after, .cs-section--bg-lt-grey-curve-top-deep::after{
      --height:780px
  }
    }
.cs-section--bg-cream-curve::after, .cs-section--bg-grape-curve::after, .cs-section--bg-grape-curve-top-lt-grey-bottom::after, .cs-section--bg-peach-curve::after, .cs-section--bg-blackberry-header-curve::after{
    --bottom:-150px;
    bottom:var(--bottom);
  }
@media (min-width: 2500px){
.cs-section--bg-cream-curve::after, .cs-section--bg-grape-curve::after, .cs-section--bg-grape-curve-top-lt-grey-bottom::after, .cs-section--bg-peach-curve::after, .cs-section--bg-blackberry-header-curve::after{
      --bottom:-250px
  }
    }
.cs-section--bg-cream-curve::after{
  background-image:url("https://assets.dockyard.com/images/case_shape_header-cream.svg?v=2");
}
.cs-section--bg-grape-curve::after{
  background-image:url("https://assets.dockyard.com/images/case_shape_header-grape.svg?v=3");
}
.cs-section--bg-peach-curve::after{
  background-image:url("https://assets.dockyard.com/images/case_shape_header-peach.svg?v=2");
}
.cs-section--bg-blackberry-header-curve::after{
  background-image:url("https://assets.dockyard.com/images/case_shape_header-blackberry.svg?v=2");
}
.cs-section--bg-blackberry-curve::after{
  background-color:transparent;
  background-image:url("https://assets.dockyard.com/images/case_shape_section-top-blackberry.svg?v=3");
}
.cs-section--bg-blackberry-curve-flip::after{
  background-color:transparent;
  background-image:url("https://assets.dockyard.com/images/case_shape_section-top-blackberry-h-flip.svg?v=2");
}
.cs-section--bg-lt-grey-transparent-curve-top::after{
  background-color:transparent;
  background-image:url("https://assets.dockyard.com/images/case_shape_section-top-lt-grey-4.svg");
}
.cs-section--bg-lt-grey-curve-top::after{
  --top:-50px;
  top:var(--top);
  background-color:transparent;
  background-image:url("https://assets.dockyard.com/images/case_shape_section-top-lt-grey-bottom-white.svg?v=2");
}
@media (min-width: 1000px){
.cs-section--bg-lt-grey-curve-top::after{
    --top:-90px
}

    .cs--mcgraw-hill .cs-section--bg-lt-grey-curve-top::after{
      --top:-200px;
    }
  }
.cs-section--bg-blackberry-curve::after, .cs-section--bg-blackberry-curve-flip::after, .cs-section--bg-lt-grey-transparent-curve-top::after{
    --top:-120px;
    top:var(--top);
    background-position:top;
  }
@media (min-width: 640px) and (max-width: 2459px){
.cs-section--bg-blackberry-curve::after, .cs-section--bg-blackberry-curve-flip::after, .cs-section--bg-lt-grey-transparent-curve-top::after{
      --top:-150px
  }
    }
@media (min-width: 2460px) and (max-width: 3599px){
.cs-section--bg-blackberry-curve::after, .cs-section--bg-blackberry-curve-flip::after, .cs-section--bg-lt-grey-transparent-curve-top::after{
      --top:-220px
  }
    }
@media (min-width: 3600px){
.cs-section--bg-blackberry-curve::after, .cs-section--bg-blackberry-curve-flip::after, .cs-section--bg-lt-grey-transparent-curve-top::after{
      --top:-240px
  }
    }
.cs-section--bg-grape-curve-top::after{
  --top:-128px;
  top:var(--top);
  background:url("https://assets.dockyard.com/images/case_shape_section-top-grape.svg?v=2");
}
@media (min-width: 500px){
.cs-section--bg-grape-curve-top::after{
    --top:-140px
}
  }
@media (min-width: 2500px){
.cs-section--bg-grape-curve-top::after{
    --top:-220px
}
  }
.cs-section--bg-grape-curve-top-lt-grey-bottom::after{
  bottom:-120px;
  background-image:url("https://assets.dockyard.com/images/case_shape_header-grape-lt-grey-bottom.svg");
}
.cs-section--bg-grape-grey-duo-curve::after{
  background-image:url("https://assets.dockyard.com/images/case_shape_header-grape-lt-grey-bottom-2.svg");
}
.cs-section--bg-white-curve-top::after{
  top:-20px;
  background-image:url("https://assets.dockyard.com/images/case_shape_section-top-white-bottom-lt-grey.svg?v=2");
}
.cs-section--bg-lt-grey-curve::after{
  --top:-50px;
  top:var(--top);
  background-image:url("https://assets.dockyard.com/images/case_shape_section-top-lt-grey-2.svg");
}
.cs--collegevine .cs-section--bg-lt-grey-curve::after,
  .cs--learnivore .cs-section--bg-lt-grey-curve::after{
    --top:-150px;
    background-color:transparent;
    background-position:top;
  }
.cs--mcgraw-hill .cs-section--bg-lt-grey-curve::after{
    background-color:transparent;
  }
.cs-section--bg-lt-grey-curve-top-deep::after{
  --top:-280px;
  top:var(--top);
  background:transparent url("https://assets.dockyard.com/images/case_shape_section-top-lt-grey-deep.svg?v=2");
}
@media (max-width: 759px){
.cs-section--bg-lt-grey-curve-top-deep::after{
    display:none
}
  }
@media (min-width: 760px){
.cs-section--bg-lt-grey-curve-top-deep::after{
    display:block
}
  }
@media (min-width: 2500px){
.cs-section--bg-lt-grey-curve-top-deep::after{
    --top:-400px
}
  }
.cs-section--bg-grape-top-grey-bottom-curve::after{
  --width:200vw;
  --height:350px;
  --top:-40px;
  --left:20%;
  width:var(--width);
  height:var(--height);
  top:var(--top);
  left:var(--left);
  background-color:transparent;
  background-image:url("https://assets.dockyard.com/images/case_shape_header-grape-below.svg");
}
@media (min-width: 1000px){
.cs-section--bg-grape-top-grey-bottom-curve::after{
    --width:150vw;
    --top:-100px;
    --left:50%
}
  }
@media (min-width: 2560px){
.cs-section--bg-grape-top-grey-bottom-curve::after{
    --height:540px
}
  }
.cs-heading{
  margin-bottom:var(--space-md);
}
.cs-step-heading{
  margin-bottom:var(--space-md);
}
.cs-step-heading__number{
  margin-right:var(--space-sm);
  display:inline-block;
}
.cs-step-heading__number--on-default,
.cs-step-heading__number--on-lt-grey{
  color:var(--color-gray-45);
}
.cs-step-heading__number--on-blackberry,
.cs-step-heading__number--on-grape{
  color:var(--color-white);
}
.cs-blockquote{
  --margin-hz:-24px;
  margin-right:var(--margin-hz);
  margin-left:var(--margin-hz);
  padding:var(--space-2x-md) var(--space-2x-sm);
  max-width:var(--width-md);
  border-radius:var(--radius-lg);
}
@media (min-width: 760px){
.cs-blockquote{
    --margin-hz:auto
}
  }
.cs-blockquote--on-blackberry{
  background-color:var(--bg-color-blackberry);
}
.cs-blockquote--on-cream{
  background-color:var(--bg-color-cream);
}
.cs-blockquote--on-grape{
  background-color:var(--bg-color-grape);
}
.cs-blockquote--on-blackberry,
.cs-blockquote--on-grape{
  color:var(--color-white);
}
.cs-citation{
  margin-top:var(--space-md);
  display:block;
}
.cs-citation__company,
.cs-citation__name{
  display:block;
}
.cs-figure{
  --margin-vt:40px;
  margin-top:var(--margin-vt);
  margin-bottom:var(--margin-vt);
}
@media (min-width: 760px){
.cs-figure{
    --margin-vt:64px
}
  }
.cs-figure__caption{
  padding-top:var(--space-2x-md);
  max-width:360px;
}
.cs-figure__image{
  --max-width:100%;
  margin-right:auto;
  margin-left:auto;
  max-width:var(--max-width);
  display:block;
}
@media (min-width: 1060px){
.cs-figure__image{
    --max-width:var(--width-md-10-col)
}
  }
.cs-figure__image--bordered{
  border:var(--border-width-xs) solid var(--color-gray-90);
}
.cs-figure__image--round{
  border-radius:var(--radius-md);
}
.cs-figure--bg-round{
  border-radius:var(--radius-md);
}
.cs-figure--bg-lt-grey{
  --pad:20px 24px;
  --max-width:100%;
  margin-right:auto;
  margin-left:auto;
  padding:var(--pad);
  max-width:var(--max-width);
  background-color:var(--color-gray-70);
}
@media (min-width: 760px){
.cs-figure--bg-lt-grey{
    --pad:40px 32px
}
  }
@media (min-width: 1060px){
.cs-figure--bg-lt-grey{
    --max-width:1000px
}
  }
.cs-figure--cover{
  margin-top:var(--space-2x-md);
}
.cs-separator{
  width:100%;
  display:block;
}
.cs-separator--rule{
  --margin-top:32px;
  --margin-bottom:20px;
  margin-top:var(--margin-top);
  margin-bottom:var(--margin-bottom);
  max-width:var(--width-md-10-col);
  color:var(--brand-color-gray-blue-dark);
  border-width:.5px;
  border-style:solid;
}
@media (min-width: 760px) and (max-width: 1179px){
.cs-separator--rule{
    --margin-top:52px;
    --margin-bottom:32px
}
  }
@media (min-width: 1180px){
.cs-separator--rule{
    --margin-top:64px;
    --margin-bottom:40px
}
  }
.cs--ash .cs-heading{
    --max-width:400px;
    max-width:var(--max-width);
  }
@media (min-width: 760px) and (max-width: 1179px){
.cs--ash .cs-heading{
      --max-width:500px
  }
    }
@media (min-width: 1180px){
.cs--ash .cs-heading{
      --max-width:600px
  }
    }
.cs--collegevine .cs-blockquote{
    --top:-64px;
    position:relative;
    top:var(--top);
  }
@media (min-width: 760px) and (max-width: 1179px){
.cs--collegevine .cs-blockquote{
      --top:-84px
  }
    }
@media (min-width: 1180px){
.cs--collegevine .cs-blockquote{
      --top:-104px
  }
    }
.cs--flywheel .cs-stack--high{
    position:relative;
    z-index:var(--z-plus);
  }
@media (min-width: 1000px){
.cs--flywheel .cs-stack--high{
      padding-bottom:var(--space-md)
  }
    }
.cs--flywheel .cs-blockquote{
    --margin-bottom:40px;
    margin-bottom:var(--margin-bottom);
  }
@media (min-width: 760px){
.cs--flywheel .cs-blockquote{
      --margin-bottom:0
  }
    }
.cs--flywheel .cs-figure__caption p > span, .cs--learnivore .cs-figure__caption p > span, .cs--mcgraw-hill .cs-figure__caption p > span{
      font-weight:var(--font-weight-semibold);
    }
.cs--learnivore .cs-blockquote{
    --margin-top:20px;
    --margin-bottom:64px;
    margin-top:var(--margin-top);
    margin-bottom:var(--margin-bottom);
  }
@media (min-width: 760px){
.cs--learnivore .cs-blockquote{
      --margin-top:40px;
      --margin-bottom:84px
  }
    }
.cs--mcgraw-hill .cs-heading{
    --max-width:300px;
    max-width:var(--max-width);
  }
@media (min-width: 760px){
.cs--mcgraw-hill .cs-heading{
      --max-width:500px
  }
    }
.cs--mcgraw-hill .cs-stack--high{
    position:relative;
    z-index:var(--z-plus);
  }
@media (min-width: 1000px){
.cs--mcgraw-hill .cs-stack--high{
      padding-bottom:var(--space-md)
  }
    }
.cs--mcgraw-hill .cs-blockquote{
    --margin-top:40px;
    --margin-bottom:40px;
    margin-top:var(--margin-top);
    margin-bottom:var(--margin-bottom);
  }
@media (min-width: 760px){
.cs--mcgraw-hill .cs-blockquote{
      --margin-bottom:0
  }
    }
.cs--my-sun-buddy .cs-blockquote{
    --top:-40px;
    position:relative;
    top:var(--top);
  }
@media (min-width: 760px) and (max-width: 1239px){
.cs--my-sun-buddy .cs-blockquote{
      --top:-64px
  }
    }
@media (min-width: 1240px){
.cs--my-sun-buddy .cs-blockquote{
      --top:-84px
  }
    }
.cs-section--pleroma-7{
  padding-top:0;
  padding-bottom:150px;
}
@media (min-width: 2460px){
.cs-section--pleroma-7{
    padding-bottom:250px
}
  }
.job-category{
  padding-top:var(--space-2x-md);
  padding-bottom:0;
  z-index:var(--z-plus);
}
@media (max-width: 759px){
.job-category{
    grid-template-areas:"title" "jobs"
}
  }
@media (min-width: 760px){
.job-category{
    grid-template-columns:[left-edge] minmax(25%, 280px) [center] minmax(50%, 580px) [right-edge];
    grid-template-areas:"title jobs";
    -webkit-column-gap:var(--space-md);
       -moz-column-gap:var(--space-md);
            column-gap:var(--space-md)
}
  }
.job-category__jobs{
  grid-area:jobs;
}
@media (max-width: 759px){
.job-category__jobs{
    padding-right:0
}
  }
@media (min-width: 760px) and (max-width: 999px){
.job-category__jobs{
    padding-right:var(--space-2x-md)
}
  }
.job-category__title{
  --margin-top:0;
  margin-top:var(--margin-top);
  grid-area:title;
}
@media (min-width: 760px) and (max-width: 999px){
.job-category__title{
    --margin-top:11px
}
  }
@media (min-width: 1000px){
.job-category__title{
    --margin-top:14px
}
  }
@media (max-width: 759px){
.job-listing{
    row-gap:0
}
  }
.job-meta{
  margin-bottom:var(--space-sm);
  display:none;
}
.job-meta__description{
  margin-right:auto;
  width:calc(100% - 120px);
}
.job-meta__term{
  margin-right:var(--space-md);
  width:100px;
}
.job-tile{
  margin-bottom:70px;
  position:relative;
}
.job-tile:hover{
    color:var(--brand-color-grape);
  }
.job-tile::after{
    margin-top:var(--space-2x-md);
  }
.job-tile__link:focus{
    outline:none;
  }
.job-tile__link::after{
    content:"";
    position:absolute;
    z-index:var(--z-plus);
    top:0;
    right:0;
    bottom:0;
    left:0;
  }
.job-tile__title{
  margin-bottom:var(--space-md);
}
.job-title{
  margin-top:var(--space-lg);
  margin-bottom:var(--space-lg);
}
.culture-wrap{
  margin-right:auto;
  margin-left:auto;
  width:auto;
  -webkit-box-sizing:content-box;
          box-sizing:content-box;
  position:relative;
  z-index:var(--z-plus);
}
.culture-grid{
  --column-gap:20px;
  --row-gap:60px;
  display:grid;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  row-gap:var(--row-gap);
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (max-width: 759px){
.culture-grid{
    grid-template-columns:100%;
    grid-template-areas:"figure"
      "content"
}
  }
@media (min-width: 760px){
.culture-grid{
    grid-template-areas:"content figure"
}
  }
@media (min-width: 1240px){
.culture-grid{
    --column-gap:110px
}
  }
@media (min-width: 760px){
.culture-grid--flipped{
    grid-template-areas:"figure content"
}
  }
.culture-grid--working-together,
.culture-grid--remote-connected{
  --column-gap:0;
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (min-width: 760px) and (max-width: 999px){
.culture-grid--working-together,
.culture-grid--remote-connected{
    grid-template-columns:1fr 1fr
}
  }
@media (min-width: 1000px){
.culture-grid--working-together{
    --column-gap:110px;
    max-width:var(--width-md-10-col);
    grid-template-columns:50% 1fr
}
  }
@media (min-width: 1000px){
.culture-grid--remote-connected{
    --column-gap:110px;
    max-width:var(--width-md-10-col);
    grid-template-columns:1fr 50%
}
  }
@media (min-width: 760px) and (max-width: 999px){
.culture-grid--distributed-team,
.culture-grid--learn-mentor{
    grid-template-columns:1fr 1fr
}
  }
@media (min-width: 1000px){
.culture-grid--distributed-team,
.culture-grid--learn-mentor{
    --column-gap:110px;
    max-width:var(--width-md-10-col);
    grid-template-columns:50% 1fr
}
  }
@media (min-width: 760px) and (max-width: 999px){
.culture-grid--creating{
    grid-template-columns:5fr 7fr
}
  }
@media (min-width: 1000px){
.culture-grid--creating{
    --column-gap:70px;
    max-width:var(--width-md-10-col);
    grid-template-columns:4fr 7fr
}
  }
.culture-content{
  grid-area:content;
}
.culture-figure{
  grid-area:figure;
}
.culture-content--working-together,
.culture-content--distributed-team,
.culture-figure--distributed-team,
.culture-content--creating,
.culture-figure--creating,
.culture-content--learn-mentor,
.culture-figure--learn-mentor,
.culture-content--remote-connected{
  --pad-right:24px;
  --pad-left:24px;
  padding-right:var(--pad-right);
  padding-left:var(--pad-left);
}
@media (min-width: 760px){
.culture-content--working-together{
    --pad-left:10px
}
  }
@media (min-width: 1000px){
.culture-content--working-together{
    --pad-right:0;
    --pad-left:0
}
  }
.culture-figure--working-together{
  --pad-right:0;
  padding-right:var(--pad-right);
}
@media (min-width: 760px) and (max-width: 999px){
.culture-figure--working-together{
    --pad-right:52px
}
  }
@media (min-width: 1000px){
.culture-figure--working-together{
    --pad-right:10px
}
  }
@media (min-width: 760px){
.culture-content--distributed-team,
.culture-content--learn-mentor{
    --pad-left:0
}
  }
@media (min-width: 760px){
.culture-figure--distributed-team,
.culture-figure--learn-mentor{
    --pad-right:0;
    --pad-left:0
}
  }
@media (min-width: 760px){
.culture-content--creating{
    --pad-right:0
}
  }
@media (min-width: 1000px) and (max-width: 1039px){
.culture-content--creating{
    --pad-left:10px
}
  }
@media (min-width: 1040px){
.culture-content--creating{
    --pad-left:0
}
  }
@media (min-width: 760px){
.culture-figure--creating{
    --pad-left:0
}
  }
@media (min-width: 760px){
.culture-content--remote-connected{
    --pad-right:80px
}
  }
@media (min-width: 1000px) and (max-width: 1039px){
.culture-content--remote-connected{
    --pad-left:10px
}
  }
@media (min-width: 1000px){
.culture-content--remote-connected{
    --pad-right:0
}
  }
@media (min-width: 1040px){
.culture-content--remote-connected{
    --pad-left:0
}
  }
.culture-figure--remote-connected{
  --pad-left:0;
  padding-left:var(--pad-left);
}
@media (min-width: 760px) and (max-width: 999px){
.culture-figure--remote-connected{
    --pad-left:10px
}
  }
@media (min-width: 1000px){
.culture-figure--remote-connected{
    --pad-left:10px
}
  }
.culture-col2__content{
  grid-area:content;
}
.culture-col2__figure{
  grid-area:figure;
}
@media (max-width: 759px){
    .culture-col2__figure:not(.culture-col2__figure--svg){
      margin-right:-24px;
      margin-left:-24px;
    }
  }
@media (min-width: 760px) and (max-width: 1239px){
.culture-col2__figure--retreats{
    margin-right:-24px;
    padding-left:var(--space-3x-md)
}
  }
@media (max-width: 759px){
.culture-col2__heading{
    margin-bottom:var(--space-2x-md)
}
  }
@media (min-width: 760px){
.culture-col2__heading{
    margin-bottom:var(--space-2x-md)
}
  }
@media (max-width: 1239px){
.culture-col3__heading{
    margin-bottom:var(--space-md)
}
  }
@media (min-width: 1240px){
.culture-col3__heading{
    margin-bottom:var(--space-2x-md)
}
  }
.culture-image-grid{
  --pad-top:20px;
  --pad-right:24px;
  --pad-bottom:70px;
  --pad-left:24px;
  --row-gap:10px;
  --column-gap:10px;
  margin-right:auto;
  margin-left:auto;
  padding-top:var(--pad-top);
  padding-right:var(--pad-right);
  padding-bottom:var(--pad-bottom);
  padding-left:var(--pad-left);
  max-width:var(--width-content-max);
  display:grid;
  row-gap:var(--row-gap);
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (max-width: 759px){
.culture-image-grid{
    grid-template-columns:1fr 1fr;
    grid-template-areas:"image1 image1"
      "image2 image3"
      "image4 image4"
}
  }
@media (min-width: 760px){
.culture-image-grid{
    --row-gap:20px;
    --column-gap:20px;
    grid-template-columns:3fr 2fr 3fr 4fr;
    grid-template-areas:"image1 image1 image2 image5"
      "image3 image4 image4 image5"
}
  }
@media (max-width: 999px){
.culture-image-grid{
    --pad-right:24px;
    --pad-left:24px
}
  }
@media (min-width: 1000px){
.culture-image-grid{
    --pad-right:30px;
    --pad-left:30px
}
  }
@media (min-width: 760px){
.culture-image-grid{
    --pad-top:40px
}
  }
@media (min-width: 760px){
.culture-image-grid{
    --pad-bottom:90px
}
  }
.culture-image-grid__col:nth-child(1){
    grid-area:image1;
  }
.culture-image-grid__col:nth-child(2){
    grid-area:image2;
  }
.culture-image-grid__col:nth-child(3){
    grid-area:image3;
  }
.culture-image-grid__col:nth-child(4){
    grid-area:image4;
  }
.culture-image-grid__col:nth-child(5){
    grid-area:image5;
  }
@media (max-width: 759px){
.culture-image-grid__col:nth-child(5){
      display:none
  }
    }
@media (min-width: 760px){
.culture-image-grid__col:nth-child(5){
      display:block
  }
    }
.culture-image--diversity,
.culture-image--mentor,
.culture-image--remote{
  --width:200px;
  --max-width:100%;
  width:var(--width);
  max-width:var(--max-width);
  position:relative;
}
@media (min-width: 760px) and (max-width: 999px){
.culture-image--diversity,
.culture-image--mentor,
.culture-image--remote{
    --width:110%
}
  }
@media (min-width: 1000px){
.culture-image--diversity,
.culture-image--mentor,
.culture-image--remote{
    --width:125%
}
  }
.culture-image--remote,
.culture-image--mentor{
  --right:0;
  right:var(--right);
}
@media (min-width: 760px) and (max-width: 999px){
.culture-image--remote,
.culture-image--mentor{
    --right:20px
}
  }
@media (min-width: 1000px){
.culture-image--remote,
.culture-image--mentor{
    --right:70px;
    --max-width:600px
}
  }
.culture-image--diversity{
  --left:0;
  left:var(--left);
}
@media (min-width: 760px) and (max-width: 999px){
.culture-image--diversity{
    --max-width:600px;
    --left:10px
}
  }
@media (min-width: 1000px){
.culture-image--diversity{
    --max-width:700px;
    --left:10px
}
  }
@media (max-width: 759px){
.culture-image--biking,
.culture-image--ux-camp{
    margin-right:auto;
    margin-left:auto;
    max-width:375px
}
  }
.team-hero{
  padding-bottom:0;
}
@media (max-width: 759px){
.team-hero{
    padding-top:var(--space-sm)
}
  }
@media (min-width: 760px){
.team-hero{
    grid-template-columns:[left-edge] auto [center] minmax(50%, 735px) [right-edge]
}
  }
.team-hero::after{
    --height:160px;
    --bottom:-160px;
    --bkgd-size:1440px;
    height:var(--height);
    z-index:var(--z-minus);
    bottom:var(--bottom);
    left:0;
    background-color:var(--color-white);
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-team.svg");
    background-position:center -2px;
    background-size:var(--bkgd-size);
  }
@media (min-width: 760px) and (max-width: 1239px){
.team-hero::after{
      --height:160px;
      --bottom:-160px
  }
    }
@media (min-width: 1240px) and (max-width: 2559px){
.team-hero::after{
      --height:275px;
      --bottom:-180px;
      --bkgd-size:2560px
  }
    }
@media (min-width: 2560px){
.team-hero::after{
      --height:430px;
      --bottom:-280px;
      --bkgd-size:4000px
  }
    }
.employees{
  --max-width:325px;
  margin-right:auto;
  margin-left:auto;
  max-width:var(--max-width);
  display:grid;
  row-gap:var(--space-2x-md);
  -webkit-column-gap:var(--space-md);
     -moz-column-gap:var(--space-md);
          column-gap:var(--space-md);
}
@media (max-width: 999px){
.employees{
    padding-top:var(--space-2x-md)
}
  }
@media (min-width: 550px) and (max-width: 1099px){
.employees{
    --max-width:780px;
    grid-template-columns:[left-gutter] 1fr [center] 1fr [right-edge]
}
  }
@media (min-width: 1100px){
.employees{
    --max-width:100%;
    grid-template-columns:[left-gutter] 1fr [left-inner-gutter] 1fr [right-inner-gutter] 1fr [right-gutter]
}
  }
.employee{
  padding-bottom:var(--space-md);
  position:relative;
  text-align:center;
  -webkit-transition:color var(--transition-duration-base) linear;
  transition:color var(--transition-duration-base) linear;
}
.employee__image{
  margin-bottom:var(--space-sm);
  width:100%;
}
.employee__name,
.employee__position{
  margin-bottom:var(--space-xxs);
}
.employee__location::before{
    content:"";
    margin-right:8px;
    width:14px;
    height:20px;
    display:inline-block;
    position:relative;
    top:3px;
    background-image:url("https://assets.dockyard.com/images/icon-pin-dark.svg");
    background-repeat:no-repeat;
    background-position:center top;
    background-size:100%;
    -webkit-transition:background-image var(--transition-duration-base) linear;
    transition:background-image var(--transition-duration-base) linear;
  }
.employee__author-link::before{
    content:"";
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    bottom:0;
    left:0;
    border-radius:var(--radius-md);
    -webkit-transition:border-color var(--transition-duration-base) linear;
    transition:border-color var(--transition-duration-base) linear;
  }
.employee__author-link:focus{
    outline:none;
  }
.employee__author-link:focus::before{
      -webkit-box-shadow:var(--shadow-focus-double-grape);
              box-shadow:var(--shadow-focus-double-grape);
    }
.employee__author-link:hover{
    color:var(--brand-color-grape);
  }
.employee__author-link:hover .employee__location::before{
        background-image:url("https://assets.dockyard.com/images/icon-pin-grape.svg");
      }
.capabilities{
  --bkgd-size:2800px;
  background-image:url("https://assets.dockyard.com/images/hero-bg-shape-capabilities-bottom.svg");
  background-repeat:no-repeat;
  background-position:center 101%;
  background-size:var(--bkgd-size);
}
@media (min-width: 2560px){
.capabilities{
    --bkgd-size:101vw
}
  }
.capabilities--pwa{
  background-image:url("https://assets.dockyard.com/images/capabilities-side-bg-shape.svg"),
    url("https://assets.dockyard.com/images/hero-bg-shape-capabilities-bottom.svg");
  background-position:center center, center 101%;
}
.capabilities-grid{
  --column-gap:20px;
  --row-gap:60px;
  display:grid;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (max-width: 759px){
.capabilities-grid{
    grid-template-columns:[left-edge] 100% [right-edge];
    grid-template-areas:"figure" "content";
    row-gap:var(--row-gap)
}
  }
@media (min-width: 760px){
.capabilities-grid{
    grid-template-columns:[left-edge] 1fr [center] 1fr [right-edge];
    grid-template-areas:"content figure"
}
  }
@media (min-width: 760px){
.capabilities-grid--flipped{
    grid-template-areas:"figure content"
}
  }
@media (min-width: 760px){
.capabilities-grid--advanced-pwa,
.capabilities-grid--save-effort,
.capabilities-grid--pwa-action{
    grid-template-columns:[left-edge] 6fr [center] 4fr [right-edge]
}
  }
@media (min-width: 760px) and (max-width: 999px){
.capabilities-grid--clients{
    grid-template-columns:[left-edge] 3fr [center] 5fr [right-edge]
}
  }
@media (min-width: 1000px){
.capabilities-grid--clients{
    grid-template-columns:[left-edge] 4fr [center] 6fr [right-edge]
}
  }
.capabilities__content{
  grid-area:content;
  -ms-flex-item-align:start;
      align-self:start;
}
@media (min-width: 760px){
.capabilities__content{
    max-width:480px
}
  }
.capabilities__figure{
  grid-area:figure;
  -ms-flex-item-align:start;
      align-self:start;
}
@media (max-width: 759px){
.capabilities__figure{
    margin-right:-24px;
    margin-left:-24px
}
  }
@media (min-width: 760px){
.capabilities__figure{
    margin-left:auto
}
  }
.capabilities-icon-list__header{
  margin-right:auto;
  margin-left:auto;
  max-width:775px;
  text-align:center;
}
.capabilities-icon-list__heading{
  margin-bottom:var(--space-lg);
}
.capabilities-icon-list__item-image-box{
  max-width:200px;
  min-height:150px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:start;
      -ms-flex-pack:start;
          justify-content:flex-start;
}
@media (min-width: 760px){
.capabilities-icon-list__item-image-box{
    margin-right:auto;
    margin-left:auto;
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center
}
  }
.capabilities-icon-list__item-image{
  margin-bottom:var(--space-lg);
  width:180px;
}
.capabilities-icon-list__item-heading{
  margin-bottom:var(--space-xxs);
}
.capabilities-icon-list__items{
  --margin-top:20px;
  --column-gap:140px;
  --row-gap:60px;
  margin-top:var(--margin-top);
  margin-right:auto;
  margin-left:auto;
  display:grid;
  row-gap:var(--row-gap);
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (min-width: 760px){
.capabilities-icon-list__items{
    --margin-top:84px
}
  }
@media (min-width: 760px) and (max-width: 1239px){
.capabilities-icon-list__items{
    --row-gap:80px;
    --column-gap:140px;
    grid-template-columns:repeat(2, 260px);
    -webkit-box-pack:center;
        -ms-flex-pack:center;
            justify-content:center
}
  }
@media (min-width: 1240px){
.capabilities-icon-list__items{
    --column-gap:20px;
    grid-template-columns:repeat(4, 1fr)
}
  }
@media (min-width: 760px){
.capabilities__figure--narwix,
.capabilities__figure--ember{
    margin-left:0
}
  }
.capabilities__figure--elixir,
.capabilities__figure--ember{
  --pad-right:0;
  padding-right:var(--pad-right);
}
@media (min-width: 760px) and (max-width: 999px){
.capabilities__figure--elixir,
.capabilities__figure--ember{
    --pad-right:40px
}
  }
@media (min-width: 1000px){
.capabilities__figure--elixir,
.capabilities__figure--ember{
    --pad-right:60px
}
  }
.capabilities-issue-lists{
  --column-gap:20px;
  --row-gap:40px;
  display:grid;
  grid-row-gap:var(--row-gap);
}
@media (max-width: 759px){
.capabilities-issue-lists{
    grid-template-columns:[left-gutter] auto [right-gutter]
}
  }
@media (min-width: 760px){
.capabilities-issue-lists{
    --row-gap:60px;
    grid-template-columns:[left-gutter] repeat(2, auto) [right-gutter];
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between
}
  }
.capabilities-issue-lists__heading{
  grid-column:left-gutter / right-gutter;
  text-align:center;
}
.capabilities-issue-lists__issue{
  max-width:385px;
}
.capabilities-issue-lists__issue-image{
  margin-bottom:var(--space-md);
  width:300px;
}
@media (min-width: 760px){
.capabilities-issue-lists__issue-image{
    margin-right:auto;
    margin-left:auto
}
  }
.capabilities-issue-lists__issue-heading{
  margin-bottom:var(--space-lg);
}
.capabilities-basic{
  text-align:center;
}
.capabilities-basic__heading{
  margin-bottom:var(--space-lg);
}
.capabilities__figure--pwa-bridge{
  margin-right:0;
  margin-left:0;
}
@media (min-width: 760px) and (max-width: 999px){
.capabilities__figure--pwa-bridge{
    padding-right:40px
}
  }
@media (min-width: 1000px){
.capabilities__figure--pwa-bridge{
    padding-right:60px
}
  }
.capabilities__figure--high-tide{
  margin-right:auto;
  margin-left:auto;
}
@media (min-width: 760px) and (max-width: 999px){
.capabilities__content--why-dy{
    padding-right:40px;
    padding-left:30px
}
  }
.capabilities__figure--clients{
  margin-left:0;
}
.capabilities-client{
  margin-bottom:var(--space-2x-md);
}
.capabilities-client:last-of-type{
    margin-bottom:0;
  }
.capabilities__title{
  margin-bottom:var(--space-lg);
}
.capabilities__list-title{
  margin-bottom:var(--space-md);
}
.capabilities__body{
  margin-top:var(--space-sm);
}
.capabilities__list{
  margin-bottom:var(--space-3x-md);
}
.capabilities__list.list{
    margin-top:var(--space-2x-md);
  }
.capabilities__list:last-child{
    margin-bottom:0;
  }
@media (max-width: 759px){
.capabilities__image{
    margin-right:auto;
    margin-left:auto
}
  }
.capabilities__image--narwix,
.capabilities__image--narster,
.capabilities__image--service-wheel{
  width:405px;
}
@media (max-width: 759px){
.capabilities__image--pwa-bridge{
    margin-left:0;
    width:300px
}
  }
@media (min-width: 760px){
.capabilities__image--pwa-bridge{
    width:575px
}
  }
.capabilities__image--high-tide{
  width:250px;
}
.capabilities-client__logo{
  margin-right:auto;
  margin-left:auto;
}
.capabilities-client__logo--apple{
  width:45px;
}
.capabilities-client__logo--fidelity{
  width:154px;
}
.capabilities-client__logo--mcgraw-hill{
  width:50px;
}
.capabilities-client__logo--nasdaq{
  width:144px;
}
.capabilities-client__logo--netflix{
  width:131px;
}
.blockquote--capabilities{
  margin-bottom:var(--space-sm);
}
.newsletter-page{
  --pad-top:0;
  --height:40px;
  --bkgd-position:center -90px;
  padding-top:var(--pad-top);
  position:relative;
}
.newsletter-page::before{
    content:"";
    height:var(--height);
    position:absolute;
    z-index:var(--z-minus);
    top:0;
    right:0;
    left:0;
    background-color:var(--brand-color-cream);
    background-image:url("https://assets.dockyard.com/images/hero-bg-shape-newsletter.svg");
    background-repeat:no-repeat;
    background-position:var(--bkgd-position);
    background-size:2560px;
  }
@media (min-width: 760px){
.newsletter-page::before{
      --height:90px;
      --bkgd-position:center -70px
  }
    }
@media (min-width: 760px){
.newsletter-page{
    --pad-top:60px
}
  }
.newsletter{
  margin-right:auto;
  margin-left:auto;
  padding-right:20px;
  padding-bottom:0;
  padding-left:20px;
  width:100%;
  max-width:var(--width-content-max);
  display:grid;
  row-gap:40px;
  -webkit-column-gap:20px;
     -moz-column-gap:20px;
          column-gap:20px;
}
@media (max-width: 759px){
.newsletter{
    padding-top:80px;
    grid-template-areas:"figure"
      "text"
}
  }
@media (min-width: 760px){
.newsletter{
    grid-template-columns:repeat(12, 1fr)
}
  }
@media (min-width: 760px) and (max-width: 1239px){
.newsletter{
    padding-top:40px;
    grid-template-areas:"figure figure figure figure figure . text text text text text text"
}
  }
@media (min-width: 1240px){
.newsletter{
    padding-top:100px;
    grid-template-areas:"figure figure figure figure . text text text text text text ."
}
  }
.newsletter__figure{
  grid-area:figure;
}
.newsletter__image{
  --margin-hz:0;
  --width:180px;
  --max-width:100%;
  margin-right:var(--margin-hz);
  margin-left:var(--margin-hz);
  width:var(--width);
  max-width:var(--max-width);
}
@media (min-width: 760px){
.newsletter__image{
    --margin-hz:auto;
    --width:440px
}
  }
@media (min-width: 760px) and (max-width: 1139px){
.newsletter__image{
    --max-width:110%
}
  }
@media (min-width: 1240px){
.newsletter__image{
    --max-width:50vw
}
  }
.newsletter__content{
  grid-area:text;
}
.newsletter__heading{
  margin-bottom:var(--space-md);
}
.newsletter-form{
  --margin-vt:40px;
  margin-top:var(--margin-vt);
  margin-bottom:var(--margin-vt);
  display:grid;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  row-gap:20px;
  -webkit-column-gap:20px;
     -moz-column-gap:20px;
          column-gap:20px;
}
@media (min-width: 760px){
.newsletter-form{
    --margin-vt:60px
}
  }
@media (max-width: 999px){
.newsletter-form{
    grid-template-columns:100%;
    grid-template-areas:"email"
      "footnote"
      "submit"
}
  }
@media (min-width: 1000px){
.newsletter-form{
    grid-template-columns:1fr auto;
    grid-template-areas:"email    submit"
      "footnote footnote"
}
  }
.newsletter-form__email{
  grid-area:email;
}
.newsletter-form__footnote{
  padding:0 15px;
  grid-area:footnote;
}
.newsletter-form__submit{
  grid-area:submit;
}
.newsletter-socials{
  margin-top:var(--space-2x-md);
}
@media (min-width: 1000px){
.newsletter-socials{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:center;
        -ms-flex-align:center;
            align-items:center
}
  }
.newsletter-socials__prompt{
  margin-right:10px;
}
@media (max-width: 999px){
.newsletter-socials__prompt{
    margin-bottom:10px;
    display:block
}
  }
.newsletter-social{
  --margin-right:5px;
  --margin-left:0;
  margin-right:var(--margin-right);
  margin-left:var(--margin-left);
  padding:2px;
  display:inline-block;
  border:2px solid transparent;
  border-radius:50%;
}
.newsletter-social:hover,
  .newsletter-social:focus{
    border-color:var(--color-black);
    outline:none;
  }
@media (min-width: 1000px){
.newsletter-social{
    --margin-right:0;
    --margin-left:5px
}
  }
.newsletter-social__icon{
  max-width:100%;
  display:block;
}
.press{
  --pad-hz:24px;
  --row-gap:40px;
  margin-right:auto;
  margin-left:auto;
  padding-right:var(--pad-hz);
  padding-left:var(--pad-hz);
  max-width:var(--width-sm-8-col);
  display:grid;
  -webkit-column-gap:var(--space-md);
     -moz-column-gap:var(--space-md);
          column-gap:var(--space-md);
  row-gap:var(--row-gap);
}
@media (max-width: 599px){
.press{
    grid-template-columns:1fr;
    grid-template-areas:"head"
      "link"
      "copy"
      "spec"
}
  }
@media (min-width: 600px) and (max-width: 807px){
.press{
    grid-template-columns:1fr auto;
    grid-template-areas:"head link"
      "copy copy"
      "spec spec"
}
  }
@media (min-width: 808px){
.press{
    --pad-hz:0;
    --row-gap:100px;
    grid-template-columns:repeat(8, 1fr);
    grid-template-areas:"head head head head head link link link"
      "spec spec .    copy copy copy copy copy"
}
  }
.press__copy{
  grid-area:copy;
}
@media (min-width: 808px){
.press__copy{
    padding-top:10px
}
  }
.press__heading{
  grid-area:head;
}
.press__releases-link{
  --space-offset:-4px;
  --top:auto;
  --justify-self:start;
  margin-right:30px;
  margin-bottom:3px;
  grid-area:link;
  -ms-flex-item-align:end;
      align-self:end;
  justify-self:var(--justify-self);
  position:relative;
  top:var(--top);
}
.press__releases-link::before{
    content:"";
    display:block;
    position:absolute;
    top:var(--space-offset);
    right:var(--space-offset);
    bottom:var(--space-offset);
    left:var(--space-offset);
    border:2px solid transparent;
    border-radius:var(--radius-xs);
  }
.press__releases-link:focus{
    outline:none;
  }
.press__releases-link:focus::before{
      border-color:var(--brand-color-grape);
    }
@media (min-width: 600px){
.press__releases-link{
    --justify-self:end;
    --top:5px
}
  }
@media (min-width: 760px){
.press__releases-link{
    --top:8px
}
  }
.press__specs{
  grid-area:spec;
}
@media (min-width: 400px) and (max-width: 807px){
.press__specs{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:justify;
        -ms-flex-pack:justify;
            justify-content:space-between
}
  }
.press-body:not(:last-child){
    margin-bottom:var(--space-2x-sm);
  }
.press-page{
  --pad-top:120px;
  padding-top:var(--pad-top);
  position:relative;
}
.press-page::after{
    --height:100px;
    content:"";
    height:var(--height);
    position:absolute;
    z-index:var(--z-minus);
    top:0;
    right:0;
    left:0;
    background-image:url("https://assets.dockyard.com/images/bg-shape-misc.svg");
    background-repeat:no-repeat;
    background-position:center bottom;
    background-size:2560px;
  }
@media (min-width: 1000px){
.press-page{
    --pad-top:180px
}

    .press-page::after{
      --height:120px;
    }
  }
.press-spec{
  --margin-bottom:20px;
  --width:100%;
  width:var(--width);
}
.press-spec:not(:last-child){
    margin-bottom:var(--margin-bottom);
  }
@media (min-width: 400px) and (max-width: 807px){
.press-spec{
    --margin-bottom:0;
    --width:calc(50% - 20px)
}
  }
@media (min-width: 808px){
.press-spec{
    --width:100%
}

    .press-spec:not(:last-child){
      --margin-bottom:51px;
    }
  }
.press-clients-container{
  --pad-hz:24px;
  margin-top:80px;
  margin-right:auto;
  margin-bottom:180px;
  margin-left:auto;
  padding-right:var(--pad-hz);
  padding-left:var(--pad-hz);
  max-width:1180px;
  text-align:center;
}
@media (min-width: 1000px){
.press-clients-container{
    --pad-hz:30px
}
  }
.press-clients{
  --width:272px;
  --justify-content:space-between;
  margin-right:auto;
  margin-left:auto;
  width:var(--width);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient:horizontal;
  -webkit-box-direction:normal;
      -ms-flex-flow:row wrap;
          flex-flow:row wrap;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:var(--justify-content);
      -ms-flex-pack:var(--justify-content);
          justify-content:var(--justify-content);
}
@media (min-width: 500px){
.press-clients{
    --justify-content:center
}
  }
@media (min-width: 500px) and (max-width: 759px){
.press-clients{
    --width:450px
}
  }
@media (min-width: 760px) and (max-width: 999px){
.press-clients{
    --width:710px
}
  }
@media (min-width: 1000px){
.press-clients{
    --width:1100px
}
  }
.press-client{
  --margin-hz:0;
  margin-top:60px;
  margin-right:var(--margin-hz);
  margin-left:var(--margin-hz);
}
@media (max-width: 499px){

    .press-client:nth-child(6),
    .press-client:nth-child(7),
    .press-client:nth-child(8),
    .press-client:nth-child(9),
    .press-client:nth-child(10),
    .press-client:nth-child(11),
    .press-client:nth-child(12){
      display:none;
    }
  }
@media (min-width: 500px) and (max-width: 759px){
.press-client{
    --margin-hz:20px
}
  }
@media (min-width: 760px) and (max-width: 1239px){
.press-client{
    --margin-hz:35px
}
  }
@media (min-width: 1240px){
.press-client{
    --margin-hz:50px
}
  }
.press-client__logo{
  position:relative;
}
.press-client__logo--apple{
  width:36px;
  top:-5px;
}
.press-client__logo--collegevine{
  width:120px;
}
.press-client__logo--constant-contact{
  width:180px;
}
.press-client__logo--fidelity{
  width:120px;
}
.press-client__logo--mcgraw-hill{
  width:54px;
}
.press-client__logo--nasdaq{
  width:110px;
}
.press-client__logo--netflix{
  width:100px;
}
.press-client__logo--wnyc{
  width:80px;
}
.press-client__logo--digilant{
  width:110px;
}
.press-client__logo--zipcar{
  width:90px;
}
.releases{
  --margin-top:60px;
  --pad-hz:24px;
  margin-top:var(--margin-top);
  margin-right:auto;
  margin-bottom:138px;
  margin-left:auto;
  padding-right:var(--pad-hz);
  padding-left:var(--pad-hz);
  max-width:var(--width-sm-8-col);
}
@media (min-width: 808px){
.releases{
    --margin-top:80px;
    --pad-hz:0
}
  }
.release{
  margin-bottom:var(--space-lg);
  padding-bottom:var(--space-lg);
  position:relative;
}
.release:not(:last-child){
    border-bottom:1px solid var(--color-gray-90);
  }
@media (min-width: 650px){
.release{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:start;
        -ms-flex-align:start;
            align-items:flex-start
}
  }
.release__content{
  -webkit-box-flex:1;
      -ms-flex:1;
          flex:1;
}
.release__figure{
  margin-right:var(--space-2x-md);
  width:200px;
  height:200px;
}
@media (max-width: 759px){
.release__figure{
    margin-bottom:var(--space-md)
}
  }
.release__heading{
  margin-bottom:var(--space-md);
}
.release__link::before{
    content:"";
    position:absolute;
    top:-8px;
    right:-8px;
    bottom:22px;
    left:-8px;
    border:var(--border-width-sm) solid transparent;
    border-radius:var(--radius-lg);
  }
.release__link:hover{
    color:var(--brand-color-grape);
  }
.release__link:focus{
    outline:none;
  }
.release__link:focus::before{
      border-color:var(--brand-color-grape);
    }
.releases-header{
  --pad-hz:24px;
  margin-right:auto;
  margin-left:auto;
  padding-right:var(--pad-hz);
  padding-left:var(--pad-hz);
  max-width:var(--width-sm-8-col);
  display:grid;
  -webkit-column-gap:20px;
     -moz-column-gap:20px;
          column-gap:20px;
}
@media (max-width: 599px){
.releases-header{
    grid-template-columns:1fr;
    grid-template-areas:"head"
      "link"
}
  }
@media (min-width: 600px){
.releases-header{
    grid-template-columns:1fr auto;
    grid-template-areas:"head link"
}
  }
@media (max-width: 807px){
.releases-header{
    row-gap:var(--space-lg)
}
  }
@media (min-width: 808px){
.releases-header{
    --pad-hz:0
}
  }
.releases-header__heading{
  grid-area:head;
}
.release-post-page,
.releases-page{
  position:relative;
}
.release-post-page::after, .releases-page::after{
    content:"";
    position:absolute;
    z-index:-1;
    top:0;
    right:0;
    left:0;
    background-repeat:no-repeat;
    background-size:2560px;
  }
@media (min-width: 2000px){
.release-post-page::after, .releases-page::after{
      background-size:100%
  }
    }
.releases-page{
  --pad-top:60px;
  padding-top:var(--pad-top);
}
.releases-page::after{
    --height:100px;
    height:var(--height);
    background-image:url("https://assets.dockyard.com/images/bg-shape-misc.svg");
    background-position:center bottom;
  }
@media (min-width: 760px) and (max-width: 999px){
.releases-page{
    --pad-top:100px
}
  }
@media (min-width: 1000px){
.releases-page{
    --pad-top:180px
}

    .releases-page::after{
      --height:120px;
    }
  }
.release-post-page{
  --pad-top:60px;
  padding-top:var(--pad-top);
}
.release-post-page::after{
    --width:100%;
    --height:120px;
    height:var(--height);
    background-color:var(--brand-color-cream);
    background-image:url("https://assets.dockyard.com/images/bg-shape-press-release.svg");
    background-position:center 101%;
  }
@media (min-width: 400px) and (max-width: 599px){
.release-post-page{
      --pad-top:70px
}

    .release-post-page::after{
      --height:140px;
    }
  }
@media (min-width: 600px) and (max-width: 999px){
.release-post-page{
    --pad-top:90px
}

    .release-post-page::after{
      --height:160px;
    }
  }
@media (min-width: 1000px){
.release-post-page{
    --pad-top:30px
}

    .release-post-page::after{
      --height:320px;
    }
  }
.release-post{
  --margin-top:40px;
  --margin-bottom:100px;
  --pad-hz:24px;
  margin-top:var(--margin-top);
  margin-right:auto;
  margin-bottom:var(--margin-bottom);
  margin-left:auto;
  padding-right:var(--pad-hz);
  padding-left:var(--pad-hz);
  max-width:var(--width-sm-8-col);
}
@media (min-width: 760px){
.release-post{
    --margin-top:80px;
    --margin-bottom:160px
}
  }
@media (min-width: 808px){
.release-post{
    --pad-hz:0
}
  }
.release-post-header{
  --space-vt:40px;
  --row-gap:20px;
  --column-gap:60px;
  margin-bottom:var(--space-vt);
  display:grid;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  row-gap:var(--row-gap);
  -webkit-column-gap:var(--column-gap);
     -moz-column-gap:var(--column-gap);
          column-gap:var(--column-gap);
}
@media (max-width: 759px){
.release-post-header{
    grid-template-columns:100%;
    grid-template-areas:"back"
      "content"
      "figure"
}
  }
@media (min-width: 760px){
.release-post-header{
    --space-vt:100px;
    grid-template-columns:8fr 2fr;
    grid-template-areas:"back    ."
      "content figure"
}
  }
.release-post-header__figure{
  --width:calc(100vw - 48px);
  --max-dimension:350px;
  width:var(--width);
  max-width:var(--max-dimension);
  height:var(--width);
  max-height:var(--max-dimension);
  grid-area:figure;
}
@media (min-width: 760px){
.release-post-header__figure{
    --max-dimension:400px
}
  }
@media (min-width: 760px) and (max-width: 999px){
.release-post-header__figure{
    --width:calc(33vw - 68px)
}
  }
@media (min-width: 1000px){
.release-post-header__figure{
    --width:calc(25vw - 80px)
}
  }
.release-post-header__back-link{
  grid-area:back;
}
.release-post-header__content{
  grid-area:content;
}
.release-post-header__heading{
  margin-bottom:var(--space-md);
}
.terms-page{
  --pad-top:120px;
  padding-top:var(--pad-top);
  position:relative;
}
.terms-page::after{
    --height:100px;
    content:"";
    height:var(--height);
    position:absolute;
    z-index:var(--z-minus);
    top:0;
    right:0;
    left:0;
    background-image:url("https://assets.dockyard.com/images/bg-shape-misc.svg");
    background-repeat:no-repeat;
    background-position:center bottom;
    background-size:2560px;
  }
@media (min-width: 1000px){
.terms-page{
    --pad-top:180px
}

    .terms-page::after{
      --height:120px;
    }
  }
.terms-container,
.privacy-container{
  --pad-hz:24px;
  margin-right:auto;
  margin-left:auto;
  padding-right:var(--pad-hz);
  padding-left:var(--pad-hz);
  max-width:780px;
}
@media (min-width: 1000px){
.terms-container,
.privacy-container{
    --pad-hz:32px
}
  }
.terms-container{
  --margin-bottom:50px;
  margin-bottom:var(--margin-bottom);
}
@media (min-width: 1000px){
.terms-container{
    --margin-bottom:70px
}
  }
.term{
  margin-bottom:var(--space-2x-md);
}
.terms-title{
  --margin-bottom:20px;
  margin-bottom:var(--margin-bottom);
}
@media (min-width: 1240px){
.terms-title{
    --margin-bottom:40px
}
  }
.terms-heading{
  margin-bottom:var(--space-md);
}
.terms-body{
  margin-bottom:var(--space-2x-sm);
}
.terms-list{
  margin-top:var(--space-2x-sm);
  margin-bottom:var(--space-2x-sm);
  margin-left:var(--space-2x-md);
}
.terms-list--bullets{
  list-style:disc;
}
.terms-list--lower-roman{
  list-style:lower-roman;
}
.privacy-container{
  --pad-top:40px;
  padding-top:var(--pad-top);
  border-top:var(--border-width-xs) solid var(--color-gray-90);
}
@media (min-width: 1000px){
.privacy-container{
    --pad-top:60px
}
  }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL19zdHlsZXMvbW9kdWxlcy9jb2xvci13cmFwcy5jc3MiLCIuLi9fc3R5bGVzL21vZHVsZXMvaGVyby5jc3MiLCIuLi9fc3R5bGVzL21vZHVsZXMvYmxvY2txdW90ZS5jc3MiLCIuLi9fc3R5bGVzL21vZHVsZXMvdGlsZS5jc3MiLCIuLi9fc3R5bGVzL3BhZ2VzL2hvbWUuY3NzIiwiLi4vX3N0eWxlcy9wYWdlcy93aHktZG9ja3lhcmQuY3NzIiwiLi4vX3N0eWxlcy9wYWdlcy9zZXJ2aWNlcy5jc3MiLCIuLi9fc3R5bGVzL3BhZ2VzL3dvcmsuY3NzIiwiLi4vX3N0eWxlcy9wYWdlcy9jYXNlLXN0dWRpZXMuY3NzIiwiLi4vX3N0eWxlcy9wYWdlcy9jYXJlZXJzLmNzcyIsIi4uL19zdHlsZXMvcGFnZXMvY3VsdHVyZS5jc3MiLCIuLi9fc3R5bGVzL3BhZ2VzL3RlYW0uY3NzIiwiLi4vX3N0eWxlcy9wYWdlcy9jYXBhYmlsaXRpZXMuY3NzIiwiLi4vX3N0eWxlcy9wYWdlcy9uZXdzbGV0dGVyLmNzcyIsIi4uL19zdHlsZXMvcGFnZXMvcHJlc3MuY3NzIiwiLi4vX3N0eWxlcy9wYWdlcy9wcmVzcy1yZWxlYXNlcy5jc3MiLCIuLi9fc3R5bGVzL3BhZ2VzL3Rlcm1zLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNFLHdCQUF5QjtFQUN6QiwyQ0FBNEM7QUFDOUM7QUFFQTtFQUNFLHNDQUF1QztBQUN6QztBQUVBO0VBQ0Usd0JBQXlCO0VBQ3pCLHNDQUF1QztBQUN6QztBQUVBO0VBQ0Usc0NBQXVDO0FBQ3pDO0FDWkE7RUFDRSxpQkFBa0I7RUFDbEIscUJBQXNCO0FBQ3hCO0FBSUE7RUFDRSxjQUFlO0VBQ2YsVUFBVztFQUVYLDJCQUE0QjtFQUM1QixnQkFBaUI7RUFDakIsVUFBVztFQUNYLFVBQVc7RUFDWCxvQkFBcUI7RUFDckIsaUJBQWtCO0VBQ2xCLHNCQUF1QjtFQUN2QixvQkFBcUI7RUFDckIsTUFBTztFQUNQLG1DQUFvQztFQUNw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RSxjQUFlO0VBQ2YsMEJBQTJCO0VBQzNCLDREQUE2RDtBQUsvRDtBQUhFO0FBTEY7SUFNSTtBQUVKO0VBREUiLCJmaWxlIjoiZHlhLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEJhY2tncm91bmQgY29sb3IgdmFyaWF0aW9ucyAqL1xuLndyYXAtYmctYmxhY2tiZXJyeSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWJsYWNrYmVycnkpO1xufVxuXG4ud3JhcC1iZy1jcmVhbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWNyZWFtKTtcbn1cblxuLndyYXAtYmctZ3JhcGUge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1ncmFwZSk7XG59XG5cbi53cmFwLWJnLXBlYWNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItcGVhY2gpO1xufVxuIiwiLyoqXG4gKiBIZXJvIGhlYWRlclxuICogTkFNRVNQQUNFOiBoZXJvXG4gKi9cblxuLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IHZhcigtLXotcGx1cyk7XG59XG5cbi8qIFRoaXMgaXMgdGhlIGhlcm8gYmFja2dyb3VuZCBjdXJ2ZSB0aGF0IGNoYW5nZXMgcGVyIHBhZ2UuICovXG4vKiBNZWRpYSBxdWVyaWVzIGZvciBleGFjdCBwb3NpdGlvbmluZyBwZXIgZWFjaCBwYWdlIDo6YWZ0ZXIgY3VydmUgZm9sbG93LiAqL1xuLmhlcm86OmFmdGVyIHtcbiAgLS1oZWlnaHQ6IDUwMHB4O1xuICAtLWJvdHRvbTogMDtcbiAgLyogLTNweCB0byBjb21wZW5zYXRlIGZvciB3aGl0ZSBsaW5lIHRoYXQgY2FuIGFwcGVhciBhdCB2YXJpb3VzIHdpZHRocyAqL1xuICAtLWJrZ2QtcG9zaXRpb246IGNlbnRlciAtM3B4O1xuICAtLWJrZ2Qtc2l6ZTogMTEwJTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiB2YXIoLS16LW1pbnVzKTtcbiAgYm90dG9tOiB2YXIoLS1ib3R0b20pO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvaGVyby1iZy1zaGFwZS1wcy5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLWJrZ2QtcG9zaXRpb24pO1xuICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWJrZ2Qtc2l6ZSk7XG59XG5cbi8qKlxuICogQ3VzdG9tIGhlcm8gYmxvY2tzIGFuZCA6OmFmdGVyIGN1cnZlc1xuICovXG5cbi8qKlxuICogQ2FwYWJpbGl0aWVzIHBhZ2VzIGhlcm8gY3VydmVzXG4gKi9cblxuLyogQ2FwYWJpbGl0aWVzL0VsaXhpciBwYWdlICovXG4uY2FwYWJpbGl0aWVzLWVsaXhpci1oZXJvIHtcblxuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDI2MHB4O1xuICAgIC0tYm90dG9tOiAtMTAwcHg7XG4gICAgLS1ia2dkLXNpemU6IDE0NDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtZWxpeGlyLnN2Z1wiKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAtLWhlaWdodDogMjAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgICAgLS1oZWlnaHQ6IDI0MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiAzNDBweDtcbiAgICAgIC0tYm90dG9tOiAtMTQwcHg7XG4gICAgICAtLWJrZ2Qtc2l6ZTogMjU2MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNTYwcHgpIHtcbiAgICAgIC0taGVpZ2h0OiA0NjBweDtcbiAgICAgIC0tYm90dG9tOiAtMjUwcHg7XG4gICAgICAtLWJrZ2Qtc2l6ZTogMTAxdnc7XG4gICAgfVxuICB9XG59XG5cbi8qIENhcGFiaWxpdGllcy9FbWJlciBwYWdlICovXG4uY2FwYWJpbGl0aWVzLWVtYmVyLWhlcm8ge1xuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDIyMHB4O1xuICAgIC0tYmtnZC1zaXplOiAxNDQwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9oZXJvLWJnLXNoYXBlLWVtYmVyLnN2Z1wiKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgICAgLS1oZWlnaHQ6IDE1MHB4O1xuICAgICAgLS1ib3R0b206IC02MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiAyODBweDtcbiAgICAgIC0tYm90dG9tOiAtMTIwcHg7XG4gICAgICAtLWJrZ2Qtc2l6ZTogMjU2MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNTYwcHgpIHtcbiAgICAgIC0taGVpZ2h0OiA0MDBweDtcbiAgICAgIC0tYm90dG9tOiAtMjEwcHg7XG4gICAgICAtLWJrZ2Qtc2l6ZTogMTAxdnc7XG4gICAgfVxuICB9XG59XG5cbi8qIENhcGFiaWxpdGllcy9QV0EgcGFnZSAqL1xuLmNhcGFiaWxpdGllcy1wd2EtaGVybyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWdyYXBlKTtcblxuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDI2MHB4O1xuICAgIC0tYm90dG9tOiAtNDBweDtcbiAgICAtLWJrZ2Qtc2l6ZTogMTQ0MHB4O1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtcHdhLnN2Z1wiKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgICAgLS1oZWlnaHQ6IDE3MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiA0NDBweDtcbiAgICAgIC0tYmtnZC1zaXplOiAyNTYwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAgICAgLS1oZWlnaHQ6IDQyMHB4O1xuICAgICAgLS1ia2dkLXNpemU6IDEwMXZ3O1xuICAgIH1cbiAgfVxufVxuXG4vKiBDYXJlZXJzIHBhZ2UgKi9cbi5jYXJlZXJzLWhlcm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1jcmVhbSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC0taGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtY2FyZWVycy5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0zcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjM5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiAzMDBweDtcbiAgICAgIC0tYm90dG9tOiAtODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSB7XG4gICAgICAtLWhlaWdodDogNDYwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qIEN1bHR1cmUgcGFnZSAqL1xuLmN1bHR1cmUtaGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWNyZWFtKTtcblxuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDEyMHB4O1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtY3VsdHVyZS5zdmdcIik7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAtLWhlaWdodDogMzAwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qIEhvbWUgcGFnZSAqL1xuLmhvbWUtaGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWNyZWFtKTtcblxuICAvKiBObyBoZXJvIDo6YWZ0ZXIgY3VydmUuIEN1cnZlIGlzIG1vdmVkIGRvd24gdG8gOjphZnRlciBzZXJ2aWNlcyBsaXN0IHNlY3Rpb24uICovXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8qIFdoeSBEWSBwYWdlICovXG4ud2h5LWR5LWhlcm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1jcmVhbSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC0taGVpZ2h0OiA2NTBweDtcbiAgICAtLWJvdHRvbTogLTQwMHB4O1xuICAgIC0tYmtnZC1zaXplOiAyMDAwcHg7XG4gICAgLyogUHVsbCBpbiBsYXJnZSBkZWZhdWx0IHN2ZyB0byBkaXNwbGF5IGRvd253YXJkIGN1cnZlIG9uIGxlZnQgZWRnZSAqL1xuICAgIC0tYmtnZC1wb3NpdGlvbjogLTQwMHB4IC0xcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSBhbmQgKG1heC13aWR0aDogMTIzOXB4KSB7XG4gICAgICAtLWJvdHRvbTogLTI2MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgIC0taGVpZ2h0OiAxNDAwcHg7XG4gICAgICAtLWJvdHRvbTogLTExMDBweDtcbiAgICAgIC0tYmtnZC1zaXplOiAxMjZ2dztcbiAgICAgIC0tYmtnZC1wb3NpdGlvbjogLTI1dncgLTFweDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTZXJ2aWNlcyBwYWdlcyBoZXJvIGN1cnZlc1xuICovXG5cbi8qIE1haW4gU2VydmljZXMgcGFnZSAqL1xuLnNlcnZpY2VzLW1haW4taGVybyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWdyYXBlKTtcblxuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDI0MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtbWFpbi5zdmdcIik7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLS1oZWlnaHQ6IDMwMHB4O1xuICAgICAgLS1ib3R0b206IC0xNzBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSBhbmQgKG1heC13aWR0aDogMTI1OXB4KSB7XG4gICAgICAtLWhlaWdodDogNDIwcHg7XG4gICAgICAtLWJvdHRvbTogLTE2MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjYwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiA2MDBweDtcbiAgICAgIC0tYm90dG9tOiAtMjUwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAgICAgLS1oZWlnaHQ6IDgwMHB4O1xuICAgICAgLS1ib3R0b206IC00MDBweDtcbiAgICB9XG4gIH1cbn1cblxuLyogU2VydmljZXMvRGVzaWduIHBhZ2UgKi9cbi5zZXJ2aWNlcy1kZXMtaGVybyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWJsYWNrYmVycnkpO1xuXG4gICY6OmFmdGVyIHtcbiAgICAtLWhlaWdodDogMTgwcHg7XG4gICAgLS1ia2dkLXNpemU6IDI1NjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtZGVzLnN2Z1wiKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAtLWhlaWdodDogMzQwcHg7XG4gICAgICAtLWJvdHRvbTogLTMwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIGFuZCAobWF4LXdpZHRoOiAyMDk5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiA1MDBweDtcbiAgICAgIC0tYm90dG9tOiAtNDAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDIxMDBweCkge1xuICAgICAgLS1oZWlnaHQ6IDkwMHB4O1xuICAgICAgLS1ib3R0b206IC04MDBweDtcbiAgICAgIC0tYmtnZC1zaXplOiAxMDF2dztcbiAgICB9XG4gIH1cbn1cblxuLyogU2VydmljZXMvRW5naW5lZXJpbmcgcGFnZSAqL1xuLnNlcnZpY2VzLWVuZy1oZXJvIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItYmxhY2tiZXJyeSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvaGVyby1iZy1zaGFwZS1lbmcuc3ZnXCIpO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgICAtLWhlaWdodDogMzAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogMTIzOXB4KSB7XG4gICAgICAtLWJvdHRvbTogLTQwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIGFuZCAobWF4LXdpZHRoOiAyNTU5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiA2MDBweDtcbiAgICAgIC0tYm90dG9tOiAtNDAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAgICAgLS1oZWlnaHQ6IDgwMHB4O1xuICAgICAgLS1ib3R0b206IC01NDBweDtcbiAgICB9XG4gIH1cbn1cblxuLyogU2VydmljZXMvUHJvZHVjdCBTdHJhdGVneSBwYWdlICovXG4uc2VydmljZXMtcHMtaGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWNyZWFtKTtcblxuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDU0MHB4O1xuICAgIC0tYm90dG9tOiAtMzYwcHg7XG4gICAgLS1ia2dkLXNpemU6IDIwMDBweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAtLWJvdHRvbTogLTUwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjM5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiA3MDBweDtcbiAgICAgIC0tYm90dG9tOiAtNTAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNDBweCkgYW5kIChtYXgtd2lkdGg6IDIwOTlweCkge1xuICAgICAgLS1oZWlnaHQ6IDEwMDBweDtcbiAgICAgIC0tYm90dG9tOiAtODAwcHg7XG4gICAgICAtLWJrZ2Qtc2l6ZTogMTYwJTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjEwMHB4KSB7XG4gICAgICAtLWhlaWdodDogMTQwMHB4O1xuICAgICAgLS1ib3R0b206IC0xMjQwcHg7XG4gICAgICAtLWJrZ2Qtc2l6ZTogMTIwJTtcbiAgICB9XG4gIH1cbn1cblxuLyogU2VydmljZXMvUHJvamVjdCBNYW5hZ2VtZW50IHBhZ2UgKi9cbi5zZXJ2aWNlcy1wbS1oZXJvIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItYmxhY2tiZXJyeSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC0taGVpZ2h0OiAxMjBweDtcbiAgICAtLWJvdHRvbTogLTEwcHg7XG4gICAgLS1ia2dkLXNpemU6IDI1NjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtcG0uc3ZnXCIpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiAyMDBweDtcbiAgICAgIC0tYm90dG9tOiAtMTgwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgICAgLS1oZWlnaHQ6IDEyMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgICAgIC0tYmtnZC1zaXplOiAxMDF2dztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gICAgICAtLWhlaWdodDogMTYwcHg7XG4gICAgICAtLWJvdHRvbTogLTIwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI1NjBweCkge1xuICAgICAgLS1oZWlnaHQ6IDI0NXB4O1xuICAgICAgLS1ib3R0b206IC0xMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLyogU2VydmljZXMvU3RhZmYgQXVnbWVudGF0aW9uIHBhZ2UgKi9cbi5zZXJ2aWNlcy1hdWctaGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWNyZWFtKTtcblxuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDIwMHB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvaGVyby1iZy1zaGFwZS1hdWcuc3ZnXCIpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiAxMDBweDtcbiAgICAgIC0tYm90dG9tOiAtNjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSBhbmQgKG1heC13aWR0aDogMjA0OXB4KSB7XG4gICAgICAtLWhlaWdodDogNTAwcHg7XG4gICAgICAtLWJvdHRvbTogLTQwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMDUwcHgpIHtcbiAgICAgIC0taGVpZ2h0OiA1MDBweDtcbiAgICAgIC0tYm90dG9tOiAtMjQwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qIFNlcnZpY2VzL1Rlc3RpbmcgJiBRQSBwYWdlICovXG4uc2VydmljZXMtdGVzdC1oZXJvIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItZ3JhcGUpO1xuXG4gICY6OmFmdGVyIHtcbiAgICAtLWhlaWdodDogMjIwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9oZXJvLWJnLXNoYXBlLXRlc3Quc3ZnXCIpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC0tYm90dG9tOiAtMTIwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyNDBweCkgYW5kIChtYXgtd2lkdGg6IDI1NTlweCkge1xuICAgICAgLS1oZWlnaHQ6IDQwMHB4O1xuICAgICAgLS1ib3R0b206IC0xNDBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICAgICAtLWhlaWdodDogNTAwcHg7XG4gICAgICAtLWJvdHRvbTogLTE2MHB4O1xuICAgIH1cbiAgfVxufVxuXG4vKiBTZXJ2aWNlcy9UcmFpbmluZyAmIFN1cHBvcnQgcGFnZSAqL1xuLnNlcnZpY2VzLXRzLWhlcm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1jcmVhbSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC0taGVpZ2h0OiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtdHMuc3ZnXCIpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC0taGVpZ2h0OiAzMDBweDtcbiAgICAgIC0tYm90dG9tOiAtMTAwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgICAgLS1oZWlnaHQ6IDQwMHB4O1xuICAgICAgLS1ib3R0b206IC0xNTBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSB7XG4gICAgICAtLWhlaWdodDogNjAwcHg7XG4gICAgICAtLWJvdHRvbTogLTIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFNoYXJlZCBIZXJvIEdyaWQgUnVsZXNcbiAqL1xuXG4vKiBDb250ZW50IGxlZnQsIGlsbHVzdHJhdGlvbiByaWdodCAqL1xuLmhlcm8tLWdyaWQge1xuICAtLWNvbHVtbi1nYXA6IDIwcHg7XG4gIC0tcm93LWdhcDogMjBweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbbGVmdC1lZGdlXSAxMDAlIFtyaWdodC1lZGdlXTtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcbiAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAvKiA1IG9yIDcgb2YgMTIgd2hlbiBjb250YWluZXIgd2lkdGggaXMgZXF1YWwgdG8gZnVsbCBsYXlvdXQgZ3JpZCAoMTIgY29sdW1ucykgKi9cbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtsZWZ0LWVkZ2VdIDVmciBbY2VudGVyXSA3ZnIgW3JpZ2h0LWVkZ2VdO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC8qIDQgb3IgNiBvZiAxMCB3aGVuIGNvbnRhaW5lciB3aWR0aCBpcyBlcXVhbCB0byAxMCBvZiAxMiBsYXlvdXQgZ3JpZCBjb2x1bW5zICovXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbbGVmdC1lZGdlXSA0ZnIgW2NlbnRlcl0gNmZyIFtyaWdodC1lZGdlXTtcbiAgfVxufVxuXG4uaGVyb19fY29udGVudCB7XG4gIHotaW5kZXg6IHZhcigtLXotcGx1cyk7XG59XG5cbi5oZXJvX19oZWFkaW5nIHtcbiAgLS1zcGFjZS12dDogMzZweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtdnQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgIC0tc3BhY2UtdnQ6IDMwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSB7XG4gICAgLS1zcGFjZS12dDogNDBweDtcbiAgfVxufVxuXG4uaGVyb19fZmlndXJlIHtcbiAgLS13aWR0aDogY2FsYygxMDAlICsgNDhweCk7XG4gIC0tbGVmdDogLTI0cHg7XG4gIHdpZHRoOiB2YXIoLS13aWR0aCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IHZhcigtLXotcGx1cyk7XG4gIGxlZnQ6IHZhcigtLWxlZnQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0td2lkdGg6IDEwMCU7XG4gICAgLS1sZWZ0OiAwO1xuICB9XG59XG5cbi5oZXJvX19pbWcge1xuICAtLXNwYWNlLWh6OiAtMjRweDtcbiAgLS13aWR0aDogMTMwJTtcbiAgLyogMzIwcHggKyAoMiAqIDI0cHgpIHRvIGJsZWVkIG9mZiBlZGdlcyBhdCBzbWFsbGVzdCBzaXplICovXG4gIC0tbWluLXdpZHRoOiAzNDhweDtcbiAgLS1tYXgtd2lkdGg6IDY2dnc7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtaHopO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3BhY2UtaHopO1xuICB3aWR0aDogdmFyKC0td2lkdGgpO1xuICBtaW4td2lkdGg6IHZhcigtLW1pbi13aWR0aCk7XG4gIC8qIE1ha2UgU2FmYXJpIHBsYXkgbmljZSB3L3N2Z3MgKi9cbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICAtLXNwYWNlLWh6OiBhdXRvO1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tc3BhY2UtaHo6IDA7XG4gICAgLS13aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKiBUaGVzZSBpbWFnZXMgZmVlbCB0b28gY2xvc2UgdG8gY29weSB3aXRoIHN0YW5kYXJkIGdyaWQgcnVsZXMuIFNvIHdlJ3JlIHNocmlua2luZyB0aGUgc3ZncyBhIGJpdCBhbmQgcHVzaGluZyB0aGVtIHRvIHJpZ2h0IGVkZ2Ugb2YgY29udGFpbmVyLiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gIC5jYXBhYmlsaXRpZXMtZWxpeGlyLWhlcm9fX2ZpZ3VyZSxcbiAgLmNhcGFiaWxpdGllcy1lbWJlci1oZXJvX19maWd1cmUsXG4gIC5jYXBhYmlsaXRpZXMtcHdhLWhlcm9fX2ZpZ3VyZSxcbiAgLmN1bHR1cmUtaGVyb19fZmlndXJlLFxuICAuc2VydmljZXMtbWFpbi1oZXJvX19maWd1cmUsXG4gIC5zZXJ2aWNlcy1hdWctaGVyb19fZmlndXJlLFxuICAuc2VydmljZXMtZGVzLWhlcm9fX2ZpZ3VyZSxcbiAgLnNlcnZpY2VzLWVuZy1oZXJvX19maWd1cmUsXG4gIC5zZXJ2aWNlcy1wbS1oZXJvX19maWd1cmUsXG4gIC5zZXJ2aWNlcy1wcy1oZXJvX19maWd1cmUsXG4gIC5zZXJ2aWNlcy10ZXN0LWhlcm9fX2ZpZ3VyZSxcbiAgLnNlcnZpY2VzLXRzLWhlcm9fX2ZpZ3VyZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gIC5jYXBhYmlsaXRpZXMtZWxpeGlyLWhlcm9fX2ltZyxcbiAgLmNhcGFiaWxpdGllcy1lbWJlci1oZXJvX19pbWcsXG4gIC5jYXBhYmlsaXRpZXMtcHdhLWhlcm9fX2ltZyxcbiAgLmN1bHR1cmUtaGVyb19faW1nLFxuICAuc2VydmljZXMtbWFpbi1oZXJvX19pbWcsXG4gIC5zZXJ2aWNlcy1kZXMtaGVyb19faW1nLFxuICAuc2VydmljZXMtZW5nLWhlcm9fX2ltZyxcbiAgLnNlcnZpY2VzLXBtLWhlcm9fX2ltZyxcbiAgLnNlcnZpY2VzLXBzLWhlcm9fX2ltZyxcbiAgLnNlcnZpY2VzLXRlc3QtaGVyb19faW1nIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAuc2VydmljZXMtYXVnLWhlcm9fX2ltZyxcbiAgLnNlcnZpY2VzLXRzLWhlcm9fX2ltZyB7XG4gICAgd2lkdGg6IDk1JTtcbiAgfVxufVxuIiwiLyoqXG4gKiBQdWxscXVvdGUgdGlsZVxuICovXG5cbi5ibG9ja3F1b3RlIHtcbiAgLS1tYXJnaW4taHo6IC0yNHB4O1xuICAtLXBhZC12dDogODRweDtcbiAgLS1wYWQtaHo6IDQwcHg7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tbWFyZ2luLWh6KTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLW1hcmdpbi1oeik7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1wYWQtdnQpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWQtdnQpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkLXZ0KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWQtdnQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpOyAvKiAxMnB4ICovXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLWdyYXktYmx1ZS1wYWxlKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAtLW1hcmdpbi1oejogMDtcbiAgICAtLXBhZC12dDogNjBweDtcbiAgICAtLXBhZC1oejogMTAwcHg7XG4gIH1cbn1cblxuLmJsb2NrcXVvdGVfX2NpdGF0aW9uIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmJsb2NrcXVvdGVfX3RleHQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8qKlxuICogU3RhbmRhcmQgYm9yZGVyZWQgdGlsZXNcbiAqIHN1Y2ggYXMgb24gdGhlIFNlcnZpY2VzIHBhZ2VcbiAqL1xuXG4udGlsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIC0tdG9wOiAwO1xuICAgIC0tcmlnaHQ6IDA7XG4gICAgLS1ib3R0b206IDA7XG4gICAgLS1sZWZ0OiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IHZhcigtLXotbm9ybWFsKTtcbiAgICB0b3A6IHZhcigtLXRvcCk7XG4gICAgcmlnaHQ6IHZhcigtLXJpZ2h0KTtcbiAgICBib3R0b206IHZhcigtLWJvdHRvbSk7XG4gICAgbGVmdDogdmFyKC0tbGVmdCk7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgteHMpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTkwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlciwgYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLWJhc2UpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLWZvY3VzLWdyYXBlKTtcbiAgICB9XG5cbiAgICAuam9iLXRpbGVfX2xpbmsge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKTsgLyogMnB4ICovXG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyYXktOTApO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWhvdmVyLXRpbGUtbmV1dHJhbCk7XG4gICAgfVxuICB9XG59XG5cbi8qIEZvciB3aGVuIHRoZSBcInRpbGVcIiBkb2VzIG5vdCBuZWVkIGEgYm9yZGVyIGJ5IGRlZmF1bHQgKi9cbi50aWxlLS1uby1kZWZhdWx0LWJvcmRlciB7XG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6Zm9jdXMtd2l0aGluIHtcbiAgICAuam9iLXRpbGVfX2xpbmsge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIEZhbGxiYWNrIGZvciBFZGdlIHRoYXQgZG9lc24ndCB5ZXQgc3VwcG9ydCBgZm9jdXMtd2l0aGluYCAqL1xuLmpvYi10aWxlX19saW5rIHtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1icmFuZC1jb2xvci1ncmFwZSk7XG4gIH1cbn1cblxuLyogRm9yIHdoZW4gdGhlIGNvbnRhaW5lciBkb2VzIG5vdCBoYXZlIHBhZGRpbmcgdGhhdFxuZ2l2ZXMgYSBzcGVjaWZpYyBvZmZzZXQgZm9yIHRoZSBob3ZlciBhbmQgZm9jdXNcbmJvcmRlciBlZmZlY3QuICovXG4udGlsZS0tdW5wYWRkZWQge1xuICAmOjpiZWZvcmUge1xuICAgIC0tdG9wOiAtMThweDtcbiAgICAtLXJpZ2h0OiAtMTZweDtcbiAgICAtLWJvdHRvbTogLTI0cHg7XG4gICAgLS1sZWZ0OiAtMTZweDtcbiAgICB0b3A6IHZhcigtLXRvcCk7XG4gICAgcmlnaHQ6IHZhcigtLXJpZ2h0KTtcbiAgICBib3R0b206IHZhcigtLWJvdHRvbSk7XG4gICAgbGVmdDogdmFyKC0tbGVmdCk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAgIC0tdG9wOiAtMzBweDtcbiAgICAgIC0tcmlnaHQ6IC00MHB4O1xuICAgICAgLS1ib3R0b206IC00MHB4O1xuICAgICAgLS1sZWZ0OiAtNDBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogSG9tZSBwYWdlXG4gKiBOQU1FU1BBQ0U6IGhvbWVcbiAqL1xuXG4vKiBTZWN0aW9uIDE6IEhFUk8gc2VlIGhlcm8uY3NzICovXG5cbi8qIFNoYXJlZCBydWxlcyAqL1xuLmhvbWVfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7IC8qIDMycHggKi9cbn1cblxuLyogU2VjdGlvbiAyOiBTZXJ2aWNlcyBtb2R1bGUgKi9cbi5ob21lLXNlcnZpY2VzLS1ncmlkIHtcbiAgLS1jb2x1bW4tZ2FwOiAyMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtsZWZ0LWd1dHRlcl0gMWZyIFtjZW50ZXJdIDFmciBbcmlnaHQtZ3V0dGVyXTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICAtLWhlaWdodDogOTBweDtcbiAgICAtLWJvdHRvbTogLTMwcHg7XG4gICAgLS1ia2dkLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIC0tYmtnZC1zaXplOiAyNTYwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHZhcigtLWhlaWdodCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IHZhcigtLXotbWludXMpO1xuICAgIGJvdHRvbTogdmFyKC0tYm90dG9tKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2hlcm8tYmctc2hhcGUtaG9tZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1ia2dkLXBvc2l0aW9uKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IHZhcigtLWJrZ2Qtc2l6ZSk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAgIC0taGVpZ2h0OiAxNjBweDtcbiAgICAgIC0tYmtnZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAgIC0tYm90dG9tOiAtODBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICAgICAtLWhlaWdodDogMzAwcHg7XG4gICAgICAtLWJrZ2Qtc2l6ZTogMTAxdnc7XG4gICAgfVxuICB9XG59XG5cbi5ob21lLXNlcnZpY2VzX19pdGVtIHtcbiAgLS1tYXJnaW4tYm90dG9tOiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYm90dG9tKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTE4cHg7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiAuNXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXktNjApO1xuICB9XG59XG5cbi5ob21lLXNlcnZpY2VzX19pdGVtLWxpbmsge1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICAtLW1hcmdpbi10b3A6IDE1cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tdG9wKTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvaWNvbi1tb3JlLWFycm93LWRhcmsuc3ZnXCIpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLWJhc2UpIGFsbCBsaW5lYXI7XG4gIH1cblxuICAvKiBVc2VkIGZvciA6Zm9jdXMgY29udGFpbmVyIHRoYXQgd2lsbCBnZXQgYm9yZGVyLiBSZWFjaGVzIHZlcnRpY2FsbHkgYmV0d2VlbiBlYWNoIGxpc3QtaXRlbSBhbmQgY292ZXJzIGJvdHRvbSBib3JkZXIgY2xlYW5seS4gKi9cbiAgJjo6YmVmb3JlIHtcbiAgICAtLXRvcDogLTExcHg7XG4gICAgLS1ib3R0b206IC0xOHB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdmFyKC0tdG9wKTtcbiAgICByaWdodDogLTE2cHg7XG4gICAgYm90dG9tOiB2YXIoLS1ib3R0b20pO1xuICAgIGxlZnQ6IC0xNnB4O1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLWdyYXBlKTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLWdyYXBlKTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvaWNvbi1tb3JlLWFycm93LWdyYXBlLnN2Z1wiKTtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUtc2VydmljZXNfX292ZXJ2aWV3IHtcbiAgLS1wYWQtcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZC1yaWdodCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXBhZC1yaWdodDogNjBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAtLXBhZC1yaWdodDogODBweDtcbiAgfVxufVxuXG4uaG9tZS1zZXJ2aWNlc19fbGlzdCB7XG4gIC0tcGFkLXRvcDogMDtcbiAgLS1jb2x1bW4tZ2FwOiAwO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkLXRvcCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZ3V0dGVyXSBtaW5tYXgoYXV0bywgNDgwcHgpIFtyaWdodC1ndXR0ZXJdO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXBhZC10b3A6IDdweDsgLyogQWxpZ24gYmFzZWxpbmUgb2YgZmlyc3QgaW4gbGlzdCB3aXRoIGhlYWRpbmcgdG8gbGVmdCAqL1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAgIC0tcGFkLXRvcDogMTBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcbiAgICAtLXBhZC10b3A6IDhweDtcbiAgfVxufVxuXG4vKiBTZWN0aW9uIDM6IEhvbWUgZXhwZXJpZW5jZSBtb2R1bGUgKi9cbi5ob21lLWV4cGVyaWVuY2UtLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTlweCkge1xuICAgIHJvdy1nYXA6IDQwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtsZWZ0LWVkZ2VdIDFmciBbY2VudGVyXSAxZnIgW3JpZ2h0LWVkZ2VdO1xuICAgIGNvbHVtbi1nYXA6IDIwcHg7XG4gIH1cbn1cblxuLmhvbWUtZXhwZXJpZW5jZV9fb3ZlcnZpZXcge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICB9XG59XG5cbi5ob21lLWV4cGVyaWVuY2VfX2NvcHkge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS14bCk7IC8qIDUycHggKi9cbn1cblxuLmhvbWUtZXhwZXJpZW5jZV9faW1hZ2Uge1xuICAtLW1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi10b3ApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogMTIzOXB4KSB7XG4gICAgLS1tYXJnaW4tdG9wOiA2MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIGxlZnQ6IC00MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyNDBweCkge1xuICAgIC0tbWFyZ2luLXRvcDogODBweDtcbiAgICB3aWR0aDogMTA1JTtcbiAgICBtYXgtd2lkdGg6IDEwNSU7XG4gIH1cbn1cblxuLmhvbWUtZXhwZXJpZW5jZV9fbGlzdCB7XG4gIC0tbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLXRvcCk7XG4gIHBhZGRpbmctbGVmdDogNDhweDtcblxuICAvKiBBbGlnbiBiYXNlbGluZXMgb2YgaGVhZGluZyAmIGNvcHkgKi9cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLW1hcmdpbi10b3A6IDEycHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1tYXJnaW4tdG9wOiAxNHB4O1xuICB9XG59XG5cbi8qIFNlY3Rpb24gNDogQ2xpZW50IGxpc3QgbW9kdWxlICovXG4uaG9tZS1jbGllbnQtbGlzdCB7XG4gIC0tcGFkLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWQtYm90dG9tKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjM5cHgpIHtcbiAgICAtLXBhZC1ib3R0b206IDEwMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyNDBweCkge1xuICAgIC0tcGFkLWJvdHRvbTogMTYwcHg7XG4gIH1cbn1cblxuLmhvbWUtY2xpZW50LWxpc3RfX2hlYWRpbmcge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIFRPRE86IE1vdmUgdGhpcyBhbmQgaW5jb3Jwb3JhdGUgaW50byBjbGllbnQtbGlzdC5jc3MgaW4gRFkuY29tIGJhc2UuIFNob3VsZCBiZSBtb3JlIG9mIGEgbW9kdWxlIHRoYXQgY2FuIGJlIHJlLXVzZWQgd2hlcmV2ZXIgd2Ugd2FudCBhIGxvZ28gbGlzdC4gKi9cbi8qIFRoZSB1bCBwYXJlbnQgKi9cbi5ob21lLWNsaWVudHMge1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2UtbWQpOyAvKiAyMHB4ICovXG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2OXB4KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHdpZHRoOiAxNjBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzBweCkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICB9XG59XG5cbi8qIFRoZSBsaSBjaGlsZCAqL1xuLmhvbWUtY2xpZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMngtbWQpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1NjlweCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLyogT25seSBkaXNwbGF5IGZpcnN0IHNpeCBsb2dvcyBvbiBzbWFsbC4gKi9cbiAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAmOm50aC1jaGlsZCgzKSxcbiAgICAmOm50aC1jaGlsZCg0KSxcbiAgICAmOm50aC1jaGlsZCg1KSxcbiAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NzBweCkgYW5kIChtYXgtd2lkdGg6IDc5OXB4KSB7XG4gICAgZmxleDogMCAxIDMzJTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgZmxleDogMCAxIDI1JTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIGZsZXg6IDAgMSAyMCU7XG4gIH1cbn1cblxuLyogVGhlIGltZyBncmFuZGNoaWxkICovXG4uaG9tZS1jbGllbnRfX2xvZ28ge1xuICAtLW1heC13aWR0aDogMTUwcHg7XG4gIC0tbWF4LWhlaWdodDogMzZweDtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1tYXgtaGVpZ2h0KTtcblxuICAvKiBUd2VhayBzb21lIGxvZ29zIGluZGl2aWR1YWxseS4gKi9cbiAgJi0tYXBwbGUsXG4gICYtLWZseXdoZWVsLFxuICAmLS1tY2dyYXctaGlsbCB7XG4gICAgLS1tYXgtaGVpZ2h0OiA0NnB4O1xuICB9XG5cbiAgJi0tbmV0ZmxpeCxcbiAgJi0tZmlkZWxpdHkge1xuICAgIC0tbWF4LWhlaWdodDogMzBweDtcbiAgfVxuXG4gICYtLWRvbGxhci1zaGF2ZS1jbHViIHtcbiAgICAtLW1heC13aWR0aDogMTcwcHg7XG4gIH1cblxuICAmLS1kaWdpbGFudCB7XG4gICAgLS1tYXgtd2lkdGg6IDEzMHB4O1xuICB9XG59XG5cbi8qIEV4dHJhIHNwZWNpZmljaXR5IG5lZWRlZCB0byBvdmVycmlkZSAuYnRuICovXG4uYnRuLmhvbWUtY2xpZW50LWxpc3QtbW9yZS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogU2VjdGlvbiA1OiBJbmMgbWFnYXppbmUgbW9kdWxlICovXG4uaG9tZS1pbmMtbWFnIHtcbiAgLS1wYWQtdG9wOiAxMDBweDtcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZC10b3ApO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLS1wYWQtdG9wOiAxMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgIC0tcGFkLXRvcDogMzBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgICAtLXBhZC10b3A6IDA7XG4gIH1cbn1cblxuLmhvbWUtaW5jLW1hZy0tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHJvdy1nYXA6IHZhcigtLXNwYWNlLWxnKTsgLyogMzJweCAqL1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1tZCk7IC8qIDIwcHggKi9cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJmaWd1cmVcIlxuICAgICAgXCJjb250ZW50XCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpZ3VyZSBjb250ZW50XCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZWRnZV0gNWZyIFtjZW50ZXJdIDdmciBbcmlnaHQtZWRnZV07XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbbGVmdC1lZGdlXSA0ZnIgW2NlbnRlcl0gNmZyIFtyaWdodC1lZGdlXTtcbiAgfVxufVxuXG4uaG9tZS1pbmMtbWFnX19maWd1cmUge1xuICBncmlkLWFyZWE6IGZpZ3VyZTtcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgbWF4LXdpZHRoOiAyODBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICB9XG59XG5cbi5ob21lLWluYy1tYWNfX2NvbnRlbnQge1xuICBncmlkLWFyZWE6IGNvbnRlbnQ7XG59XG5cbi8qIFNlY3Rpb24gNjogUFdBIENhcGFiaWxpdGllcyBtb2R1bGUgKi9cbi5ob21lLWNhcGFiaWxpdGllcy0tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IHZhcigtLXNwYWNlLW1kKTsgLyogMjBweCAqL1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTlweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcImZpZ3VyZVwiXG4gICAgICBcIm92ZXJ2aWV3XCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm92ZXJ2aWV3IGZpZ3VyZVwiO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtsZWZ0LWVkZ2VdIDdmciBbY2VudGVyXSA1ZnIgW3JpZ2h0LWVkZ2VdO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZWRnZV0gNmZyIFtjZW50ZXJdIDRmciBbcmlnaHQtZWRnZV07XG4gIH1cbn1cblxuLmhvbWUtY2FwYWJpbGl0aWVzX19vdmVydmlldyB7XG4gIGdyaWQtYXJlYTogb3ZlcnZpZXc7XG59XG5cbi5ob21lLWNhcGFiaWxpdGllc19fZmlndXJlIHtcbiAgZ3JpZC1hcmVhOiBmaWd1cmU7XG59XG5cbi5ob21lLWNhcGFiaWxpdGllc19faW1hZ2Uge1xuICAtLW1heC13aWR0aDogMjIwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aCk7XG4gIGhlaWdodDogYXV0bztcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeC1tZCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAtLW1heC13aWR0aDogMjYwcHg7XG4gIH1cbn1cblxuLyogU2VjdGlvbiA3OiBDYXNlcyBtb2R1bGUgKi9cbi5ob21lLWNhc2Uge1xuICAtLW1hcmdpbi1oejogLTI0cHg7XG4gIC0tcGFkLXRvcDogNDBweDtcbiAgLS1wYWQtaHo6IDI0cHg7XG4gIC0tcGFkLWJvdHRvbTogNjBweDtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1tYXJnaW4taHopO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14bCk7IC8qIDUycHggKi9cbiAgbWFyZ2luLWxlZnQ6IHZhcigtLW1hcmdpbi1oeik7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1wYWQtdG9wKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkLWh6KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZC1ib3R0b20pO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZC1oeik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogdmFyKC0tei1wbHVzKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC8qIENvbnRhaW4gY29udGVudCB3aXRoaW4gMTAgbGF5b3V0IGdyaWQgY29sdW1zICsgMS8yIGd1dHRlciwgcGx1cyBhbGxvdyBmb3IgbmVnYXRpdmUgbWFyZ2lucyB0aGF0IGJsZWVkLiAqL1xuICAgIC0tcGFkLWh6OiBjYWxjKDEwdncgKyAxMHB4KTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAtLW1hcmdpbi1oejogMDtcbiAgICAtLXBhZC1oejogY2FsYyg5LjI1JSArIDEwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuaG9tZS1jYXNlX19jb3ZlciB7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctaG92ZXItdGlsZS1uZXV0cmFsKTtcbiAgICB9XG5cbiAgICAuaG9tZS1jYXNlX192aWV3LWxpbmsge1xuICAgICAgbGVmdDogMjBweDtcbiAgICB9XG4gIH1cblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgLmhvbWUtY2FzZV9fY292ZXIge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWZvY3VzLWRvdWJsZS1ncmFwZSk7XG4gICAgfVxuXG4gICAgLyogSWYgYnJvd3NlcnMgc3VwcG9ydCBgOmZvY3VzLXdpdGhpbmAsIGRvbid0IHNob3cgZmFsbGJhY2sgZm9jdXMgc3RhdGUgb24gbGluayAqL1xuICAgIC5ob21lLWNhc2VfX2xpbms6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmhvbWUtY2FzZS0tZ3JpZCB7XG4gIC0tcm93LWdhcDogMjBweDtcbiAgLS1jb2x1bW4tZ2FwOiA0MHB4O1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcInRpdGxlIHZpZXctbGlua1wiXG4gICAgICBcImNvdmVyIGNvdmVyXCI7XG4gIH1cbn1cblxuLmhvbWUtY2FzZV9fY292ZXIge1xuICBncmlkLWFyZWE6IGNvdmVyO1xufVxuXG4uaG9tZS1jYXNlX19saW5rIHtcbiAgLyogRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgOmZvY3VzLXdpdGhpbmAgKi9cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogdmFyKC0tYm9yZGVyLXdpZHRoLXNtKSBzb2xpZCB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5ob21lLWNhc2VfX3ZpZXctbGluayB7XG4gIC0tbWFyZ2luLXRvcDogMThweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMngtbWQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZ3JpZC1hcmVhOiB2aWV3LWxpbms7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogLjJzIGxlZnQgZWFzZS1pbjtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tdG9wKTtcbiAgfVxufVxuXG4uaG9tZS1jYXNlX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICBncmlkLWFyZWE6IHRpdGxlO1xuXG4gIC5leWVicm93X19tYWluIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXh4eHMpO1xuICAgIH1cbiAgfVxufVxuXG4uaG9tZS1jYXNlLS1wZWFjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLXBlYWNoKTtcbn1cbiIsIi8qKlxuICogV2h5IERvY2tZYXJkIC0tIFBhZ2Ugc3R5bGVzXG4gKiBOQU1FU1BBQ0U6IHdoeS1keVxuICovXG5cbi8qIFNoYXJlZCBXaHkgRG9ja3lhcmQgR3JpZCBydWxlcyAqL1xuLndoeS1keS1ncmlkIHtcbiAgLS1jb2x1bW4tZ2FwOiAyMHB4O1xuICAtLXJvdy1nYXA6IDYwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiY29udGVudFwiXG4gICAgICBcImZpZ3VyZVwiO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbbGVmdC1lZGdlXSAxZnIgW2NlbnRlcl0gMWZyIFtyaWdodC1lZGdlXTtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNvbnRlbnQgZmlndXJlXCI7XG4gIH1cbn1cblxuLndoeS1keS1ncmlkLS1mbGlwcGVkIHtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpZ3VyZSBjb250ZW50XCI7XG4gIH1cbn1cblxuLyogU2hhcmVkIEhlYWRzICovXG4ud2h5LWR5X19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpOyAvKiAzMnB4ICovXG59XG5cbi8qIFNlY3Rpb24gMiwgRnVsbCBTZXJ2aWNlICovXG4uZnVsbC1zZXJ2aWNlX19jb250ZW50IHtcbiAgLS13aWR0aDogYXV0bztcbiAgd2lkdGg6IHZhcigtLXdpZHRoKTtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0td2lkdGg6IDMwdnc7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS13aWR0aDogNjYlO1xuICB9XG59XG5cbi5mdWxsLXNlcnZpY2VfX2ZpZ3VyZSB7XG4gIC0td2lkdGg6IGF1dG87XG4gIHdpZHRoOiB2YXIoLS13aWR0aCk7XG4gIGdyaWQtYXJlYTogZmlndXJlO1xuICBqdXN0aWZ5LXNlbGY6IGVuZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0td2lkdGg6IDM4dnc7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS13aWR0aDogODMlO1xuICB9XG59XG5cbi5mdWxsLXNlcnZpY2VfX2ltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogU2VjdGlvbiAzLCBSYXpvciBTaGFycCBBcHBzICovXG4ud2h5LWR5LWdyaWQtLXNoYXJwLWFwcHMge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZWRnZV0gN2ZyIFtjZW50ZXJdIDVmciBbcmlnaHQtZWRnZV07XG4gIH1cbn1cblxuLnNoYXJwLWFwcHNfX2NvbnRlbnQge1xuICAtLXBhZC1yaWdodDogMDtcbiAgLS1tYXgtd2lkdGg6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZC1yaWdodCk7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXBhZC1yaWdodDogODBweDtcbiAgICAtLW1heC13aWR0aDogMzAwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtcmlnaHQ6IDkwcHg7XG4gICAgLS1tYXgtd2lkdGg6IDM4NnB4O1xuICB9XG59XG5cbi5zaGFycC1hcHBzX19maWd1cmUge1xuICBncmlkLWFyZWE6IGZpZ3VyZTtcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgfVxufVxuXG4uc2hhcnAtYXBwc19faW1nIHtcbiAgLS1tYXgtd2lkdGg6IDI4MHB4O1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLW1heC13aWR0aDogMjMwcHg7XG4gIH1cbn1cblxuLyogU2VjdGlvbiA0LCBHcmFwaGljIFBhbmVsIG9mIDMgKi9cbi53aHktZHktZ3JhcGhpYy1wYW5lbC0tZ3JpZC5sLWdyaWQge1xuICByb3ctZ2FwOiB2YXIoLS1zcGFjZS14bCk7IC8qIDUycHggKi9cbn1cblxuLndoeS1keS1ncmFwaGljLXBhbmVsX19oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMngtbWQpOyAvKiA0MHB4ICovXG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTsgLyogMjBweCAqL1xufVxuXG4ud2h5LWR5LWdyYXBoaWMtcGFuZWxfX2ltYWdlLWJveCB7XG4gIC0tbWluLWhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogdmFyKC0tbWluLWhlaWdodCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA4NDlweCkge1xuICAgIC0tbWluLWhlaWdodDogMjAwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogODUwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAtLW1pbi1oZWlnaHQ6IDIyMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC0tbWluLWhlaWdodDogMjQwcHg7XG4gIH1cbn1cblxuLndoeS1keS1ncmFwaGljLXBhbmVsX19pbWFnZSB7XG4gIC0tbWF4LXdpZHRoOiAyMDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgICAtLW1heC13aWR0aDogMjIwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLS1tYXgtd2lkdGg6IDI0MHB4O1xuICB9XG59XG5cbi8qIFRoZXNlIDMgc2VjdGlvbnMgYXJlIHNhbWUgbGF5b3V0LCBleGNlcHQgdGhhdCBHZW5pdXMgaXMgZ3JpZC0tZmxpcHBlZCAqL1xuLyogU2VjdGlvbiA1LCBUZWNoIEFkdmFuY2UgKi9cbi8qIFNlY3Rpb24gNiwgR2VuaXVzICovXG4vKiBTZWN0aW9uIDcsIENsb2Nrd29yayAqL1xuLnRlY2gtYWR2YW5jZV9fY29udGVudCxcbi5nZW5pdXNfX2NvbnRlbnQsXG4uY2xvY2t3b3JrX19jb250ZW50IHtcbiAgLS1tYXgtd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLW1heC13aWR0aDogMzAwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1tYXgtd2lkdGg6IDM4MHB4O1xuICB9XG59XG5cbi50ZWNoLWFkdmFuY2VfX2ZpZ3VyZSxcbi5nZW5pdXNfX2ZpZ3VyZSxcbi5jbG9ja3dvcmtfX2ZpZ3VyZSB7XG4gIGdyaWQtYXJlYTogZmlndXJlO1xufVxuXG4vKiBncmlkLS1mbGlwcGVkICovXG4udGVjaC1hZHZhbmNlX19maWd1cmUsXG4uY2xvY2t3b3JrX19maWd1cmUge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICB9XG59XG5cbi5nZW5pdXNfX2ZpZ3VyZSB7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgfVxufVxuXG4udGVjaC1hZHZhbmNlX19pbWcsXG4uZ2VuaXVzX19pbWcsXG4uY2xvY2t3b3JrX19pbWcge1xuICAtLXdpZHRoOiBjYWxjKDEwMCUgKyA0OHB4KTtcbiAgLS1sZWZ0OiAtMjRweDtcbiAgd2lkdGg6IHZhcigtLXdpZHRoKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiB2YXIoLS1sZWZ0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0td2lkdGg6IGNhbGMoMTAwJSArIDI0cHgpO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0td2lkdGg6IDEwMCU7XG4gICAgLS1sZWZ0OiAwO1xuICB9XG59XG5cbi8qIGdyaWQtLWZsaXBwZWQgKi9cbi5nZW5pdXNfX2ltZyB7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1sZWZ0OiAwO1xuICB9XG59XG5cbi8qIFNlY3Rpb24gOCwgVHJ1c3RlZCAqL1xuLyogU2VlIG1vZHVsZXMvY2xpZW50LWxpc3QuY3NzIGZvciBjbGllbnQgbG9nbyBzdHlsaW5nICovXG4udHJ1c3RlZF9faGVhZGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiIsIi8qKlxuICogU2VydmljZXMgcGFnZSBzdHlsZXNcbiAqIE5BTUVTUEFDRTogc2VydmljZVxuICovXG5cbi5zZXJ2aWNlLXRpbGVzIHtcbiAgLS1nYXA6IDIwcHg7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHJvdy1nYXA6IHZhcigtLWdhcCk7XG4gIGNvbHVtbi1nYXA6IHZhcigtLWdhcCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbbGVmdC1ndXR0ZXJdIDFmciBbY2VudGVyXSAxZnIgW3JpZ2h0LWd1dHRlcl07XG4gIH1cbn1cblxuLnNlcnZpY2UtdGlsZSB7XG4gIC0tcGFkOiAyNHB4O1xuICBwYWRkaW5nOiB2YXIoLS1wYWQpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXBhZDogMjRweCAyNHB4IDM2cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQ6IDUycHggNTJweCA0MHB4O1xuICB9XG59XG5cbi5zZXJ2aWNlLXRpbGVfX2hlYWRpbmcge1xuICAtLW1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi10b3ApO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tbWFyZ2luLXRvcDogNTBweDtcbiAgfVxufVxuXG4uc2VydmljZS10aWxlX19pY29uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLnNlcnZpY2UtdGlsZV9faWNvbi1jb250YWluZXIge1xuICAtLXdpZHRoOiAxNjBweDtcbiAgLS1oZWlnaHQ6IDE0MHB4O1xuICB3aWR0aDogdmFyKC0td2lkdGgpO1xuICBoZWlnaHQ6IHZhcigtLWhlaWdodCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogMTIzOXB4KSB7XG4gICAgLS13aWR0aDogMTkwcHg7XG4gICAgLS1oZWlnaHQ6IDE2MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyNDBweCkge1xuICAgIC0td2lkdGg6IDIyMHB4O1xuICAgIC0taGVpZ2h0OiAyMDBweDtcbiAgfVxufVxuXG4uc2VydmljZS10aWxlX19tb3JlIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNlcnZpY2UtdGlsZV9fbGluayB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLnNlcnZpY2UtdGlsZV9fdGV4dCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHB1bGxxdW90ZSBzdHlsZXNcbiAqL1xuXG4uc2VydmljZS1wdWxscXVvdGUtdGlsZSB7XG4gIC0tbWFyZ2luLWh6OiAtMjRweDtcbiAgLS1tYXJnaW4tYm90dG9tOiA0MHB4O1xuICAtLXBhZDogNTJweCAyNHB4O1xuICBtYXJnaW4tcmlnaHQ6IHZhcigtLW1hcmdpbi1oeik7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1ib3R0b20pO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tbWFyZ2luLWh6KTtcbiAgcGFkZGluZzogdmFyKC0tcGFkKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvci1jcmVhbSk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC0taGVpZ2h0OiAxNDBweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgICAgLS1oZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1tYXJnaW4taHo6IDA7XG4gICAgLS1tYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQ6IDEwMHB4IDUycHg7XG4gIH1cbn1cblxuLnNlcnZpY2UtcHVsbHF1b3RlLXRpbGVfX2NpdGF0aW9uIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4uc2VydmljZS1wdWxscXVvdGUtdGlsZV9fdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5zZXJ2aWNlLXB1bGxxdW90ZS10aWxlX19pbWcge1xuICAtLXJpZ2h0OiAtNjRweDtcbiAgLS1ib3R0b206IC00MHB4O1xuICB3aWR0aDogMjgwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IHZhcigtLXJpZ2h0KTtcbiAgYm90dG9tOiB2YXIoLS1ib3R0b20pO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgIC0tcmlnaHQ6IC03MnB4O1xuICAgIC0tYm90dG9tOiAtNDJweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgICAtLXJpZ2h0OiAtOTZweDtcbiAgICAtLWJvdHRvbTogLTQycHg7XG4gIH1cbn1cblxuLyoqXG4gKiBTZXJ2aWNlIGRldGFpbHMgc3R5bGVzXG4gKi9cblxuLyogVE9ETzogTWlnaHQgY29uc2lkZXIgY2hhbmdpbmcgdGhlc2UgdG8gZ3JpZCBhbmQgYWxpZ24gdG8gbGF5b3V0IGdyaWQuIFB1bGxxdW90ZSBzZWN0aW9ucyBzaG91bGQgZXhwYW5kIHRvIDEwIG9mIDEyLCB3aGlsZSBoMiArIGNvcHkgc2h1b2xkIGJlIGxpbWl0ZWQgdG8gOCBvZiAxMi4gKi9cbi5zZXJ2aWNlLXNwZWMge1xuICAtLW1hcmdpbi1ib3R0b206IDA7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYm90dG9tKTtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTlweCkge1xuICAgIC0tbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLnNlcnZpY2Utc3BlYy0tcHVsbHF1b3RlIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyNDBweCkge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gIH1cbn1cblxuLnNlcnZpY2Utc3BlY19fZmluZ2VycyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgdG9wOiAycHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3MHB4O1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICB0b3A6IDRweDtcbiAgfVxufVxuXG4uc2VydmljZS1zcGVjX19maW5nZXJzLWltYWdlIHtcbiAgbWF4LXdpZHRoOiAyODBweDtcbn1cblxuLnNlcnZpY2Utc3BlY19fcGFsbSB7XG4gIC0tc3BhY2UtdnQ6IDA7XG4gIC0tc3BhY2UtaHo6IDA7XG4gIC0td2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXZ0KTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZS1oeik7XG4gIG1heC13aWR0aDogdmFyKC0td2lkdGgpO1xuICBmbGV4OiAxO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLS1zcGFjZS12dDogMTNweDtcbiAgICAtLXNwYWNlLWh6OiAzMHB4O1xuICAgIC0td2lkdGg6IDQyMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0td2lkdGg6IDQ4MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tc3BhY2UtdnQ6IDE4cHg7XG4gICAgLS1zcGFjZS1oejogNTBweDtcbiAgfVxufVxuXG4uc2VydmljZS1zcGVjLWJveCB7XG4gIC0tcGFkLXJpZ2h0OiAyNHB4O1xuICAtLXBhZC1sZWZ0OiAyNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWQtcmlnaHQpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZC1sZWZ0KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcm93LWdhcDogdmFyKC0tc3BhY2UteGwpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLS1wYWQtcmlnaHQ6IDgwcHg7XG4gICAgLS1wYWQtbGVmdDogNjBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjM5cHgpIHtcbiAgICAtLXBhZC1yaWdodDogMTEwcHg7XG4gICAgLS1wYWQtbGVmdDogOTBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgICAtLXBhZC1yaWdodDogMjIwcHg7XG4gICAgLS1wYWQtbGVmdDogMjIwcHg7XG4gIH1cbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHB1bGxxdW90ZSBzdHlsZXNcbiAqL1xuXG4uc2VydmljZS1wdWxscXVvdGUge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZS0yeC1zbSk7IC8qIDI0cHggKi9cbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlLTJ4LXNtKTtcbiAgfVxufVxuXG4uc2VydmljZS1wdWxscXVvdGVfX2NpdGF0aW9uIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtbWQpOyAvKiAyMHB4ICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZXJ2aWNlLXB1bGxxdW90ZV9fbG9nbyB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpOyAvKiAyMHB4ICovXG4gIG1heC1oZWlnaHQ6IDMycHg7XG59XG5cbi8qKlxuICogT3RoZXIgU2VydmljZSBUaWxlc1xuICovXG5cbi5vdGhlci1zZXJ2aWNlc19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7IC8qIDMycHggKi9cbn1cblxuLm90aGVyLXNlcnZpY2VzLXRpbGUtYm94IHtcbiAgLS1tYXJnaW4tYm90dG9tOiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYm90dG9tKTtcbiAgcGFkZGluZy10b3A6IDA7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1tYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi5vdGhlci1zZXJ2aWNlLXRpbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ub3RoZXItc2VydmljZXMtdGlsZSB7XG4gIC0tcGFkLWh6OiAyNHB4O1xuICAtLXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gIHBhZGRpbmctdG9wOiAyNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWQtaHopO1xuICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWQtaHopO1xuICB3aWR0aDogdmFyKC0td2lkdGgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1wYWQtaHo6IDMwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0td2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS13aWR0aDogY2FsYygoMTAwJSAvIDMpIC0gMTBweCk7XG4gIH1cbn1cblxuLm90aGVyLXNlcnZpY2VzLXRpbGVfX2ltYWdlIHtcbiAgLS1tYXJnaW4tcmlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tbWFyZ2luLXJpZ2h0KTtcbiAgd2lkdGg6IDc1cHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1tYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLm90aGVyLXNlcnZpY2VzLXRpbGVfX2xpbmsge1xuICBmbGV4OiAxO1xuICBvdXRsaW5lOiBub25lO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuIiwiLyoqXG4gKiBXb3JrIC0tIFBhZ2Ugc3R5bGVzXG4gKiBOQU1FU1BBQ0U6IHdvcmtcbiAqL1xuXG4ud29yayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy93b3JrLXRvcC1iZy1zaGFwZS5zdmc/dj0yXCIpLCB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL3dvcmstc2lkZS1iZy1zaGFwZS5zdmc/dj0yXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wLCBjZW50ZXIgNDElO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMHZ3LCAyNTYwcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDI1MDBweCkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AsIHJpZ2h0IDQxJTtcbiAgfVxufVxuXG4ud29yay1oZXJvX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHhsKTtcbiAgfVxufVxuXG4vKiBUaGUgdWwgY29udGFpbmVyICovXG4ud29yay1pdGVtcyB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCAxZnIpO1xuICAgIGdyaWQtcm93LWdhcDogdmFyKC0tc3BhY2UtMngtbGcpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMngtbWQpO1xuICB9XG59XG5cbi8qIFRoZSBsYXJnZSB0aWxlcyAqL1xuLndvcmstaXRlbSB7XG4gIC0tbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLWJvdHRvbSk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1tYXJnaW4tYm90dG9tOiAwO1xuICAgIC8qIEZpdHMgdGhyZWUgaXRlbXMgaW4gYSBcInJvd1wiICovXG4gICAgZ3JpZC1jb2x1bW4tZW5kOiBzcGFuIDI7XG5cbiAgICAmLS1jYWxsb3V0LFxuICAgICYtLWZlYXR1cmVkIHtcbiAgICAgIGdyaWQtY29sdW1uLWVuZDogc3BhbiAzO1xuICAgIH1cbiAgfVxufVxuXG4ud29yay1pdGVtX19saW5rIHtcbiAgLyogRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgOmZvY3VzLXdpdGhpbmAgKi9cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi53b3JrLWl0ZW1fX3RhZ2xpbmUge1xuICAtLWhlaWdodDogNjBweDtcbiAgLS1tYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIC0tbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1tYXJnaW4tcmlnaHQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYm90dG9tKTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBoZWlnaHQ6IHZhcigtLWhlaWdodCk7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgbWF4LXdpZHRoOiAzODBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLS1oZWlnaHQ6IDkwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1tYXJnaW4tcmlnaHQ6IDA7XG4gICAgLS1tYXJnaW4tYm90dG9tOiA0OHB4O1xuICB9XG59XG5cbi8qIFRoZSBjbGllbnQgbG9nbyBjb250YWluZXIgKi9cbi53b3JrLWl0ZW1fX2NsaWVudCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4LXNtKTsgLyogMjRweCAqL1xuICBoZWlnaHQ6IHZhcigtLXNwYWNlLTJ4LW1kKTsgLyogNDBweCAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi53b3JrLWl0ZW1fX2N0YSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cbn1cblxuLndvcmstaXRlbV9fZXllYnJvdyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLndvcmstaXRlbS0tY2FsbG91dCxcbi53b3JrLWl0ZW0tLWZlYXR1cmVkIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLWJhc2UpIGFsbCBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1ob3Zlci10aWxlLW5ldXRyYWwpO1xuICB9XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1mb2N1cy1kb3VibGUtZ3JhcGUpO1xuXG4gICAgLyogSWYgYnJvd3NlcnMgc3VwcG9ydCBgOmZvY3VzLXdpdGhpbmAsIGRvbid0IHNob3cgZmFsbGJhY2sgZm9jdXMgc3RhdGUgb24gbGluayAqL1xuICAgIC53b3JrLWl0ZW1fX2xpbms6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogRmVhdHVyZWQgQ2FzZSBTdHVkeSBDYXJkcyAqL1xuLndvcmstaXRlbS0tZmVhdHVyZWQge1xuICAtLXBhZC10b3A6IDIwcHg7XG4gIC0tcGFkLXJpZ2h0OiAwO1xuICAtLXBhZC1sZWZ0OiAxNnB4O1xuICAtLWhlaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZC10b3ApO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWQtcmlnaHQpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZC1sZWZ0KTtcbiAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC14cykgc29saWQgdmFyKC0tYnJhbmQtY29sb3ItZ3JheS1ibHVlLXBhbGUpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzNjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLS1wYWQtbGVmdDogNDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC0taGVpZ2h0OiA0MDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC0tcGFkLXRvcDogNDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgLS1oZWlnaHQ6IDUwMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXBhZC1yaWdodDogMTZweDtcbiAgICAtLWhlaWdodDogNDAwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtcmlnaHQ6IDIwcHg7XG4gICAgLS1wYWQtbGVmdDogNzBweDtcbiAgICAtLWhlaWdodDogNTAwcHg7XG4gIH1cbn1cblxuLyogRmVhdHVyZWQgdGlsZXMgYmFja2dyb3VuZCBjb2xvcnMgKi9cbi53b3JrLWl0ZW0tLWJsYWNrYmVycnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1ibGFja2JlcnJ5KTtcbn1cblxuLndvcmstaXRlbS0tY3JlYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1jcmVhbSk7XG59XG5cbi53b3JrLWl0ZW0tLWdyYXBlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItZ3JhcGUpO1xufVxuXG4ud29yay1pdGVtLS1wZWFjaCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLXBlYWNoKTtcbn1cblxuLndvcmstaXRlbS0tYmxhY2tiZXJyeSxcbi53b3JrLWl0ZW0tLWdyYXBlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLyogRmVhdHVyZWQgd29yayBpdGVtIGltZy4gTWFnaWMgbnVtYmVycyBiZWNhdXNlIGVhY2ggaW1hZ2UgaXMgcHJlY2lzZWx5IHNpemVkLiAqL1xuLndvcmstaXRlbV9faW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tcmFkaXVzLW1kKTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAud29yay1pdGVtLS1teXN1bmJ1ZGR5ICYge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB9XG5cbiAgICAud29yay1pdGVtLS1tY2dyYXctaGlsbCAmIHtcbiAgICAgIG1heC13aWR0aDogNTIwcHg7XG4gICAgfVxuXG4gICAgLndvcmstaXRlbS0tbGVhcm5pdm9yZSAmLFxuICAgIC53b3JrLWl0ZW0tLW1hbW1vc3BoZXJlICYsXG4gICAgLndvcmstaXRlbS0tbmFpcyAmIHtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgfVxuXG4gICAgLndvcmstaXRlbS0tY29sbGVnZXZpbmUgJiB7XG4gICAgICBtYXgtd2lkdGg6IDUxMHB4O1xuICAgIH1cblxuICAgIC53b3JrLWl0ZW0tLWZseXdoZWVsICYge1xuICAgICAgbWF4LXdpZHRoOiA2NjBweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA3NTlweCkge1xuICAgIC53b3JrLWl0ZW0tLWNvbGxlZ2V2aW5lICYge1xuICAgICAgbWF4LXdpZHRoOiA2ODBweDtcbiAgICB9XG5cbiAgICAud29yay1pdGVtLS1mbHl3aGVlbCAmLFxuICAgIC53b3JrLWl0ZW0tLWxlYXJuaXZvcmUgJixcbiAgICAud29yay1pdGVtLS1tYW1tb3NwaGVyZSAmLFxuICAgIC53b3JrLWl0ZW0tLW1jZ3Jhdy1oaWxsICYsXG4gICAgLndvcmstaXRlbS0tbXlzdW5idWRkeSAmLFxuICAgIC53b3JrLWl0ZW0tLW5haXMgJiB7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLndvcmstaXRlbS0tY29sbGVnZXZpbmUgJixcbiAgICAud29yay1pdGVtLS1mbHl3aGVlbCAmLFxuICAgIC53b3JrLWl0ZW0tLWxlYXJuaXZvcmUgJixcbiAgICAud29yay1pdGVtLS1teXN1bmJ1ZGR5ICYge1xuICAgICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgICB9XG5cbiAgICAud29yay1pdGVtLS1tYW1tb3NwaGVyZSAmLFxuICAgIC53b3JrLWl0ZW0tLW1jZ3Jhdy1oaWxsICYsXG4gICAgLndvcmstaXRlbS0tbmFpcyAmIHtcbiAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC53b3JrLWl0ZW0tLW15c3VuYnVkZHkgJiB7XG4gICAgICBtYXgtd2lkdGg6IDUyMHB4O1xuICAgIH1cblxuICAgIC53b3JrLWl0ZW0tLWNvbGxlZ2V2aW5lICYge1xuICAgICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgICB9XG5cbiAgICAud29yay1pdGVtLS1uYWlzICYge1xuICAgICAgbWF4LXdpZHRoOiA2MTBweDtcbiAgICB9XG5cbiAgICAud29yay1pdGVtLS1mbHl3aGVlbCAmIHtcbiAgICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgfVxuXG4gICAgLndvcmstaXRlbS0tbWNncmF3LWhpbGwgJiB7XG4gICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIH1cblxuICAgIC53b3JrLWl0ZW0tLWxlYXJuaXZvcmUgJiB7XG4gICAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgIH1cblxuICAgIC53b3JrLWl0ZW0tLW1hbW1vc3BoZXJlICYge1xuICAgICAgbWF4LXdpZHRoOiA2OTBweDtcbiAgICB9XG4gIH1cbn1cblxuLyogVW5pcXVlIHF1b3RhdGlvbiB3b3JrIGl0ZW0gKi9cbi53b3JrLWl0ZW0tLXNjcmF0Y2gtd2lyZWxlc3Mge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeC1tZCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZS0yeC1sZyk7IC8qIDY0cHggKi9cbiAgfVxufVxuXG4vKiBVbmlxdWUgY2FsbG91dCB3b3JrIGl0ZW0gZm9yIEFtZXJpY2FuIFNwZWNpYWx0eSAqL1xuLndvcmstaXRlbS0tY2FsbG91dCB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4LW1kKSB2YXIoLS1zcGFjZS1tZCkgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICAuYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWdyYXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBXb3JrIC0tIENsaWVudCBsb2dvIGFkanVzdG1lbnRzXG4gKiBUaGVzZSBzZXR0aW5ncyBhbGxvdyB1cyB0byByZXNpemUgYW5kIGFsaWduIHRoZSBjbGllbnQgbG9nb3MgaW4gdGhlIE91ciBXb3JrXG4gKiBwYWdlIGluIGFuIGFlc3RoZXRpY2FsbHkgcGxlYXNpbmcgbWFubmVyLlxuICogICAtIFVzZSBtYXgtd2lkdGggYXMgeW91ciBkZWZhdWx0IGNvbnRyb2wgZm9yIHNpemUgYnV0IG1heC1oZWlnaHQgbWF5IGJlXG4gKiAgICAgYmV0dGVyIGluIHNvbWUgc2l0dWF0aW9ucyAoc2VlIEFwcGxlIGFuZCBXb3JrZXJzIFZvaWNlKS4gVXNlIG9uZSBvciB0aGVcbiAqICAgICBvdGhlciwgbm90IGJvdGguXG4gKiAgIC0gVXNlIHRvcCAocG9zaXRpdmUgb3IgbmVnYXRpdmUpIHRvIG51ZGdlIGFuIGljb24gdXAgb3IgZG93biB0byBhbGlnbiBiZXR0ZXJcbiAqICAgICB3aXRoIG90aGVycyBpbiB0aGUgc2FtZSByb3c7IC53b3JrLWl0ZW1fX2NsaWVudC1sb2dvIGhhdmUgcmVsYXRpdmVcbiAqICAgICBwb3NpdGlvbmluZyBhY3RpdmF0ZWQuXG4gKi9cblxuLndvcmstaXRlbV9fY2xpZW50LWxvZ28ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvKiByb3VuZCwgYnV0IGxlYWYgZG9lc24ndCBoYXZlIG11Y2ggdmlzdWFsIHdlaWdodCwgc28ga2VlcCBiYXNlbGluZSAqL1xuICAmLS1hcHBsZSB7XG4gICAgbWF4LWhlaWdodDogNDhweDtcbiAgfVxuXG4gIC8qIHJvdW5kIG9yIHNxdWFyaXNoLCBuZWVkcyBzbGlnaHQgYnVtcCB1cCBpbiBzaXplLCBhbmQgY2VudGVyZWQgdmVydGljYWxseSAqL1xuICAmLS1jYXJzLWNvbSxcbiAgJi0tY29ubmV4aW8sXG4gICYtLWRpZ2lsYW50LFxuICAmLS1kb2xsYXItc2hhdmUtY2x1YixcbiAgJi0tZHJpZnQsXG4gICYtLWhhcnZhcmQsXG4gICYtLW1hcmlhbmEsXG4gICYtLW1idGEsXG4gICYtLW1jZ3Jhdy1oaWxsLFxuICAmLS1vcGVuYmF5LFxuICAmLS1zcGFydGEtc2NpZW5jZSxcbiAgJi0tc3B5Y2UtZm9vZCxcbiAgJi0temlwY2FyIHtcbiAgICBtYXgtaGVpZ2h0OiA0NnB4O1xuICAgIHRvcDogM3B4O1xuICB9XG5cbiAgLyogdmVyeSBsaWdodCB2aXN1YWxseSwgYnVtcCB1cCBtb3JlIHRoYW4gb3RoZXJzICovXG4gICYtLWZseXdoZWVsLFxuICAmLS1wcGYsXG4gICYtLXNvY2lldHktb2YtZ3Jvd251cHMsXG4gICYtLXdvcmtlcnMtdm9pY2Uge1xuICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgdG9wOiA1cHg7XG4gIH1cblxuICAvKiByZWlnbiBpbiBzb21lIG9mIHRoZSBsYXJnZXIvaGVhdmllciB3ZWlnaHQgbG9nb3MgKi9cbiAgJi0tY29uc3RhbnQtY29udGFjdCxcbiAgJi0tbGVhcm5pdm9yZSxcbiAgJi0tbXlzdW5idWRkeSxcbiAgJi0tdGFwb2xvZ3kge1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIG1heC13aWR0aDogMjEwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXG4gKiBDYXNlIFN0dWR5IFN0eWxlc1xuICogTkFNRVNQQUNFOiBjc1xuICovXG5cbi8qKlxuICogQ2FzZSBsYXlvdXQgZ3JvdXBzXG4gKi9cblxuLyogS2VlcCB0aGUgY3VydmVzIGZyb20gY2F1c2luZyBob3Jpem9udGFsIG92ZXJmbG93ICovXG4uY3Mge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBDb3B5IGNvbnRhaW5lcnMgKi9cbi5jcy1ibG9jayB7XG5cbiAgLnQtbmV3LWJvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgfVxufVxuXG4uY3Mtc2VjdGlvbiB7XG4gIC0tcGFkLXZ0OiAzMnB4O1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkLXZ0KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXBhZC12dCk7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IHZhcigtLXotbm9ybWFsKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0tcGFkLXZ0OiA1MnB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tcGFkLXZ0OiA4NHB4O1xuICB9XG59XG5cbi5jcy1zZWN0aW9uLS1leHRyYS1ib3R0b20tcGFkZGluZyB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyNDYwcHgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1wYWQtdnQpICogMik7XG4gIH1cbn1cblxuLyogQmFja2dyb3VuZCBjb2xvciB2YXJpYXRpb25zICovXG4uY3Mtc2VjdGlvbi0tYmctYmxhY2tiZXJyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWJsYWNrYmVycnkpO1xufVxuXG4uY3Mtc2VjdGlvbi0tYmctZ3JhcGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1ncmFwZSk7XG59XG5cbi5jcy1zZWN0aW9uLS1iZy1ibGFja2JlcnJ5LFxuLmNzLXNlY3Rpb24tLWJnLWdyYXBlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmNzLXNlY3Rpb24tLWJnLWNyZWFtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItY3JlYW0pO1xufVxuXG4uY3Mtc2VjdGlvbi0tYmctbHQtZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktOTcpO1xufVxuXG4uY3Mtc2VjdGlvbi0tYmctcGVhY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvci1wZWFjaCk7XG59XG5cbi8qIEJhY2tncm91bmQtaW1hZ2UgY3VydmVzIHZhcmlhdGlvbnMgKi9cbi8qIFNoYXJlIG1vc3QgcG9zaXRpb25pbmcgcnVsZXMgKi9cbi5jcy1zZWN0aW9uLS1iZy1ibGFja2JlcnJ5LWN1cnZlLFxuLmNzLXNlY3Rpb24tLWJnLWJsYWNrYmVycnktaGVhZGVyLWN1cnZlLFxuLmNzLXNlY3Rpb24tLWJnLWJsYWNrYmVycnktY3VydmUtZmxpcCxcbi5jcy1zZWN0aW9uLS1iZy1jcmVhbS1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy1ncmFwZS1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy1ncmFwZS1jdXJ2ZS10b3AsXG4uY3Mtc2VjdGlvbi0tYmctZ3JhcGUtY3VydmUtdG9wLWx0LWdyZXktYm90dG9tLFxuLmNzLXNlY3Rpb24tLWJnLWdyYXBlLWdyZXktZHVvLWN1cnZlLFxuLmNzLXNlY3Rpb24tLWJnLWx0LWdyZXktY3VydmUsXG4uY3Mtc2VjdGlvbi0tYmctbHQtZ3JleS1jdXJ2ZS10b3AsXG4uY3Mtc2VjdGlvbi0tYmctbHQtZ3JleS10cmFuc3BhcmVudC1jdXJ2ZS10b3AsXG4uY3Mtc2VjdGlvbi0tYmctbHQtZ3JleS1jdXJ2ZS10b3AtZGVlcCxcbi5jcy1zZWN0aW9uLS1iZy1wZWFjaC1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy13aGl0ZS1jdXJ2ZS10b3AsXG4uY3Mtc2VjdGlvbi0tYmctZ3JhcGUtdG9wLWdyZXktYm90dG9tLWN1cnZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAyNTYwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IHZhcigtLXotbWludXMpO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIC0zcHg7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KSB7XG4gICAgICB3aWR0aDogMTAxdnc7XG4gICAgfVxuICB9XG59XG5cbi8qIFNoYXJlIHNhbWUgaGVpZ2h0ICovXG4uY3Mtc2VjdGlvbi0tYmctYmxhY2tiZXJyeS1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy1ibGFja2JlcnJ5LWN1cnZlLWZsaXAsXG4uY3Mtc2VjdGlvbi0tYmctYmxhY2tiZXJyeS1oZWFkZXItY3VydmUsXG4uY3Mtc2VjdGlvbi0tYmctY3JlYW0tY3VydmUsXG4uY3Mtc2VjdGlvbi0tYmctZ3JhcGUtY3VydmUsXG4uY3Mtc2VjdGlvbi0tYmctZ3JhcGUtY3VydmUtdG9wLFxuLmNzLXNlY3Rpb24tLWJnLWdyYXBlLWN1cnZlLXRvcC1sdC1ncmV5LWJvdHRvbSxcbi5jcy1zZWN0aW9uLS1iZy1ncmFwZS1ncmV5LWR1by1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy1sdC1ncmV5LWN1cnZlLXRvcCxcbi5jcy1zZWN0aW9uLS1iZy1sdC1ncmV5LXRyYW5zcGFyZW50LWN1cnZlLXRvcCxcbi5jcy1zZWN0aW9uLS1iZy1wZWFjaC1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy13aGl0ZS1jdXJ2ZS10b3Age1xuXG4gICY6OmFmdGVyIHtcbiAgICAtLWhlaWdodDogMzAwcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQpO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI1MDBweCkge1xuICAgICAgLS1oZWlnaHQ6IDQ3MHB4O1xuICAgIH1cbiAgfVxufVxuXG4vKiBTaGFyZSBzYW1lIGhlaWdodCAqL1xuLmNzLXNlY3Rpb24tLWJnLWx0LWdyZXktY3VydmUsXG4uY3Mtc2VjdGlvbi0tYmctbHQtZ3JleS1jdXJ2ZS10b3AtZGVlcCB7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC0taGVpZ2h0OiA1MDBweDtcbiAgICBoZWlnaHQ6IHZhcigtLWhlaWdodCk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KSB7XG4gICAgICAtLWhlaWdodDogNzgwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qIFNoYXJlIHNhbWUgcG9zaXRpb25pbmcgKi9cbi5jcy1zZWN0aW9uLS1iZy1jcmVhbS1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy1ncmFwZS1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy1ncmFwZS1jdXJ2ZS10b3AtbHQtZ3JleS1ib3R0b20sXG4uY3Mtc2VjdGlvbi0tYmctcGVhY2gtY3VydmUsXG4uY3Mtc2VjdGlvbi0tYmctYmxhY2tiZXJyeS1oZWFkZXItY3VydmUge1xuXG4gICY6OmFmdGVyIHtcbiAgICAtLWJvdHRvbTogLTE1MHB4O1xuICAgIGJvdHRvbTogdmFyKC0tYm90dG9tKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNTAwcHgpIHtcbiAgICAgIC0tYm90dG9tOiAtMjUwcHg7XG4gICAgfVxuICB9XG59XG5cbi8qIEJhY2tncm91bmQgaW1hZ2VzLCBiYWNrZ3JvdW5kLWNvbG9yIG92ZXJyaWRlcywgdW5pcXVlIHBvc2l0aW9uaW5nICovXG4uY3Mtc2VjdGlvbi0tYmctY3JlYW0tY3VydmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9jYXNlX3NoYXBlX2hlYWRlci1jcmVhbS5zdmc/dj0yXCIpO1xufVxuXG4uY3Mtc2VjdGlvbi0tYmctZ3JhcGUtY3VydmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9jYXNlX3NoYXBlX2hlYWRlci1ncmFwZS5zdmc/dj0zXCIpO1xufVxuXG4uY3Mtc2VjdGlvbi0tYmctcGVhY2gtY3VydmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9jYXNlX3NoYXBlX2hlYWRlci1wZWFjaC5zdmc/dj0yXCIpO1xufVxuXG4uY3Mtc2VjdGlvbi0tYmctYmxhY2tiZXJyeS1oZWFkZXItY3VydmU6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9jYXNlX3NoYXBlX2hlYWRlci1ibGFja2JlcnJ5LnN2Zz92PTJcIik7XG59XG5cbi5jcy1zZWN0aW9uLS1iZy1ibGFja2JlcnJ5LWN1cnZlOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2Nhc2Vfc2hhcGVfc2VjdGlvbi10b3AtYmxhY2tiZXJyeS5zdmc/dj0zXCIpO1xufVxuXG4uY3Mtc2VjdGlvbi0tYmctYmxhY2tiZXJyeS1jdXJ2ZS1mbGlwOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2Nhc2Vfc2hhcGVfc2VjdGlvbi10b3AtYmxhY2tiZXJyeS1oLWZsaXAuc3ZnP3Y9MlwiKTtcbn1cblxuLmNzLXNlY3Rpb24tLWJnLWx0LWdyZXktdHJhbnNwYXJlbnQtY3VydmUtdG9wOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2Nhc2Vfc2hhcGVfc2VjdGlvbi10b3AtbHQtZ3JleS00LnN2Z1wiKTtcbn1cblxuLmNzLXNlY3Rpb24tLWJnLWx0LWdyZXktY3VydmUtdG9wOjphZnRlciB7XG4gIC0tdG9wOiAtNTBweDtcbiAgdG9wOiB2YXIoLS10b3ApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9jYXNlX3NoYXBlX3NlY3Rpb24tdG9wLWx0LWdyZXktYm90dG9tLXdoaXRlLnN2Zz92PTJcIik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tdG9wOiAtOTBweDtcblxuICAgIC5jcy0tbWNncmF3LWhpbGwgJiB7XG4gICAgICAtLXRvcDogLTIwMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY3Mtc2VjdGlvbi0tYmctYmxhY2tiZXJyeS1jdXJ2ZSxcbi5jcy1zZWN0aW9uLS1iZy1ibGFja2JlcnJ5LWN1cnZlLWZsaXAsXG4uY3Mtc2VjdGlvbi0tYmctbHQtZ3JleS10cmFuc3BhcmVudC1jdXJ2ZS10b3Age1xuICAmOjphZnRlciB7XG4gICAgLS10b3A6IC0xMjBweDtcbiAgICB0b3A6IHZhcigtLXRvcCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogMjQ1OXB4KSB7XG4gICAgICAtLXRvcDogLTE1MHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyNDYwcHgpIGFuZCAobWF4LXdpZHRoOiAzNTk5cHgpIHtcbiAgICAgIC0tdG9wOiAtMjIwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDM2MDBweCkge1xuICAgICAgLS10b3A6IC0yNDBweDtcbiAgICB9XG4gIH1cbn1cblxuLmNzLXNlY3Rpb24tLWJnLWdyYXBlLWN1cnZlLXRvcDo6YWZ0ZXIge1xuICAtLXRvcDogLTEyOHB4O1xuICB0b3A6IHZhcigtLXRvcCk7XG4gIGJhY2tncm91bmQ6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvY2FzZV9zaGFwZV9zZWN0aW9uLXRvcC1ncmFwZS5zdmc/dj0yXCIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkge1xuICAgIC0tdG9wOiAtMTQwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KSB7XG4gICAgLS10b3A6IC0yMjBweDtcbiAgfVxufVxuXG4uY3Mtc2VjdGlvbi0tYmctZ3JhcGUtY3VydmUtdG9wLWx0LWdyZXktYm90dG9tOjphZnRlciB7XG4gIGJvdHRvbTogLTEyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2Nhc2Vfc2hhcGVfaGVhZGVyLWdyYXBlLWx0LWdyZXktYm90dG9tLnN2Z1wiKTtcbn1cblxuLmNzLXNlY3Rpb24tLWJnLWdyYXBlLWdyZXktZHVvLWN1cnZlOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvY2FzZV9zaGFwZV9oZWFkZXItZ3JhcGUtbHQtZ3JleS1ib3R0b20tMi5zdmdcIik7XG59XG5cblxuLmNzLXNlY3Rpb24tLWJnLXdoaXRlLWN1cnZlLXRvcDo6YWZ0ZXIge1xuICB0b3A6IC0yMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2Nhc2Vfc2hhcGVfc2VjdGlvbi10b3Atd2hpdGUtYm90dG9tLWx0LWdyZXkuc3ZnP3Y9MlwiKTtcbn1cblxuLmNzLXNlY3Rpb24tLWJnLWx0LWdyZXktY3VydmU6OmFmdGVyIHtcbiAgLS10b3A6IC01MHB4O1xuICB0b3A6IHZhcigtLXRvcCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvY2FzZV9zaGFwZV9zZWN0aW9uLXRvcC1sdC1ncmV5LTIuc3ZnXCIpO1xuXG4gIC8qIE5vIHdoaXRlIGdhcCBvbiBib3R0b20gb2YgY3VydmUgKi9cbiAgLmNzLS1jb2xsZWdldmluZSAmLFxuICAuY3MtLWxlYXJuaXZvcmUgJiB7XG4gICAgLS10b3A6IC0xNTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gIH1cblxuICAuY3MtLW1jZ3Jhdy1oaWxsICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5jcy1zZWN0aW9uLS1iZy1sdC1ncmV5LWN1cnZlLXRvcC1kZWVwOjphZnRlciB7XG4gIC0tdG9wOiAtMjgwcHg7XG4gIHRvcDogdmFyKC0tdG9wKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9jYXNlX3NoYXBlX3NlY3Rpb24tdG9wLWx0LWdyZXktZGVlcC5zdmc/dj0yXCIpO1xuXG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDI1MDBweCkge1xuICAgIC0tdG9wOiAtNDAwcHg7XG4gIH1cbn1cblxuLyogVGhpcyBvbmUgaXMgbm90IGxpa2UgdGhlIG90aGVycyEgSW5zdGVhZCBvZiBwdXR0aW5nIGEgZ3JhcGUgY3VydmUgb24gYm90dG9tIG9mIGhlYWRlciBzZWN0aW9uLCB3ZSd2ZSB1c2VkIGEgZ3JhcGUgdG9wL2dyZXkgYm90dG9tIGN1cnZlIG9uIHRvcCBvZiBuZXh0IChncmV5KSBzZWN0aW9uLiBUaGlzIGlzIGJlY2F1c2Ugb3RoZXIgaGVhZGVycyBwcmVjZWRlIHdoaXRlIGJhY2tncm91bmRzLCBzbyB0aGVpciBjdXJ2ZXMgZGlzcGxheSBpbiBmdWxsLiBBZGRpbmcgYSBjb2xvciB0byBiYWNrZ3JvdW5kIG9mIHNlY3Rpb24gZm9sbG93aW5nIGhlYWRlciBtYWRlIGl0IG5lY2Vzc2FyeSB0byBhdHRhY2ggdGhlIGN1cnZlIHRvIHRoZSBncmV5IHNlY3Rpb24sIHdpdGggZ3JhcGUgdG9wIG92ZXJsYXlpbmcgZ3JhcGUgb2YgaGVhZGVyLiBOb3RlOiB0aGlzIGlzIHVzZWQgb24gTWNHcmF3IEhpbGwgQ2FzZSBTdHVkeS4gKi9cbi5jcy1zZWN0aW9uLS1iZy1ncmFwZS10b3AtZ3JleS1ib3R0b20tY3VydmU6OmFmdGVyIHtcbiAgLS13aWR0aDogMjAwdnc7XG4gIC0taGVpZ2h0OiAzNTBweDtcbiAgLS10b3A6IC00MHB4O1xuICAtLWxlZnQ6IDIwJTtcbiAgd2lkdGg6IHZhcigtLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQpO1xuICB0b3A6IHZhcigtLXRvcCk7XG4gIGxlZnQ6IHZhcigtLWxlZnQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9jYXNlX3NoYXBlX2hlYWRlci1ncmFwZS1iZWxvdy5zdmdcIik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0td2lkdGg6IDE1MHZ3O1xuICAgIC0tdG9wOiAtMTAwcHg7XG4gICAgLS1sZWZ0OiA1MCU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICAgLS1oZWlnaHQ6IDU0MHB4O1xuICB9XG59XG5cbi8qKlxuICogQ2FzZSBncmFwaGljc1xuICovXG5cbi5jcy1oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpOyAvKiAyMHB4ICovXG59XG5cbi5jcy1zdGVwLWhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi5jcy1zdGVwLWhlYWRpbmdfX251bWJlciB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2Utc20pOyAvKiAxMnB4ICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNzLXN0ZXAtaGVhZGluZ19fbnVtYmVyLS1vbi1kZWZhdWx0LFxuLmNzLXN0ZXAtaGVhZGluZ19fbnVtYmVyLS1vbi1sdC1ncmV5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNDUpO1xufVxuXG4uY3Mtc3RlcC1oZWFkaW5nX19udW1iZXItLW9uLWJsYWNrYmVycnksXG4uY3Mtc3RlcC1oZWFkaW5nX19udW1iZXItLW9uLWdyYXBlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLyogQ2FzZSBibG9ja3F1b3RlIGNpdGF0aW9ucyAqL1xuLmNzLWJsb2NrcXVvdGUge1xuICAtLW1hcmdpbi1oejogLTI0cHg7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tbWFyZ2luLWh6KTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLW1hcmdpbi1oeik7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlLTJ4LW1kKSB2YXIoLS1zcGFjZS0yeC1zbSk7XG4gIG1heC13aWR0aDogdmFyKC0td2lkdGgtbWQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tbWFyZ2luLWh6OiBhdXRvO1xuICB9XG59XG5cbi5jcy1ibG9ja3F1b3RlLS1vbi1ibGFja2JlcnJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItYmxhY2tiZXJyeSk7XG59XG5cbi5jcy1ibG9ja3F1b3RlLS1vbi1jcmVhbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG9yLWNyZWFtKTtcbn1cblxuLmNzLWJsb2NrcXVvdGUtLW9uLWdyYXBlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItZ3JhcGUpO1xufVxuXG4uY3MtYmxvY2txdW90ZS0tb24tYmxhY2tiZXJyeSxcbi5jcy1ibG9ja3F1b3RlLS1vbi1ncmFwZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5jcy1jaXRhdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLW1kKTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jcy1jaXRhdGlvbl9fY29tcGFueSxcbi5jcy1jaXRhdGlvbl9fbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENhc2UgZ3JhcGhpY3NcbiAqL1xuXG4vKiBDYXNlIGZpZ3VyZXMgKi9cbi5jcy1maWd1cmUge1xuICAtLW1hcmdpbi12dDogNDBweDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLXZ0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLXZ0KTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAtLW1hcmdpbi12dDogNjRweDtcbiAgfVxufVxuXG4uY3MtZmlndXJlX19jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4LW1kKTtcbiAgbWF4LXdpZHRoOiAzNjBweDtcbn1cblxuLmNzLWZpZ3VyZV9faW1hZ2Uge1xuICAtLW1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTA2MHB4KSB7XG4gICAgLS1tYXgtd2lkdGg6IHZhcigtLXdpZHRoLW1kLTEwLWNvbCk7IC8qIDk4MHB4ICovXG4gIH1cbn1cblxuLmNzLWZpZ3VyZV9faW1hZ2UtLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgteHMpIHNvbGlkIHZhcigtLWNvbG9yLWdyYXktOTApO1xufVxuXG4uY3MtZmlndXJlX19pbWFnZS0tcm91bmQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xufVxuXG4uY3MtZmlndXJlLS1iZy1yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZCk7XG59XG5cbi5jcy1maWd1cmUtLWJnLWx0LWdyZXkge1xuICAtLXBhZDogMjBweCAyNHB4O1xuICAtLW1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZzogdmFyKC0tcGFkKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTcwKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAtLXBhZDogNDBweCAzMnB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwNjBweCkge1xuICAgIC0tbWF4LXdpZHRoOiAxMDAwcHg7XG4gIH1cbn1cblxuLmNzLWZpZ3VyZS0tY292ZXIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZS0yeC1tZCk7XG59XG5cbi8qIENhc2Ugc2VwYXJhdG9ycyAqL1xuLmNzLXNlcGFyYXRvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNzLXNlcGFyYXRvci0tcnVsZSB7XG4gIC0tbWFyZ2luLXRvcDogMzJweDtcbiAgLS1tYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tdG9wKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLWJvdHRvbSk7XG4gIG1heC13aWR0aDogdmFyKC0td2lkdGgtbWQtMTAtY29sKTsgLyogOTgwcHggKi9cbiAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLWdyYXktYmx1ZS1kYXJrKTtcbiAgYm9yZGVyLXdpZHRoOiAuNXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDExNzlweCkge1xuICAgIC0tbWFyZ2luLXRvcDogNTJweDtcbiAgICAtLW1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gICAgLS1tYXJnaW4tdG9wOiA2NHB4O1xuICAgIC0tbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4vKlxuICogSW5kaXZpZHVhbCBjYXNlIG1vZGlmaWVyc1xuICovXG5cbi5jcy0tYXNoIHtcblxuICAuY3MtaGVhZGluZyB7XG4gICAgLS1tYXgtd2lkdGg6IDQwMHB4O1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDExNzlweCkge1xuICAgICAgLS1tYXgtd2lkdGg6IDUwMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTgwcHgpIHtcbiAgICAgIC0tbWF4LXdpZHRoOiA2MDBweDtcbiAgICB9XG4gIH1cbn1cblxuLmNzLS1jb2xsZWdldmluZSB7XG5cbiAgLmNzLWJsb2NrcXVvdGUge1xuICAgIC0tdG9wOiAtNjRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiB2YXIoLS10b3ApO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogMTE3OXB4KSB7XG4gICAgICAtLXRvcDogLTg0cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDExODBweCkge1xuICAgICAgLS10b3A6IC0xMDRweDtcbiAgICB9XG4gIH1cbn1cblxuLmNzLS1mbHl3aGVlbCB7XG5cbiAgLmNzLXN0YWNrLS1oaWdoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogdmFyKC0tei1wbHVzKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG4gICAgfVxuICB9XG5cbiAgLmNzLWJsb2NrcXVvdGUge1xuICAgIC0tbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYm90dG9tKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgICAgLS1tYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY3MtLWZseXdoZWVsLFxuLmNzLS1sZWFybml2b3JlLFxuLmNzLS1tY2dyYXctaGlsbCB7XG5cbiAgLmNzLWZpZ3VyZV9fY2FwdGlvbiB7XG4gICAgcCA+IHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXNlbWlib2xkKTtcbiAgICB9XG4gIH1cbn1cblxuLmNzLS1sZWFybml2b3JlIHtcblxuICAuY3MtYmxvY2txdW90ZSB7XG4gICAgLS1tYXJnaW4tdG9wOiAyMHB4O1xuICAgIC0tbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tdG9wKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYm90dG9tKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgICAgLS1tYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgLS1tYXJnaW4tYm90dG9tOiA4NHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY3MtLW1jZ3Jhdy1oaWxsIHtcblxuICAuY3MtaGVhZGluZyB7XG4gICAgLS1tYXgtd2lkdGg6IDMwMHB4O1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgICAgLS1tYXgtd2lkdGg6IDUwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5jcy1zdGFjay0taGlnaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IHZhcigtLXotcGx1cyk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xuICAgIH1cbiAgfVxuXG4gIC5jcy1ibG9ja3F1b3RlIHtcbiAgICAtLW1hcmdpbi10b3A6IDQwcHg7XG4gICAgLS1tYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi10b3ApO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1ib3R0b20pO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgICAtLW1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5jcy0tbXktc3VuLWJ1ZGR5IHtcblxuICAuY3MtYmxvY2txdW90ZSB7XG4gICAgLS10b3A6IC00MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IHZhcigtLXRvcCk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjM5cHgpIHtcbiAgICAgIC0tdG9wOiAtNjRweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSB7XG4gICAgICAtLXRvcDogLTg0cHg7XG4gICAgfVxuICB9XG59XG5cbi5jcy1zZWN0aW9uLS1wbGVyb21hLTcge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDE1MHB4O1xuICBcbiAgQG1lZGlhIChtaW4td2lkdGg6IDI0NjBweCkge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNTBweDtcbiAgfVxufSIsIi8qKlxuICogQ2FyZWVycyBzdHlsZVxuICogTkFNRVNQQUNFOiBjYXJlZXJzXG4gKi9cblxuLmpvYi1jYXRlZ29yeSB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZS0yeC1tZCk7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB6LWluZGV4OiB2YXIoLS16LXBsdXMpO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTlweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwidGl0bGVcIiBcImpvYnNcIjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZWRnZV0gbWlubWF4KDI1JSwgMjgwcHgpIFtjZW50ZXJdIG1pbm1heCg1MCUsIDU4MHB4KSBbcmlnaHQtZWRnZV07XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJ0aXRsZSBqb2JzXCI7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtbWQpO1xuICB9XG59XG5cbi5qb2ItY2F0ZWdvcnlfX2pvYnMge1xuICBncmlkLWFyZWE6IGpvYnM7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2UtMngtbWQpOyAvKiA0MHB4ICovXG4gIH1cbn1cblxuLmpvYi1jYXRlZ29yeV9fdGl0bGUge1xuICAtLW1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi10b3ApO1xuICBncmlkLWFyZWE6IHRpdGxlO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLS1tYXJnaW4tdG9wOiAxMXB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tbWFyZ2luLXRvcDogMTRweDtcbiAgfVxufVxuXG4uam9iLWxpc3Rpbmcge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICByb3ctZ2FwOiAwO1xuICB9XG59XG5cbi5qb2ItbWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLXNtKTtcbiAgZGlzcGxheTogbm9uZTtcblxuICAvKiBUT0RPOiBBY3RpdmF0ZSBmbGV4Ym94IHN0eWxlcyB3aGVuIEFQSSBpcyB1cGRhdGVkICovXG4gIC8qIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7ICovXG59XG5cbi5qb2ItbWV0YV9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG59XG5cbi5qb2ItbWV0YV9fdGVybSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtbWQpOyAvKiAyMHB4ICovXG4gIHdpZHRoOiAxMDBweDtcbn1cblxuLmpvYi10aWxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1jb2xvci1ncmFwZSk7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMngtbWQpO1xuICB9XG59XG5cbi5qb2ItdGlsZV9fbGluayB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogdmFyKC0tei1wbHVzKTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLmpvYi10aWxlX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLmpvYi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLWxnKTsgLyogMzJweCAqL1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7XG59XG4iLCIvKipcbiAqIEN1bHR1cmUgcGFnZVxuICovXG5cbi8qIFVzZSBpbnN0ZWFkIG9mIGAubC1jb250YWluZXIuIFNldCBob3Jpem9udGFsIHBhZGRpbmcgb24gY2hpbGRyZW4uICovXG4uY3VsdHVyZS13cmFwIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IHZhcigtLXotcGx1cyk7XG59XG5cbi5jdWx0dXJlLWdyaWQge1xuICAtLWNvbHVtbi1nYXA6IDIwcHg7XG4gIC0tcm93LWdhcDogNjBweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTlweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJmaWd1cmVcIlxuICAgICAgXCJjb250ZW50XCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNvbnRlbnQgZmlndXJlXCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSB7XG4gICAgLS1jb2x1bW4tZ2FwOiAxMTBweDtcbiAgfVxufVxuXG4uY3VsdHVyZS1ncmlkLS1mbGlwcGVkIHtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpZ3VyZSBjb250ZW50XCI7XG4gIH1cbn1cblxuLyogUmVjdGFuZ3VsYXIgaW1hZ2UgKyBjb250ZW50ICovXG4uY3VsdHVyZS1ncmlkLS13b3JraW5nLXRvZ2V0aGVyLFxuLmN1bHR1cmUtZ3JpZC0tcmVtb3RlLWNvbm5lY3RlZCB7XG4gIC0tY29sdW1uLWdhcDogMDtcbiAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG5cbiAgLyogTm8gY29sdW1uLWdhcCB5ZXQgYi9jIHRoZSBmaWd1cmUgYmxlZWRzIGxlZnQuIFNldCBwYWRkaW5nIG9uIGVhY2ggY2hpbGQuICovXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5cbi5jdWx0dXJlLWdyaWQtLXdvcmtpbmctdG9nZXRoZXIge1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1jb2x1bW4tZ2FwOiAxMTBweDtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLW1kLTEwLWNvbCk7IC8qIDk4MHB4ICovXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgMWZyO1xuICB9XG59XG5cbi5jdWx0dXJlLWdyaWQtLXJlbW90ZS1jb25uZWN0ZWQge1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1jb2x1bW4tZ2FwOiAxMTBweDtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLW1kLTEwLWNvbCk7IC8qIDk4MHB4ICovXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNTAlO1xuICB9XG59XG5cbi8qIFNWRyBpbWFnZSArIGNvbnRlbnQgKi9cbi5jdWx0dXJlLWdyaWQtLWRpc3RyaWJ1dGVkLXRlYW0sXG4uY3VsdHVyZS1ncmlkLS1sZWFybi1tZW50b3Ige1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tY29sdW1uLWdhcDogMTEwcHg7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS13aWR0aC1tZC0xMC1jb2wpOyAvKiA5ODBweCAqL1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDFmcjtcbiAgfVxufVxuXG4vKiBTVkcgaW1hZ2UgKyBjb250ZW50ICovXG4uY3VsdHVyZS1ncmlkLS1jcmVhdGluZyB7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDVmciA3ZnI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1jb2x1bW4tZ2FwOiA3MHB4O1xuICAgIG1heC13aWR0aDogdmFyKC0td2lkdGgtbWQtMTAtY29sKTsgLyogOTgwcHggKi9cbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDRmciA3ZnI7XG4gIH1cbn1cblxuLmN1bHR1cmUtY29udGVudCB7XG4gIGdyaWQtYXJlYTogY29udGVudDtcbn1cblxuLmN1bHR1cmUtZmlndXJlIHtcbiAgZ3JpZC1hcmVhOiBmaWd1cmU7XG59XG5cbi8qIFBhZCB0aGVzZSBzZWN0aW9ucyBvbiBzbWFsbCwgc2luY2UgdGhpcyBpcyBub3QgaW5jbHVkZWQgaW4gYC5jdWx0dXJlLXdyYXBgLiBOb3RlOiB0aGlzIGFsbG93cyBgLmN1bHR1cmUtZmlndXJlLS13b3JraW5nLXRvZ2V0aGVyYCBhbmQgYC5jdWx0dXJlLWZpZ3VyZS0tcmVtb3RlLWNvbm5lY3RlZGAgYmxlZWQgdG8gYnJvd3NlciBlZGdlcyBhdCBzbWFsbCBhbmQgbWVkIGJyZWFrcG9pbnRzLiAqL1xuLmN1bHR1cmUtY29udGVudC0td29ya2luZy10b2dldGhlcixcbi5jdWx0dXJlLWNvbnRlbnQtLWRpc3RyaWJ1dGVkLXRlYW0sXG4uY3VsdHVyZS1maWd1cmUtLWRpc3RyaWJ1dGVkLXRlYW0sXG4uY3VsdHVyZS1jb250ZW50LS1jcmVhdGluZyxcbi5jdWx0dXJlLWZpZ3VyZS0tY3JlYXRpbmcsXG4uY3VsdHVyZS1jb250ZW50LS1sZWFybi1tZW50b3IsXG4uY3VsdHVyZS1maWd1cmUtLWxlYXJuLW1lbnRvcixcbi5jdWx0dXJlLWNvbnRlbnQtLXJlbW90ZS1jb25uZWN0ZWQge1xuICAtLXBhZC1yaWdodDogMjRweDtcbiAgLS1wYWQtbGVmdDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkLXJpZ2h0KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWQtbGVmdCk7XG59XG5cbi5jdWx0dXJlLWNvbnRlbnQtLXdvcmtpbmctdG9nZXRoZXIge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tcGFkLWxlZnQ6IDEwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtcmlnaHQ6IDA7XG4gICAgLS1wYWQtbGVmdDogMDtcbiAgfVxufVxuXG4uY3VsdHVyZS1maWd1cmUtLXdvcmtpbmctdG9nZXRoZXIge1xuICAtLXBhZC1yaWdodDogMDtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkLXJpZ2h0KTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0tcGFkLXJpZ2h0OiA1MnB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tcGFkLXJpZ2h0OiAxMHB4O1xuICB9XG59XG5cbi5jdWx0dXJlLWNvbnRlbnQtLWRpc3RyaWJ1dGVkLXRlYW0sXG4uY3VsdHVyZS1jb250ZW50LS1sZWFybi1tZW50b3Ige1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tcGFkLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmN1bHR1cmUtZmlndXJlLS1kaXN0cmlidXRlZC10ZWFtLFxuLmN1bHR1cmUtZmlndXJlLS1sZWFybi1tZW50b3Ige1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tcGFkLXJpZ2h0OiAwO1xuICAgIC0tcGFkLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmN1bHR1cmUtY29udGVudC0tY3JlYXRpbmcge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tcGFkLXJpZ2h0OiAwO1xuICB9XG5cbiAgLyogQWRkIGEgc2hpbSBvZiBwYWRkaW5nIGxlZnQgb2YgdGV4dCBmb3IgdGhhdCAzOXB4IHNwcmVhZCBiZXR3ZWVuIG1lZGl1bSBhbmQgbGFyZ2UuICovXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMDM5cHgpIHtcbiAgICAtLXBhZC1sZWZ0OiAxMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwNDBweCkge1xuICAgIC0tcGFkLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmN1bHR1cmUtZmlndXJlLS1jcmVhdGluZyB7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1wYWQtbGVmdDogMDtcbiAgfVxufVxuXG4uY3VsdHVyZS1jb250ZW50LS1yZW1vdGUtY29ubmVjdGVkIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1wYWQtcmlnaHQ6IDgwcHg7XG4gIH1cblxuICAvKiBBZGQgYSBzaGltIG9mIHBhZGRpbmcgbGVmdCBvZiB0ZXh0IGZvciB0aGF0IDM5cHggc3ByZWFkIGJldHdlZW4gbWVkaXVtIGFuZCBsYXJnZS4gKi9cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkgYW5kIChtYXgtd2lkdGg6IDEwMzlweCkge1xuICAgIC0tcGFkLWxlZnQ6IDEwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtcmlnaHQ6IDA7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTA0MHB4KSB7XG4gICAgLS1wYWQtbGVmdDogMDtcbiAgfVxufVxuXG4uY3VsdHVyZS1maWd1cmUtLXJlbW90ZS1jb25uZWN0ZWQge1xuICAtLXBhZC1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZC1sZWZ0KTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0tcGFkLWxlZnQ6IDEwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtbGVmdDogMTBweDtcbiAgfVxufVxuXG4uY3VsdHVyZS1jb2wyX19jb250ZW50IHtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xufVxuXG4uY3VsdHVyZS1jb2wyX19maWd1cmUge1xuICBncmlkLWFyZWE6IGZpZ3VyZTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICAmOm5vdCguY3VsdHVyZS1jb2wyX19maWd1cmUtLXN2Zykge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjRweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgICB9XG4gIH1cbn1cblxuLmN1bHR1cmUtY29sMl9fZmlndXJlLS1yZXRyZWF0cyB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgIG1hcmdpbi1yaWdodDogLTI0cHg7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZS0zeC1tZCk7IC8qIDYwcHggKi9cbiAgfVxufVxuXG4uY3VsdHVyZS1jb2wyX19oZWFkaW5nIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMngtbWQpOyAvKiA0MHB4ICovXG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS0yeC1tZCk7IC8qIDQwcHggKi9cbiAgfVxufVxuXG4uY3VsdHVyZS1jb2wzX19oZWFkaW5nIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTsgLyogMjBweCAqL1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyNDBweCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4LW1kKTsgLyogNDBweCAqL1xuICB9XG59XG5cbi5jdWx0dXJlLWltYWdlLWdyaWQge1xuICAtLXBhZC10b3A6IDIwcHg7XG4gIC0tcGFkLXJpZ2h0OiAyNHB4O1xuICAtLXBhZC1ib3R0b206IDcwcHg7XG4gIC0tcGFkLWxlZnQ6IDI0cHg7XG4gIC0tcm93LWdhcDogMTBweDtcbiAgLS1jb2x1bW4tZ2FwOiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkLXRvcCk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZC1yaWdodCk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1wYWQtYm90dG9tKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWQtbGVmdCk7XG4gIG1heC13aWR0aDogdmFyKC0td2lkdGgtY29udGVudC1tYXgpO1xuICBkaXNwbGF5OiBncmlkO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcImltYWdlMSBpbWFnZTFcIlxuICAgICAgXCJpbWFnZTIgaW1hZ2UzXCJcbiAgICAgIFwiaW1hZ2U0IGltYWdlNFwiO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1yb3ctZ2FwOiAyMHB4O1xuICAgIC0tY29sdW1uLWdhcDogMjBweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDNmciAyZnIgM2ZyIDRmcjtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJpbWFnZTEgaW1hZ2UxIGltYWdlMiBpbWFnZTVcIlxuICAgICAgXCJpbWFnZTMgaW1hZ2U0IGltYWdlNCBpbWFnZTVcIjtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0tcGFkLXJpZ2h0OiAyNHB4O1xuICAgIC0tcGFkLWxlZnQ6IDI0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtcmlnaHQ6IDMwcHg7XG4gICAgLS1wYWQtbGVmdDogMzBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tcGFkLXRvcDogNDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tcGFkLWJvdHRvbTogOTBweDtcbiAgfVxufVxuXG4uY3VsdHVyZS1pbWFnZS1ncmlkX19jb2wge1xuICAmOm50aC1jaGlsZCgxKSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTE7XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTI7XG4gIH1cblxuICAmOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTM7XG4gIH1cblxuICAmOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTQ7XG4gIH1cblxuICAmOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLmN1bHR1cmUtaW1hZ2UtLWRpdmVyc2l0eSxcbi5jdWx0dXJlLWltYWdlLS1tZW50b3IsXG4uY3VsdHVyZS1pbWFnZS0tcmVtb3RlIHtcbiAgLS13aWR0aDogMjAwcHg7XG4gIC0tbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogdmFyKC0td2lkdGgpO1xuICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0td2lkdGg6IDExMCU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS13aWR0aDogMTI1JTtcbiAgfVxufVxuXG4uY3VsdHVyZS1pbWFnZS0tcmVtb3RlLFxuLmN1bHR1cmUtaW1hZ2UtLW1lbnRvciB7XG4gIC0tcmlnaHQ6IDA7XG4gIHJpZ2h0OiB2YXIoLS1yaWdodCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tcmlnaHQ6IDcwcHg7XG4gICAgLS1tYXgtd2lkdGg6IDYwMHB4O1xuICB9XG59XG5cbi5jdWx0dXJlLWltYWdlLS1kaXZlcnNpdHkge1xuICAtLWxlZnQ6IDA7XG4gIGxlZnQ6IHZhcigtLWxlZnQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLS1tYXgtd2lkdGg6IDYwMHB4O1xuICAgIC0tbGVmdDogMTBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAtLW1heC13aWR0aDogNzAwcHg7XG4gICAgLS1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi5jdWx0dXJlLWltYWdlLS1iaWtpbmcsXG4uY3VsdHVyZS1pbWFnZS0tdXgtY2FtcCB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTlweCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDM3NXB4O1xuICB9XG59XG4iLCIvKipcbiAqIFRlYW0gcGFnZVxuICovXG5cbi50ZWFtLWhlcm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2Utc20pOyAvKiAyMHB4ICovXG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtsZWZ0LWVkZ2VdIGF1dG8gW2NlbnRlcl0gbWlubWF4KDUwJSwgNzM1cHgpIFtyaWdodC1lZGdlXTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICAtLWhlaWdodDogMTYwcHg7XG4gICAgLS1ib3R0b206IC0xNjBweDtcbiAgICAtLWJrZ2Qtc2l6ZTogMTQ0MHB4O1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgICB6LWluZGV4OiB2YXIoLS16LW1pbnVzKTtcbiAgICBib3R0b206IHZhcigtLWJvdHRvbSk7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9oZXJvLWJnLXNoYXBlLXRlYW0uc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMnB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tYmtnZC1zaXplKTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgICAgLS1oZWlnaHQ6IDE2MHB4O1xuICAgICAgLS1ib3R0b206IC0xNjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSBhbmQgKG1heC13aWR0aDogMjU1OXB4KSB7XG4gICAgICAtLWhlaWdodDogMjc1cHg7XG4gICAgICAtLWJvdHRvbTogLTE4MHB4O1xuICAgICAgLS1ia2dkLXNpemU6IDI1NjBweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICAgICAtLWhlaWdodDogNDMwcHg7XG4gICAgICAtLWJvdHRvbTogLTI4MHB4O1xuICAgICAgLS1ia2dkLXNpemU6IDQwMDBweDtcbiAgICB9XG4gIH1cbn1cblxuLmVtcGxveWVlcyB7XG4gIC0tbWF4LXdpZHRoOiAzMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICBkaXNwbGF5OiBncmlkO1xuICByb3ctZ2FwOiB2YXIoLS1zcGFjZS0yeC1tZCk7IC8qIDQwcHggKi9cbiAgY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtbWQpOyAvKiAyMHB4ICovXG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlLTJ4LW1kKTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA1NTBweCkgYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAgIC0tbWF4LXdpZHRoOiA3ODBweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtsZWZ0LWd1dHRlcl0gMWZyIFtjZW50ZXJdIDFmciBbcmlnaHQtZWRnZV07XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTEwMHB4KSB7XG4gICAgLS1tYXgtd2lkdGg6IDEwMCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbbGVmdC1ndXR0ZXJdIDFmciBbbGVmdC1pbm5lci1ndXR0ZXJdIDFmciBbcmlnaHQtaW5uZXItZ3V0dGVyXSAxZnIgW3JpZ2h0LWd1dHRlcl07XG4gIH1cbn1cblxuLmVtcGxveWVlIHtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlLW1kKTsgLyogMjBweCAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbi1iYXNlKSBsaW5lYXI7XG59XG5cbi5lbXBsb3llZV9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1zbSk7IC8qIDEycHggKi9cbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5lbXBsb3llZV9fbmFtZSxcbi5lbXBsb3llZV9fcG9zaXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS14eHMpOyAvKiA2cHggKi9cbn1cblxuLmVtcGxveWVlX19sb2NhdGlvbiB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2ljb24tcGluLWRhcmsuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLWJhc2UpIGxpbmVhcjtcbiAgfVxufVxuXG4uZW1wbG95ZWVfX2F1dGhvci1saW5rIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbWQpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLWJhc2UpIGxpbmVhcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LWZvY3VzLWRvdWJsZS1ncmFwZSk7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWJyYW5kLWNvbG9yLWdyYXBlKTtcblxuICAgIC5lbXBsb3llZV9fbG9jYXRpb24ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9pY29uLXBpbi1ncmFwZS5zdmdcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIENhcGFiaWx0aWVzIHN0eWxlXG4gKiBOQU1FU1BBQ0U6IGR5YVxuICovXG5cbi8qIEN1cnZlcyBvbiBtYWluIGxlZnQgZWRnZSAqL1xuLmNhcGFiaWxpdGllcyB7XG4gIC0tYmtnZC1zaXplOiAyODAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvaGVyby1iZy1zaGFwZS1jYXBhYmlsaXRpZXMtYm90dG9tLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDEwMSU7XG4gIGJhY2tncm91bmQtc2l6ZTogdmFyKC0tYmtnZC1zaXplKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMjU2MHB4KSB7XG4gICAgLyogMTAxIHRvIG1ha2Ugc3VyZSBubyB3aGl0ZSBlZGdlcyBkaXNwbGF5IG9uIHN1cGVyLXNpemVkIHZpZXdzICovXG4gICAgLS1ia2dkLXNpemU6IDEwMXZ3O1xuICB9XG59XG5cbi5jYXBhYmlsaXRpZXMtLXB3YSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9jYXBhYmlsaXRpZXMtc2lkZS1iZy1zaGFwZS5zdmdcIiksXG4gICAgdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9oZXJvLWJnLXNoYXBlLWNhcGFiaWxpdGllcy1ib3R0b20uc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyLCBjZW50ZXIgMTAxJTtcbn1cblxuLyoqXG4gKiBIRVJPc1xuICogU2VjdGlvbiAxXG4gKi9cblxuLyogU2hhcmVkIEdyaWQgcnVsZXMgKi9cbi5jYXBhYmlsaXRpZXMtZ3JpZCB7XG4gIC0tY29sdW1uLWdhcDogMjBweDtcbiAgLS1yb3ctZ2FwOiA2MHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1jb2x1bW4tZ2FwKTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtsZWZ0LWVkZ2VdIDEwMCUgW3JpZ2h0LWVkZ2VdO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlndXJlXCIgXCJjb250ZW50XCI7XG4gICAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtsZWZ0LWVkZ2VdIDFmciBbY2VudGVyXSAxZnIgW3JpZ2h0LWVkZ2VdO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiY29udGVudCBmaWd1cmVcIjtcbiAgfVxufVxuXG4uY2FwYWJpbGl0aWVzLWdyaWQtLWZsaXBwZWQge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlndXJlIGNvbnRlbnRcIjtcbiAgfVxufVxuXG4uY2FwYWJpbGl0aWVzLWdyaWQtLWFkdmFuY2VkLXB3YSxcbi5jYXBhYmlsaXRpZXMtZ3JpZC0tc2F2ZS1lZmZvcnQsXG4uY2FwYWJpbGl0aWVzLWdyaWQtLXB3YS1hY3Rpb24ge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZWRnZV0gNmZyIFtjZW50ZXJdIDRmciBbcmlnaHQtZWRnZV07XG4gIH1cbn1cblxuLmNhcGFiaWxpdGllcy1ncmlkLS1jbGllbnRzIHtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZWRnZV0gM2ZyIFtjZW50ZXJdIDVmciBbcmlnaHQtZWRnZV07XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbbGVmdC1lZGdlXSA0ZnIgW2NlbnRlcl0gNmZyIFtyaWdodC1lZGdlXTtcbiAgfVxufVxuXG4uY2FwYWJpbGl0aWVzX19jb250ZW50IHtcbiAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICBhbGlnbi1zZWxmOiBzdGFydDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICB9XG59XG5cbi5jYXBhYmlsaXRpZXNfX2ZpZ3VyZSB7XG4gIGdyaWQtYXJlYTogZmlndXJlO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbi8qIEVsaXhpciAmIEVtYmVyIHNlY3Rpb25zICovXG4vKiBTZWN0aW9uIDI6IC5jYXBhYmlsaXRpZXMtaWNvbi1saXN0ICovXG4uY2FwYWJpbGl0aWVzLWljb24tbGlzdF9faGVhZGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWF4LXdpZHRoOiA3NzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2FwYWJpbGl0aWVzLWljb24tbGlzdF9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTtcbn1cblxuLmNhcGFiaWxpdGllcy1pY29uLWxpc3RfX2l0ZW0taW1hZ2UtYm94IHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgbWluLWhlaWdodDogMTUwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLmNhcGFiaWxpdGllcy1pY29uLWxpc3RfX2l0ZW0taW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7IC8qIDMycHggKi9cbiAgd2lkdGg6IDE4MHB4O1xufVxuXG4uY2FwYWJpbGl0aWVzLWljb24tbGlzdF9faXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UteHhzKTsgLyogNnB4ICovXG59XG5cbi5jYXBhYmlsaXRpZXMtaWNvbi1saXN0X19pdGVtcyB7XG4gIC0tbWFyZ2luLXRvcDogMjBweDtcbiAgLS1jb2x1bW4tZ2FwOiAxNDBweDtcbiAgLS1yb3ctZ2FwOiA2MHB4O1xuICBtYXJnaW4tdG9wOiB2YXIoLS1tYXJnaW4tdG9wKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZGlzcGxheTogZ3JpZDtcbiAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG4gIGNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tbWFyZ2luLXRvcDogODRweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgIC0tcm93LWdhcDogODBweDtcbiAgICAtLWNvbHVtbi1nYXA6IDE0MHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDI2MHB4KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgICAtLWNvbHVtbi1nYXA6IDIwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgfVxufVxuXG4vKiBFbGl4aXIsIFNlY3Rpb24gMywgNCBzZWUgLmNhcGFiaWxpdGllcy1ncmlkLS1mbGlwcGVkICovXG4vKiBFbWJlciwgU2VjdGlvbiAzIHNlZSAuY2FwYWJpbGl0aWVzLWdyaWQsIDQgc2VlIC5jYXBhYmlsaXRpZXMtZ3JpZC0tZmxpcHBlZCAqL1xuXG4vKiBDaGlsZHJlbiBvZiAuY2FwYWJpbGl0aWVzLWdyaWQtLWZsaXBwZWQgKi9cbi5jYXBhYmlsaXRpZXNfX2ZpZ3VyZS0tbmFyd2l4LFxuLmNhcGFiaWxpdGllc19fZmlndXJlLS1lbWJlciB7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmNhcGFiaWxpdGllc19fZmlndXJlLS1lbGl4aXIsXG4uY2FwYWJpbGl0aWVzX19maWd1cmUtLWVtYmVyIHtcbiAgLS1wYWQtcmlnaHQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZC1yaWdodCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXBhZC1yaWdodDogNDBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAtLXBhZC1yaWdodDogNjBweDtcbiAgfVxufVxuXG4vKiBQV0Egc2VjdGlvbnMgKi9cbi8qIFNlY3Rpb24gMjogLmNhcGFiaWxpdGllcy1pc3N1ZS1saXN0cyAqL1xuLmNhcGFiaWxpdGllcy1pc3N1ZS1saXN0cyB7XG4gIC0tY29sdW1uLWdhcDogMjBweDtcbiAgLS1yb3ctZ2FwOiA0MHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXJvdy1nYXA6IHZhcigtLXJvdy1nYXApO1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NTlweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZ3V0dGVyXSBhdXRvIFtyaWdodC1ndXR0ZXJdO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS1yb3ctZ2FwOiA2MHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2xlZnQtZ3V0dGVyXSByZXBlYXQoMiwgYXV0bykgW3JpZ2h0LWd1dHRlcl07XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi5jYXBhYmlsaXRpZXMtaXNzdWUtbGlzdHNfX2hlYWRpbmcge1xuICBncmlkLWNvbHVtbjogbGVmdC1ndXR0ZXIgLyByaWdodC1ndXR0ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNhcGFiaWxpdGllcy1pc3N1ZS1saXN0c19faXNzdWUge1xuICBtYXgtd2lkdGg6IDM4NXB4O1xufVxuXG4uY2FwYWJpbGl0aWVzLWlzc3VlLWxpc3RzX19pc3N1ZS1pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbiAgd2lkdGg6IDMwMHB4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4uY2FwYWJpbGl0aWVzLWlzc3VlLWxpc3RzX19pc3N1ZS1oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpOyAvKiAzMnB4ICovXG59XG5cbi8qIFNlY3Rpb25zIDMgJiA2IC5jYXBhYmlsaXRpZXMtYmFzaWMgKi9cbi5jYXBhYmlsaXRpZXMtYmFzaWMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jYXBhYmlsaXRpZXMtYmFzaWNfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1sZyk7IC8qIDMycHggKi9cbn1cblxuLyogR3JpZCBydWxlcyBmb3IgZm9sbG93aW5nIHNlY3Rpb25zIGRlZmluZWQgYWJvdmUgd2l0aCBvdGhlciBncmlkIHJ1bGVzICovXG4vKiBTZWN0aW9uIDQgc2VlIGFib3ZlIC5jYXBhYmlsaXRpZXMtZ3JpZC0tYWR2YW5jZWQtcHdhICovXG4vKiBTZWN0aW9uIDUgc2VlIGFib3ZlIC5jYXBhYmlsaXRpZXMtZ3JpZC0tc2F2ZS1lZmZvcnQgKi9cbi8qIFNlY3Rpb24gNyBzZWUgYWJvdmUgLmNhcGFiaWxpdGllcy1ncmlkLS1wd2EtYWN0aW9uICovXG4vKiBTZWN0aW9uIDggc2VlIGFib3ZlIC5jYXBhYmlsaXRpZXMtZ3JpZC0tY2xpZW50cyAqL1xuXG4vKiBDaGlsZHJlbiBvZiAuY2FwYWJpbGl0aWVzLWdyaWQtLWFkdmFuY2VkLXB3YSAqL1xuLmNhcGFiaWxpdGllc19fZmlndXJlLS1wd2EtYnJpZGdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuXG4vKiBDaGlsZHJlbiBvZiAuY2FwYWJpbGl0aWVzLWdyaWQtLXB3YS1hY3Rpb24gKi9cbi5jYXBhYmlsaXRpZXNfX2ZpZ3VyZS0taGlnaC10aWRlIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLyogQ2hpbGRyZW4gb2YgLmNhcGFiaWxpdGllcy1ncmlkLS1jbGllbnRzICovXG4uY2FwYWJpbGl0aWVzX19jb250ZW50LS13aHktZHkge1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cblxuLmNhcGFiaWxpdGllc19fZmlndXJlLS1jbGllbnRzIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIEdyYW5kY2hpbGRyZW4gb2YgLmNhcGFiaWxpdGllcy1ncmlkLS1jbGllbnRzICovXG4uY2FwYWJpbGl0aWVzLWNsaWVudCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4LW1kKTtcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKiBTaGFyZWQgZ3JhbmRjaGlsZHJlbiBpbiBhbGwgc2VjdGlvbnMgKi9cbi5jYXBhYmlsaXRpZXNfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpOyAvKiAzMnB4ICovXG59XG5cbi5jYXBhYmlsaXRpZXNfX2xpc3QtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7IC8qIDIwcHggKi9cbn1cblxuLmNhcGFiaWxpdGllc19fYm9keSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlLXNtKTtcbn1cblxuLmNhcGFiaWxpdGllc19fbGlzdCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTN4LW1kKTsgLyogNjBweCAqL1xuXG4gICYubGlzdCB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMngtbWQpOyAvKiA0MHB4ICovXG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmNhcGFiaWxpdGllc19faW1hZ2Uge1xuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLmNhcGFiaWxpdGllc19faW1hZ2UtLW5hcndpeCxcbi5jYXBhYmlsaXRpZXNfX2ltYWdlLS1uYXJzdGVyLFxuLmNhcGFiaWxpdGllc19faW1hZ2UtLXNlcnZpY2Utd2hlZWwge1xuICB3aWR0aDogNDA1cHg7XG59XG5cbi5jYXBhYmlsaXRpZXNfX2ltYWdlLS1wd2EtYnJpZGdlIHtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICB3aWR0aDogNTc1cHg7XG4gIH1cbn1cblxuLmNhcGFiaWxpdGllc19faW1hZ2UtLWhpZ2gtdGlkZSB7XG4gIHdpZHRoOiAyNTBweDtcbn1cblxuLyogQ2xpZW50IGxvZ29zICovXG4uY2FwYWJpbGl0aWVzLWNsaWVudF9fbG9nbyB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jYXBhYmlsaXRpZXMtY2xpZW50X19sb2dvLS1hcHBsZSB7XG4gIHdpZHRoOiA0NXB4O1xufVxuXG4uY2FwYWJpbGl0aWVzLWNsaWVudF9fbG9nby0tZmlkZWxpdHkge1xuICB3aWR0aDogMTU0cHg7XG59XG5cbi5jYXBhYmlsaXRpZXMtY2xpZW50X19sb2dvLS1tY2dyYXctaGlsbCB7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG4uY2FwYWJpbGl0aWVzLWNsaWVudF9fbG9nby0tbmFzZGFxIHtcbiAgd2lkdGg6IDE0NHB4O1xufVxuXG4uY2FwYWJpbGl0aWVzLWNsaWVudF9fbG9nby0tbmV0ZmxpeCB7XG4gIHdpZHRoOiAxMzFweDtcbn1cblxuLyogU2hhcmVkIGJsb2NrcXVvdGVzICovXG4uYmxvY2txdW90ZS0tY2FwYWJpbGl0aWVzIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2Utc20pOyAvKiAxMnB4ICovXG59XG4iLCJcbi5uZXdzbGV0dGVyLXBhZ2Uge1xuICAtLXBhZC10b3A6IDA7XG4gIC0taGVpZ2h0OiA0MHB4O1xuICAtLWJrZ2QtcG9zaXRpb246IGNlbnRlciAtOTBweDtcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZC10b3ApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogdmFyKC0tei1taW51cyk7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnJhbmQtY29sb3ItY3JlYW0pO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImh0dHBzOi8vYXNzZXRzLmRvY2t5YXJkLmNvbS9pbWFnZXMvaGVyby1iZy1zaGFwZS1uZXdzbGV0dGVyLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLWJrZ2QtcG9zaXRpb24pO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjU2MHB4O1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgICAtLWhlaWdodDogOTBweDtcbiAgICAgIC0tYmtnZC1wb3NpdGlvbjogY2VudGVyIC03MHB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tcGFkLXRvcDogNjBweDtcbiAgfVxufVxuXG4ubmV3c2xldHRlciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLWNvbnRlbnQtbWF4KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcm93LWdhcDogNDBweDtcbiAgY29sdW1uLWdhcDogMjBweDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJmaWd1cmVcIlxuICAgICAgXCJ0ZXh0XCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkgYW5kIChtYXgtd2lkdGg6IDEyMzlweCkge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlndXJlIGZpZ3VyZSBmaWd1cmUgZmlndXJlIGZpZ3VyZSAuIHRleHQgdGV4dCB0ZXh0IHRleHQgdGV4dCB0ZXh0XCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlndXJlIGZpZ3VyZSBmaWd1cmUgZmlndXJlIC4gdGV4dCB0ZXh0IHRleHQgdGV4dCB0ZXh0IHRleHQgLlwiO1xuICB9XG59XG5cbi5uZXdzbGV0dGVyX19maWd1cmUge1xuICBncmlkLWFyZWE6IGZpZ3VyZTtcbn1cblxuLm5ld3NsZXR0ZXJfX2ltYWdlIHtcbiAgLS1tYXJnaW4taHo6IDA7XG4gIC0td2lkdGg6IDE4MHB4O1xuICAtLW1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1tYXJnaW4taHopO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tbWFyZ2luLWh6KTtcbiAgd2lkdGg6IHZhcigtLXdpZHRoKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tbWFyZ2luLWh6OiBhdXRvO1xuICAgIC0td2lkdGg6IDQ0MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogMTEzOXB4KSB7XG4gICAgLS1tYXgtd2lkdGg6IDExMCU7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI0MHB4KSB7XG4gICAgLS1tYXgtd2lkdGg6IDUwdnc7XG4gIH1cbn1cblxuLm5ld3NsZXR0ZXJfX2NvbnRlbnQge1xuICBncmlkLWFyZWE6IHRleHQ7XG59XG5cbi5uZXdzbGV0dGVyX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpOyAvKiAyMHB4ICovXG59XG5cbi5uZXdzbGV0dGVyLWZvcm0ge1xuICAtLW1hcmdpbi12dDogNDBweDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbWFyZ2luLXZ0KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLXZ0KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcm93LWdhcDogMjBweDtcbiAgY29sdW1uLWdhcDogMjBweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAtLW1hcmdpbi12dDogNjBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJlbWFpbFwiXG4gICAgICBcImZvb3Rub3RlXCJcbiAgICAgIFwic3VibWl0XCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJlbWFpbCAgICBzdWJtaXRcIlxuICAgICAgXCJmb290bm90ZSBmb290bm90ZVwiO1xuICB9XG59XG5cbi5uZXdzbGV0dGVyLWZvcm1fX2VtYWlsIHtcbiAgZ3JpZC1hcmVhOiBlbWFpbDtcbn1cblxuLm5ld3NsZXR0ZXItZm9ybV9fZm9vdG5vdGUge1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGdyaWQtYXJlYTogZm9vdG5vdGU7XG59XG5cbi5uZXdzbGV0dGVyLWZvcm1fX3N1Ym1pdCB7XG4gIGdyaWQtYXJlYTogc3VibWl0O1xufVxuXG4ubmV3c2xldHRlci1zb2NpYWxzIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMngtbWQpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cblxuLm5ld3NsZXR0ZXItc29jaWFsc19fcHJvbXB0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLm5ld3NsZXR0ZXItc29jaWFsIHtcbiAgLS1tYXJnaW4tcmlnaHQ6IDVweDtcbiAgLS1tYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1tYXJnaW4tcmlnaHQpO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tbWFyZ2luLWxlZnQpO1xuICBwYWRkaW5nOiAycHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tbWFyZ2luLXJpZ2h0OiAwO1xuICAgIC0tbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4ubmV3c2xldHRlci1zb2NpYWxfX2ljb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLyoqXG4gKiBQcmVzcyBwYWdlXG4gKi9cblxuLnByZXNzIHtcbiAgLS1wYWQtaHo6IDI0cHg7XG4gIC0tcm93LWdhcDogNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkLWh6KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWQtaHopO1xuICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLXNtLTgtY29sKTsgLyogOCBvZiAxMiAqL1xuICBkaXNwbGF5OiBncmlkO1xuICBjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjZS1tZCk7IC8qIDIwcHggKi9cbiAgcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG5cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJoZWFkXCJcbiAgICAgIFwibGlua1wiXG4gICAgICBcImNvcHlcIlxuICAgICAgXCJzcGVjXCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4MDdweCkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiaGVhZCBsaW5rXCJcbiAgICAgIFwiY29weSBjb3B5XCJcbiAgICAgIFwic3BlYyBzcGVjXCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogODA4cHgpIHtcbiAgICAtLXBhZC1oejogMDtcbiAgICAtLXJvdy1nYXA6IDEwMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiaGVhZCBoZWFkIGhlYWQgaGVhZCBoZWFkIGxpbmsgbGluayBsaW5rXCJcbiAgICAgIFwic3BlYyBzcGVjIC4gICAgY29weSBjb3B5IGNvcHkgY29weSBjb3B5XCI7XG4gIH1cbn1cblxuLnByZXNzX19jb3B5IHtcbiAgZ3JpZC1hcmVhOiBjb3B5O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDhweCkge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG59XG5cbi5wcmVzc19faGVhZGluZyB7XG4gIGdyaWQtYXJlYTogaGVhZDtcbn1cblxuLnByZXNzX19yZWxlYXNlcy1saW5rIHtcbiAgLS1zcGFjZS1vZmZzZXQ6IC00cHg7XG4gIC0tdG9wOiBhdXRvO1xuICAtLWp1c3RpZnktc2VsZjogc3RhcnQ7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICBncmlkLWFyZWE6IGxpbms7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAganVzdGlmeS1zZWxmOiB2YXIoLS1qdXN0aWZ5LXNlbGYpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogdmFyKC0tdG9wKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdmFyKC0tc3BhY2Utb2Zmc2V0KTtcbiAgICByaWdodDogdmFyKC0tc3BhY2Utb2Zmc2V0KTtcbiAgICBib3R0b206IHZhcigtLXNwYWNlLW9mZnNldCk7XG4gICAgbGVmdDogdmFyKC0tc3BhY2Utb2Zmc2V0KTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteHMpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvci1ncmFwZSk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLS1qdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICAtLXRvcDogNXB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gICAgLS10b3A6IDhweDtcbiAgfVxufVxuXG4ucHJlc3NfX3NwZWNzIHtcbiAgZ3JpZC1hcmVhOiBzcGVjO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkgYW5kIChtYXgtd2lkdGg6IDgwN3B4KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLnByZXNzLWJvZHkge1xuICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4LXNtKTsgLyogMjRweCAqL1xuICB9XG59XG5cbi5wcmVzcy1wYWdlIHtcbiAgLS1wYWQtdG9wOiAxMjBweDtcbiAgcGFkZGluZy10b3A6IHZhcigtLXBhZC10b3ApO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC0taGVpZ2h0OiAxMDBweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogdmFyKC0tei1taW51cyk7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9iZy1zaGFwZS1taXNjLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNTYwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtdG9wOiAxODBweDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIC0taGVpZ2h0OiAxMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLnByZXNzLXNwZWMge1xuICAtLW1hcmdpbi1ib3R0b206IDIwcHg7XG4gIC0td2lkdGg6IDEwMCU7XG4gIHdpZHRoOiB2YXIoLS13aWR0aCk7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1tYXJnaW4tYm90dG9tKTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkgYW5kIChtYXgtd2lkdGg6IDgwN3B4KSB7XG4gICAgLS1tYXJnaW4tYm90dG9tOiAwO1xuICAgIC0td2lkdGg6IGNhbGMoNTAlIC0gMjBweCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogODA4cHgpIHtcbiAgICAtLXdpZHRoOiAxMDAlO1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIC0tbWFyZ2luLWJvdHRvbTogNTFweDtcbiAgICB9XG4gIH1cbn1cblxuLnByZXNzLWNsaWVudHMtY29udGFpbmVyIHtcbiAgLS1wYWQtaHo6IDI0cHg7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMTgwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wYWQtaHopO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZC1oeik7XG4gIG1heC13aWR0aDogMTE4MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tcGFkLWh6OiAzMHB4O1xuICB9XG59XG5cbi5wcmVzcy1jbGllbnRzIHtcbiAgLS13aWR0aDogMjcycHg7XG4gIC0tanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogdmFyKC0td2lkdGgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLWp1c3RpZnktY29udGVudCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gICAgLS1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkgYW5kIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgLS13aWR0aDogNDUwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0td2lkdGg6IDcxMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0td2lkdGg6IDExMDBweDtcbiAgfVxufVxuXG4ucHJlc3MtY2xpZW50IHtcbiAgLS1tYXJnaW4taHo6IDA7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tbWFyZ2luLWh6KTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLW1hcmdpbi1oeik7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ5OXB4KSB7XG5cbiAgICAmOm50aC1jaGlsZCg2KSxcbiAgICAmOm50aC1jaGlsZCg3KSxcbiAgICAmOm50aC1jaGlsZCg4KSxcbiAgICAmOm50aC1jaGlsZCg5KSxcbiAgICAmOm50aC1jaGlsZCgxMCksXG4gICAgJjpudGgtY2hpbGQoMTEpLFxuICAgICY6bnRoLWNoaWxkKDEyKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MDBweCkgYW5kIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgLS1tYXJnaW4taHo6IDIwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiAxMjM5cHgpIHtcbiAgICAtLW1hcmdpbi1oejogMzVweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgICAtLW1hcmdpbi1oejogNTBweDtcbiAgfVxufVxuXG4ucHJlc3MtY2xpZW50X19sb2dvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJlc3MtY2xpZW50X19sb2dvLS1hcHBsZSB7XG4gIHdpZHRoOiAzNnB4O1xuICB0b3A6IC01cHg7XG59XG5cbi5wcmVzcy1jbGllbnRfX2xvZ28tLWNvbGxlZ2V2aW5lIHtcbiAgd2lkdGg6IDEyMHB4O1xufVxuXG4ucHJlc3MtY2xpZW50X19sb2dvLS1jb25zdGFudC1jb250YWN0IHtcbiAgd2lkdGg6IDE4MHB4O1xufVxuXG4ucHJlc3MtY2xpZW50X19sb2dvLS1maWRlbGl0eSB7XG4gIHdpZHRoOiAxMjBweDtcbn1cblxuLnByZXNzLWNsaWVudF9fbG9nby0tbWNncmF3LWhpbGwge1xuICB3aWR0aDogNTRweDtcbn1cblxuLnByZXNzLWNsaWVudF9fbG9nby0tbmFzZGFxIHtcbiAgd2lkdGg6IDExMHB4O1xufVxuXG4ucHJlc3MtY2xpZW50X19sb2dvLS1uZXRmbGl4IHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4ucHJlc3MtY2xpZW50X19sb2dvLS13bnljIHtcbiAgd2lkdGg6IDgwcHg7XG59XG5cbi5wcmVzcy1jbGllbnRfX2xvZ28tLWRpZ2lsYW50IHtcbiAgd2lkdGg6IDExMHB4O1xufVxuXG4ucHJlc3MtY2xpZW50X19sb2dvLS16aXBjYXIge1xuICB3aWR0aDogOTBweDtcbn1cbiIsIi5yZWxlYXNlcyB7XG4gIC0tbWFyZ2luLXRvcDogNjBweDtcbiAgLS1wYWQtaHo6IDI0cHg7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi10b3ApO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDEzOHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkLWh6KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWQtaHopO1xuICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLXNtLTgtY29sKTsgLyogOCBvZiAxMiAqL1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDhweCkge1xuICAgIC0tbWFyZ2luLXRvcDogODBweDtcbiAgICAtLXBhZC1oejogMDtcbiAgfVxufVxuXG4ucmVsZWFzZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLWxnKTsgLyogMzJweCAqL1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2UtbGcpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS05MCk7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNjUwcHgpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5yZWxlYXNlX19jb250ZW50IHtcbiAgZmxleDogMTtcbn1cblxuLnJlbGVhc2VfX2ZpZ3VyZSB7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtMngtbWQpOyAvKiA0MHB4ICovXG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNzU5cHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7IC8qIDIwcHggKi9cbiAgfVxufVxuXG4ucmVsZWFzZV9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLW1kKTtcbn1cblxuLnJlbGVhc2VfX2xpbmsge1xuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLThweDtcbiAgICByaWdodDogLThweDtcbiAgICBib3R0b206IDIycHg7XG4gICAgbGVmdDogLThweDtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1zbSkgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1icmFuZC1jb2xvci1ncmFwZSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnJhbmQtY29sb3ItZ3JhcGUpO1xuICAgIH1cbiAgfVxufVxuXG4ucmVsZWFzZXMtaGVhZGVyIHtcbiAgLS1wYWQtaHo6IDI0cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZC1oeik7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkLWh6KTtcbiAgbWF4LXdpZHRoOiB2YXIoLS13aWR0aC1zbS04LWNvbCk7IC8qIDggb2YgMTIgKi9cbiAgZGlzcGxheTogZ3JpZDtcbiAgY29sdW1uLWdhcDogMjBweDtcblxuICBAbWVkaWEgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgXCJoZWFkXCJcbiAgICAgIFwibGlua1wiO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImhlYWQgbGlua1wiO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwN3B4KSB7XG4gICAgcm93LWdhcDogdmFyKC0tc3BhY2UtbGcpOyAvKiAzMnB4ICovXG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogODA4cHgpIHtcbiAgICAtLXBhZC1oejogMDtcbiAgfVxufVxuXG4ucmVsZWFzZXMtaGVhZGVyX19oZWFkaW5nIHtcbiAgZ3JpZC1hcmVhOiBoZWFkO1xufVxuXG4ucmVsZWFzZS1wb3N0LXBhZ2UsXG4ucmVsZWFzZXMtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1NjBweDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAyMDAwcHgpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLnJlbGVhc2VzLXBhZ2Uge1xuICAtLXBhZC10b3A6IDYwcHg7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1wYWQtdG9wKTtcblxuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDEwMHB4O1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2JnLXNoYXBlLW1pc2Muc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIGFuZCAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC0tcGFkLXRvcDogMTAwcHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtdG9wOiAxODBweDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIC0taGVpZ2h0OiAxMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLnJlbGVhc2UtcG9zdC1wYWdlIHtcbiAgLS1wYWQtdG9wOiA2MHB4O1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkLXRvcCk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIC0td2lkdGg6IDEwMCU7XG4gICAgLS1oZWlnaHQ6IDEyMHB4O1xuICAgIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvci1jcmVhbSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly9hc3NldHMuZG9ja3lhcmQuY29tL2ltYWdlcy9iZy1zaGFwZS1wcmVzcy1yZWxlYXNlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMTAxJTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MDBweCkgYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAtLXBhZC10b3A6IDcwcHg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAtLWhlaWdodDogMTQwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXBhZC10b3A6IDkwcHg7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAtLWhlaWdodDogMTYwcHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tcGFkLXRvcDogMzBweDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIC0taGVpZ2h0OiAzMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLnJlbGVhc2UtcG9zdCB7XG4gIC0tbWFyZ2luLXRvcDogNDBweDtcbiAgLS1tYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgLS1wYWQtaHo6IDI0cHg7XG4gIG1hcmdpbi10b3A6IHZhcigtLW1hcmdpbi10b3ApO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1ib3R0b20pO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFkLWh6KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wYWQtaHopO1xuICBtYXgtd2lkdGg6IHZhcigtLXdpZHRoLXNtLTgtY29sKTsgLyogOCBvZiAxMiAqL1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjBweCkge1xuICAgIC0tbWFyZ2luLXRvcDogODBweDtcbiAgICAtLW1hcmdpbi1ib3R0b206IDE2MHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwOHB4KSB7XG4gICAgLS1wYWQtaHo6IDA7XG4gIH1cbn1cblxuLnJlbGVhc2UtcG9zdC1oZWFkZXIge1xuICAtLXNwYWNlLXZ0OiA0MHB4O1xuICAtLXJvdy1nYXA6IDIwcHg7XG4gIC0tY29sdW1uLWdhcDogNjBweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtdnQpO1xuICBkaXNwbGF5OiBncmlkO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICByb3ctZ2FwOiB2YXIoLS1yb3ctZ2FwKTtcbiAgY29sdW1uLWdhcDogdmFyKC0tY29sdW1uLWdhcCk7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc1OXB4KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcImJhY2tcIlxuICAgICAgXCJjb250ZW50XCJcbiAgICAgIFwiZmlndXJlXCI7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAtLXNwYWNlLXZ0OiAxMDBweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDhmciAyZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgIFwiYmFjayAgICAuXCJcbiAgICAgIFwiY29udGVudCBmaWd1cmVcIjtcbiAgfVxufVxuXG4ucmVsZWFzZS1wb3N0LWhlYWRlcl9fZmlndXJlIHtcbiAgLS13aWR0aDogY2FsYygxMDB2dyAtIDQ4cHgpOyAvKiAyICogMjRweCBvdXRlciBndXR0ZXJzICovXG4gIC0tbWF4LWRpbWVuc2lvbjogMzUwcHg7XG4gIHdpZHRoOiB2YXIoLS13aWR0aCk7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LWRpbWVuc2lvbik7XG4gIGhlaWdodDogdmFyKC0td2lkdGgpOyAvKiBNYWtlcyB0aGUgaW1hZ2Ugc3F1YXJlICovXG4gIG1heC1oZWlnaHQ6IHZhcigtLW1heC1kaW1lbnNpb24pO1xuICBncmlkLWFyZWE6IGZpZ3VyZTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAtLW1heC1kaW1lbnNpb246IDQwMHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2MHB4KSBhbmQgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAtLXdpZHRoOiBjYWxjKDMzdncgLSA2OHB4KTsgLyogMiB4IDI0cHggb3V0ZXIgZ3V0dGVycyBhbmQgb25lIDIwcHggY2VudGVyIGd1dHRlciAqL1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0td2lkdGg6IGNhbGMoMjV2dyAtIDgwcHgpOyAvKiAyIHggMzBweCBvdXRlciBndXR0ZXJzIGFuZCBvbmUgMjBweCBjZW50ZXIgZ3V0dGVyICovXG4gIH1cbn1cblxuLnJlbGVhc2UtcG9zdC1oZWFkZXJfX2JhY2stbGluayB7XG4gIGdyaWQtYXJlYTogYmFjaztcbn1cblxuLnJlbGVhc2UtcG9zdC1oZWFkZXJfX2NvbnRlbnQge1xuICBncmlkLWFyZWE6IGNvbnRlbnQ7XG59XG5cbi5yZWxlYXNlLXBvc3QtaGVhZGVyX19oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtbWQpO1xufVxuIiwiLnRlcm1zLXBhZ2Uge1xuICAtLXBhZC10b3A6IDEyMHB4O1xuICBwYWRkaW5nLXRvcDogdmFyKC0tcGFkLXRvcCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjphZnRlciB7XG4gICAgLS1oZWlnaHQ6IDEwMHB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiB2YXIoLS16LW1pbnVzKTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJodHRwczovL2Fzc2V0cy5kb2NreWFyZC5jb20vaW1hZ2VzL2JnLXNoYXBlLW1pc2Muc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1NjBweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAtLXBhZC10b3A6IDE4MHB4O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgLS1oZWlnaHQ6IDEyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4udGVybXMtY29udGFpbmVyLFxuLnByaXZhY3ktY29udGFpbmVyIHtcbiAgLS1wYWQtaHo6IDI0cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZC1oeik7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGFkLWh6KTtcbiAgbWF4LXdpZHRoOiA3ODBweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtaHo6IDMycHg7XG4gIH1cbn1cblxuLnRlcm1zLWNvbnRhaW5lciB7XG4gIC0tbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tbWFyZ2luLWJvdHRvbSk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgIC0tbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgfVxufVxuXG4udGVybSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4LW1kKTsgLyogNDBweCAqL1xufVxuXG4udGVybXMtdGl0bGUge1xuICAtLW1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLW1hcmdpbi1ib3R0b20pO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjQwcHgpIHtcbiAgICAtLW1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cblxuLnRlcm1zLWhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1tZCk7XG59XG5cbi50ZXJtcy1ib2R5IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2UtMngtc20pOyAvKiAyNHB4ICovXG59XG5cbi50ZXJtcy1saXN0IHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2UtMngtc20pOyAvKiAyNHB4ICovXG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTJ4LXNtKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlLTJ4LW1kKTsgLyogNDBweCAqL1xufVxuXG4udGVybXMtbGlzdC0tYnVsbGV0cyB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbi50ZXJtcy1saXN0LS1sb3dlci1yb21hbiB7XG4gIGxpc3Qtc3R5bGU6IGxvd2VyLXJvbWFuO1xufVxuXG4ucHJpdmFjeS1jb250YWluZXIge1xuICAtLXBhZC10b3A6IDQwcHg7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1wYWQtdG9wKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXhzKSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5LTkwKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgLS1wYWQtdG9wOiA2MHB4O1xuICB9XG59XG4iXX0= */