@charset "UTF-8";
/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 15px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, -webkit-filter;
  transition-property: opacity, filter;
  transition-property: opacity, filter, -webkit-filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
}

.hamburger:hover {
  opacity: 0.7;
}

.hamburger-box {
  width: 40px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2px;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 40px;
  height: 4px;
  background-color: #000;
  border-radius: 4px;
  position: absolute;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: -10px;
}

.hamburger-inner::after {
  bottom: -10px;
}

/*
   * 3DX
   */
.hamburger--3dx .hamburger-box {
  -webkit-perspective: 80px;
          perspective: 80px;
}

.hamburger--3dx .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx .hamburger-inner::before, .hamburger--3dx .hamburger-inner::after {
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent;
  -webkit-transform: rotateY(180deg);
          transform: rotateY(180deg);
}

.hamburger--3dx.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--3dx.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DX Reverse
   */
.hamburger--3dx-r .hamburger-box {
  -webkit-perspective: 80px;
          perspective: 80px;
}

.hamburger--3dx-r .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx-r .hamburger-inner::before, .hamburger--3dx-r .hamburger-inner::after {
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent;
  -webkit-transform: rotateY(-180deg);
          transform: rotateY(-180deg);
}

.hamburger--3dx-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--3dx-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DY
   */
.hamburger--3dy .hamburger-box {
  -webkit-perspective: 80px;
          perspective: 80px;
}

.hamburger--3dy .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy .hamburger-inner::before, .hamburger--3dy .hamburger-inner::after {
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent;
  -webkit-transform: rotateX(-180deg);
          transform: rotateX(-180deg);
}

.hamburger--3dy.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--3dy.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DY Reverse
   */
.hamburger--3dy-r .hamburger-box {
  -webkit-perspective: 80px;
          perspective: 80px;
}

.hamburger--3dy-r .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy-r .hamburger-inner::before, .hamburger--3dy-r .hamburger-inner::after {
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent;
  -webkit-transform: rotateX(180deg);
          transform: rotateX(180deg);
}

.hamburger--3dy-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--3dy-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DXY
   */
.hamburger--3dxy .hamburger-box {
  -webkit-perspective: 80px;
          perspective: 80px;
}

.hamburger--3dxy .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy .hamburger-inner::before, .hamburger--3dxy .hamburger-inner::after {
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy.is-active .hamburger-inner {
  background-color: transparent;
  -webkit-transform: rotateX(180deg) rotateY(180deg);
          transform: rotateX(180deg) rotateY(180deg);
}

.hamburger--3dxy.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--3dxy.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * 3DXY Reverse
   */
.hamburger--3dxy-r .hamburger-box {
  -webkit-perspective: 80px;
          perspective: 80px;
}

.hamburger--3dxy-r .hamburger-inner {
  transition: background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1), background-color 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy-r .hamburger-inner::before, .hamburger--3dxy-r .hamburger-inner::after {
  transition: -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
  transition: transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1), -webkit-transform 0s 0.1s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.hamburger--3dxy-r.is-active .hamburger-inner {
  background-color: transparent;
  -webkit-transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
          transform: rotateX(180deg) rotateY(180deg) rotateZ(-180deg);
}

.hamburger--3dxy-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--3dxy-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
}

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

.hamburger--arrow.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
   * Arrow Right
   */
.hamburger--arrow-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

.hamburger--arrow-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
   * Arrow Alt
   */
.hamburger--arrowalt .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-8px, -10px, 0) rotate(-45deg) scale(0.7, 1);
  transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.hamburger--arrowalt.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-8px, 10px, 0) rotate(45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
   * Arrow Alt Right
   */
.hamburger--arrowalt-r .hamburger-inner::before {
  transition: top 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: top 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt-r .hamburger-inner::after {
  transition: bottom 0.1s 0.1s ease, -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: bottom 0.1s 0.1s ease, transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-transform 0.1s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.hamburger--arrowalt-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(8px, -10px, 0) rotate(45deg) scale(0.7, 1);
  transition: top 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: top 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

.hamburger--arrowalt-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(8px, 10px, 0) rotate(-45deg) scale(0.7, 1);
  transition: bottom 0.1s ease, -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
  transition: bottom 0.1s ease, transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22), -webkit-transform 0.1s 0.1s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}

/*
 * Arrow Turn
 */
.hamburger--arrowturn.is-active .hamburger-inner {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.hamburger--arrowturn.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

.hamburger--arrowturn.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

/*
 * Arrow Turn Right
 */
.hamburger--arrowturn-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}

.hamburger--arrowturn-r.is-active .hamburger-inner::before {
  -webkit-transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
          transform: translate3d(-8px, 0, 0) rotate(-45deg) scale(0.7, 1);
}

.hamburger--arrowturn-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
          transform: translate3d(-8px, 0, 0) rotate(45deg) scale(0.7, 1);
}

/*
   * Boring
   */
.hamburger--boring .hamburger-inner, .hamburger--boring .hamburger-inner::before, .hamburger--boring .hamburger-inner::after {
  transition-property: none;
}

.hamburger--boring.is-active .hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.hamburger--boring.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.hamburger--boring.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse .hamburger-inner::after {
  top: -20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse-r .hamburger-inner::after {
  top: -20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

.hamburger--collapse-r .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--collapse-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -10px, 0) rotate(45deg);
          transform: translate3d(0, -10px, 0) rotate(45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--collapse-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

.hamburger--collapse-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic .hamburger-inner::before {
  top: 10px;
  transition: opacity 0.125s 0.275s ease;
}

.hamburger--elastic .hamburger-inner::after {
  top: 20px;
  transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 10px, 0) rotate(135deg);
          transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.075s;
}

.hamburger--elastic.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}

.hamburger--elastic.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -20px, 0) rotate(-270deg);
          transform: translate3d(0, -20px, 0) rotate(-270deg);
  transition-delay: 0.075s;
}

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 2px;
  transition-duration: 0.275s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic-r .hamburger-inner::before {
  top: 10px;
  transition: opacity 0.125s 0.275s ease;
}

.hamburger--elastic-r .hamburger-inner::after {
  top: 20px;
  transition: -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.275s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.hamburger--elastic-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 10px, 0) rotate(-135deg);
          transform: translate3d(0, 10px, 0) rotate(-135deg);
  transition-delay: 0.075s;
}

.hamburger--elastic-r.is-active .hamburger-inner::before {
  transition-delay: 0s;
  opacity: 0;
}

.hamburger--elastic-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -20px, 0) rotate(270deg);
          transform: translate3d(0, -20px, 0) rotate(270deg);
  transition-delay: 0.075s;
}

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden;
}

.hamburger--emphatic .hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}

.hamburger--emphatic .hamburger-inner::before {
  left: 0;
  transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}

.hamburger--emphatic .hamburger-inner::after {
  top: 10px;
  right: 0;
  transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}

.hamburger--emphatic.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent;
}

.hamburger--emphatic.is-active .hamburger-inner::before {
  left: -80px;
  top: -80px;
  -webkit-transform: translate3d(80px, 80px, 0) rotate(45deg);
          transform: translate3d(80px, 80px, 0) rotate(45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger--emphatic.is-active .hamburger-inner::after {
  right: -80px;
  top: -80px;
  -webkit-transform: translate3d(-80px, 80px, 0) rotate(-45deg);
          transform: translate3d(-80px, 80px, 0) rotate(-45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden;
}

.hamburger--emphatic-r .hamburger-inner {
  transition: background-color 0.125s 0.175s ease-in;
}

.hamburger--emphatic-r .hamburger-inner::before {
  left: 0;
  transition: top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, left 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}

.hamburger--emphatic-r .hamburger-inner::after {
  top: 10px;
  right: 0;
  transition: top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in;
  transition: transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.125s linear, right 0.125s 0.175s ease-in, -webkit-transform 0.125s cubic-bezier(0.6, 0.04, 0.98, 0.335);
}

.hamburger--emphatic-r.is-active .hamburger-inner {
  transition-delay: 0s;
  transition-timing-function: ease-out;
  background-color: transparent;
}

.hamburger--emphatic-r.is-active .hamburger-inner::before {
  left: -80px;
  top: 80px;
  -webkit-transform: translate3d(80px, -80px, 0) rotate(-45deg);
          transform: translate3d(80px, -80px, 0) rotate(-45deg);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: left 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.hamburger--emphatic-r.is-active .hamburger-inner::after {
  right: -80px;
  top: 80px;
  -webkit-transform: translate3d(-80px, -80px, 0) rotate(45deg);
          transform: translate3d(-80px, -80px, 0) rotate(45deg);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: right 0.125s ease-out, top 0.05s 0.125s linear, transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1), -webkit-transform 0.125s 0.175s cubic-bezier(0.075, 0.82, 0.165, 1);
}

/*
   * Minus
   */
.hamburger--minus .hamburger-inner::before, .hamburger--minus .hamburger-inner::after {
  transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
}

.hamburger--minus.is-active .hamburger-inner::before, .hamburger--minus.is-active .hamburger-inner::after {
  opacity: 0;
  transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
}

.hamburger--minus.is-active .hamburger-inner::before {
  top: 0;
}

.hamburger--minus.is-active .hamburger-inner::after {
  bottom: 0;
}

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 2px;
}

.hamburger--slider .hamburger-inner::before {
  top: 10px;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}

.hamburger--slider .hamburger-inner::after {
  top: 20px;
}

.hamburger--slider.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--slider.is-active .hamburger-inner::before {
  -webkit-transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
          transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0);
  opacity: 0;
}

.hamburger--slider.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -20px, 0) rotate(-90deg);
          transform: translate3d(0, -20px, 0) rotate(-90deg);
}

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 2px;
}

.hamburger--slider-r .hamburger-inner::before {
  top: 10px;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  transition-timing-function: ease;
  transition-duration: 0.15s;
}

.hamburger--slider-r .hamburger-inner::after {
  top: 20px;
}

.hamburger--slider-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, 10px, 0) rotate(-45deg);
          transform: translate3d(0, 10px, 0) rotate(-45deg);
}

.hamburger--slider-r.is-active .hamburger-inner::before {
  -webkit-transform: rotate(45deg) translate3d(5.71429px, -6px, 0);
          transform: rotate(45deg) translate3d(5.71429px, -6px, 0);
  opacity: 0;
}

.hamburger--slider-r.is-active .hamburger-inner::after {
  -webkit-transform: translate3d(0, -20px, 0) rotate(90deg);
          transform: translate3d(0, -20px, 0) rotate(90deg);
}

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger--spin .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin.is-active .hamburger-inner {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.22s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin-r .hamburger-inner::before {
  transition: top 0.1s 0.25s ease-in, opacity 0.1s ease-in;
}

.hamburger--spin-r .hamburger-inner::after {
  transition: bottom 0.1s 0.25s ease-in, -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.1s 0.25s ease-in, transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spin-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-225deg);
          transform: rotate(-225deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spin-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.1s ease-out, opacity 0.1s 0.12s ease-out;
}

.hamburger--spin-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  transition: bottom 0.1s ease-out, -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.1s ease-out, transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.22s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 2px;
  transition: background-color 0s 0.13s linear;
}

.hamburger--spring .hamburger-inner::before {
  top: 10px;
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring .hamburger-inner::after {
  top: 20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.22s;
  background-color: transparent;
}

.hamburger--spring.is-active .hamburger-inner::before {
  top: 0;
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transform: translate3d(0, 10px, 0) rotate(45deg);
          transform: translate3d(0, 10px, 0) rotate(45deg);
}

.hamburger--spring.is-active .hamburger-inner::after {
  top: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-transform: translate3d(0, 10px, 0) rotate(-45deg);
          transform: translate3d(0, 10px, 0) rotate(-45deg);
}

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring-r .hamburger-inner::after {
  top: -20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear;
}

.hamburger--spring-r .hamburger-inner::before {
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.1s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--spring-r.is-active .hamburger-inner {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.22s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--spring-r.is-active .hamburger-inner::after {
  top: 0;
  opacity: 0;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.22s linear;
}

.hamburger--spring-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.15s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand .hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand .hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand.is-active .hamburger-inner {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  background-color: transparent;
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--stand.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--stand.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear;
  transition: transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.075s linear, -webkit-transform 0.075s 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand-r .hamburger-inner::before {
  transition: top 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand-r .hamburger-inner::after {
  transition: bottom 0.075s 0.075s ease-in, -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.075s ease-in, transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--stand-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  background-color: transparent;
  transition: background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear;
  transition: transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.15s linear, -webkit-transform 0.075s 0s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--stand-r.is-active .hamburger-inner::before {
  top: 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  transition: top 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--stand-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition: bottom 0.075s 0.1s ease-out, -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s 0.1s ease-out, transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.15s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease;
}

.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze.is-active .hamburger-inner {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.hamburger--squeeze.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease;
}

.hamburger--squeeze.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  transition: bottom 0.075s ease, -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}

.hamburger--vortex .hamburger-inner::before {
  transition-property: top, opacity;
}

.hamburger--vortex .hamburger-inner::after {
  transition-property: bottom, -webkit-transform;
  transition-property: bottom, transform;
  transition-property: bottom, transform, -webkit-transform;
}

.hamburger--vortex.is-active .hamburger-inner {
  -webkit-transform: rotate(765deg);
          transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
  transition-delay: 0s;
}

.hamburger--vortex.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.hamburger--vortex.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
  transition-duration: 0s;
  transition-delay: 0.1s;
  transition-timing-function: linear;
}

.hamburger--vortex-r .hamburger-inner::before {
  transition-property: top, opacity;
}

.hamburger--vortex-r .hamburger-inner::after {
  transition-property: bottom, -webkit-transform;
  transition-property: bottom, transform;
  transition-property: bottom, transform, -webkit-transform;
}

.hamburger--vortex-r.is-active .hamburger-inner {
  -webkit-transform: rotate(-765deg);
          transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

.hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
  transition-delay: 0s;
}

.hamburger--vortex-r.is-active .hamburger-inner::before {
  top: 0;
  opacity: 0;
}

.hamburger--vortex-r.is-active .hamburger-inner::after {
  bottom: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.hide {
  display: none !important;
}

.no-scroll {
  overflow: hidden !important;
}

/*Hiding spinners on input type number*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}

/* Change Autocomplete styles in Chrome*/
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus input:-webkit-autofill,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  transition: background-color 5000s ease-in-out 0s;
  background-color: #fff !important;
}

html body {
  padding-top: 100px;
}

html body section.header {
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.3);
  height: auto;
  z-index: 15;
}

html body section.header.stick {
  height: auto;
}

@media (min-width: 900px) {
  html body section.page span {
    padding-top: 20px;
  }
}

html body.stick {
  padding-top: 60px;
}

html body section.gallery .wrapper-gallery {
  z-index: 50;
}

.primary-btn,
.secondary-btn {
  background: #fff;
  border: 1px solid #ee3e24;
  padding: 1em;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
}

.primary-btn {
  background: #ee3e24;
  color: #FFFFFF;
}

.secondary-btn {
  color: #ee3e24;
}

h1.mobile-business-name {
  color: #fff;
  position: absolute;
  font-weight: 500;
  text-align: center;
  margin: 0;
}

@media (min-width: 900px) {
  h1.mobile-business-name {
    display: none;
  }
}

html body section.header .container-search .wrapper-tags .tag a[href=""] {
  display: none;
}

html body section.header .nav-mobile-active {
  top: 100px;
  background-color: rgba(255, 255, 255, 0.95);
}

html body section.header .container-search {
  z-index: 30;
}

.header .wrapper {
  width: calc(100% - 8em);
  margin-left: 4em;
}

.header .wrapper .header-actions {
  margin-left: auto;
}

.header .wrapper .header-actions .button,
.header .wrapper .header-actions button {
  background: none;
  border: none;
  cursor: pointer;
  width: 2em;
  height: 2em;
  color: #656565;
  margin-left: 1em;
  background-size: 2em;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  /* &.hamburger-btn {
          font-size: 2em;
          margin-left: 0.1em !important;
          padding: 0 !important;
        } */
}

.header .wrapper .header-actions .button:focus,
.header .wrapper .header-actions button:focus {
  outline: 0;
}

.header .wrapper .header-actions .button.cart-btn,
.header .wrapper .header-actions button.cart-btn {
  background-image: url(../images/cart_grey.svg);
  display: none;
}

.header .wrapper .header-actions .button.cart-btn .count,
.header .wrapper .header-actions button.cart-btn .count {
  position: absolute;
  right: 0;
  top: 0;
  background: red;
  color: #fff;
  font-size: 0.7em;
  border-radius: 40px;
  padding: 0.3em;
  min-width: 1.2em;
  display: none;
  text-align: center;
}

.header .wrapper .header-actions .button.cart-btn .count.active,
.header .wrapper .header-actions button.cart-btn .count.active {
  display: block;
}

.header .wrapper .header-actions .button.search-btn,
.header .wrapper .header-actions button.search-btn {
  background-image: url(../images/search.svg);
  background-size: 1.6em;
}

.header .wrapper .header-actions .button.hamburger,
.header .wrapper .header-actions button.hamburger {
  padding: 0;
  margin-left: 1.5em;
}

@media (min-width: 900px) {
  .header .wrapper .header-actions .button.hamburger,
  .header .wrapper .header-actions button.hamburger {
    display: none;
  }
}

.header .wrapper .header-actions .button.hamburger--collapse.is-active,
.header .wrapper .header-actions button.hamburger--collapse.is-active {
  padding: 2px 0;
}

.header .wrapper .header-actions .button.hamburger--collapse.is-active .hamburger-inner::before,
.header .wrapper .header-actions .button.hamburger--collapse.is-active .hamburger-inner::after,
.header .wrapper .header-actions button.hamburger--collapse.is-active .hamburger-inner::before,
.header .wrapper .header-actions button.hamburger--collapse.is-active .hamburger-inner::after {
  top: 0;
}

.header .wrapper .header-actions .button.hamburger .hamburger-inner,
.header .wrapper .header-actions .button.hamburger .hamburger-inner::before,
.header .wrapper .header-actions .button.hamburger .hamburger-inner::after,
.header .wrapper .header-actions button.hamburger .hamburger-inner,
.header .wrapper .header-actions button.hamburger .hamburger-inner::before,
.header .wrapper .header-actions button.hamburger .hamburger-inner::after {
  height: 3px;
  width: 24px;
  background-color: #383838;
}

.header .wrapper .header-actions .button.hamburger .hamburger-inner,
.header .wrapper .header-actions button.hamburger .hamburger-inner {
  bottom: 2px;
}

.header .wrapper .header-actions .button.hamburger .hamburger-inner::after,
.header .wrapper .header-actions button.hamburger .hamburger-inner::after {
  top: -16px;
}

.header .wrapper .header-actions .button.hamburger .hamburger-inner::before,
.header .wrapper .header-actions button.hamburger .hamburger-inner::before {
  top: -8px;
}

.header .nav-belt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0;
  float: none;
  box-sizing: border-box;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 100px;
}

.header .nav-main {
  opacity: 0;
  visibility: hidden;
  background: rgba(255, 255, 255, 0.9);
  position: absolute;
  width: 100%;
  padding: 0;
  z-index: 11;
  transition: visibility 100ms linear, opacity 100ms linear;
  top: 100px;
  min-height: 100vh;
}

.header .nav-main.active {
  opacity: 1;
  visibility: visible;
  overflow-y: auto;
}

@media (min-width: 900px) {
  .header .nav-main {
    opacity: 1;
    visibility: visible;
    background: rgba(0, 0, 0, 0.6);
    padding-left: 95px;
    height: initial;
    min-height: initial;
    top: initial;
  }
}

.header .nav-main .nav-search {
  width: 70%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto;
  position: relative;
}

@media (min-width: 900px) {
  .header .nav-main .nav-search {
    display: none;
  }
}

.header .nav-main .nav-search input {
  background: transparent;
  border: 1px solid #616262;
  padding: 10px 40px 10px 20px;
  color: #333333;
  width: 100%;
  font-size: 14px;
}

.header .nav-main .nav-search button {
  position: absolute;
  right: 0;
  width: 40px;
  height: 37px;
  background: transparent;
  border: 0;
  border-left: 1px solid #616262;
  cursor: pointer;
}

.header .nav-main .nav-search button .fa {
  color: #616262;
  font-size: 1.5em;
}

.header .nav-main ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-left: 0 !important;
  width: 100% !important;
}

@media (min-width: 900px) {
  .header .nav-main ul {
    height: initial;
    display: initial;
    -webkit-box-align: initial;
        -ms-flex-align: initial;
            align-items: initial;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: initial;
            flex-direction: initial;
    margin-left: 4em !important;
    width: initial;
  }
}

.header .nav-main ul,
.header .nav-main li {
  list-style: none;
}

.header .nav-main li {
  display: inline-block;
  padding: 1em 0;
}

@media (min-width: 900px) {
  .header .nav-main li {
    padding: 0.5em 2em;
  }
}

.header .nav-main a {
  color: #000;
  font-size: 1.5em;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  padding: 2px;
  border-bottom: 2px solid transparent;
}

@media (min-width: 900px) {
  .header .nav-main a {
    font-size: initial;
    font-weight: 400;
    color: #fff;
  }
  .header .nav-main a:hover, .header .nav-main a.active {
    border-bottom: 2px solid #ee3e24;
  }
}

.header .logo {
  max-height: 100px;
  transition: all 0.3s ease;
  overflow: hidden;
}

.header .logo img {
  max-width: 100px;
  max-height: 100px;
  transition: all 0.3s ease;
}

.header .business-name {
  margin: 0;
  margin-left: 0.714em;
  display: none;
}

@media (min-width: 900px) {
  .header .business-name {
    display: block;
  }
}

.header .business-name span {
  text-overflow: ellipsis;
  display: block;
  overflow: hidden;
  white-space: nowrap;
  max-width: 60vw;
}

.header.stick .nav-main {
  background: rgba(255, 255, 255, 0.95);
  position: absolute;
  width: 100%;
  padding: 0;
  z-index: 10;
  transition: visibility 100ms linear, opacity 100ms linear;
  top: 60px;
  min-height: 100vh;
}

.header.stick .nav-main.active {
  opacity: 1;
  visibility: visible;
  overflow-y: auto;
}

@media (min-width: 900px) {
  .header.stick .nav-main {
    background: #666666;
    padding-left: 3.8em;
    height: initial;
    min-height: initial;
    top: initial;
    transition: all 0.1s linear;
  }
}

.header.stick .nav-main li {
  display: inline-block;
  padding: 1em 0;
}

@media (min-width: 900px) {
  .header.stick .nav-main li {
    display: inline-block;
    padding: 0.3em 2em 0.2em;
  }
}

.header.stick .nav-main li a {
  color: #000;
  font-size: 1.5em;
  font-weight: 600;
  text-transform: uppercase;
  display: inline-block;
  padding: 2px;
  border-bottom: 2px solid transparent;
}

@media (min-width: 900px) {
  .header.stick .nav-main li a {
    font-size: 0.86em;
    color: #FFFFFF;
    font-weight: 400;
  }
  .header.stick .nav-main li a:hover, .header.stick .nav-main li a.active {
    border-bottom: 2px solid #ee3e24;
  }
}

.header.stick .nav-belt {
  min-height: 60px;
}

.header.stick .business-name span {
  color: #333;
  font-size: 0.8em;
}

.header.stick .logo {
  max-height: 60px;
}

.header.stick .logo img {
  max-width: 60px;
  max-height: 60px;
}

.header.no-logo .nav-main {
  padding-left: 0;
  margin-left: -10px;
}

@media (min-width: 900px) {
  .header.no-logo .nav-main {
    padding-left: 0;
  }
}

.header.no-logo .logo {
  display: none;
}

body.cart-enabled .header .wrapper .header-actions .button.cart-btn {
  display: inline-block;
}

html body.home section.products .container-products .product .wrapper-product .product-overlay {
  height: 75%;
  z-index: 5;
  background: rgba(0, 0, 0, 0.5);
}

html body.home section.products .container-products .product .wrapper-product .product-overlay .product-details {
  text-transform: lowercase;
  background: transparent;
  top: calc(50% - 21px);
  width: 100%;
  text-align: center;
  color: #fff;
  position: absolute;
}

html body.home section.products .container-products .product .wrapper-product .product-overlay .product-details span {
  margin-left: 0.5em;
}

html body.home section.products .container-products .product .wrapper-product .product-overlay ~ .product-actions {
  margin-top: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  width: 100%;
  bottom: 25%;
  z-index: 10;
  top: auto;
  -webkit-transform: initial;
          transform: initial;
  display: none;
}

html body.home section.products .container-products .product .wrapper-product .product-overlay ~ .product-actions .btn {
  width: 50%;
  text-align: center;
  position: relative !important;
}

html body.home section.products .container-products .product .wrapper-product .product-discount {
  position: absolute;
  top: 2em;
  right: 1em;
  background-color: #74B132;
  color: #FFF;
  padding: 0.3em 1em;
  border-radius: 3px;
  z-index: 2;
  opacity: 0;
  transition: all 0.8s;
  transition-delay: 1s;
}

html body.home section.products .container-products .product .wrapper-product .product-discount-show {
  opacity: 1;
  top: 1em;
}

html body.home section.products .container-products .product .wrapper-product .product-desc .product-name {
  font-size: 1.2em;
}

html body.home section.products .container-products .product .wrapper-product .product-desc .product-price {
  font-size: 1.4em;
}

html body.home section.products .container-products .product .wrapper-product .product-desc .wrapper-product-desc .product-price .discounted {
  color: #cacaca;
  text-decoration: line-through;
  padding-right: 0.5em;
}

html body.home section.products.gallery .container-products .product .wrapper-product .product-overlay {
  height: 100%;
}

html body.home section.about-us .copy {
  margin: 0;
}

.home h2.head {
  text-transform: uppercase;
  color: #ee3e24;
  font-size: 1.5em;
}

#bg-image-box {
  max-height: 70vh;
  overflow: hidden;
  position: relative;
}

#bg-image-box .overlay {
  width: 100%;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
}

@media (min-width: 900px) {
  #bg-image-box .overlay {
    display: none;
  }
}

html body.cart-enabled section.products .container-products .product:hover .wrapper-product .product-overlay ~ .product-actions {
  display: none;
}

@media (min-width: 600px) {
  html body.cart-enabled section.products .container-products .product:hover .wrapper-product .product-overlay ~ .product-actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

section.checkout {
  margin: 3em 0;
}

section.checkout > .row {
  float: none;
  max-width: 1280px;
  margin: 0 auto;
}

section.checkout .ui-widget-header {
  border: none;
  background: none;
  padding: 0;
  pointer-events: none;
}

section.checkout .ui-state-default,
section.checkout .ui-widget-content .ui-state-default,
section.checkout .ui-widget-header .ui-state-default,
section.checkout .ui-button,
section.checkout html .ui-button.ui-state-disabled:hover,
section.checkout html .ui-button.ui-state-disabled:active {
  border: 0;
  background: #d0d0d0;
}

section.checkout .ui-state-active,
section.checkout .ui-widget-content .ui-state-active,
section.checkout .ui-widget-header .ui-state-active,
section.checkout a.ui-button:active,
section.checkout .ui-button:active,
section.checkout .ui-button.ui-state-active:hover {
  border: 0;
  background: #58575c;
  font-weight: normal;
  color: #FFFFFF;
}

section.checkout .ui-state-hover,
section.checkout .ui-widget-content .ui-state-hover,
section.checkout .ui-widget-header .ui-state-hover,
section.checkout .ui-state-focus,
section.checkout .ui-widget-content .ui-state-focus,
section.checkout .ui-widget-header .ui-state-focus,
section.checkout .ui-button:hover,
section.checkout .ui-button:focus {
  border: 0;
}

section.checkout .ui-tabs .ui-tabs-nav li {
  border-radius: 0;
  margin: 0;
  padding: 0;
  outline-color: #ee3e24;
  border: 1px solid #FFFFFF;
  text-align: center;
}

section.checkout .ui-tabs .ui-tabs-nav li:active, section.checkout .ui-tabs .ui-tabs-nav li:hover {
  outline-color: #ee3e24;
}

section.checkout .ui-tabs .ui-tabs-nav li i.icon {
  width: 1.714em;
  height: 2em;
  display: inline-block;
  margin-top: 0px;
  vertical-align: middle;
  margin-right: 0.5em;
  background-size: contain;
  background-repeat: no-repeat;
}

section.checkout .ui-tabs .ui-tabs-nav li i.icon.cart-icon {
  background-image: url(http://kitsune-content-cdn.s3.amazonaws.com/ThemeAssets/57c3c1a65d64370d7cf4eb17/images/cart.svg);
}

section.checkout .ui-tabs .ui-tabs-nav li i.icon.shipping-icon {
  background-image: url(http://kitsune-content-cdn.s3.amazonaws.com/ThemeAssets/57c3c1a65d64370d7cf4eb17/images/truck.svg);
  width: 2.714em;
}

section.checkout .ui-tabs .ui-tabs-nav li i.icon.payment-icon {
  background-image: url(http://kitsune-content-cdn.s3.amazonaws.com/ThemeAssets/57c3c1a65d64370d7cf4eb17/images/card.svg);
}

section.checkout .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
  float: none;
  padding: 0.8em 0 0.4em;
  display: block;
  color: #FFFFFF;
  font-family: 'Lato', sans-serif;
  font-size: 1.1em;
  outline: none;
}

section.checkout .primary-content {
  border: none;
  border-right: 1px solid #E2E2E2;
  padding: 0 2em;
  min-height: 530px;
}

section.checkout .primary-content .checkout-btn {
  background: none;
  border: 1px solid #ee3e24;
  color: #ee3e24;
  padding: 1em;
  min-width: 15em;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  display: inline-block;
  box-sizing: border-box;
  margin-bottom: 1em;
}

@media (min-width: 600px) {
  section.checkout .primary-content .checkout-btn {
    margin-bottom: 0;
  }
}

section.checkout .primary-content .checkout-btn.primary-btn {
  background: #ee3e24;
  color: #FFFFFF;
}

section.checkout .primary-content .checkout-buttons {
  margin-bottom: 2em;
}

section.checkout .primary-content .checkout-buttons .primary-btn {
  float: right;
}

section.checkout .primary-content .checkout-buttons .im-checkout {
  float: right;
}

section.checkout .primary-content .checkout-buttons .im-checkout-btn {
  background: #ee3e24;
  color: #fff;
  padding: 1em;
  min-width: 15em;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  border-radius: 0;
  border: 0;
  box-shadow: none;
  text-shadow: none;
}

section.checkout .error-msgs {
  color: red;
  display: none;
}

section.checkout .error-msgs.active {
  display: block;
}

section.checkout .secondary-content {
  padding: 0 2em;
}

section.checkout .secondary-content h3 {
  border: 1px solid #d0d0d0;
  border-left: 0;
  border-right: 0;
  margin: 1em 0;
  padding: 0.5em 0;
}

section.checkout .secondary-content .nf-assurance {
  overflow: hidden;
  text-align: center;
}

section.checkout .secondary-content .nf-assurance-logo {
  display: inline-block;
  margin-bottom: 1em;
}

section.checkout .secondary-content .nf-assurance-logo img {
  width: 200px;
}

section.checkout .secondary-content .nf-assurance-list {
  text-align: left;
  list-style: none;
  margin-bottom: 2em;
}

section.checkout .secondary-content .nf-assurance-list li {
  padding-left: 15px;
  position: relative;
}

section.checkout .secondary-content .nf-assurance-list li::before {
  content: "•";
  color: #aaa;
  position: absolute;
  left: 0;
}

section.checkout .secondary-content .nf-assurance .read-more {
  text-transform: uppercase;
  font-size: 0.9em;
  font-weight: 600;
  color: #ee3e24;
  float: right;
}

section.checkout .secondary-content .order-summary-list {
  list-style: none;
  line-height: 1.5em;
}

section.checkout .secondary-content .order-summary-list li strong {
  font-weight: 400;
}

section.checkout .secondary-content .order-summary-list li .price {
  float: right;
}

section.checkout .secondary-content .order-summary-list li.order-total {
  color: #ee3e24;
  font-size: 1.1em;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 1em;
}

section.checkout .secondary-content .order-summary-list li.order-total strong {
  font-weight: 600;
}

section.checkout .secondary-content .shipping-details {
  display: none;
}

section.checkout .secondary-content .shipping-details.active {
  display: block;
}

section.checkout .secondary-content .edit-shipping {
  float: right;
  padding: 0.675em;
  color: #ee3e24;
  text-decoration: underline;
}

section.checkout .cart {
  padding: 0;
  margin: 40px 0;
  font-family: 'Lato', sans-serif;
}

section.checkout .cart-list {
  margin: 40px 0;
}

section.checkout .cart-item {
  list-style: none;
  list-style: none;
  border-bottom: 1px solid #EEEEEE;
  padding: 1em 0;
}

section.checkout .cart-item .image-container {
  float: left;
}

section.checkout .cart-item .image-container-title {
  font-size: 1em;
  font-weight: 600;
}

section.checkout .cart-item .cost {
  padding: 5px 0;
  font-weight: 600;
}

section.checkout .cart-item-description {
  padding: 5px 10px;
}

section.checkout .cart-item-image {
  width: 100%;
  border: 1px solid #EEEEEE;
}

section.checkout .cart-item-delete {
  color: #ee3e24;
  font-weight: 600;
  font-size: 0.85em;
  margin-top: 0.5em;
  display: inline-block;
  cursor: pointer;
}

section.checkout .cart-item-quantity {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

section.checkout .cart-item-quantity label {
  padding: 5px 10px;
}

section.checkout .cart-item-quantity .quantity-field {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 2.143em;
}

section.checkout .cart-item-quantity .quantity-field button {
  background: none;
  cursor: pointer;
  border: 1px solid #CCCCCC;
  color: #ee3e24;
  font-weight: 600;
  font-size: 1.5em;
  line-height: 1em;
  width: 28px;
}

section.checkout .cart-item-quantity .quantity-field input[type="number"] {
  width: 40px;
  border: 1px solid #CCCCCC;
  border-right: 0;
  border-left: 0;
  text-align: center;
}

section.checkout .shipping {
  padding: 0;
}

section.checkout .shipping-title {
  margin: 2em 0;
}

section.checkout .shipping form {
  margin-bottom: 1em;
}

section.checkout .shipping .form-field {
  position: relative;
}

section.checkout .shipping .form-field label {
  position: absolute;
  left: 1.4em;
  top: 1em;
  color: #888888;
}

section.checkout .shipping .form-field input[type="text"],
section.checkout .shipping .form-field input[type="email"],
section.checkout .shipping .form-field input[type="tel"],
section.checkout .shipping .form-field input[type="number"],
section.checkout .shipping .form-field textarea {
  height: 3em;
  margin-bottom: 1em;
  border: 1px solid #E2E2E2;
  padding: 0.5em 0.9em 0.5em;
  box-sizing: border-box;
  width: 100%;
}

section.checkout .shipping .form-field input[type="text"]:focus, section.checkout .shipping .form-field input[type="text"].has-value,
section.checkout .shipping .form-field input[type="email"]:focus,
section.checkout .shipping .form-field input[type="email"].has-value,
section.checkout .shipping .form-field input[type="tel"]:focus,
section.checkout .shipping .form-field input[type="tel"].has-value,
section.checkout .shipping .form-field input[type="number"]:focus,
section.checkout .shipping .form-field input[type="number"].has-value,
section.checkout .shipping .form-field textarea:focus,
section.checkout .shipping .form-field textarea.has-value {
  background: #fff;
}

section.checkout .shipping .form-field input[type="text"]:focus ~ label, section.checkout .shipping .form-field input[type="text"].has-value ~ label,
section.checkout .shipping .form-field input[type="email"]:focus ~ label,
section.checkout .shipping .form-field input[type="email"].has-value ~ label,
section.checkout .shipping .form-field input[type="tel"]:focus ~ label,
section.checkout .shipping .form-field input[type="tel"].has-value ~ label,
section.checkout .shipping .form-field input[type="number"]:focus ~ label,
section.checkout .shipping .form-field input[type="number"].has-value ~ label,
section.checkout .shipping .form-field textarea:focus ~ label,
section.checkout .shipping .form-field textarea.has-value ~ label {
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-transform: translate3d(-13.25%, -15px, 0) scale(0.745);
  transform: translate3d(-13.25%, -15px, 0) scale(0.745);
  top: 0;
  background: #fff;
  padding: 0.5em;
}

section.checkout .shipping .form-field input[type="text"]:focus,
section.checkout .shipping .form-field input[type="email"]:focus,
section.checkout .shipping .form-field input[type="tel"]:focus,
section.checkout .shipping .form-field input[type="number"]:focus,
section.checkout .shipping .form-field textarea:focus {
  outline: none;
  border-color: #555555;
}

section.checkout .shipping .form-field input[type="text"] + label.error,
section.checkout .shipping .form-field input[type="email"] + label.error,
section.checkout .shipping .form-field input[type="tel"] + label.error,
section.checkout .shipping .form-field input[type="number"] + label.error,
section.checkout .shipping .form-field textarea + label.error {
  color: red;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-transform: translate3d(-13.25%, -15px, 0) scale(0.745);
  transform: translate3d(-13.25%, -15px, 0) scale(0.745);
  top: auto;
  bottom: -0.5em;
  background: #fff;
  padding: 0 0.5em;
}

section.checkout .shipping .form-field textarea {
  min-height: 6em;
}

section.checkout .shipping .form-field select {
  width: 100%;
  height: 3em;
  border: 1px solid #E2E2E2;
  padding: 0.7em;
  cursor: pointer;
  color: #888888;
}

section.checkout .shipping .checkout-buttons {
  margin-bottom: 2em;
  margin-top: 2em;
}

section.checkout .payment {
  padding: 0;
  font-family: 'Lato', sans-serif;
}

section.checkout .payment .otp-form a {
  color: #ee3e24;
  font-size: 1rem;
  font-weight: 400;
  cursor: pointer;
}

section.checkout .payment .otp-form .resend-otp a.disable {
  pointer-events: none;
  cursor: default;
  color: #CCCCCC;
}

section.checkout .payment .otp-form .help-text {
  white-space: pre-wrap;
}

section.checkout .payment .payment-option .form-field {
  cursor: pointer;
}

section.checkout .payment .payment-option label {
  cursor: pointer;
}

section.checkout .payment .payment-option label span {
  width: 8em;
  display: inline-block;
}

section.checkout .payment .payment-option button {
  font-family: 'Lato', sans-serif;
  border: none;
  text-transform: uppercase;
  color: #fff;
  background: #d0d0d0;
  padding: 0.8em;
  margin-bottom: 1em;
  cursor: pointer;
  min-width: 14em;
}

section.checkout .payment .payment-option input[type="radio"]:checked ~ button {
  background: #ee3e24;
}

section.checkout .payment input[type="number"] {
  margin-bottom: 1em;
  border: 1px solid #E2E2E2;
  padding: 0.5em;
  box-sizing: border-box;
  width: 8em;
  margin-right: 1em;
}

section.checkout .payment input[type="number"]:focus {
  outline: none;
  border-color: #555555;
}

@media (max-width: 550px) {
  section.checkout .primary-content {
    border: none;
    border-bottom: 1px solid #f5f5f5;
    margin-bottom: 3em;
    border-radius: 0;
    min-height: 200px;
  }
  section.checkout .primary-content .checkout-buttons {
    text-align: center;
  }
  section.checkout .primary-content .checkout-buttons .primary-btn {
    float: none;
  }
  section.checkout .otp-form .help-text {
    display: block;
    vertical-align: middle;
  }
  section.checkout .ui-tabs .ui-tabs-nav .ui-tabs-anchor span {
    font-size: 0;
  }
}

/*Product page styles*/
.products section.page {
  padding-top: 37px;
}

/* .product-actions {
  margin-top: 0;
  display: flex;
  justify-content: space-between;
  position: absolute;
  width: 100%;
  bottom: 0;
  z-index: 2;

  .btn {
    width: 50%;
    text-align: center;
    position: relative !important
  }
} */
html body.products section.products .product .wrapper-product .product-overlay ~ .product-actions {
  margin-top: 0;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  width: 100%;
  bottom: 25%;
  z-index: 10;
  top: auto;
  -webkit-transform: initial;
          transform: initial;
  display: none;
}

html body.products section.products .product .wrapper-product .product-overlay ~ .product-actions .btn {
  width: 50%;
  text-align: center;
  position: relative !important;
}

html body.products section.products .wrapper-products .product .wrapper-product .product-overlay .product-details {
  text-transform: lowercase;
  background: transparent;
  top: calc(50% - 21px);
  width: 100%;
  text-align: center;
  color: #fff;
  position: absolute;
}

html body.products section.products .wrapper-products .product .wrapper-product .product-overlay .product-details span {
  margin-left: 0.5em;
}

html body.cart-enabled section.products .product:hover .wrapper-product .product-overlay ~ .product-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

html body.product-details section.product-details .container-description {
  padding: 3em;
  border: 1px solid #f5f5f5;
  box-sizing: border-box;
}

html body.product-details section.product-details .container-description div.cart-it {
  height: 2.5em;
  line-height: 2.5em;
  border: 1px solid #ee3e24;
  max-width: 18.8em;
  width: 100%;
}

html body.product-details section.product-details .container-image {
  background-position: center 0;
}

.product-detail-actions {
  margin-top: 2em;
  display: none;
}

.product-detail-actions button {
  margin: 0;
  border: 0;
  background: 0;
  border: 1px solid #ee3e24;
  padding: 0.65em;
  text-transform: uppercase;
  color: #ee3e24;
  min-width: 9em;
  margin-right: 0.75em;
  cursor: pointer;
  width: 100%;
}

@media (min-width: 600px) {
  .product-detail-actions button {
    width: auto;
  }
}

.product-detail-actions button.buy-now {
  background: #ee3e24;
  color: #fff;
}

.cart-enabled .product-detail-actions {
  display: block;
}

html body.cart-enabled.product-details section.product-details .container-description div.cart-it,
html body.cart-enabled.product-details section.product-details .container-description #buy-online-button {
  display: none;
}

#product-enquiry-button {
  color: #ee3e24;
  max-width: 18.8em;
  text-align: center;
  line-height: 2.5em;
  font-weight: 500;
  margin-top: 1em;
  display: block;
  cursor: pointer;
  border: 1px solid #ee3e24;
  width: 100%;
}

#buy-online-button {
  color: #FFF;
  background-color: #f93a00;
  width: 18.8em;
  text-align: center;
  font-weight: 400;
  margin-top: 1em;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  height: 2.5em;
  line-height: 2.5em;
  border: 1px solid #ee3e24;
  display: block;
}

.order-status-loader {
  position: absolute;
  z-index: -1;
  padding: 0 2em 0 0;
}

.order-status-loader .error {
  color: #ee3e24;
}

.order-status-details {
  text-align: justify;
  background: #fff;
  overflow: hidden;
}

.order-status-details h2 {
  font-size: 2.4em;
  font-weight: 400;
}

.order-status-details a {
  color: #ee3e24;
}

/*Below desktop*/
@media (max-width: 820px) {
  html body section .wrapper {
    width: calc(100% - 4em) !important;
    margin-left: 2em !important;
  }
  section.products .product-actions {
    display: none;
  }
}

@media (max-width: 599px) {
  html body.home section.products .container-products .product {
    width: 100%;
  }
  html body.home section.products .container-products .product .wrapper-product .product-desc .wrapper-product-desc .product-name {
    padding: 0 0.5em;
    font-size: 1em;
  }
  html body.home section.products .container-products .product .wrapper-product .product-desc .wrapper-product-desc .product-price {
    margin: 0.8rem 0;
    font-size: 1em;
  }
  html body.products section.products .wrapper-products .product {
    width: 100%;
  }
}

table {
    border-collapse: collapse;
}

/*data table styles*/

div.dataTables_length label{font-weight:normal;float:left;text-align:left}div.dataTables_length select{width:51px}div.dataTables_filter label{font-weight:normal;float:right}div.dataTables_filter input{width:16em}div.dataTables_info{padding-top:8px}div.dataTables_paginate{float:right;margin:0}div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer}table.dataTable thead .sorting{background:url('http://cdn.kitsune.tools/ThemeAssets/media/images/sort_both.png') no-repeat center right}table.dataTable thead .sorting_asc{background:url('http://cdn.kitsune.tools/ThemeAssets/media/images/sort_asc.png') no-repeat center right}table.dataTable thead .sorting_desc{background:url('http://cdn.kitsune.tools/ThemeAssets/media/images/sort_desc.png') no-repeat center right}table.dataTable thead .sorting_asc_disabled{background:url('http://cdn.kitsune.tools/ThemeAssets/media/images/sort_asc_disabled.png') no-repeat center right}table.dataTable thead .sorting_desc_disabled{background:url('http://cdn.kitsune.tools/ThemeAssets/media/images/sort_desc_disabled.png') no-repeat center right}table.dataTable th:active{outline:none}div.dataTables_scrollHead table{margin-bottom:0 !important;border-bottom-left-radius:0;border-bottom-right-radius:0}div.dataTables_scrollHead table thead tr:last-child th:first-child,div.dataTables_scrollHead table thead tr:last-child td:first-child{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody tbody tr:first-child th,div.dataTables_scrollBody tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot table{margin-top:0 !important;border-top:none}table.table-bordered.dataTable{border-collapse:separate !important}table.table-bordered thead th,table.table-bordered thead td{border-left-width:0;border-top-width:0}table.table-bordered tbody th,table.table-bordered tbody td{border-left-width:0;border-bottom-width:0}table.table-bordered th:last-child,table.table-bordered td:last-child{border-right-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}.table tbody tr.active td,.table tbody tr.active th{background-color:#08c;color:#fff}.table tbody tr.active:hover td,.table tbody tr.active:hover th{background-color:#0075b0 !important}.table tbody tr.active a{color:#fff}.table-striped tbody tr.active:nth-child(odd) td,.table-striped tbody tr.active:nth-child(odd) th{background-color:#017ebc}table.DTTT_selectable tbody tr{cursor:pointer}div.DTTT .btn{color:#333 !important;font-size:12px}div.DTTT .btn:hover{text-decoration:none !important}ul.DTTT_dropdown.dropdown-menu{z-index:2003}ul.DTTT_dropdown.dropdown-menu a{color:#333 !important}ul.DTTT_dropdown.dropdown-menu li{position:relative}ul.DTTT_dropdown.dropdown-menu li:hover a{background-color:#08c;color:#fff !important}div.DTTT_collection_background{z-index:2002}div.DTTT_print_info.modal{height:150px;margin-top:-75px;text-align:center}div.DTTT_print_info h6{font-weight:normal;font-size:28px;line-height:28px;margin:1em}div.DTTT_print_info p{font-size:14px;line-height:20px}div.DTFC_LeftHeadWrapper table,div.DTFC_LeftFootWrapper table,div.DTFC_RightHeadWrapper table,div.DTFC_RightFootWrapper table,table.DTFC_Cloned tr.even{background-color:#fff;margin-bottom:0}div.DTFC_RightHeadWrapper table,div.DTFC_LeftHeadWrapper table{margin-bottom:0 !important;border-top-right-radius:0 !important;border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}div.DTFC_RightHeadWrapper table thead tr:last-child th:first-child,div.DTFC_RightHeadWrapper table thead tr:last-child td:first-child,div.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child,div.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child{border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important}div.DTFC_RightBodyWrapper table,div.DTFC_LeftBodyWrapper table{border-top:none;margin:0 !important}div.DTFC_RightBodyWrapper tbody tr:first-child th,div.DTFC_RightBodyWrapper tbody tr:first-child td,div.DTFC_LeftBodyWrapper tbody tr:first-child th,div.DTFC_LeftBodyWrapper tbody tr:first-child td{border-top:none}div.DTFC_RightFootWrapper table,div.DTFC_LeftFootWrapper table{border-top:none}div.FixedHeader_Cloned table{margin:0 !important}

/*Bootstrap table styles*/
.table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 20px
}

.table>tbody>tr>td,
.table>tbody>tr>th,
.table>tfoot>tr>td,
.table>tfoot>tr>th,
.table>thead>tr>td,
.table>thead>tr>th {
    padding: 8px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #ddd
}

.table>thead>tr>th {
    vertical-align: bottom;
    border-bottom: 2px solid #ddd
}

.table>caption+thead>tr:first-child>td,
.table>caption+thead>tr:first-child>th,
.table>colgroup+thead>tr:first-child>td,
.table>colgroup+thead>tr:first-child>th,
.table>thead:first-child>tr:first-child>td,
.table>thead:first-child>tr:first-child>th {
    border-top: 0
}

.table>tbody+tbody {
    border-top: 2px solid #ddd
}

.table .table {
    background-color: #fff
}

.table-condensed>tbody>tr>td,
.table-condensed>tbody>tr>th,
.table-condensed>tfoot>tr>td,
.table-condensed>tfoot>tr>th,
.table-condensed>thead>tr>td,
.table-condensed>thead>tr>th {
    padding: 5px
}

.table-bordered {
    border: 1px solid #ddd
}

.table-bordered>tbody>tr>td,
.table-bordered>tbody>tr>th,
.table-bordered>tfoot>tr>td,
.table-bordered>tfoot>tr>th,
.table-bordered>thead>tr>td,
.table-bordered>thead>tr>th {
    border: 1px solid #ddd
}

.table-bordered>thead>tr>td,
.table-bordered>thead>tr>th {
    border-bottom-width: 2px
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: #f9f9f9
}

.table-hover>tbody>tr:hover {
    background-color: #f5f5f5
}

table col[class*=col-] {
    position: static;
    display: table-column;
    float: none
}

table td[class*=col-],
table th[class*=col-] {
    position: static;
    display: table-cell;
    float: none
}

.table>tbody>tr.active>td,
.table>tbody>tr.active>th,
.table>tbody>tr>td.active,
.table>tbody>tr>th.active,
.table>tfoot>tr.active>td,
.table>tfoot>tr.active>th,
.table>tfoot>tr>td.active,
.table>tfoot>tr>th.active,
.table>thead>tr.active>td,
.table>thead>tr.active>th,
.table>thead>tr>td.active,
.table>thead>tr>th.active {
    background-color: #f5f5f5
}

.table-hover>tbody>tr.active:hover>td,
.table-hover>tbody>tr.active:hover>th,
.table-hover>tbody>tr:hover>.active,
.table-hover>tbody>tr>td.active:hover,
.table-hover>tbody>tr>th.active:hover {
    background-color: #e8e8e8
}

.table>tbody>tr.success>td,
.table>tbody>tr.success>th,
.table>tbody>tr>td.success,
.table>tbody>tr>th.success,
.table>tfoot>tr.success>td,
.table>tfoot>tr.success>th,
.table>tfoot>tr>td.success,
.table>tfoot>tr>th.success,
.table>thead>tr.success>td,
.table>thead>tr.success>th,
.table>thead>tr>td.success,
.table>thead>tr>th.success {
    background-color: #dff0d8
}

.table-hover>tbody>tr.success:hover>td,
.table-hover>tbody>tr.success:hover>th,
.table-hover>tbody>tr:hover>.success,
.table-hover>tbody>tr>td.success:hover,
.table-hover>tbody>tr>th.success:hover {
    background-color: #d0e9c6
}

.table>tbody>tr.info>td,
.table>tbody>tr.info>th,
.table>tbody>tr>td.info,
.table>tbody>tr>th.info,
.table>tfoot>tr.info>td,
.table>tfoot>tr.info>th,
.table>tfoot>tr>td.info,
.table>tfoot>tr>th.info,
.table>thead>tr.info>td,
.table>thead>tr.info>th,
.table>thead>tr>td.info,
.table>thead>tr>th.info {
    background-color: #d9edf7
}

.table-hover>tbody>tr.info:hover>td,
.table-hover>tbody>tr.info:hover>th,
.table-hover>tbody>tr:hover>.info,
.table-hover>tbody>tr>td.info:hover,
.table-hover>tbody>tr>th.info:hover {
    background-color: #c4e3f3
}

.table>tbody>tr.warning>td,
.table>tbody>tr.warning>th,
.table>tbody>tr>td.warning,
.table>tbody>tr>th.warning,
.table>tfoot>tr.warning>td,
.table>tfoot>tr.warning>th,
.table>tfoot>tr>td.warning,
.table>tfoot>tr>th.warning,
.table>thead>tr.warning>td,
.table>thead>tr.warning>th,
.table>thead>tr>td.warning,
.table>thead>tr>th.warning {
    background-color: #fcf8e3
}

.table-hover>tbody>tr.warning:hover>td,
.table-hover>tbody>tr.warning:hover>th,
.table-hover>tbody>tr:hover>.warning,
.table-hover>tbody>tr>td.warning:hover,
.table-hover>tbody>tr>th.warning:hover {
    background-color: #faf2cc
}

.table>tbody>tr.danger>td,
.table>tbody>tr.danger>th,
.table>tbody>tr>td.danger,
.table>tbody>tr>th.danger,
.table>tfoot>tr.danger>td,
.table>tfoot>tr.danger>th,
.table>tfoot>tr>td.danger,
.table>tfoot>tr>th.danger,
.table>thead>tr.danger>td,
.table>thead>tr.danger>th,
.table>thead>tr>td.danger,
.table>thead>tr>th.danger {
    background-color: #f2dede
}

.table-hover>tbody>tr.danger:hover>td,
.table-hover>tbody>tr.danger:hover>th,
.table-hover>tbody>tr:hover>.danger,
.table-hover>tbody>tr>td.danger:hover,
.table-hover>tbody>tr>th.danger:hover {
    background-color: #ebcccc
}

.table-responsive {
    min-height: .01%;
    overflow-x: auto
}

@media screen and (max-width:767px) {
    .table-responsive {
        width: 100%;
        margin-bottom: 15px;
        overflow-y: hidden;
        -ms-overflow-style: -ms-autohiding-scrollbar;
        border: 1px solid #ddd
    }
    .table-responsive>.table {
        margin-bottom: 0
    }
    .table-responsive>.table>tbody>tr>td,
    .table-responsive>.table>tbody>tr>th,
    .table-responsive>.table>tfoot>tr>td,
    .table-responsive>.table>tfoot>tr>th,
    .table-responsive>.table>thead>tr>td,
    .table-responsive>.table>thead>tr>th {
        white-space: nowrap
    }
    .table-responsive>.table-bordered {
        border: 0
    }
    .table-responsive>.table-bordered>tbody>tr>td:first-child,
    .table-responsive>.table-bordered>tbody>tr>th:first-child,
    .table-responsive>.table-bordered>tfoot>tr>td:first-child,
    .table-responsive>.table-bordered>tfoot>tr>th:first-child,
    .table-responsive>.table-bordered>thead>tr>td:first-child,
    .table-responsive>.table-bordered>thead>tr>th:first-child {
        border-left: 0
    }
    .table-responsive>.table-bordered>tbody>tr>td:last-child,
    .table-responsive>.table-bordered>tbody>tr>th:last-child,
    .table-responsive>.table-bordered>tfoot>tr>td:last-child,
    .table-responsive>.table-bordered>tfoot>tr>th:last-child,
    .table-responsive>.table-bordered>thead>tr>td:last-child,
    .table-responsive>.table-bordered>thead>tr>th:last-child {
        border-right: 0
    }
    .table-responsive>.table-bordered>tbody>tr:last-child>td,
    .table-responsive>.table-bordered>tbody>tr:last-child>th,
    .table-responsive>.table-bordered>tfoot>tr:last-child>td,
    .table-responsive>.table-bordered>tfoot>tr:last-child>th {
        border-bottom: 0
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRldi1zdHlsZXMuY3NzIiwiaGFtYnVyZ2Vycy5jc3MiLCJfYmFzZS5zY3NzIiwiX21peGlucy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwibW9kdWxlcy9oZWFkZXIuc2NzcyIsInBhZ2VzL2hvbWUuc2NzcyIsInBhZ2VzL2NoZWNrb3V0LnNjc3MiLCJwYWdlcy9wcm9kdWN0cy5zY3NzIiwicGFnZXMvcHJvZHVjdC1kZXRhaWxzLnNjc3MiLCJwYWdlcy9vcmRlci1zdGF0dXMuc2NzcyIsIl9yZXNwb25zaXZlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7Ozs7R0FNRztBQUNIO0VBQ0UsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0QixnQkFBZ0I7RUFDaEIsNkNBQXFDO0VBQXJDLHFDQUFxQztFQUFyQyxxREFBcUM7RUFDckMsMkJBQTJCO0VBQzNCLG1DQUFtQztFQUNuQyxjQUFjO0VBQ2QsZUFBZTtFQUNmLHFCQUFxQjtFQUNyQiw4QkFBOEI7RUFDOUIsVUFBVTtFQUNWLFVBQVU7RUFDVixrQkFBa0I7Q0FBRzs7QUFDckI7RUFDRSxhQUFhO0NBQUc7O0FBRXBCO0VBQ0UsWUFBWTtFQUNaLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsbUJBQW1CO0NBQUc7O0FBRXhCO0VBQ0UsZUFBZTtFQUNmLFNBQVM7RUFDVCxpQkFBaUI7Q0FBRzs7QUFDcEI7RUFDRSxZQUFZO0VBQ1osWUFBWTtFQUNaLHVCQUF1QjtFQUN2QixtQkFBbUI7RUFDbkIsbUJBQW1CO0VBQ25CLHVDQUErQjtFQUEvQiwrQkFBK0I7RUFBL0Isa0RBQStCO0VBQy9CLDJCQUEyQjtFQUMzQixpQ0FBaUM7Q0FBRzs7QUFDdEM7RUFDRSxZQUFZO0VBQ1osZUFBZTtDQUFHOztBQUNwQjtFQUNFLFdBQVc7Q0FBRzs7QUFDaEI7RUFDRSxjQUFjO0NBQUc7O0FBRXJCOztLQUVLO0FBQ0w7RUFDRSwwQkFBa0I7VUFBbEIsa0JBQWtCO0NBQUc7O0FBRXZCO0VBQ0Usd0lBQXVHO0VBQXZHLGdJQUF1RztFQUF2Ryw4TEFBdUc7Q0FBMkI7O0FBQ2xJO0VBQ0UsMkVBQTBDO0VBQTFDLG1FQUEwQztFQUExQyxtSUFBMEM7Q0FBMkI7O0FBRXpFO0VBQ0UsOEJBQThCO0VBQzlCLG1DQUFrQjtVQUFsQiwyQkFBa0I7Q0FBVzs7QUFDN0I7RUFDRSx5REFBeUM7VUFBekMsaURBQXlDO0NBQVU7O0FBQ3JEO0VBQ0UsMkRBQTBDO1VBQTFDLG1EQUEwQztDQUFXOztBQUV6RDs7S0FFSztBQUNMO0VBQ0UsMEJBQWtCO1VBQWxCLGtCQUFrQjtDQUFHOztBQUV2QjtFQUNFLHdJQUF1RztFQUF2RyxnSUFBdUc7RUFBdkcsOExBQXVHO0NBQTJCOztBQUNsSTtFQUNFLDJFQUEwQztFQUExQyxtRUFBMEM7RUFBMUMsbUlBQTBDO0NBQTJCOztBQUV6RTtFQUNFLDhCQUE4QjtFQUM5QixvQ0FBa0I7VUFBbEIsNEJBQWtCO0NBQVk7O0FBQzlCO0VBQ0UseURBQXlDO1VBQXpDLGlEQUF5QztDQUFVOztBQUNyRDtFQUNFLDJEQUEwQztVQUExQyxtREFBMEM7Q0FBVzs7QUFFekQ7O0tBRUs7QUFDTDtFQUNFLDBCQUFrQjtVQUFsQixrQkFBa0I7Q0FBRzs7QUFFdkI7RUFDRSx3SUFBdUc7RUFBdkcsZ0lBQXVHO0VBQXZHLDhMQUF1RztDQUEyQjs7QUFDbEk7RUFDRSwyRUFBMEM7RUFBMUMsbUVBQTBDO0VBQTFDLG1JQUEwQztDQUEyQjs7QUFFekU7RUFDRSw4QkFBOEI7RUFDOUIsb0NBQWtCO1VBQWxCLDRCQUFrQjtDQUFZOztBQUM5QjtFQUNFLHlEQUF5QztVQUF6QyxpREFBeUM7Q0FBVTs7QUFDckQ7RUFDRSwyREFBMEM7VUFBMUMsbURBQTBDO0NBQVc7O0FBRXpEOztLQUVLO0FBQ0w7RUFDRSwwQkFBa0I7VUFBbEIsa0JBQWtCO0NBQUc7O0FBRXZCO0VBQ0Usd0lBQXVHO0VBQXZHLGdJQUF1RztFQUF2Ryw4TEFBdUc7Q0FBMkI7O0FBQ2xJO0VBQ0UsMkVBQTBDO0VBQTFDLG1FQUEwQztFQUExQyxtSUFBMEM7Q0FBMkI7O0FBRXpFO0VBQ0UsOEJBQThCO0VBQzlCLG1DQUFrQjtVQUFsQiwyQkFBa0I7Q0FBVzs7QUFDN0I7RUFDRSx5REFBeUM7VUFBekMsaURBQXlDO0NBQVU7O0FBQ3JEO0VBQ0UsMkRBQTBDO1VBQTFDLG1EQUEwQztDQUFXOztBQUV6RDs7S0FFSztBQUNMO0VBQ0UsMEJBQWtCO1VBQWxCLGtCQUFrQjtDQUFHOztBQUV2QjtFQUNFLHdJQUF1RztFQUF2RyxnSUFBdUc7RUFBdkcsOExBQXVHO0NBQTJCOztBQUNsSTtFQUNFLDJFQUEwQztFQUExQyxtRUFBMEM7RUFBMUMsbUlBQTBDO0NBQTJCOztBQUV6RTtFQUNFLDhCQUE4QjtFQUM5QixtREFBa0M7VUFBbEMsMkNBQWtDO0NBQVc7O0FBQzdDO0VBQ0UseURBQXlDO1VBQXpDLGlEQUF5QztDQUFVOztBQUNyRDtFQUNFLDJEQUEwQztVQUExQyxtREFBMEM7Q0FBVzs7QUFFekQ7O0tBRUs7QUFDTDtFQUNFLDBCQUFrQjtVQUFsQixrQkFBa0I7Q0FBRzs7QUFFdkI7RUFDRSx3SUFBdUc7RUFBdkcsZ0lBQXVHO0VBQXZHLDhMQUF1RztDQUEyQjs7QUFDbEk7RUFDRSwyRUFBMEM7RUFBMUMsbUVBQTBDO0VBQTFDLG1JQUEwQztDQUEyQjs7QUFFekU7RUFDRSw4QkFBOEI7RUFDOUIsb0VBQWtEO1VBQWxELDREQUFrRDtDQUFZOztBQUM5RDtFQUNFLHlEQUF5QztVQUF6QyxpREFBeUM7Q0FBVTs7QUFDckQ7RUFDRSwyREFBMEM7VUFBMUMsbURBQTBDO0NBQVc7O0FBRXpEOztLQUVLO0FBQ0w7RUFDRSx3RUFBdUQ7VUFBdkQsZ0VBQXVEO0NBQVc7O0FBRXBFO0VBQ0UsdUVBQXNEO1VBQXRELCtEQUFzRDtDQUFXOztBQUVuRTs7S0FFSztBQUNMO0VBQ0Usc0VBQXFEO1VBQXJELDhEQUFxRDtDQUFXOztBQUVsRTtFQUNFLHVFQUFzRDtVQUF0RCwrREFBc0Q7Q0FBVzs7QUFFbkU7O0tBRUs7QUFDTDtFQUNFLDBGQUEyRDtFQUEzRCxrRkFBMkQ7RUFBM0QsNklBQTJEO0NBQXlCOztBQUV0RjtFQUNFLDZGQUE4RDtFQUE5RCxxRkFBOEQ7RUFBOUQsZ0pBQThEO0NBQXlCOztBQUV6RjtFQUNFLE9BQU87RUFDUCw0RUFBMkQ7VUFBM0Qsb0VBQTJEO0VBQzNELDhGQUEyRDtFQUEzRCxzRkFBMkQ7RUFBM0QsMEpBQTJEO0NBQTZCOztBQUUxRjtFQUNFLFVBQVU7RUFDViwwRUFBeUQ7VUFBekQsa0VBQXlEO0VBQ3pELGlHQUE4RDtFQUE5RCx5RkFBOEQ7RUFBOUQsNkpBQThEO0NBQTZCOztBQUU3Rjs7S0FFSztBQUNMO0VBQ0UsMEZBQTJEO0VBQTNELGtGQUEyRDtFQUEzRCw2SUFBMkQ7Q0FBeUI7O0FBRXRGO0VBQ0UsNkZBQThEO0VBQTlELHFGQUE4RDtFQUE5RCxnSkFBOEQ7Q0FBeUI7O0FBRXpGO0VBQ0UsT0FBTztFQUNQLDBFQUF5RDtVQUF6RCxrRUFBeUQ7RUFDekQsOEZBQTJEO0VBQTNELHNGQUEyRDtFQUEzRCwwSkFBMkQ7Q0FBNkI7O0FBRTFGO0VBQ0UsVUFBVTtFQUNWLDBFQUF5RDtVQUF6RCxrRUFBeUQ7RUFDekQsaUdBQThEO0VBQTlELHlGQUE4RDtFQUE5RCw2SkFBOEQ7Q0FBNkI7O0FBRTdGOztHQUVHO0FBQ0g7RUFDRSxtQ0FBaUI7VUFBakIsMkJBQWlCO0NBQVk7O0FBQzdCO0VBQ0Usc0VBQXFEO1VBQXJELDhEQUFxRDtDQUFXOztBQUNsRTtFQUNFLHVFQUFzRDtVQUF0RCwrREFBc0Q7Q0FBVzs7QUFFckU7O0dBRUc7QUFDSDtFQUNFLG1DQUFpQjtVQUFqQiwyQkFBaUI7Q0FBWTs7QUFDN0I7RUFDRSx3RUFBdUQ7VUFBdkQsZ0VBQXVEO0NBQVc7O0FBQ3BFO0VBQ0UsdUVBQXNEO1VBQXRELCtEQUFzRDtDQUFXOztBQUVyRTs7S0FFSztBQUNMO0VBQ0UsMEJBQTBCO0NBQUc7O0FBRS9CO0VBQ0UsaUNBQWlCO1VBQWpCLHlCQUFpQjtDQUFVOztBQUMzQjtFQUNFLE9BQU87RUFDUCxXQUFXO0NBQUc7O0FBQ2hCO0VBQ0UsVUFBVTtFQUNWLGtDQUFpQjtVQUFqQiwwQkFBaUI7Q0FBVzs7QUFFaEM7O0tBRUs7QUFDTDtFQUNFLFVBQVU7RUFDVixVQUFVO0VBQ1YsMkJBQTJCO0VBQzNCLHdCQUF3QjtFQUN4QixtRUFBd0M7Q0FBNkI7O0FBQ3JFO0VBQ0UsV0FBVztFQUNYLDBGQUF5RjtDQUFHOztBQUM5RjtFQUNFLHNJQUFtRztFQUFuRyw4SEFBbUc7RUFBbkcsOExBQW1HO0NBQTZCOztBQUVwSTtFQUNFLDJEQUEwQztVQUExQyxtREFBMEM7RUFDMUMsd0JBQXdCO0VBQ3hCLGdFQUF3QztDQUEwQjs7QUFDbEU7RUFDRSxPQUFPO0VBQ1AsV0FBVztFQUNYLDJGQUEwRjtDQUFHOztBQUMvRjtFQUNFLE9BQU87RUFDUCxrQ0FBaUI7VUFBakIsMEJBQWlCO0VBQ2pCLHlJQUF5RztFQUF6RyxpSUFBeUc7RUFBekcsb01BQXlHO0NBQTBCOztBQUV2STs7S0FFSztBQUNMO0VBQ0UsVUFBVTtFQUNWLFVBQVU7RUFDViwyQkFBMkI7RUFDM0Isd0JBQXdCO0VBQ3hCLG1FQUF3QztDQUE2Qjs7QUFDckU7RUFDRSxXQUFXO0VBQ1gsMEZBQXlGO0NBQUc7O0FBQzlGO0VBQ0Usc0lBQW1HO0VBQW5HLDhIQUFtRztFQUFuRyw4TEFBbUc7Q0FBNkI7O0FBRXBJO0VBQ0UsMERBQTBDO1VBQTFDLGtEQUEwQztFQUMxQyx3QkFBd0I7RUFDeEIsZ0VBQXdDO0NBQTBCOztBQUNsRTtFQUNFLE9BQU87RUFDUCxXQUFXO0VBQ1gsMkZBQTBGO0NBQUc7O0FBQy9GO0VBQ0UsT0FBTztFQUNQLGlDQUFpQjtVQUFqQix5QkFBaUI7RUFDakIseUlBQXlHO0VBQXpHLGlJQUF5RztFQUF6RyxvTUFBeUc7Q0FBMEI7O0FBRXZJOztLQUVLO0FBQ0w7RUFDRSxTQUFTO0VBQ1QsNEJBQTRCO0VBQzVCLG1FQUF3QztDQUE2Qjs7QUFDckU7RUFDRSxVQUFVO0VBQ1YsdUNBQXVDO0NBQUc7O0FBQzVDO0VBQ0UsVUFBVTtFQUNWLDRFQUF5QztFQUF6QyxvRUFBeUM7RUFBekMscUlBQXlDO0NBQTZCOztBQUUxRTtFQUNFLDBEQUF5QztVQUF6QyxrREFBeUM7RUFDekMseUJBQXlCO0NBQUc7O0FBQzVCO0VBQ0UscUJBQXFCO0VBQ3JCLFdBQVc7Q0FBRzs7QUFDaEI7RUFDRSw0REFBMEM7VUFBMUMsb0RBQTBDO0VBQzFDLHlCQUF5QjtDQUFHOztBQUVoQzs7S0FFSztBQUNMO0VBQ0UsU0FBUztFQUNULDRCQUE0QjtFQUM1QixtRUFBd0M7Q0FBNkI7O0FBQ3JFO0VBQ0UsVUFBVTtFQUNWLHVDQUF1QztDQUFHOztBQUM1QztFQUNFLFVBQVU7RUFDViw0RUFBeUM7RUFBekMsb0VBQXlDO0VBQXpDLHFJQUF5QztDQUE2Qjs7QUFFMUU7RUFDRSwyREFBeUM7VUFBekMsbURBQXlDO0VBQ3pDLHlCQUF5QjtDQUFHOztBQUM1QjtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0NBQUc7O0FBQ2hCO0VBQ0UsMkRBQTBDO1VBQTFDLG1EQUEwQztFQUMxQyx5QkFBeUI7Q0FBRzs7QUFFaEM7O0tBRUs7QUFDTDtFQUNFLGlCQUFpQjtDQUFHOztBQUNwQjtFQUNFLG1EQUFtRDtDQUFHOztBQUN0RDtFQUNFLFFBQVE7RUFDUiwrSEFBc0g7RUFBdEgsdUhBQXNIO0VBQXRILHNMQUFzSDtDQUFHOztBQUMzSDtFQUNFLFVBQVU7RUFDVixTQUFTO0VBQ1QsZ0lBQXVIO0VBQXZILHdIQUF1SDtFQUF2SCx1TEFBdUg7Q0FBRzs7QUFDOUg7RUFDRSxxQkFBcUI7RUFDckIscUNBQXFDO0VBQ3JDLDhCQUE4QjtDQUFHOztBQUNqQztFQUNFLFlBQVk7RUFDWixXQUFXO0VBQ1gsNERBQTRDO1VBQTVDLG9EQUE0QztFQUM1QywrSEFBK0Y7RUFBL0YsdUhBQStGO0VBQS9GLDRMQUErRjtDQUEwQjs7QUFDM0g7RUFDRSxhQUFhO0VBQ2IsV0FBVztFQUNYLDhEQUE2QztVQUE3QyxzREFBNkM7RUFDN0MsZ0lBQWdHO0VBQWhHLHdIQUFnRztFQUFoRyw2TEFBZ0c7Q0FBMEI7O0FBRWhJOztLQUVLO0FBQ0w7RUFDRSxpQkFBaUI7Q0FBRzs7QUFDcEI7RUFDRSxtREFBbUQ7Q0FBRzs7QUFDdEQ7RUFDRSxRQUFRO0VBQ1IsK0hBQXNIO0VBQXRILHVIQUFzSDtFQUF0SCxzTEFBc0g7Q0FBRzs7QUFDM0g7RUFDRSxVQUFVO0VBQ1YsU0FBUztFQUNULGdJQUF1SDtFQUF2SCx3SEFBdUg7RUFBdkgsdUxBQXVIO0NBQUc7O0FBQzlIO0VBQ0UscUJBQXFCO0VBQ3JCLHFDQUFxQztFQUNyQyw4QkFBOEI7Q0FBRzs7QUFDakM7RUFDRSxZQUFZO0VBQ1osVUFBVTtFQUNWLDhEQUE2QztVQUE3QyxzREFBNkM7RUFDN0MsK0hBQStGO0VBQS9GLHVIQUErRjtFQUEvRiw0TEFBK0Y7Q0FBMEI7O0FBQzNIO0VBQ0UsYUFBYTtFQUNiLFVBQVU7RUFDViw4REFBOEM7VUFBOUMsc0RBQThDO0VBQzlDLGdJQUFnRztFQUFoRyx3SEFBZ0c7RUFBaEcsNkxBQWdHO0NBQTBCOztBQUVoSTs7S0FFSztBQUNMO0VBQ0UsK0VBQStFO0NBQUc7O0FBRXBGO0VBQ0UsV0FBVztFQUNYLCtFQUErRTtDQUFHOztBQUVwRjtFQUNFLE9BQU87Q0FBRzs7QUFFWjtFQUNFLFVBQVU7Q0FBRzs7QUFFZjs7S0FFSztBQUNMO0VBQ0UsU0FBUztDQUFHOztBQUNaO0VBQ0UsVUFBVTtFQUNWLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFBeEMsMkRBQXdDO0VBQ3hDLGlDQUFpQztFQUNqQywyQkFBMkI7Q0FBRzs7QUFDaEM7RUFDRSxVQUFVO0NBQUc7O0FBRWpCO0VBQ0UseURBQXlDO1VBQXpDLGlEQUF5QztDQUFVOztBQUNuRDtFQUNFLG1FQUFxQztVQUFyQywyREFBcUM7RUFDckMsV0FBVztDQUFHOztBQUNoQjtFQUNFLDJEQUEwQztVQUExQyxtREFBMEM7Q0FBVzs7QUFFekQ7O0tBRUs7QUFDTDtFQUNFLFNBQVM7Q0FBRzs7QUFDWjtFQUNFLFVBQVU7RUFDVixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQXhDLDJEQUF3QztFQUN4QyxpQ0FBaUM7RUFDakMsMkJBQTJCO0NBQUc7O0FBQ2hDO0VBQ0UsVUFBVTtDQUFHOztBQUVqQjtFQUNFLDBEQUF5QztVQUF6QyxrREFBeUM7Q0FBVzs7QUFDcEQ7RUFDRSxpRUFBb0M7VUFBcEMseURBQW9DO0VBQ3BDLFdBQVc7Q0FBRzs7QUFDaEI7RUFDRSwwREFBMEM7VUFBMUMsa0RBQTBDO0NBQVU7O0FBRXhEOztLQUVLO0FBQ0w7RUFDRSwyQkFBMkI7RUFDM0IsbUVBQXdDO0NBQTZCOztBQUNyRTtFQUNFLHlEQUF5RDtDQUFHOztBQUM5RDtFQUNFLHNHQUFtRTtFQUFuRSw4RkFBbUU7RUFBbkUsOEpBQW1FO0NBQTZCOztBQUVwRztFQUNFLGtDQUFpQjtVQUFqQiwwQkFBaUI7RUFDakIsd0JBQXdCO0VBQ3hCLGdFQUF3QztDQUEwQjs7QUFDbEU7RUFDRSxPQUFPO0VBQ1AsV0FBVztFQUNYLDJEQUEyRDtDQUFHOztBQUNoRTtFQUNFLFVBQVU7RUFDVixrQ0FBaUI7VUFBakIsMEJBQWlCO0VBQ2pCLG9HQUFvRTtFQUFwRSw0RkFBb0U7RUFBcEUsK0pBQW9FO0NBQTBCOztBQUVsRzs7S0FFSztBQUNMO0VBQ0UsMkJBQTJCO0VBQzNCLG1FQUF3QztDQUE2Qjs7QUFDckU7RUFDRSx5REFBeUQ7Q0FBRzs7QUFDOUQ7RUFDRSxzR0FBbUU7RUFBbkUsOEZBQW1FO0VBQW5FLDhKQUFtRTtDQUE2Qjs7QUFFcEc7RUFDRSxtQ0FBaUI7VUFBakIsMkJBQWlCO0VBQ2pCLHdCQUF3QjtFQUN4QixnRUFBd0M7Q0FBMEI7O0FBQ2xFO0VBQ0UsT0FBTztFQUNQLFdBQVc7RUFDWCwyREFBMkQ7Q0FBRzs7QUFDaEU7RUFDRSxVQUFVO0VBQ1YsaUNBQWlCO1VBQWpCLHlCQUFpQjtFQUNqQixvR0FBb0U7RUFBcEUsNEZBQW9FO0VBQXBFLCtKQUFvRTtDQUEwQjs7QUFFbEc7O0tBRUs7QUFDTDtFQUNFLFNBQVM7RUFDVCw2Q0FBNkM7Q0FBRzs7QUFDaEQ7RUFDRSxVQUFVO0VBQ1YscUlBQWtHO0VBQWxHLDZIQUFrRztFQUFsRyw2TEFBa0c7Q0FBNkI7O0FBQ2pJO0VBQ0UsVUFBVTtFQUNWLHFJQUFrRztFQUFsRyw2SEFBa0c7RUFBbEcsNkxBQWtHO0NBQTZCOztBQUVuSTtFQUNFLHdCQUF3QjtFQUN4Qiw4QkFBOEI7Q0FBRzs7QUFDakM7RUFDRSxPQUFPO0VBQ1AseUlBQXlHO0VBQXpHLGlJQUF5RztFQUF6RyxvTUFBeUc7RUFDekcseURBQXlDO1VBQXpDLGlEQUF5QztDQUFVOztBQUNyRDtFQUNFLE9BQU87RUFDUCxtSUFBbUc7RUFBbkcsMkhBQW1HO0VBQW5HLDhMQUFtRztFQUNuRywwREFBeUM7VUFBekMsa0RBQXlDO0NBQVc7O0FBRXhEOztLQUVLO0FBQ0w7RUFDRSxVQUFVO0VBQ1YsVUFBVTtFQUNWLDJCQUEyQjtFQUMzQixxQkFBcUI7RUFDckIsbUVBQXdDO0NBQTZCOztBQUNyRTtFQUNFLFdBQVc7RUFDWCx3RkFBdUY7Q0FBRzs7QUFDNUY7RUFDRSxxSUFBa0c7RUFBbEcsNkhBQWtHO0VBQWxHLDZMQUFrRztDQUE2Qjs7QUFFbkk7RUFDRSwyREFBMEM7VUFBMUMsbURBQTBDO0VBQzFDLHdCQUF3QjtFQUN4QixnRUFBd0M7Q0FBMEI7O0FBQ2xFO0VBQ0UsT0FBTztFQUNQLFdBQVc7RUFDWCx5RkFBd0Y7Q0FBRzs7QUFDN0Y7RUFDRSxPQUFPO0VBQ1AsaUNBQWlCO1VBQWpCLHlCQUFpQjtFQUNqQix5SUFBeUc7RUFBekcsaUlBQXlHO0VBQXpHLG9NQUF5RztDQUEwQjs7QUFFdkk7O0tBRUs7QUFDTDtFQUNFLHFIQUE0RztFQUE1Ryw2R0FBNEc7RUFBNUcsb0xBQTRHO0NBQUc7O0FBQy9HO0VBQ0UsMEdBQXVFO0VBQXZFLGtHQUF1RTtFQUF2RSxzS0FBdUU7Q0FBNkI7O0FBQ3RHO0VBQ0UsNkdBQTBFO0VBQTFFLHFHQUEwRTtFQUExRSx5S0FBMEU7Q0FBNkI7O0FBRTNHO0VBQ0UsaUNBQWlCO1VBQWpCLHlCQUFpQjtFQUNqQiw4QkFBOEI7RUFDOUIsOEdBQXFHO0VBQXJHLHNHQUFxRztFQUFyRyx1S0FBcUc7Q0FBRzs7QUFDeEc7RUFDRSxPQUFPO0VBQ1Asa0NBQWlCO1VBQWpCLDBCQUFpQjtFQUNqQix5R0FBeUU7RUFBekUsaUdBQXlFO0VBQXpFLHFLQUF5RTtDQUEwQjs7QUFDckc7RUFDRSxVQUFVO0VBQ1YsaUNBQWlCO1VBQWpCLHlCQUFpQjtFQUNqQiw0R0FBNEU7RUFBNUUsb0dBQTRFO0VBQTVFLHdLQUE0RTtDQUEwQjs7QUFFMUc7O0tBRUs7QUFDTDtFQUNFLHFIQUE0RztFQUE1Ryw2R0FBNEc7RUFBNUcsb0xBQTRHO0NBQUc7O0FBQy9HO0VBQ0UsMEdBQXVFO0VBQXZFLGtHQUF1RTtFQUF2RSxzS0FBdUU7Q0FBNkI7O0FBQ3RHO0VBQ0UsNkdBQTBFO0VBQTFFLHFHQUEwRTtFQUExRSx5S0FBMEU7Q0FBNkI7O0FBRTNHO0VBQ0Usa0NBQWlCO1VBQWpCLDBCQUFpQjtFQUNqQiw4QkFBOEI7RUFDOUIsOEdBQXFHO0VBQXJHLHNHQUFxRztFQUFyRyx1S0FBcUc7Q0FBRzs7QUFDeEc7RUFDRSxPQUFPO0VBQ1Asa0NBQWlCO1VBQWpCLDBCQUFpQjtFQUNqQix5R0FBeUU7RUFBekUsaUdBQXlFO0VBQXpFLHFLQUF5RTtDQUEwQjs7QUFDckc7RUFDRSxVQUFVO0VBQ1YsaUNBQWlCO1VBQWpCLHlCQUFpQjtFQUNqQiw0R0FBNEU7RUFBNUUsb0dBQTRFO0VBQTVFLHdLQUE0RTtDQUEwQjs7QUFFMUc7O0tBRUs7QUFDTDtFQUNFLDRCQUE0QjtFQUM1QixtRUFBd0M7Q0FBNkI7O0FBQ3JFO0VBQ0UsdURBQXVEO0NBQUc7O0FBQzVEO0VBQ0Usc0dBQW1FO0VBQW5FLDhGQUFtRTtFQUFuRSwrSkFBbUU7Q0FBNkI7O0FBRXBHO0VBQ0UsaUNBQWlCO1VBQWpCLHlCQUFpQjtFQUNqQix3QkFBd0I7RUFDeEIsZ0VBQXdDO0NBQTBCOztBQUNsRTtFQUNFLE9BQU87RUFDUCxXQUFXO0VBQ1gsdURBQXVEO0NBQUc7O0FBQzVEO0VBQ0UsVUFBVTtFQUNWLGtDQUFpQjtVQUFqQiwwQkFBaUI7RUFDakIsbUdBQW1FO0VBQW5FLDJGQUFtRTtFQUFuRSwrSkFBbUU7Q0FBMEI7O0FBRWpHOztLQUVLO0FBQ0w7RUFDRSwwQkFBMEI7RUFDMUIsMkRBQXdDO0NBQXFCOztBQUM3RDtFQUNFLHdCQUF3QjtFQUN4Qix1QkFBdUI7RUFDdkIsbUNBQW1DO0NBQUc7O0FBQ3hDO0VBQ0Usa0NBQWtDO0NBQUc7O0FBQ3ZDO0VBQ0UsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7Q0FBRzs7QUFFOUM7RUFDRSxrQ0FBaUI7VUFBakIsMEJBQWlCO0VBQ2pCLDJEQUF3QztDQUFxQjs7QUFDN0Q7RUFDRSxxQkFBcUI7Q0FBRzs7QUFDMUI7RUFDRSxPQUFPO0VBQ1AsV0FBVztDQUFHOztBQUNoQjtFQUNFLFVBQVU7RUFDVixpQ0FBaUI7VUFBakIseUJBQWlCO0NBQVU7O0FBRS9COztLQUVLO0FBQ0w7RUFDRSwwQkFBMEI7RUFDMUIsMkRBQXdDO0NBQXFCOztBQUM3RDtFQUNFLHdCQUF3QjtFQUN4Qix1QkFBdUI7RUFDdkIsbUNBQW1DO0NBQUc7O0FBQ3hDO0VBQ0Usa0NBQWtDO0NBQUc7O0FBQ3ZDO0VBQ0UsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7Q0FBRzs7QUFFOUM7RUFDRSxtQ0FBaUI7VUFBakIsMkJBQWlCO0VBQ2pCLDJEQUF3QztDQUFxQjs7QUFDN0Q7RUFDRSxxQkFBcUI7Q0FBRzs7QUFDMUI7RUFDRSxPQUFPO0VBQ1AsV0FBVztDQUFHOztBQUNoQjtFQUNFLFVBQVU7RUFDVixrQ0FBaUI7VUFBakIsMEJBQWlCO0NBQVc7O0FDMXJCOUI7RUFDRSx5QkFBeUI7Q0FDMUI7O0FBRUQ7RUFDRSw0QkFBNEI7Q0FDN0I7O0FBQ0Qsd0NBQXdDO0FBRXhDOztFQUVFLHlCQUF5QjtFQUN6QixVQUFVO0NBQ1g7O0FBRUQ7RUFDRSwyQkFBMkI7Q0FDNUI7O0FBQ0QseUNBQXlDO0FBRXpDOzs7Ozs7OztFQVFFLGtEQUFrRDtFQUNsRCxrQ0FBa0M7Q0FDbkM7O0FBQ0Q7RUFDRSxtQkFBbUI7Q0F5QnBCOztBQTFCRDtFQUdJLDBDQUEyQjtFQUMzQixhQUFhO0VBQ2IsWUFBWTtDQUtiOztBQVZIO0VBUU0sYUFBYTtDQUNkOztBQ25DSDtFRDBCRjtJQWNRLGtCQUFrQjtHQUVyQjtDRjI5Qk47O0FFMytCQztFQW1CSSxrQkFBa0I7Q0FDbkI7O0FBcEJIO0VBdUJNLFlBQVk7Q0FDYjs7QUFLTDs7RUFFRSxpQkFBaUI7RUFDakIsMEJFaEVxQjtFRmlFckIsYUFBYTtFQUNiLGdDQUFnQztFQUNoQyxpQkFBaUI7RUFDakIsMEJBQTBCO0VBQzFCLGdCQUFnQjtDQUNqQjs7QUFHRDtFQUNFLG9CQUFvQjtFQUNwQixlQUFlO0NBQ2hCOztBQUVEO0VBQ0UsZUUvRXFCO0NGZ0Z0Qjs7QUFFRDtFQUNFLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLG1CQUFtQjtFQUNuQixVQUFVO0NBS1g7O0FDdEZDO0VENEVGO0lBUUksY0FBYztHQUVqQjtDRnk5QkY7O0FFeDlCQztFQUNFLGNBQWM7Q0FDZjs7QUcvRkg7RUFFSSxXQUFXO0VBQ1gsNENBQXNCO0NBQ3ZCOztBQUpIO0VBTUksWUFBWTtDQUNiOztBQUlIO0VBRUksd0JBQVc7RUFDWCxpQkFBaUI7Q0F3RmxCOztBQTNGSDtFQU1NLGtCQUFrQjtDQW9GbkI7O0FBMUZMOztFQVNRLGlCQUFpQjtFQUNqQixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxZQUFZO0VBQ1osZUFBZTtFQUNmLGlCQUFpQjtFQUNqQixxQkFBcUI7RUFDckIsNEJBQTRCO0VBQzVCLDZCQUE2QjtFQUM3QixtQkFBbUI7RUFDbkIsc0JBQXNCO0VBQ3RCLHVCQUF1QjtFQTRCdkI7Ozs7WUFJSTtDQW9DTDs7QUF6RlA7O0VBdUJVLFdBQVc7Q0FDWjs7QUF4QlQ7O0VBMEJVLDZIQUE0SDtFQUM1SCxjQUFjO0NBaUJmOztBQTVDVDs7RUE2QlksbUJBQW1CO0VBQ25CLFNBQVM7RUFDVCxPQUFPO0VBQ1AsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsY0FBYztFQUNkLG1CQUFtQjtDQUlwQjs7QUEzQ1g7O0VBeUNjLGVBQWU7Q0FDaEI7O0FBMUNiOztFQThDVSwwSEFBeUg7RUFDekgsdUJBQXVCO0NBQ3hCOztBQWhEVDs7RUF1RFUsV0FBVztFQUNYLG1CQUFtQjtDQWdDcEI7O0FGN0ZMO0VFS0o7O0lBMERZLGNBQWM7R0E4QmpCO0NMZ2pDUjs7QUt4b0NEOztFQThEWSxlQUFlO0NBS2hCOztBQW5FWDs7OztFQWlFYyxPQUFPO0NBQ1I7O0FBbEViOzs7Ozs7RUF3RVksWUFBWTtFQUNaLFlBQVk7RUFDWiwwQkFBMEI7Q0FDM0I7O0FBM0VYOztFQThFWSxZQUFZO0NBQ2I7O0FBL0VYOztFQWtGWSxXQUFXO0NBQ1o7O0FBbkZYOztFQXNGWSxVQUFVO0NBQ1g7O0FBdkZYO0VBOEZJLHFCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2QsV0FBVztFQUNYLFlBQVk7RUFDWix1QkFBdUI7RUFDdkIsMEJBQW9CO01BQXBCLHVCQUFvQjtVQUFwQixvQkFBb0I7RUFDcEIsa0JBQWtCO0NBQ25COztBQXBHSDtFQXVHSSxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLHFDQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFdBQVc7RUFDWCxZQUFZO0VBQ1osMERBQTBEO0VBQzFELFdBQVc7RUFDWCxrQkFBa0I7Q0F5R25COztBQXpOSDtFQW1ITSxXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLGlCQUFpQjtDQUNsQjs7QUYzSEQ7RUVLSjtJQXlITSxXQUFXO0lBQ1gsb0JBQW9CO0lBQ3BCLCtCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixhQUFhO0dBMEZoQjtDTDYvQkY7O0FLdHRDRDtFQW1JTSxXQUFXO0VBQ1gscUJBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCx5QkFBd0I7TUFBeEIsc0JBQXdCO1VBQXhCLHdCQUF3QjtFQUN4QiwwQkFBb0I7TUFBcEIsdUJBQW9CO1VBQXBCLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsbUJBQW1CO0NBOEJwQjs7QUYzS0Q7RUVLSjtJQTJJUSxjQUFjO0dBMkJqQjtDTCtqQ0o7O0FLcnVDRDtFQStJUSx3QkFBd0I7RUFDeEIsMEJBQTBCO0VBQzFCLDZCQUE2QjtFQUM3QixlQUFlO0VBQ2YsWUFBWTtFQUNaLGdCQUFnQjtDQUNqQjs7QUFySlA7RUF3SlEsbUJBQW1CO0VBQ25CLFNBQVM7RUFDVCxZQUFZO0VBQ1osYUFBYTtFQUNiLHdCQUF3QjtFQUN4QixVQUFVO0VBQ1YsK0JBQStCO0VBQy9CLGdCQUFnQjtDQU1qQjs7QUFyS1A7RUFrS1UsZUFBZTtFQUNmLGlCQUFpQjtDQUNsQjs7QUFwS1Q7RUF5S00scUJBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCwwQkFBb0I7TUFBcEIsdUJBQW9CO1VBQXBCLG9CQUFvQjtFQUNwQiw2QkFBdUI7RUFBdkIsOEJBQXVCO01BQXZCLDJCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsMEJBQTBCO0VBQzFCLHVCQUF1QjtDQVV4Qjs7QUY1TEQ7RUVLSjtJQWdMUSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLDJCQUFxQjtRQUFyQix3QkFBcUI7WUFBckIscUJBQXFCO0lBQ3JCLDZCQUF3QjtJQUF4Qiw4QkFBd0I7UUFBeEIsNEJBQXdCO1lBQXhCLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIsZUFBZTtHQUVsQjtDTDBsQ0o7O0FLanhDRDs7RUEyTE0saUJBQWlCO0NBQ2xCOztBQTVMTDtFQThMTSxzQkFBc0I7RUFDdEIsZUFBZTtDQUtoQjs7QUZ6TUQ7RUVLSjtJQWtNUSxtQkFBbUI7R0FFdEI7Q0w2bENKOztBS2p5Q0Q7RUFzTU0sWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsMEJBQTBCO0VBQzFCLHNCQUFzQjtFQUN0QixhQUFhO0VBQ2IscUNBQXFDO0NBWXRDOztBRjdORDtFRUtKO0lBK01RLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsWUFBWTtHQU9mO0VBeE5MO0lBcU5VLGlDRGhPZTtHQ2lPaEI7Q0xnbUNSOztBS3R6Q0Q7RUE2Tkksa0JBQWtCO0VBS2xCLDBCQUEwQjtFQVUxQixpQkFBaUI7Q0FDbEI7O0FBN09IO0VBb09NLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFLbEIsMEJBQTBCO0NBQzNCOztBQTNPTDtFQWdQSSxVQUFVO0VBQ1YscUJBQXFCO0VBQ3JCLGNBQWM7Q0FXZjs7QUZsUUM7RUVLSjtJQW9QTSxlQUFlO0dBU2xCO0NMeWxDRjs7QUt0MUNEO0VBdVBNLHdCQUF3QjtFQUN4QixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLG9CQUFvQjtFQUNwQixnQkFBZ0I7Q0FDakI7O0FBNVBMO0VBaVFNLHNDQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFdBQVc7RUFDWCxZQUFZO0VBQ1osMERBQTBEO0VBQzFELFVBQVU7RUFDVixrQkFBa0I7Q0FpRG5COztBQXpUTDtFQTJRUSxXQUFXO0VBQ1gsb0JBQW9CO0VBQ3BCLGlCQUFpQjtDQUNsQjs7QUZuUkg7RUVLSjtJQWlSUSxvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsYUFBYTtJQUtiLDRCQUE0QjtHQStCL0I7Q0xxa0NKOztBSzkzQ0Q7RUE4UlEsc0JBQXNCO0VBQ3RCLGVBQWU7Q0F5QmhCOztBRjdUSDtFRUtKO0lBaVNVLHNCQUFzQjtJQUN0Qix5QkFBeUI7R0FzQjVCO0NMa2xDTjs7QUsxNENEO0VBc1NVLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtFQUMxQixzQkFBc0I7RUFDdEIsYUFBYTtFQUNiLHFDQUFxQztDQVd0Qzs7QUY1VEw7RUVLSjtJQThTWSxrQkFBa0I7SUFDbEIsZURuVEk7SUNvVEosaUJBQWlCO0dBT3BCO0VBdlRUO0lBb1RjLGlDRC9UVztHQ2dVWjtDTDBtQ1o7O0FLLzVDRDtFQTJUTSxpQkFBaUI7Q0FDbEI7O0FBNVRMO0VBOFRNLFlBQVk7RUFDWixpQkFBaUI7Q0FDbEI7O0FBaFVMO0VBa1VNLGlCQUFpQjtDQUtsQjs7QUF2VUw7RUFvVVEsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjs7QUF0VVA7RUE0VU0sZ0JBQWdCO0VBQ2hCLG1CQUFtQjtDQUlwQjs7QUZ0VkQ7RUVLSjtJQStVUSxnQkFBZ0I7R0FFbkI7Q0wybUNKOztBSzU3Q0Q7RUFvVk0sY0FBYztDQUNmOztBQUtMO0VBRUksc0JBQXNCO0NBQ3ZCOztBQ3hXSDtFQU1RLFlBQVk7RUFDWixXQUFXO0VBQ1gsK0JBQWdCO0NBOEJqQjs7QUF0Q1A7RUFVVSwwQkFBMEI7RUFDMUIsd0JBQXdCO0VBQ3hCLHNCQUFTO0VBQ1QsWUFBWTtFQUNaLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osbUJBQW1CO0NBSXBCOztBQXBCVDtFQWtCWSxtQkFBbUI7Q0FDcEI7O0FBbkJYO0VBc0JVLGNBQWM7RUFDZCwwQkFBK0I7TUFBL0IsdUJBQStCO1VBQS9CLCtCQUErQjtFQUMvQixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFlBQVk7RUFDWixZQUFZO0VBQ1osVUFBVTtFQUNWLDJCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsY0FBYztDQU9mOztBQXJDVDtFQWlDWSxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLDhCQUNEO0NBQUM7O0FBcENaO0VBd0NRLG1CQUFtQjtFQUNuQixTQUFTO0VBQ1QsV0FBVztFQUNYLDBCQUEwQjtFQUMxQixZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsV0FBVztFQUNYLHFCQUFxQjtFQUNyQixxQkFBcUI7Q0FNdEI7O0FBeERQO0VBcURVLFdBQVc7RUFDWCxTQUFTO0NBQ1Y7O0FBdkRUO0VBNkRVLGlCQUFpQjtDQUNsQjs7QUE5RFQ7RUFpRVUsaUJBQWlCO0NBQ2xCOztBQWxFVDtFQXFFVSxlQUFlO0VBQ2YsOEJBQThCO0VBQzlCLHFCQUFxQjtDQUN0Qjs7QUF4RVQ7RUE0RU0sYUFBYTtDQUNkOztBQTdFTDtFQWlGSSxVQUFVO0NBQ1g7O0FBR0g7RUFFSSwwQkFBMEI7RUFDMUIsZUZ4RnFCO0VFeUZyQixpQkFBaUI7Q0FDbEI7O0FBR0g7RUFDRSxpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLG1CQUFtQjtDQVlwQjs7QUFmRDtFQU1JLFlBQVk7RUFDWixVQUFVO0VBQ1YsK0JBQWdCO0VBQ2hCLG1CQUFtQjtFQUNuQixPQUFPO0NBSVI7O0FIckdDO0VHdUZKO0lBWU0sY0FBYztHQUVqQjtDTjY4Q0Y7O0FNeDhDRDtFQUVJLGNBQWM7Q0FPZjs7QUhySEM7RUc0R0o7SUFLTSxxQkFBcUI7SUFDckIscUJBQXFCO0lBQ3JCLGNBQWM7R0FFakI7Q04yOENGOztBT3BrREQ7RUFDRSxjQUFjO0NBaWNmOztBQWxjRDtFQUdJLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsZUFBZTtDQUNoQjs7QUFOSDtFQVNJLGFBQWE7RUFDYixpQkFBaUI7RUFDakIsV0FBVztFQUNYLHFCQUFxQjtDQUN0Qjs7QUFiSDs7Ozs7O0VBcUJJLFVBQVU7RUFDVixvQkhsQmE7Q0dtQmQ7O0FBdkJIOzs7Ozs7RUErQkksVUFBVTtFQUNWLG9CQUFvQjtFQUNwQixvQkFBb0I7RUFDcEIsZUgzQlk7Q0c0QmI7O0FBbkNIOzs7Ozs7OztFQTZDSSxVQUFVO0NBQ1g7O0FBOUNIO0VBaURJLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsV0FBVztFQUNYLHVCSHBEcUI7RUdxRHJCLDBCSDlDWTtFRytDWixtQkFBbUI7Q0EwQnBCOztBQWhGSDtFQXlETSx1Qkh6RG1CO0NHMERwQjs7QUExREw7RUE2RE0sZUFBZTtFQUNmLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBQ2hCLHVCQUF1QjtFQUN2QixvQkFBb0I7RUFDcEIseUJBQXlCO0VBQ3pCLDZCQUE2QjtDQVc5Qjs7QUEvRUw7RUFzRVEsd0hBQXVIO0NBQ3hIOztBQXZFUDtFQXlFUSx5SEFBd0g7RUFDeEgsZUFBZTtDQUNoQjs7QUEzRVA7RUE2RVEsd0hBQXVIO0NBQ3hIOztBQTlFUDtFQW1GSSxZQUFZO0VBQ1osdUJBQXVCO0VBQ3ZCLGVBQWU7RUFDZixlSC9FWTtFR2dGWixnQ0FBZ0M7RUFDaEMsaUJBQWlCO0VBQ2pCLGNBQWM7Q0FDZjs7QUExRkg7RUE2RkksYUFBYTtFQUNiLGdDSDVGYztFRzZGZCxlQUFlO0VBQ2Ysa0JBQWtCO0NBbURuQjs7QUFuSkg7RUFvR00saUJBQWlCO0VBQ2pCLDBCSHJHbUI7RUdzR25CLGVIdEdtQjtFR3VHbkIsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixnQ0FBZ0M7RUFDaEMsaUJBQWlCO0VBQ2pCLDBCQUEwQjtFQUMxQixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLHNCQUFzQjtFQUN0Qix1QkFBdUI7RUFDdkIsbUJBQW1CO0NBUXBCOztBSnBIRDtFSUpKO0lBa0hRLGlCQUFpQjtHQU1wQjtDUDBrREo7O0FPbHNERDtFQXFIUSxvQkhySGlCO0VHc0hqQixlSC9HUTtDR2dIVDs7QUF2SFA7RUEySE0sbUJBQW1CO0NBdUJwQjs7QUFsSkw7RUE2SFEsYUFBYTtDQUNkOztBQTlIUDtFQWdJUSxhQUNEO0NBQUM7O0FBaklSO0VBb0lRLG9CSHBJaUI7RUdxSWpCLFlBQVk7RUFDWixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGdDQUFnQztFQUNoQyxpQkFBaUI7RUFDakIsMEJBQTBCO0VBQzFCLGdCQUFnQjtFQUNoQixtQkFBbUI7RUFDbkIsaUJBQWlCO0VBQ2pCLFVBQVU7RUFDVixpQkFBaUI7RUFDakIsa0JBQWtCO0NBQ25COztBQWpKUDtFQXNKSSxXQUFXO0VBQ1gsY0FBYztDQUlmOztBQTNKSDtFQXlKTSxlQUFlO0NBQ2hCOztBQTFKTDtFQThKSSxlQUFlO0NBK0VoQjs7QUE3T0g7RUFnS00sMEJBQTBCO0VBQzFCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGlCQUFpQjtDQUNsQjs7QUFyS0w7RUF1S00saUJBQWlCO0VBQ2pCLG1CQUFtQjtDQWdDcEI7O0FBeE1MO0VBMEtRLHNCQUFzQjtFQUN0QixtQkFBbUI7Q0FJcEI7O0FBL0tQO0VBNktVLGFBQWE7Q0FDZDs7QUE5S1Q7RUFpTFEsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixtQkFBbUI7Q0FZcEI7O0FBL0xQO0VBc0xVLG1CQUFtQjtFQUNuQixtQkFBbUI7Q0FPcEI7O0FBOUxUO0VBeUxZLGFBQVM7RUFDVCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLFFBQVE7Q0FDVDs7QUE3TFg7RUFrTVEsMEJBQTBCO0VBQzFCLGlCQUFpQjtFQUNqQixpQkFBaUI7RUFDakIsZUhyTWlCO0VHc01qQixhQUFhO0NBQ2Q7O0FBdk1QO0VBMk1RLGlCQUFpQjtFQUNqQixtQkFBbUI7Q0FtQnBCOztBQS9OUDtFQStNWSxpQkFBaUI7Q0FDbEI7O0FBaE5YO0VBa05ZLGFBQWE7Q0FDZDs7QUFuTlg7RUFxTlksZUhyTmE7RUdzTmIsaUJBQWlCO0VBQ2pCLDBCQUEwQjtFQUMxQixpQkFBaUI7RUFDakIsZ0JBQWdCO0NBSWpCOztBQTdOWDtFQTJOYyxpQkFBaUI7Q0FDbEI7O0FBNU5iO0VBa09NLGNBQWM7Q0FJZjs7QUF0T0w7RUFvT1EsZUFBZTtDQUNoQjs7QUFyT1A7RUF3T00sYUFBYTtFQUNiLGlCQUFpQjtFQUNqQixlSDFPbUI7RUcyT25CLDJCQUEyQjtDQUM1Qjs7QUE1T0w7RUFpUEksV0FBVztFQUNYLGVBQWU7RUFDZixnQ0FBZ0M7Q0FpRWpDOztBQXBUSDtFQXFQTSxlQUFlO0NBQ2hCOztBQXRQTDtFQXdQTSxpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGlDSHpQWTtFRzBQWixlQUFlO0NBd0RoQjs7QUFuVEw7RUE2UFEsWUFBWTtDQUtiOztBQWxRUDtFQStQVSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCOztBQWpRVDtFQW9RUSxlQUFlO0VBQ2YsaUJBQWlCO0NBQ2xCOztBQXRRUDtFQXdRUSxrQkFBa0I7Q0FDbkI7O0FBelFQO0VBMlFRLFlBQVk7RUFDWiwwQkgzUVU7Q0c0UVg7O0FBN1FQO0VBK1FRLGVIL1FpQjtFR2dSakIsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsc0JBQXNCO0VBQ3RCLGdCQUFnQjtDQUNqQjs7QUFyUlA7RUF1UlEscUJBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCx5QkFBd0I7TUFBeEIsc0JBQXdCO1VBQXhCLHdCQUF3QjtDQTBCekI7O0FBbFRQO0VBMFJVLGtCQUFrQjtDQUNuQjs7QUEzUlQ7RUE2UlUscUJBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxnQkFBZ0I7Q0FtQmpCOztBQWpUVDtFQWlTWSxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLDBCSDlSTTtFRytSTixlSHBTYTtFR3FTYixpQkFBaUI7RUFDakIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQixZQUFZO0NBQ2I7O0FBelNYO0VBMlNZLFlBQVk7RUFDWiwwQkh2U007RUd3U04sZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixtQkFBbUI7Q0FDcEI7O0FBaFRYO0VBdVRJLFdBQVc7Q0EyRVo7O0FBbFlIO0VBeVRNLGNBQWM7Q0FDZjs7QUExVEw7RUE2VE0sbUJBQW1CO0NBQ3BCOztBQTlUTDtFQWdVTSxtQkFBbUI7Q0E2RHBCOztBQTdYTDtFQWtVUSxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLFNBQVM7RUFDVCxlSGxVVTtDR21VWDs7QUF0VVA7Ozs7O0VBNFVRLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsMEJINVVVO0VHNlVWLDJCQUEyQjtFQUMzQix1QkFBdUI7RUFDdkIsWUFBWTtDQStCYjs7QUFoWFA7Ozs7Ozs7OztFQW9WVSxpQkFBaUI7Q0FXbEI7O0FBL1ZUOzs7Ozs7Ozs7RUFzVlksd0NBQXdDO0VBQ3hDLGdDQUFnQztFQUNoQyw2REFBNkQ7RUFDN0QsK0RBQXVEO0VBQ3ZELHVEQUErQztFQUMvQyxPQUFPO0VBQ1AsaUJBQWlCO0VBQ2pCLGVBQWU7Q0FDaEI7O0FBOVZYOzs7OztFQWlXVSxjQUFjO0VBQ2Qsc0JINVZTO0NHNlZWOztBQW5XVDs7Ozs7RUFxV1UsV0FBVztFQUNYLHdDQUF3QztFQUN4QyxnQ0FBZ0M7RUFDaEMsNkRBQTZEO0VBQzdELCtEQUF1RDtFQUN2RCx1REFBK0M7RUFDL0MsVUFBVTtFQUNWLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsaUJBQWlCO0NBQ2xCOztBQS9XVDtFQWtYUSxnQkFBZ0I7Q0FDakI7O0FBblhQO0VBcVhRLFlBQVk7RUFDWixZQUFZO0VBQ1osMEJIclhVO0VHc1hWLGVBQWU7RUFDZixnQkFBZ0I7RUFFaEIsZUh4WFU7Q0d5WFg7O0FBNVhQO0VBK1hNLG1CQUFtQjtFQUNuQixnQkFBZ0I7Q0FDakI7O0FBallMO0VBcVlJLFdBQVc7RUFDWCxnQ0FBZ0M7Q0EyRGpDOztBQWpjSDtFQTBZUSxlSDFZaUI7RUcyWWpCLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsZ0JBQWdCO0NBQ2pCOztBQTlZUDtFQWtaVSxxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLGVIL1lRO0NHZ1pUOztBQXJaVDtFQXdaUSxzQkFBc0I7Q0FDdkI7O0FBelpQO0VBNlpRLGdCQUFnQjtDQUNqQjs7QUE5WlA7RUFnYVEsZ0JBQWdCO0NBS2pCOztBQXJhUDtFQWthVSxXQUFXO0VBQ1gsc0JBQXNCO0NBQ3ZCOztBQXBhVDtFQXVhUSxnQ0FBZ0M7RUFDaEMsYUFBYTtFQUNiLDBCQUEwQjtFQUMxQixZQUFZO0VBQ1osb0JIdmFTO0VHd2FULGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtDQUNqQjs7QUFoYlA7RUFrYlEsb0JIbGJpQjtDR21ibEI7O0FBbmJQO0VBc2JNLG1CQUFtQjtFQUNuQiwwQkhyYlk7RUdzYlosZUFBZTtFQUNmLHVCQUF1QjtFQUN2QixXQUFXO0VBQ1gsa0JBQWtCO0NBS25COztBQWhjTDtFQTZiUSxjQUFjO0VBQ2Qsc0JIeGJXO0NHeWJaOztBQU9QO0VBQ0U7SUFFSSxhQUFhO0lBQ2IsaUNBQWlDO0lBQ2pDLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsa0JBQWtCO0dBUW5CO0VBZEg7SUFTTSxtQkFBbUI7R0FJcEI7RUFiTDtJQVdRLFlBQVk7R0FDYjtFQVpQO0lBa0JNLGVBQWU7SUFDZix1QkFBdUI7R0FDeEI7RUFwQkw7SUF5Qk0sYUFBYTtHQUNkO0NQZ29ETjs7QVFqbUVELHVCQUF1QjtBQUV2QjtFQUNFLGtCQUFrQjtDQUNuQjs7QUFNRDs7Ozs7Ozs7Ozs7Ozs7SUFjSTtBQUVKO0VBS1UsY0FBYztFQUNkLDBCQUErQjtNQUEvQix1QkFBK0I7VUFBL0IsK0JBQStCO0VBQy9CLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osWUFBWTtFQUNaLFlBQVk7RUFDWixVQUFVO0VBQ1YsMkJBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixjQUFjO0NBT2Y7O0FBcEJUO0VBZ0JZLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsOEJBQ0Q7Q0FBQzs7QUFPWjtFQUNFLDBCQUEwQjtFQUMxQix3QkFBd0I7RUFDeEIsc0JBQVM7RUFDVCxZQUFZO0VBQ1osbUJBQW1CO0VBQ25CLFlBQVk7RUFDWixtQkFBbUI7Q0FJcEI7O0FBWEQ7RUFTSSxtQkFBbUI7Q0FDcEI7O0FBSUg7RUFFSSxxQkFBcUI7RUFDckIscUJBQXFCO0VBQ3JCLGNBQWM7Q0FDZjs7QUN2RUg7RUFJTSxhQUFhO0VBQ2IsMEJBQTBCO0VBQzFCLHVCQUF1QjtDQVN4Qjs7QUFmTDtFQVNRLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsMEJMWGlCO0VLWWpCLGtCQUFrQjtFQUNsQixZQUFZO0NBQ2I7O0FBZFA7RUFpQk0sOEJBQThCO0NBQy9COztBQUlMO0VBQ0UsZ0JBQWdCO0VBQ2hCLGNBQWM7Q0F1QmY7O0FBekJEO0VBSUksVUFBVTtFQUNWLFVBQVU7RUFDVixjQUFjO0VBQ2QsMEJMN0JxQjtFSzhCckIsZ0JBQWdCO0VBQ2hCLDBCQUEwQjtFQUMxQixlTGhDcUI7RUtpQ3JCLGVBQWU7RUFDZixxQkFBcUI7RUFDckIsZ0JBQWdCO0VBQ2hCLFlBQVk7Q0FVYjs7QU4xQ0M7RU1rQko7SUFpQk0sWUFBWTtHQU9mO0NUd3BFRjs7QVNockVEO0VBcUJNLG9CTDNDbUI7RUs0Q25CLFlBQVk7Q0FDYjs7QUFJTDtFQUNFLGVBQWU7Q0FDaEI7O0FBRUQ7O0VBR0ksY0FBYztDQUNmOztBQUdIO0VBQ0UsZUw3RHVCO0VLOER2QixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsMEJMckV1QjtFS3NFdkIsWUFBWTtDQUNiOztBQUVEO0VBQ0UsWUFBWTtFQUNaLDBCQUEwQjtFQUMxQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLGlCQUFpQjtFQUNqQixnQkFBZ0I7RUFDaEIsZ0JBQWdCO0VBQ2hCLDBCQUFrQjtLQUFsQix1QkFBa0I7TUFBbEIsc0JBQWtCO1VBQWxCLGtCQUFrQjtFQUNsQixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLDBCQUEwQjtFQUMxQixlQUFlO0NBQ2hCOztBQ3RGRDtFQUVJLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osbUJBQW1CO0NBSXBCOztBQVJIO0VBTU0sZU5ObUI7Q01PcEI7O0FBUEw7RUFXSSxvQkFBb0I7RUFDcEIsaUJBQWlCO0VBQ2pCLGlCQUFpQjtDQVFsQjs7QUFyQkg7RUFlTSxpQkFBaUI7RUFDakIsaUJBQWlCO0NBQ2xCOztBQWpCTDtFQW1CTSxlTm5CbUI7Q01vQnBCOztBQ3BCTCxpQkFBaUI7QUFFakI7RUFDRTtJQUNFLG1DQUFrQztJQUNsQyw0QkFBNEI7R0FDN0I7RUFDRDtJQUdNLGNBQWM7R0FDZjtDWHl3RU47O0FXbHdFRDtFQUVFO0lBQ0UsWUFBWTtHQVdiO0VBWkQ7SUFJTSxpQkFBaUI7SUFDakIsZUFBZTtHQUNoQjtFQU5MO0lBUU0saUJBQWlCO0lBQ2pCLGVBQWU7R0FDaEI7RUFJTDtJQUNFLFlBQVk7R0FDYjtDWGl3RUYiLCJmaWxlIjoiZGV2LXN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uaGFtYnVyZ2VyOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43O1xufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5cbi5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAtMTBweDtcbn1cblxuLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IC0xMHB4O1xufVxuXG4vKlxuICAgKiAzRFhcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogODBweDtcbn1cblxuLmhhbWJ1cmdlci0tM2R4IC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG59XG5cbi5oYW1idXJnZXItLTNkeC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5oYW1idXJnZXItLTNkeC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLypcbiAgICogM0RYIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHgtciAuaGFtYnVyZ2VyLWJveCB7XG4gIHBlcnNwZWN0aXZlOiA4MHB4O1xufVxuXG4uaGFtYnVyZ2VyLS0zZHgtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS0zZHgtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLypcbiAgICogM0RZXG4gICAqL1xuLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDgwcHg7XG59XG5cbi5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4vKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLTNkeS1yIC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDgwcHg7XG59XG5cbi5oYW1idXJnZXItLTNkeS1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHktciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLTNkeS1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHktci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R5LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R5LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKC00NWRlZyk7XG59XG5cbi8qXG4gICAqIDNEWFlcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHh5IC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDgwcHg7XG59XG5cbi5oYW1idXJnZXItLTNkeHkgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG59XG5cbi5oYW1idXJnZXItLTNkeHkgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS0zZHh5IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHh5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMTgwZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R4eS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHh5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4vKlxuICAgKiAzRFhZIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogODBweDtcbn1cblxuLmhhbWJ1cmdlci0tM2R4eS1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG59XG5cbi5oYW1idXJnZXItLTNkeHktci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDE4MGRlZykgcm90YXRlWigtMTgwZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tM2R4eS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5oYW1idXJnZXItLTNkeHktci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLypcbiAgICogQXJyb3dcbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbn1cblxuLypcbiAgICogQXJyb3cgUmlnaHRcbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xufVxuXG4vKlxuICAgKiBBcnJvdyBBbHRcbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdCAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG59XG5cbi5oYW1idXJnZXItLWFycm93YWx0IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xufVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xufVxuXG4vKlxuICAgKiBBcnJvdyBBbHQgUmlnaHRcbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgLTEwcHgsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbn1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAxMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xufVxuXG4vKlxuICogQXJyb3cgVHVyblxuICovXG4uaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tYXJyb3d0dXJuLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG59XG5cbi8qXG4gKiBBcnJvdyBUdXJuIFJpZ2h0XG4gKi9cbi5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG59XG5cbi5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG59XG5cbi5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xufVxuXG4vKlxuICAgKiBCb3JpbmdcbiAgICovXG4uaGFtYnVyZ2VyLS1ib3JpbmcgLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci0tYm9yaW5nIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tYm9yaW5nIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbm9uZTtcbn1cblxuLmhhbWJ1cmdlci0tYm9yaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uaGFtYnVyZ2VyLS1ib3JpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhhbWJ1cmdlci0tYm9yaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xufVxuXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRvcDogLTIwcHg7XG4gIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCBvcGFjaXR5IDAuMXMgbGluZWFyO1xufVxuXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbn1cblxuLmhhbWJ1cmdlci0tY29sbGFwc2UuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tY29sbGFwc2UuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7XG59XG5cbi5oYW1idXJnZXItLWNvbGxhcHNlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTZzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4vKlxuICAgKiBDb2xsYXBzZSBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tY29sbGFwc2UtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xufVxuXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZS1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAtMjBweDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG59XG5cbi5oYW1idXJnZXItLWNvbGxhcHNlLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG59XG5cbi5oYW1idXJnZXItLWNvbGxhcHNlLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xufVxuXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xM3MgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi8qXG4gICAqIEVsYXN0aWNcbiAgICovXG4uaGFtYnVyZ2VyLS1lbGFzdGljIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDJweDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG59XG5cbi5oYW1idXJnZXItLWVsYXN0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTtcbn1cblxuLmhhbWJ1cmdlci0tZWxhc3RpYyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRvcDogMjBweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcbn1cblxuLmhhbWJ1cmdlci0tZWxhc3RpYy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDEzNWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbn1cblxuLmhhbWJ1cmdlci0tZWxhc3RpYy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oYW1idXJnZXItLWVsYXN0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgcm90YXRlKC0yNzBkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA3NXM7XG59XG5cbi8qXG4gICAqIEVsYXN0aWMgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLWVsYXN0aWMtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiAycHg7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjc1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xufVxuXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAxMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTtcbn1cblxuLmhhbWJ1cmdlci0tZWxhc3RpYy1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xufVxuXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzO1xufVxuXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgcm90YXRlKDI3MGRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1cztcbn1cblxuLypcbiAgICogRW1waGF0aWNcbiAgICovXG4uaGFtYnVyZ2VyLS1lbXBoYXRpYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oYW1idXJnZXItLWVtcGhhdGljIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbn1cblxuLmhhbWJ1cmdlci0tZW1waGF0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCBsZWZ0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbn1cblxuLmhhbWJ1cmdlci0tZW1waGF0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbn1cblxuLmhhbWJ1cmdlci0tZW1waGF0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmhhbWJ1cmdlci0tZW1waGF0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IC04MHB4O1xuICB0b3A6IC04MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDgwcHgsIDgwcHgsIDApIHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4xMjVzIGVhc2Utb3V0LCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7XG59XG5cbi5oYW1idXJnZXItLWVtcGhhdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHJpZ2h0OiAtODBweDtcbiAgdG9wOiAtODBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtODBweCwgODBweCwgMCkgcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xufVxuXG4vKlxuICAgKiBFbXBoYXRpYyBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oYW1idXJnZXItLWVtcGhhdGljLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xMjVzIDAuMTc1cyBlYXNlLWluO1xufVxuXG4uaGFtYnVyZ2VyLS1lbXBoYXRpYy1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgbGVmdCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47XG59XG5cbi5oYW1idXJnZXItLWVtcGhhdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHJpZ2h0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjtcbn1cblxuLmhhbWJ1cmdlci0tZW1waGF0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaGFtYnVyZ2VyLS1lbXBoYXRpYy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICBsZWZ0OiAtODBweDtcbiAgdG9wOiA4MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDgwcHgsIC04MHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tZW1waGF0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICByaWdodDogLTgwcHg7XG4gIHRvcDogODBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtODBweCwgLTgwcHgsIDApIHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuMTI1cyBlYXNlLW91dCwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIHRyYW5zZm9ybSAwLjEyNXMgMC4xNzVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xufVxuXG4vKlxuICAgKiBNaW51c1xuICAgKi9cbi5oYW1idXJnZXItLW1pbnVzIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tbWludXMgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4wOHMgMHMgZWFzZS1vdXQsIHRvcCAwLjA4cyAwcyBlYXNlLW91dCwgb3BhY2l0eSAwcyBsaW5lYXI7XG59XG5cbi5oYW1idXJnZXItLW1pbnVzLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLW1pbnVzLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyBlYXNlLW91dCwgdG9wIDAuMDhzIGVhc2Utb3V0LCBvcGFjaXR5IDBzIDAuMDhzIGxpbmVhcjtcbn1cblxuLmhhbWJ1cmdlci0tbWludXMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbn1cblxuLmhhbWJ1cmdlci0tbWludXMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xufVxuXG4vKlxuICAgKiBTbGlkZXJcbiAgICovXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMnB4O1xufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAxMHB4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAyMHB4O1xufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUzZCgtNS43MTQyOXB4LCAtNnB4LCAwKTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4vKlxuICAgKiBTbGlkZXIgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDJweDtcbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAxMHB4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0b3A6IDIwcHg7XG59XG5cbi5oYW1idXJnZXItLXNsaWRlci1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1LjcxNDI5cHgsIC02cHgsIDApO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXItci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSByb3RhdGUoOTBkZWcpO1xufVxuXG4vKlxuICAgKiBTcGluXG4gICAqL1xuLmhhbWJ1cmdlci0tc3BpbiAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbn1cblxuLmhhbWJ1cmdlci0tc3BpbiAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLCBvcGFjaXR5IDAuMXMgZWFzZS1pbjtcbn1cblxuLmhhbWJ1cmdlci0tc3BpbiAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbn1cblxuLmhhbWJ1cmdlci0tc3Bpbi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5oYW1idXJnZXItLXNwaW4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbn1cblxuLmhhbWJ1cmdlci0tc3Bpbi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi8qXG4gICAqIFNwaW4gUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXNwaW4tciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbn1cblxuLmhhbWJ1cmdlci0tc3Bpbi1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMjVzIGVhc2UtaW4sIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xufVxuXG4uaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjI1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG59XG5cbi5oYW1idXJnZXItLXNwaW4tci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcGluLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDtcbn1cblxuLmhhbWJ1cmdlci0tc3Bpbi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4vKlxuICAgKiBTcHJpbmdcbiAgICovXG4uaGFtYnVyZ2VyLS1zcHJpbmcgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMnB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTNzIGxpbmVhcjtcbn1cblxuLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMTBweDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbn1cblxuLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAyMHB4O1xuICB0cmFuc2l0aW9uOiB0b3AgMC4ycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcHJpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5oYW1idXJnZXItLXNwcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcHJpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLypcbiAgICogU3ByaW5nIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1zcHJpbmctciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcHJpbmctciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRvcDogLTIwcHg7XG4gIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCBvcGFjaXR5IDBzIGxpbmVhcjtcbn1cblxuLmhhbWJ1cmdlci0tc3ByaW5nLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbn1cblxuLmhhbWJ1cmdlci0tc3ByaW5nLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tc3ByaW5nLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIG9wYWNpdHkgMHMgMC4yMnMgbGluZWFyO1xufVxuXG4uaGFtYnVyZ2VyLS1zcHJpbmctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4vKlxuICAgKiBTdGFuZFxuICAgKi9cbi5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7XG59XG5cbi5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG59XG5cbi5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjA3NXMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbn1cblxuLmhhbWJ1cmdlci0tc3RhbmQuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcbn1cblxuLmhhbWJ1cmdlci0tc3RhbmQuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1zdGFuZC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4vKlxuICAgKiBTdGFuZCBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tc3RhbmQtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjA3NXMgbGluZWFyO1xufVxuXG4uaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4wNzVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG59XG5cbi5oYW1idXJnZXItLXN0YW5kLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xufVxuXG4uaGFtYnVyZ2VyLS1zdGFuZC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xNXMgbGluZWFyO1xufVxuXG4uaGFtYnVyZ2VyLS1zdGFuZC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMDc1cyAwLjE1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cblxuLmhhbWJ1cmdlci0tc3RhbmQtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4vKlxuICAgKiBTcXVlZXplXG4gICAqL1xuLmhhbWJ1cmdlci0tc3F1ZWV6ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wNzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG59XG5cbi5oYW1idXJnZXItLXNxdWVlemUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjEycyBlYXNlLCBvcGFjaXR5IDAuMDc1cyBlYXNlO1xufVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjEycyBlYXNlLCB0cmFuc2Zvcm0gMC4wNzVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHRvcCAwLjA3NXMgZWFzZSwgb3BhY2l0eSAwLjA3NXMgMC4xMnMgZWFzZTtcbn1cblxuLmhhbWJ1cmdlci0tc3F1ZWV6ZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgZWFzZSwgdHJhbnNmb3JtIDAuMDc1cyAwLjEycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbn1cblxuLypcbiAgICogVm9ydGV4XG4gICAqL1xuLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbn1cblxuLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG59XG5cbi5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDc2NWRlZyk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG5cbi5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG5cbi5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi8qXG4gICAqIFZvcnRleCBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG5cbi5oYW1idXJnZXItLXZvcnRleC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5O1xufVxuXG4uaGFtYnVyZ2VyLS12b3J0ZXgtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtO1xufVxuXG4uaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC03NjVkZWcpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuXG4uaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuLmhhbWJ1cmdlci0tdm9ydGV4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhhbWJ1cmdlci0tdm9ydGV4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLm5vLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLypIaWRpbmcgc3Bpbm5lcnMgb24gaW5wdXQgdHlwZSBudW1iZXIqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4vKiBDaGFuZ2UgQXV0b2NvbXBsZXRlIHN0eWxlcyBpbiBDaHJvbWUqL1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwcztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG5odG1sIGJvZHkge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG59XG5cbmh0bWwgYm9keSBzZWN0aW9uLmhlYWRlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDE1O1xufVxuXG5odG1sIGJvZHkgc2VjdGlvbi5oZWFkZXIuc3RpY2sge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICBodG1sIGJvZHkgc2VjdGlvbi5wYWdlIHNwYW4ge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG59XG5cbmh0bWwgYm9keS5zdGljayB7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xufVxuXG5odG1sIGJvZHkgc2VjdGlvbi5nYWxsZXJ5IC53cmFwcGVyLWdhbGxlcnkge1xuICB6LWluZGV4OiA1MDtcbn1cblxuLnByaW1hcnktYnRuLFxuLnNlY29uZGFyeS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWUzZTI0O1xuICBwYWRkaW5nOiAxZW07XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnByaW1hcnktYnRuIHtcbiAgYmFja2dyb3VuZDogI2VlM2UyNDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5zZWNvbmRhcnktYnRuIHtcbiAgY29sb3I6ICNlZTNlMjQ7XG59XG5cbmgxLm1vYmlsZS1idXNpbmVzcy1uYW1lIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICBoMS5tb2JpbGUtYnVzaW5lc3MtbmFtZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5odG1sIGJvZHkgc2VjdGlvbi5oZWFkZXIgLmNvbnRhaW5lci1zZWFyY2ggLndyYXBwZXItdGFncyAudGFnIGFbaHJlZj1cIlwiXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmh0bWwgYm9keSBzZWN0aW9uLmhlYWRlciAubmF2LW1vYmlsZS1hY3RpdmUge1xuICB0b3A6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xufVxuXG5odG1sIGJvZHkgc2VjdGlvbi5oZWFkZXIgLmNvbnRhaW5lci1zZWFyY2gge1xuICB6LWluZGV4OiAzMDtcbn1cblxuLmhlYWRlciAud3JhcHBlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA4ZW0pO1xuICBtYXJnaW4tbGVmdDogNGVtO1xufVxuXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyAuYnV0dG9uLFxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMmVtO1xuICBjb2xvcjogIzY1NjU2NTtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAyZW07XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qICYuaGFtYnVyZ2VyLWJ0biB7XG4gICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9ICovXG59XG5cbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b246Zm9jdXMsXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyAuYnV0dG9uLmNhcnQtYnRuLFxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgYnV0dG9uLmNhcnQtYnRuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHA6Ly9raXRzdW5lLWNvbnRlbnQtY2RuLnMzLmFtYXpvbmF3cy5jb20vVGhlbWVBc3NldHMvNTdjM2MxYTY1ZDY0MzcwZDdjZjRlYjE3L2ltYWdlcy9jYXJ0X2dyZXkuc3ZnKTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgLmJ1dHRvbi5jYXJ0LWJ0biAuY291bnQsXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyBidXR0b24uY2FydC1idG4gLmNvdW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuN2VtO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgbWluLXdpZHRoOiAxLjJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyAuYnV0dG9uLmNhcnQtYnRuIC5jb3VudC5hY3RpdmUsXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyBidXR0b24uY2FydC1idG4gLmNvdW50LmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyAuYnV0dG9uLnNlYXJjaC1idG4sXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyBidXR0b24uc2VhcmNoLWJ0biB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwOi8va2l0c3VuZS1jb250ZW50LWNkbi5zMy5hbWF6b25hd3MuY29tL1RoZW1lQXNzZXRzLzU3YzNjMWE2NWQ2NDM3MGQ3Y2Y0ZWIxNy9pbWFnZXMvc2VhcmNoLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMS42ZW07XG59XG5cbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b24uaGFtYnVyZ2VyLFxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgYnV0dG9uLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b24uaGFtYnVyZ2VyLFxuICAuaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyBidXR0b24uaGFtYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b24uaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUsXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyBidXR0b24uaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUge1xuICBwYWRkaW5nOiAycHggMDtcbn1cblxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgLmJ1dHRvbi5oYW1idXJnZXItLWNvbGxhcHNlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyAuYnV0dG9uLmhhbWJ1cmdlci0tY29sbGFwc2UuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyLFxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgYnV0dG9uLmhhbWJ1cmdlci0tY29sbGFwc2UuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIGJ1dHRvbi5oYW1idXJnZXItLWNvbGxhcHNlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRvcDogMDtcbn1cblxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgLmJ1dHRvbi5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcixcbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b24uaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b24uaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyLFxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgYnV0dG9uLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyLFxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgYnV0dG9uLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyBidXR0b24uaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIHdpZHRoOiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzODM4O1xufVxuXG4uaGVhZGVyIC53cmFwcGVyIC5oZWFkZXItYWN0aW9ucyAuYnV0dG9uLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyLFxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgYnV0dG9uLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYm90dG9tOiAycHg7XG59XG5cbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b24uaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyLFxuLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgYnV0dG9uLmhhbWJ1cmdlciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRvcDogLTE2cHg7XG59XG5cbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b24uaGFtYnVyZ2VyIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbi5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIGJ1dHRvbi5oYW1idXJnZXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAtOHB4O1xufVxuXG4uaGVhZGVyIC5uYXYtYmVsdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLmhlYWRlciAubmF2LW1haW4ge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTE7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMTAwbXMgbGluZWFyLCBvcGFjaXR5IDEwMG1zIGxpbmVhcjtcbiAgdG9wOiAxMDBweDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi5oZWFkZXIgLm5hdi1tYWluLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaGVhZGVyIC5uYXYtbWFpbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDk1cHg7XG4gICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XG4gICAgdG9wOiBpbml0aWFsO1xuICB9XG59XG5cbi5oZWFkZXIgLm5hdi1tYWluIC5uYXYtc2VhcmNoIHtcbiAgd2lkdGg6IDcwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaGVhZGVyIC5uYXYtbWFpbiAubmF2LXNlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGVhZGVyIC5uYXYtbWFpbiAubmF2LXNlYXJjaCBpbnB1dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjE2MjYyO1xuICBwYWRkaW5nOiAxMHB4IDQwcHggMTBweCAyMHB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmhlYWRlciAubmF2LW1haW4gLm5hdi1zZWFyY2ggYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogMzdweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjNjE2MjYyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5oZWFkZXIgLm5hdi1tYWluIC5uYXYtc2VhcmNoIGJ1dHRvbiAuZmEge1xuICBjb2xvcjogIzYxNjI2MjtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLmhlYWRlciAubmF2LW1haW4gdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmhlYWRlciAubmF2LW1haW4gdWwge1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICAgIGFsaWduLWl0ZW1zOiBpbml0aWFsO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBpbml0aWFsO1xuICAgIG1hcmdpbi1sZWZ0OiA0ZW0gIWltcG9ydGFudDtcbiAgICB3aWR0aDogaW5pdGlhbDtcbiAgfVxufVxuXG4uaGVhZGVyIC5uYXYtbWFpbiB1bCxcbi5oZWFkZXIgLm5hdi1tYWluIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmhlYWRlciAubmF2LW1haW4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDFlbSAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmhlYWRlciAubmF2LW1haW4gbGkge1xuICAgIHBhZGRpbmc6IDAuNWVtIDJlbTtcbiAgfVxufVxuXG4uaGVhZGVyIC5uYXYtbWFpbiBhIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMnB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaGVhZGVyIC5uYXYtbWFpbiBhIHtcbiAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICAuaGVhZGVyIC5uYXYtbWFpbiBhOmhvdmVyLCAuaGVhZGVyIC5uYXYtbWFpbiBhLmFjdGl2ZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZTNlMjQ7XG4gIH1cbn1cblxuLmhlYWRlciAubG9nbyB7XG4gIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5oZWFkZXIgLmxvZ28gaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDBweDtcbiAgbWF4LWhlaWdodDogMTAwcHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLmhlYWRlciAuYnVzaW5lc3MtbmFtZSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuNzE0ZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuaGVhZGVyIC5idXNpbmVzcy1uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uaGVhZGVyIC5idXNpbmVzcy1uYW1lIHNwYW4ge1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1heC13aWR0aDogNjB2dztcbn1cblxuLmhlYWRlci5zdGljayAubmF2LW1haW4ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAxMDBtcyBsaW5lYXIsIG9wYWNpdHkgMTAwbXMgbGluZWFyO1xuICB0b3A6IDYwcHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4uaGVhZGVyLnN0aWNrIC5uYXYtbWFpbi5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmhlYWRlci5zdGljayAubmF2LW1haW4ge1xuICAgIGJhY2tncm91bmQ6ICM2NjY2NjY7XG4gICAgcGFkZGluZy1sZWZ0OiAzLjhlbTtcbiAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICB9XG59XG5cbi5oZWFkZXIuc3RpY2sgLm5hdi1tYWluIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAxZW0gMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5oZWFkZXIuc3RpY2sgLm5hdi1tYWluIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMC4zZW0gMmVtIDAuMmVtO1xuICB9XG59XG5cbi5oZWFkZXIuc3RpY2sgLm5hdi1tYWluIGxpIGEge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAycHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5oZWFkZXIuc3RpY2sgLm5hdi1tYWluIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMC44NmVtO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgLmhlYWRlci5zdGljayAubmF2LW1haW4gbGkgYTpob3ZlciwgLmhlYWRlci5zdGljayAubmF2LW1haW4gbGkgYS5hY3RpdmUge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWUzZTI0O1xuICB9XG59XG5cbi5oZWFkZXIuc3RpY2sgLm5hdi1iZWx0IHtcbiAgbWluLWhlaWdodDogNjBweDtcbn1cblxuLmhlYWRlci5zdGljayAuYnVzaW5lc3MtbmFtZSBzcGFuIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG59XG5cbi5oZWFkZXIuc3RpY2sgLmxvZ28ge1xuICBtYXgtaGVpZ2h0OiA2MHB4O1xufVxuXG4uaGVhZGVyLnN0aWNrIC5sb2dvIGltZyB7XG4gIG1heC13aWR0aDogNjBweDtcbiAgbWF4LWhlaWdodDogNjBweDtcbn1cblxuLmhlYWRlci5uby1sb2dvIC5uYXYtbWFpbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmhlYWRlci5uby1sb2dvIC5uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5oZWFkZXIubm8tbG9nbyAubG9nbyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuY2FydC1lbmFibGVkIC5oZWFkZXIgLndyYXBwZXIgLmhlYWRlci1hY3Rpb25zIC5idXR0b24uY2FydC1idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmh0bWwgYm9keS5ob21lIHNlY3Rpb24ucHJvZHVjdHMgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXkge1xuICBoZWlnaHQ6IDc1JTtcbiAgei1pbmRleDogNTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG5odG1sIGJvZHkuaG9tZSBzZWN0aW9uLnByb2R1Y3RzIC5jb250YWluZXItcHJvZHVjdHMgLnByb2R1Y3QgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1vdmVybGF5IC5wcm9kdWN0LWRldGFpbHMge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdG9wOiBjYWxjKDUwJSAtIDIxcHgpO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5odG1sIGJvZHkuaG9tZSBzZWN0aW9uLnByb2R1Y3RzIC5jb250YWluZXItcHJvZHVjdHMgLnByb2R1Y3QgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1vdmVybGF5IC5wcm9kdWN0LWRldGFpbHMgc3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxuaHRtbCBib2R5LmhvbWUgc2VjdGlvbi5wcm9kdWN0cyAuY29udGFpbmVyLXByb2R1Y3RzIC5wcm9kdWN0IC53cmFwcGVyLXByb2R1Y3QgLnByb2R1Y3Qtb3ZlcmxheSB+IC5wcm9kdWN0LWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMjUlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiBhdXRvO1xuICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmh0bWwgYm9keS5ob21lIHNlY3Rpb24ucHJvZHVjdHMgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXkgfiAucHJvZHVjdC1hY3Rpb25zIC5idG4ge1xuICB3aWR0aDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG5odG1sIGJvZHkuaG9tZSBzZWN0aW9uLnByb2R1Y3RzIC5jb250YWluZXItcHJvZHVjdHMgLnByb2R1Y3QgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1kaXNjb3VudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyZW07XG4gIHJpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NEIxMzI7XG4gIGNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiAwLjNlbSAxZW07XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgei1pbmRleDogMjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDFzO1xufVxuXG5odG1sIGJvZHkuaG9tZSBzZWN0aW9uLnByb2R1Y3RzIC5jb250YWluZXItcHJvZHVjdHMgLnByb2R1Y3QgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1kaXNjb3VudC1zaG93IHtcbiAgb3BhY2l0eTogMTtcbiAgdG9wOiAxZW07XG59XG5cbmh0bWwgYm9keS5ob21lIHNlY3Rpb24ucHJvZHVjdHMgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LWRlc2MgLnByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG5cbmh0bWwgYm9keS5ob21lIHNlY3Rpb24ucHJvZHVjdHMgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LWRlc2MgLnByb2R1Y3QtcHJpY2Uge1xuICBmb250LXNpemU6IDEuNGVtO1xufVxuXG5odG1sIGJvZHkuaG9tZSBzZWN0aW9uLnByb2R1Y3RzIC5jb250YWluZXItcHJvZHVjdHMgLnByb2R1Y3QgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1kZXNjIC53cmFwcGVyLXByb2R1Y3QtZGVzYyAucHJvZHVjdC1wcmljZSAuZGlzY291bnRlZCB7XG4gIGNvbG9yOiAjY2FjYWNhO1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG5cbmh0bWwgYm9keS5ob21lIHNlY3Rpb24ucHJvZHVjdHMuZ2FsbGVyeSAuY29udGFpbmVyLXByb2R1Y3RzIC5wcm9kdWN0IC53cmFwcGVyLXByb2R1Y3QgLnByb2R1Y3Qtb3ZlcmxheSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuaHRtbCBib2R5LmhvbWUgc2VjdGlvbi5hYm91dC11cyAuY29weSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmhvbWUgaDIuaGVhZCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZWUzZTI0O1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuXG4jYmctaW1hZ2UtYm94IHtcbiAgbWF4LWhlaWdodDogNzB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jYmctaW1hZ2UtYm94IC5vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICNiZy1pbWFnZS1ib3ggLm92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuaHRtbCBib2R5LmNhcnQtZW5hYmxlZCBzZWN0aW9uLnByb2R1Y3RzIC5jb250YWluZXItcHJvZHVjdHMgLnByb2R1Y3Q6aG92ZXIgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1vdmVybGF5IH4gLnByb2R1Y3QtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICBodG1sIGJvZHkuY2FydC1lbmFibGVkIHNlY3Rpb24ucHJvZHVjdHMgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdDpob3ZlciAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXkgfiAucHJvZHVjdC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQge1xuICBtYXJnaW46IDNlbSAwO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0ID4gLnJvdyB7XG4gIGZsb2F0OiBub25lO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnVpLXdpZGdldC1oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC51aS1zdGF0ZS1kZWZhdWx0LFxuc2VjdGlvbi5jaGVja291dCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWRlZmF1bHQsXG5zZWN0aW9uLmNoZWNrb3V0IC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1kZWZhdWx0LFxuc2VjdGlvbi5jaGVja291dCAudWktYnV0dG9uLFxuc2VjdGlvbi5jaGVja291dCBodG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6aG92ZXIsXG5zZWN0aW9uLmNoZWNrb3V0IGh0bWwgLnVpLWJ1dHRvbi51aS1zdGF0ZS1kaXNhYmxlZDphY3RpdmUge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICNkMGQwZDA7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnVpLXN0YXRlLWFjdGl2ZSxcbnNlY3Rpb24uY2hlY2tvdXQgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1hY3RpdmUsXG5zZWN0aW9uLmNoZWNrb3V0IC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1hY3RpdmUsXG5zZWN0aW9uLmNoZWNrb3V0IGEudWktYnV0dG9uOmFjdGl2ZSxcbnNlY3Rpb24uY2hlY2tvdXQgLnVpLWJ1dHRvbjphY3RpdmUsXG5zZWN0aW9uLmNoZWNrb3V0IC51aS1idXR0b24udWktc3RhdGUtYWN0aXZlOmhvdmVyIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAjNTg1NzVjO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuc2VjdGlvbi5jaGVja291dCAudWktc3RhdGUtaG92ZXIsXG5zZWN0aW9uLmNoZWNrb3V0IC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtaG92ZXIsXG5zZWN0aW9uLmNoZWNrb3V0IC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlcixcbnNlY3Rpb24uY2hlY2tvdXQgLnVpLXN0YXRlLWZvY3VzLFxuc2VjdGlvbi5jaGVja291dCAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWZvY3VzLFxuc2VjdGlvbi5jaGVja291dCAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXMsXG5zZWN0aW9uLmNoZWNrb3V0IC51aS1idXR0b246aG92ZXIsXG5zZWN0aW9uLmNoZWNrb3V0IC51aS1idXR0b246Zm9jdXMge1xuICBib3JkZXI6IDA7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdXRsaW5lLWNvbG9yOiAjZWUzZTI0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpOmFjdGl2ZSwgc2VjdGlvbi5jaGVja291dCAudWktdGFicyAudWktdGFicy1uYXYgbGk6aG92ZXIge1xuICBvdXRsaW5lLWNvbG9yOiAjZWUzZTI0O1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC51aS10YWJzIC51aS10YWJzLW5hdiBsaSBpLmljb24ge1xuICB3aWR0aDogMS43MTRlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpIGkuaWNvbi5jYXJ0LWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cDovL2tpdHN1bmUtY29udGVudC1jZG4uczMuYW1hem9uYXdzLmNvbS9UaGVtZUFzc2V0cy81N2MzYzFhNjVkNjQzNzBkN2NmNGViMTcvaW1hZ2VzL2NhcnQuc3ZnKTtcbn1cblxuc2VjdGlvbi5jaGVja291dCAudWktdGFicyAudWktdGFicy1uYXYgbGkgaS5pY29uLnNoaXBwaW5nLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cDovL2tpdHN1bmUtY29udGVudC1jZG4uczMuYW1hem9uYXdzLmNvbS9UaGVtZUFzc2V0cy81N2MzYzFhNjVkNjQzNzBkN2NmNGViMTcvaW1hZ2VzL3RydWNrLnN2Zyk7XG4gIHdpZHRoOiAyLjcxNGVtO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC51aS10YWJzIC51aS10YWJzLW5hdiBsaSBpLmljb24ucGF5bWVudC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHA6Ly9raXRzdW5lLWNvbnRlbnQtY2RuLnMzLmFtYXpvbmF3cy5jb20vVGhlbWVBc3NldHMvNTdjM2MxYTY1ZDY0MzcwZDdjZjRlYjE3L2ltYWdlcy9jYXJkLnN2Zyk7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IC51aS10YWJzLWFuY2hvciB7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAwLjhlbSAwIDAuNGVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnByaW1hcnktY29udGVudCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0UyRTJFMjtcbiAgcGFkZGluZzogMCAyZW07XG4gIG1pbi1oZWlnaHQ6IDUzMHB4O1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wcmltYXJ5LWNvbnRlbnQgLmNoZWNrb3V0LWJ0biB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZTNlMjQ7XG4gIGNvbG9yOiAjZWUzZTI0O1xuICBwYWRkaW5nOiAxZW07XG4gIG1pbi13aWR0aDogMTVlbTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgc2VjdGlvbi5jaGVja291dCAucHJpbWFyeS1jb250ZW50IC5jaGVja291dC1idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuc2VjdGlvbi5jaGVja291dCAucHJpbWFyeS1jb250ZW50IC5jaGVja291dC1idG4ucHJpbWFyeS1idG4ge1xuICBiYWNrZ3JvdW5kOiAjZWUzZTI0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuc2VjdGlvbi5jaGVja291dCAucHJpbWFyeS1jb250ZW50IC5jaGVja291dC1idXR0b25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wcmltYXJ5LWNvbnRlbnQgLmNoZWNrb3V0LWJ1dHRvbnMgLnByaW1hcnktYnRuIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wcmltYXJ5LWNvbnRlbnQgLmNoZWNrb3V0LWJ1dHRvbnMgLmltLWNoZWNrb3V0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wcmltYXJ5LWNvbnRlbnQgLmNoZWNrb3V0LWJ1dHRvbnMgLmltLWNoZWNrb3V0LWJ0biB7XG4gIGJhY2tncm91bmQ6ICNlZTNlMjQ7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxZW07XG4gIG1pbi13aWR0aDogMTVlbTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLmVycm9yLW1zZ3Mge1xuICBjb2xvcjogcmVkO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5lcnJvci1tc2dzLmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zZWNvbmRhcnktY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMmVtO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zZWNvbmRhcnktY29udGVudCBoMyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5uZi1hc3N1cmFuY2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5uZi1hc3N1cmFuY2UtbG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zZWNvbmRhcnktY29udGVudCAubmYtYXNzdXJhbmNlLWxvZ28gaW1nIHtcbiAgd2lkdGg6IDIwMHB4O1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zZWNvbmRhcnktY29udGVudCAubmYtYXNzdXJhbmNlLWxpc3Qge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5uZi1hc3N1cmFuY2UtbGlzdCBsaSB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zZWNvbmRhcnktY29udGVudCAubmYtYXNzdXJhbmNlLWxpc3QgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCiXCI7XG4gIGNvbG9yOiAjYWFhO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5uZi1hc3N1cmFuY2UgLnJlYWQtbW9yZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZWUzZTI0O1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5vcmRlci1zdW1tYXJ5LWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5vcmRlci1zdW1tYXJ5LWxpc3QgbGkgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuc2Vjb25kYXJ5LWNvbnRlbnQgLm9yZGVyLXN1bW1hcnktbGlzdCBsaSAucHJpY2Uge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5vcmRlci1zdW1tYXJ5LWxpc3QgbGkub3JkZXItdG90YWwge1xuICBjb2xvcjogI2VlM2UyNDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zZWNvbmRhcnktY29udGVudCAub3JkZXItc3VtbWFyeS1saXN0IGxpLm9yZGVyLXRvdGFsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5zaGlwcGluZy1kZXRhaWxzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuc2Vjb25kYXJ5LWNvbnRlbnQgLnNoaXBwaW5nLWRldGFpbHMuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNlY29uZGFyeS1jb250ZW50IC5lZGl0LXNoaXBwaW5nIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nOiAwLjY3NWVtO1xuICBjb2xvcjogI2VlM2UyNDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLmNhcnQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDQwcHggMDtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuY2FydC1saXN0IHtcbiAgbWFyZ2luOiA0MHB4IDA7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLmNhcnQtaXRlbSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFRUVFO1xuICBwYWRkaW5nOiAxZW0gMDtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuY2FydC1pdGVtIC5pbWFnZS1jb250YWluZXIge1xuICBmbG9hdDogbGVmdDtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuY2FydC1pdGVtIC5pbWFnZS1jb250YWluZXItdGl0bGUge1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuY2FydC1pdGVtIC5jb3N0IHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLmNhcnQtaXRlbS1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5jYXJ0LWl0ZW0taW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0VFRUVFRTtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuY2FydC1pdGVtLWRlbGV0ZSB7XG4gIGNvbG9yOiAjZWUzZTI0O1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5jYXJ0LWl0ZW0tcXVhbnRpdHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuY2FydC1pdGVtLXF1YW50aXR5IGxhYmVsIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLmNhcnQtaXRlbS1xdWFudGl0eSAucXVhbnRpdHktZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDIuMTQzZW07XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLmNhcnQtaXRlbS1xdWFudGl0eSAucXVhbnRpdHktZmllbGQgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBjb2xvcjogI2VlM2UyNDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IDI4cHg7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLmNhcnQtaXRlbS1xdWFudGl0eSAucXVhbnRpdHktZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gIHdpZHRoOiA0MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIHtcbiAgcGFkZGluZzogMDtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmctdGl0bGUge1xuICBtYXJnaW46IDJlbSAwO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyBmb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgbGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDEuNGVtO1xuICB0b3A6IDFlbTtcbiAgY29sb3I6ICM4ODg4ODg7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCB0ZXh0YXJlYSB7XG4gIGhlaWdodDogM2VtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFMkUyRTI7XG4gIHBhZGRpbmc6IDAuNWVtIDAuOWVtIDAuNWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsIHNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLmhhcy12YWx1ZSxcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXS5oYXMtdmFsdWUsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXS5oYXMtdmFsdWUsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXS5oYXMtdmFsdWUsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCB0ZXh0YXJlYTpmb2N1cyxcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIHRleHRhcmVhLmhhcy12YWx1ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIH4gbGFiZWwsIHNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLmhhcy12YWx1ZSB+IGxhYmVsLFxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzIH4gbGFiZWwsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0uaGFzLXZhbHVlIH4gbGFiZWwsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzIH4gbGFiZWwsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGVsXCJdLmhhcy12YWx1ZSB+IGxhYmVsLFxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyB+IGxhYmVsLFxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgaW5wdXRbdHlwZT1cIm51bWJlclwiXS5oYXMtdmFsdWUgfiBsYWJlbCxcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIHRleHRhcmVhOmZvY3VzIH4gbGFiZWwsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCB0ZXh0YXJlYS5oYXMtdmFsdWUgfiBsYWJlbCB7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEzLjI1JSwgLTE1cHgsIDApIHNjYWxlKDAuNzQ1KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTMuMjUlLCAtMTVweCwgMCkgc2NhbGUoMC43NDUpO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDAuNWVtO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6ICM1NTU1NTU7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZXh0XCJdICsgbGFiZWwuZXJyb3IsXG5zZWN0aW9uLmNoZWNrb3V0IC5zaGlwcGluZyAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPVwiZW1haWxcIl0gKyBsYWJlbC5lcnJvcixcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJ0ZWxcIl0gKyBsYWJlbC5lcnJvcixcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0gKyBsYWJlbC5lcnJvcixcbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIHRleHRhcmVhICsgbGFiZWwuZXJyb3Ige1xuICBjb2xvcjogcmVkO1xuICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMy4yNSUsIC0xNXB4LCAwKSBzY2FsZSgwLjc0NSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEzLjI1JSwgLTE1cHgsIDApIHNjYWxlKDAuNzQ1KTtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IC0wLjVlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMCAwLjVlbTtcbn1cblxuc2VjdGlvbi5jaGVja291dCAuc2hpcHBpbmcgLmZvcm0tZmllbGQgdGV4dGFyZWEge1xuICBtaW4taGVpZ2h0OiA2ZW07XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5mb3JtLWZpZWxkIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0UyRTJFMjtcbiAgcGFkZGluZzogMC43ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICM4ODg4ODg7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnNoaXBwaW5nIC5jaGVja291dC1idXR0b25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnBheW1lbnQge1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wYXltZW50IC5vdHAtZm9ybSBhIHtcbiAgY29sb3I6ICNlZTNlMjQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wYXltZW50IC5vdHAtZm9ybSAucmVzZW5kLW90cCBhLmRpc2FibGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBjb2xvcjogI0NDQ0NDQztcbn1cblxuc2VjdGlvbi5jaGVja291dCAucGF5bWVudCAub3RwLWZvcm0gLmhlbHAtdGV4dCB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuc2VjdGlvbi5jaGVja291dCAucGF5bWVudCAucGF5bWVudC1vcHRpb24gLmZvcm0tZmllbGQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnNlY3Rpb24uY2hlY2tvdXQgLnBheW1lbnQgLnBheW1lbnQtb3B0aW9uIGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wYXltZW50IC5wYXltZW50LW9wdGlvbiBsYWJlbCBzcGFuIHtcbiAgd2lkdGg6IDhlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wYXltZW50IC5wYXltZW50LW9wdGlvbiBidXR0b24ge1xuICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xuICBib3JkZXI6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZDBkMGQwO1xuICBwYWRkaW5nOiAwLjhlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1pbi13aWR0aDogMTRlbTtcbn1cblxuc2VjdGlvbi5jaGVja291dCAucGF5bWVudCAucGF5bWVudC1vcHRpb24gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgfiBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjZWUzZTI0O1xufVxuXG5zZWN0aW9uLmNoZWNrb3V0IC5wYXltZW50IGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFMkUyRTI7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogOGVtO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cblxuc2VjdGlvbi5jaGVja291dCAucGF5bWVudCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjNTU1NTU1O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgc2VjdGlvbi5jaGVja291dCAucHJpbWFyeS1jb250ZW50IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmNWY1ZjU7XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gIH1cbiAgc2VjdGlvbi5jaGVja291dCAucHJpbWFyeS1jb250ZW50IC5jaGVja291dC1idXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgc2VjdGlvbi5jaGVja291dCAucHJpbWFyeS1jb250ZW50IC5jaGVja291dC1idXR0b25zIC5wcmltYXJ5LWJ0biB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbiAgc2VjdGlvbi5jaGVja291dCAub3RwLWZvcm0gLmhlbHAtdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBzZWN0aW9uLmNoZWNrb3V0IC51aS10YWJzIC51aS10YWJzLW5hdiAudWktdGFicy1hbmNob3Igc3BhbiB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG59XG5cbi8qUHJvZHVjdCBwYWdlIHN0eWxlcyovXG4ucHJvZHVjdHMgc2VjdGlvbi5wYWdlIHtcbiAgcGFkZGluZy10b3A6IDM3cHg7XG59XG5cbi8qIC5wcm9kdWN0LWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMjtcblxuICAuYnRuIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudFxuICB9XG59ICovXG5odG1sIGJvZHkucHJvZHVjdHMgc2VjdGlvbi5wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXkgfiAucHJvZHVjdC1hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDI1JTtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogYXV0bztcbiAgdHJhbnNmb3JtOiBpbml0aWFsO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5odG1sIGJvZHkucHJvZHVjdHMgc2VjdGlvbi5wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXkgfiAucHJvZHVjdC1hY3Rpb25zIC5idG4ge1xuICB3aWR0aDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG5odG1sIGJvZHkucHJvZHVjdHMgc2VjdGlvbi5wcm9kdWN0cyAud3JhcHBlci1wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXkgLnByb2R1Y3QtZGV0YWlscyB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0b3A6IGNhbGMoNTAlIC0gMjFweCk7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbmh0bWwgYm9keS5wcm9kdWN0cyBzZWN0aW9uLnByb2R1Y3RzIC53cmFwcGVyLXByb2R1Y3RzIC5wcm9kdWN0IC53cmFwcGVyLXByb2R1Y3QgLnByb2R1Y3Qtb3ZlcmxheSAucHJvZHVjdC1kZXRhaWxzIHNwYW4ge1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5cbmh0bWwgYm9keS5jYXJ0LWVuYWJsZWQgc2VjdGlvbi5wcm9kdWN0cyAucHJvZHVjdDpob3ZlciAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXkgfiAucHJvZHVjdC1hY3Rpb25zIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5odG1sIGJvZHkucHJvZHVjdC1kZXRhaWxzIHNlY3Rpb24ucHJvZHVjdC1kZXRhaWxzIC5jb250YWluZXItZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nOiAzZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmNWY1ZjU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwgYm9keS5wcm9kdWN0LWRldGFpbHMgc2VjdGlvbi5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci1kZXNjcmlwdGlvbiBkaXYuY2FydC1pdCB7XG4gIGhlaWdodDogMi41ZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlM2UyNDtcbiAgbWF4LXdpZHRoOiAxOC44ZW07XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5odG1sIGJvZHkucHJvZHVjdC1kZXRhaWxzIHNlY3Rpb24ucHJvZHVjdC1kZXRhaWxzIC5jb250YWluZXItaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMDtcbn1cblxuLnByb2R1Y3QtZGV0YWlsLWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9kdWN0LWRldGFpbC1hY3Rpb25zIGJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWUzZTI0O1xuICBwYWRkaW5nOiAwLjY1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZWUzZTI0O1xuICBtaW4td2lkdGg6IDllbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAucHJvZHVjdC1kZXRhaWwtYWN0aW9ucyBidXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi5wcm9kdWN0LWRldGFpbC1hY3Rpb25zIGJ1dHRvbi5idXktbm93IHtcbiAgYmFja2dyb3VuZDogI2VlM2UyNDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jYXJ0LWVuYWJsZWQgLnByb2R1Y3QtZGV0YWlsLWFjdGlvbnMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuaHRtbCBib2R5LmNhcnQtZW5hYmxlZC5wcm9kdWN0LWRldGFpbHMgc2VjdGlvbi5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci1kZXNjcmlwdGlvbiBkaXYuY2FydC1pdCxcbmh0bWwgYm9keS5jYXJ0LWVuYWJsZWQucHJvZHVjdC1kZXRhaWxzIHNlY3Rpb24ucHJvZHVjdC1kZXRhaWxzIC5jb250YWluZXItZGVzY3JpcHRpb24gI2J1eS1vbmxpbmUtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI3Byb2R1Y3QtZW5xdWlyeS1idXR0b24ge1xuICBjb2xvcjogI2VlM2UyNDtcbiAgbWF4LXdpZHRoOiAxOC44ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIuNWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZTNlMjQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jYnV5LW9ubGluZS1idXR0b24ge1xuICBjb2xvcjogI0ZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5M2EwMDtcbiAgd2lkdGg6IDE4LjhlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGhlaWdodDogMi41ZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlM2UyNDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vcmRlci1zdGF0dXMtbG9hZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAtMTtcbiAgcGFkZGluZzogMCAyZW0gMCAwO1xufVxuXG4ub3JkZXItc3RhdHVzLWxvYWRlciAuZXJyb3Ige1xuICBjb2xvcjogI2VlM2UyNDtcbn1cblxuLm9yZGVyLXN0YXR1cy1kZXRhaWxzIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9yZGVyLXN0YXR1cy1kZXRhaWxzIGgyIHtcbiAgZm9udC1zaXplOiAyLjRlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLm9yZGVyLXN0YXR1cy1kZXRhaWxzIGEge1xuICBjb2xvcjogI2VlM2UyNDtcbn1cblxuLypCZWxvdyBkZXNrdG9wKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkge1xuICBodG1sIGJvZHkgc2VjdGlvbiAud3JhcHBlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDRlbSkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgc2VjdGlvbi5wcm9kdWN0cyAucHJvZHVjdC1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICBodG1sIGJvZHkuaG9tZSBzZWN0aW9uLnByb2R1Y3RzIC5jb250YWluZXItcHJvZHVjdHMgLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGh0bWwgYm9keS5ob21lIHNlY3Rpb24ucHJvZHVjdHMgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LWRlc2MgLndyYXBwZXItcHJvZHVjdC1kZXNjIC5wcm9kdWN0LW5hbWUge1xuICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbiAgaHRtbCBib2R5LmhvbWUgc2VjdGlvbi5wcm9kdWN0cyAuY29udGFpbmVyLXByb2R1Y3RzIC5wcm9kdWN0IC53cmFwcGVyLXByb2R1Y3QgLnByb2R1Y3QtZGVzYyAud3JhcHBlci1wcm9kdWN0LWRlc2MgLnByb2R1Y3QtcHJpY2Uge1xuICAgIG1hcmdpbjogMC44cmVtIDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbiAgaHRtbCBib2R5LnByb2R1Y3RzIHNlY3Rpb24ucHJvZHVjdHMgLndyYXBwZXItcHJvZHVjdHMgLnByb2R1Y3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvKiFcbiAqIEhhbWJ1cmdlcnNcbiAqIEBkZXNjcmlwdGlvbiBUYXN0eSBDU1MtYW5pbWF0ZWQgaGFtYnVyZ2Vyc1xuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcbiAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zdWgvaGFtYnVyZ2Vyc1xuICovXG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5oYW1idXJnZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmhhbWJ1cmdlci1pbm5lciwgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAtMTBweDsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtMTBweDsgfVxuXG4vKlxuICAgKiAzRFhcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogODBweDsgfVxuXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tM2R4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWSgxODBkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogM0RYIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHgtciAuaGFtYnVyZ2VyLWJveCB7XG4gIHBlcnNwZWN0aXZlOiA4MHB4OyB9XG5cbi5oYW1idXJnZXItLTNkeC1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLTNkeC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogM0RZXG4gICAqL1xuLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDgwcHg7IH1cblxuLmhhbWJ1cmdlci0tM2R5IC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLTNkeS1yIC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDgwcHg7IH1cblxuLmhhbWJ1cmdlci0tM2R5LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS0zZHktciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHktci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qXG4gICAqIDNEWFlcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHh5IC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDgwcHg7IH1cblxuLmhhbWJ1cmdlci0tM2R4eSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHh5IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4eSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgxODBkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiAzRFhZIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogODBweDsgfVxuXG4uaGFtYnVyZ2VyLS0zZHh5LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4eS1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tM2R4eS1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tM2R4eS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMTgwZGVnKSByb3RhdGVaKC0xODBkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeHktci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4eS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogQXJyb3dcbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEFycm93IFJpZ2h0XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3ctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEFycm93IEFsdFxuICAgKi9cbi5oYW1idXJnZXItLWFycm93YWx0IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC04cHgsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi5oYW1idXJnZXItLWFycm93YWx0LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtOHB4LCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7IH1cblxuLypcbiAgICogQXJyb3cgQWx0IFJpZ2h0XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3dhbHQtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7IH1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoOHB4LCAtMTBweCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi5oYW1idXJnZXItLWFycm93YWx0LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMTBweCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTsgfVxuXG4vKlxuICogQXJyb3cgVHVyblxuICovXG4uaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDhweCwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuXG4vKlxuICogQXJyb3cgVHVybiBSaWdodFxuICovXG4uaGFtYnVyZ2VyLS1hcnJvd3R1cm4tci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4gIC5oYW1idXJnZXItLWFycm93dHVybi1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1hcnJvd3R1cm4tci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLThweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEJvcmluZ1xuICAgKi9cbi5oYW1idXJnZXItLWJvcmluZyAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLS1ib3JpbmcgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS1ib3JpbmcgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBub25lOyB9XG5cbi5oYW1idXJnZXItLWJvcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1ib3JpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tYm9yaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cblxuLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IC0yMHB4O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCBvcGFjaXR5IDAuMXMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tY29sbGFwc2UuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgb3BhY2l0eSAwLjFzIDAuMjJzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBDb2xsYXBzZSBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tY29sbGFwc2UtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEzcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogLTIwcHg7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIG9wYWNpdHkgMC4xcyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2UtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLWNvbGxhcHNlLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIG9wYWNpdHkgMC4xcyAwLjIycyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2Utci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTZzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi8qXG4gICAqIEVsYXN0aWNcbiAgICovXG4uaGFtYnVyZ2VyLS1lbGFzdGljIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDJweDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yNzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7IH1cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYyAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTI1cyAwLjI3NXMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuXG4uaGFtYnVyZ2VyLS1lbGFzdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoMTM1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgcm90YXRlKC0yNzBkZWcpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1czsgfVxuXG4vKlxuICAgKiBFbGFzdGljIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMnB4O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI3NXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjEyNXMgMC4yNzVzIGVhc2U7IH1cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYy1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4wNzVzOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHJvdGF0ZSgyNzBkZWcpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMDc1czsgfVxuXG4vKlxuICAgKiBFbXBoYXRpY1xuICAgKi9cbi5oYW1idXJnZXItLWVtcGhhdGljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaGFtYnVyZ2VyLS1lbXBoYXRpYyAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cyAwLjE3NXMgZWFzZS1pbjsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCBsZWZ0IDAuMTI1cyAwLjE3NXMgZWFzZS1pbjsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTI1cyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCByaWdodCAwLjEyNXMgMC4xNzVzIGVhc2UtaW47IH1cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogLTgwcHg7XG4gICAgICB0b3A6IC04MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg4MHB4LCA4MHB4LCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICByaWdodDogLTgwcHg7XG4gICAgICB0b3A6IC04MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtODBweCwgODBweCwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTsgfVxuXG4vKlxuICAgKiBFbXBoYXRpYyBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTI1cyAwLjE3NXMgZWFzZS1pbjsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xMjVzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMTI1cyBsaW5lYXIsIGxlZnQgMC4xMjVzIDAuMTc1cyBlYXNlLWluOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjEyNXMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgcmlnaHQgMC4xMjVzIDAuMTc1cyBlYXNlLWluOyB9XG4gIC5oYW1idXJnZXItLWVtcGhhdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtODBweDtcbiAgICAgIHRvcDogODBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoODBweCwgLTgwcHgsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjEyNXMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjEyNXMgbGluZWFyLCB0cmFuc2Zvcm0gMC4xMjVzIDAuMTc1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtODBweDtcbiAgICAgIHRvcDogODBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTgwcHgsIC04MHB4LCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4xMjVzIGVhc2Utb3V0LCB0b3AgMC4wNXMgMC4xMjVzIGxpbmVhciwgdHJhbnNmb3JtIDAuMTI1cyAwLjE3NXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7IH1cblxuLypcbiAgICogTWludXNcbiAgICovXG4uaGFtYnVyZ2VyLS1taW51cyAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLW1pbnVzIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDhzIDBzIGVhc2Utb3V0LCB0b3AgMC4wOHMgMHMgZWFzZS1vdXQsIG9wYWNpdHkgMHMgbGluZWFyOyB9XG5cbi5oYW1idXJnZXItLW1pbnVzLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLW1pbnVzLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjA4cyBlYXNlLW91dCwgdG9wIDAuMDhzIGVhc2Utb3V0LCBvcGFjaXR5IDBzIDAuMDhzIGxpbmVhcjsgfVxuXG4uaGFtYnVyZ2VyLS1taW51cy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdG9wOiAwOyB9XG5cbi5oYW1idXJnZXItLW1pbnVzLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKlxuICAgKiBTbGlkZXJcbiAgICovXG4uaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMnB4OyB9XG4gIC5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDIwcHg7IH1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKC01LjcxNDI5cHgsIC02cHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgcm90YXRlKC05MGRlZyk7IH1cblxuLypcbiAgICogU2xpZGVyIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1zbGlkZXItciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiAycHg7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDEwcHg7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDIwcHg7IH1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1LjcxNDI5cHgsIC02cHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSByb3RhdGUoOTBkZWcpOyB9XG5cbi8qXG4gICAqIFNwaW5cbiAgICovXG4uaGFtYnVyZ2VyLS1zcGluIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjIycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXNwaW4gLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLCBvcGFjaXR5IDAuMXMgZWFzZS1pbjsgfVxuICAuaGFtYnVyZ2VyLS1zcGluIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjI1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3Bpbi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMTJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tc3Bpbi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCwgb3BhY2l0eSAwLjFzIDAuMTJzIGVhc2Utb3V0OyB9XG4gIC5oYW1idXJnZXItLXNwaW4uaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMjJzIDAuMTJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi8qXG4gICAqIFNwaW4gUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXNwaW4tciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjI1cyBlYXNlLWluLCBvcGFjaXR5IDAuMXMgZWFzZS1pbjsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMjVzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zcGluLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsIG9wYWNpdHkgMC4xcyAwLjEycyBlYXNlLW91dDsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4yMnMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogU3ByaW5nXG4gICAqL1xuLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDJweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwcyAwLjEzcyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zcHJpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgdHJhbnNmb3JtIDAuMTNzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogU3ByaW5nIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1zcHJpbmctciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTNzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXNwcmluZy1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IC0yMHB4O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCBvcGFjaXR5IDBzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1zcHJpbmctciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3ByaW5nLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zcHJpbmctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgb3BhY2l0eSAwcyAwLjIycyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE1cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBTdGFuZFxuICAgKi9cbi5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMDc1cyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3RhbmQgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3RhbmQuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogU3RhbmQgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXN0YW5kLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4wNzVzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjA3NXMgZWFzZS1pbiwgdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIDAuMDc1cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4wNzVzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMDc1cyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3RhbmQtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4wNzVzIDAuMXMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjA3NXMgMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tc3RhbmQtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMDc1cyAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4wNzVzIDAuMTVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi8qXG4gICAqIFNxdWVlemVcbiAgICovXG4uaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjA3NXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyAwLjEycyBlYXNlLCBvcGFjaXR5IDAuMDc1cyBlYXNlOyB9XG4gIC5oYW1idXJnZXItLXNxdWVlemUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjA3NXMgMC4xMnMgZWFzZSwgdHJhbnNmb3JtIDAuMDc1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjEycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXNxdWVlemUuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMDc1cyBlYXNlLCBvcGFjaXR5IDAuMDc1cyAwLjEycyBlYXNlOyB9XG4gIC5oYW1idXJnZXItLXNxdWVlemUuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4wNzVzIGVhc2UsIHRyYW5zZm9ybSAwLjA3NXMgMC4xMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogVm9ydGV4XG4gICAqL1xuLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleCAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLXZvcnRleCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleCAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgdHJhbnNmb3JtOyB9XG5cbi5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDc2NWRlZyk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG5cbi8qXG4gICAqIFZvcnRleCBSZXZlcnNlXG4gICAqL1xuLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXgtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCBvcGFjaXR5OyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTsgfVxuXG4uaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC03NjVkZWcpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLXZvcnRleC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsgfVxuIiwiICAvL0dlbmVyaWMgc3R5bGVzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubm8tc2Nyb2xsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cbiAgLypIaWRpbmcgc3Bpbm5lcnMgb24gaW5wdXQgdHlwZSBudW1iZXIqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuICAvKiBDaGFuZ2UgQXV0b2NvbXBsZXRlIHN0eWxlcyBpbiBDaHJvbWUqL1xuXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwsXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG4gIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbiAgdGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbCxcbiAgdGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlciB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuICBzZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCxcbiAgc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG4gIHNlbGVjdDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDUwMDBzIGVhc2UtaW4tb3V0IDBzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgfSAvL1wiaHRtbCBib2R5XCJyZWR1bmRhbnQgY2xhc3NlcyB0byBiZSByZW1vdmVkIGluIGZ1dHVyZVxuICBodG1sIGJvZHkge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBzZWN0aW9uLmhlYWRlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHotaW5kZXg6IDE1O1xuXG4gICAgICAmLnN0aWNrIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBzZWN0aW9uLnBhZ2Uge1xuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvci1zaXplKHRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnN0aWNrIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIH1cbiAgICBzZWN0aW9uLmdhbGxlcnkge1xuICAgICAgLndyYXBwZXItZ2FsbGVyeSB7XG4gICAgICAgIHotaW5kZXg6IDUwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLnByaW1hcnktYnRuLFxuICAuc2Vjb25kYXJ5LWJ0biB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICBwYWRkaW5nOiAxZW07XG4gICAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cblxuICAucHJpbWFyeS1idG4ge1xuICAgIGJhY2tncm91bmQ6ICNlZTNlMjQ7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gIH1cblxuICAuc2Vjb25kYXJ5LWJ0biB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgaDEubW9iaWxlLWJ1c2luZXNzLW5hbWUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBmb3Itc2l6ZSh0YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfSAvL2VtcHR5IHNlYXJjaCB0YWcgZml4XG4gIGh0bWwgYm9keSBzZWN0aW9uLmhlYWRlciAuY29udGFpbmVyLXNlYXJjaCAud3JhcHBlci10YWdzIC50YWcgYVtocmVmPVwiXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4iLCJAbWl4aW4gZm9yLXNpemUoJHNpemUpIHtcbiAgQGlmICRzaXplID09IHBob25lLW9ubHkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIGlmICRzaXplID09IHRhYmxldC1wb3J0cmFpdC11cCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gdGFibGV0LWxhbmRzY2FwZS11cCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2UgaWYgJHNpemUgPT0gZGVza3RvcC11cCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgeyBAY29udGVudDsgfVxuICB9IEBlbHNlIGlmICRzaXplID09IGJpZy1kZXNrdG9wLXVwIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTgwMHB4KSB7IEBjb250ZW50OyB9XG4gIH1cbn1cbiIsIiAgJHByaW1hcnktY29sb3I6ICNlZTNlMjQ7XG4gICRncmV5LTE6ICNFRUVFRUU7XG4gICRncmV5LTI6ICNFMkUyRTI7XG4gICRncmV5LTM6ICM4ODg4ODg7XG4gICRncmV5LTQ6I2QwZDBkMDtcbiAgJHNpbHZlcjogI0NDQ0NDQztcbiAgJGJsYWNrLTE6ICM1NTU1NTU7XG4gICR3aGl0ZTojRkZGRkZGO1xuIiwiaHRtbCBib2R5IHNlY3Rpb24uaGVhZGVyIHtcbiAgLm5hdi1tb2JpbGUtYWN0aXZlIHtcbiAgICB0b3A6IDEwMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gIH1cbiAgLmNvbnRhaW5lci1zZWFyY2gge1xuICAgIHotaW5kZXg6IDMwO1xuICB9XG59XG5cblxuLmhlYWRlciB7XG4gIC53cmFwcGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gOGVtKTtcbiAgICBtYXJnaW4tbGVmdDogNGVtO1xuXG4gICAgLmhlYWRlci1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgLmJ1dHRvbixcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAgY29sb3I6ICM2NTY1NjU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICYuY2FydC1idG4ge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwOi8va2l0c3VuZS1jb250ZW50LWNkbi5zMy5hbWF6b25hd3MuY29tL1RoZW1lQXNzZXRzLzU3YzNjMWE2NWQ2NDM3MGQ3Y2Y0ZWIxNy9pbWFnZXMvY2FydF9ncmV5LnN2Zyk7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZWQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMC4zZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEuMmVtO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2VhcmNoLWJ0biB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGh0dHA6Ly9raXRzdW5lLWNvbnRlbnQtY2RuLnMzLmFtYXpvbmF3cy5jb20vVGhlbWVBc3NldHMvNTdjM2MxYTY1ZDY0MzcwZDdjZjRlYjE3L2ltYWdlcy9zZWFyY2guc3ZnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNmVtO1xuICAgICAgICB9XG4gICAgICAgIC8qICYuaGFtYnVyZ2VyLWJ0biB7XG4gICAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB9ICovXG4gICAgICAgICYuaGFtYnVyZ2VyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVlbTtcbiAgICAgICAgICBAaW5jbHVkZSBmb3Itc2l6ZSh0YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYtLWNvbGxhcHNlLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycHggMDtcbiAgICAgICAgICAgIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSxcbiAgICAgICAgICAgIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5oYW1idXJnZXItaW5uZXIsXG4gICAgICAgICAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLFxuICAgICAgICAgIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzgzODM4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAtMTZweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXYtYmVsdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgfVxuXG4gIC5uYXYtbWFpbiB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHotaW5kZXg6IDExO1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMTAwbXMgbGluZWFyLCBvcGFjaXR5IDEwMG1zIGxpbmVhcjtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvci1zaXplKHRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgICAgcGFkZGluZy1sZWZ0OiA5NXB4O1xuICAgICAgaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICAgIHRvcDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICAubmF2LXNlYXJjaCB7XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBmb3Itc2l6ZSh0YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM2MTYyNjI7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNDBweCAxMHB4IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICBidXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM2MTYyNjI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuZmEge1xuICAgICAgICAgIGNvbG9yOiAjNjE2MjYyO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgQGluY2x1ZGUgZm9yLXNpemUodGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBpbml0aWFsO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRlbSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCxcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxZW0gMDtcblxuICAgICAgQGluY2x1ZGUgZm9yLXNpemUodGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAyZW07XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAycHg7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGZvci1zaXplKHRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICAgICAgZm9udC1zaXplOiBpbml0aWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxvZ28ge1xuXG4gICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgfVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAuYnVzaW5lc3MtbmFtZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjcxNGVtO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgZm9yLXNpemUodGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbWF4LXdpZHRoOiA2MHZ3O1xuICAgIH1cbiAgfVxuXG4gICYuc3RpY2sge1xuICAgIC5uYXYtbWFpbiB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDEwMG1zIGxpbmVhciwgb3BhY2l0eSAxMDBtcyBsaW5lYXI7XG4gICAgICB0b3A6IDYwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmb3Itc2l6ZSh0YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM2NjY2NjY7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMy44ZW07XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjFzIGxpbmVhcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMXMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMWVtIDA7XG4gICAgICAgIEBpbmNsdWRlIGZvci1zaXplKHRhYmxldC1sYW5kc2NhcGUtdXApIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMC4zZW0gMmVtIDAuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgZm9yLXNpemUodGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg2ZW07XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubmF2LWJlbHQge1xuICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICB9XG4gICAgLmJ1c2luZXNzLW5hbWUgc3BhbiB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgfVxuICAgIC5sb2dvIHtcbiAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5uby1sb2dvIHtcbiAgICAubmF2LW1haW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgQGluY2x1ZGUgZm9yLXNpemUodGFibGV0LWxhbmRzY2FwZS11cCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ297XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cbmJvZHkuY2FydC1lbmFibGVkIHtcbiAgLmhlYWRlciAud3JhcHBlciAuaGVhZGVyLWFjdGlvbnMgLmJ1dHRvbi5jYXJ0LWJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4iLCJodG1sIGJvZHkuaG9tZSB7XG5cbiAgc2VjdGlvbi5wcm9kdWN0cyB7XG4gICAgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IHtcblxuICAgICAgLnByb2R1Y3Qtb3ZlcmxheSB7XG4gICAgICAgIGhlaWdodDogNzUlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDIxcHgpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIH4ucHJvZHVjdC1hY3Rpb25zIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm90dG9tOiAyNSU7XG4gICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcm9kdWN0LWRpc2NvdW50IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDJlbTtcbiAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc0QjEzMjtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIHBhZGRpbmc6IDAuM2VtIDFlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMXM7XG5cbiAgICAgICAgJi1zaG93IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRvcDogMWVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wcm9kdWN0LWRlc2Mge1xuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC53cmFwcGVyLXByb2R1Y3QtZGVzYyAucHJvZHVjdC1wcmljZSAuZGlzY291bnRlZCB7XG4gICAgICAgICAgY29sb3I6ICNjYWNhY2E7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5nYWxsZXJ5IC5jb250YWluZXItcHJvZHVjdHMgLnByb2R1Y3QgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1vdmVybGF5IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLmFib3V0LXVzIC5jb3B5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmhvbWUge1xuICBoMi5oZWFkIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICB9XG59XG5cbiNiZy1pbWFnZS1ib3gge1xuICBtYXgtaGVpZ2h0OiA3MHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLm92ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBAaW5jbHVkZSBmb3Itc2l6ZSh0YWJsZXQtbGFuZHNjYXBlLXVwKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cblxuaHRtbCBib2R5LmNhcnQtZW5hYmxlZCBzZWN0aW9uLnByb2R1Y3RzIHtcbiAgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdDpob3ZlciAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXl+LnByb2R1Y3QtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGZvci1zaXplKHRhYmxldC1wb3J0cmFpdC11cCkge1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG59XG4iLCJzZWN0aW9uLmNoZWNrb3V0IHtcbiAgbWFyZ2luOiAzZW0gMDtcbiAgPi5yb3cge1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgLnVpLXdpZGdldC1oZWFkZXIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAudWktc3RhdGUtZGVmYXVsdCxcbiAgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1kZWZhdWx0LFxuICAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdCxcbiAgLnVpLWJ1dHRvbixcbiAgaHRtbCAudWktYnV0dG9uLnVpLXN0YXRlLWRpc2FibGVkOmhvdmVyLFxuICBodG1sIC51aS1idXR0b24udWktc3RhdGUtZGlzYWJsZWQ6YWN0aXZlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogJGdyZXktNDtcbiAgfVxuXG4gIC51aS1zdGF0ZS1hY3RpdmUsXG4gIC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtYWN0aXZlLFxuICAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLFxuICBhLnVpLWJ1dHRvbjphY3RpdmUsXG4gIC51aS1idXR0b246YWN0aXZlLFxuICAudWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICM1ODU3NWM7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLnVpLXN0YXRlLWhvdmVyLFxuICAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLFxuICAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaG92ZXIsXG4gIC51aS1zdGF0ZS1mb2N1cyxcbiAgLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cyxcbiAgLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWZvY3VzLFxuICAudWktYnV0dG9uOmhvdmVyLFxuICAudWktYnV0dG9uOmZvY3VzIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAudWktdGFicyAudWktdGFicy1uYXYgbGkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3V0bGluZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgICBpLmljb24ge1xuXG4gICAgICB3aWR0aDogMS43MTRlbTtcbiAgICAgIGhlaWdodDogMmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgJi5jYXJ0LWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaHR0cDovL2tpdHN1bmUtY29udGVudC1jZG4uczMuYW1hem9uYXdzLmNvbS9UaGVtZUFzc2V0cy81N2MzYzFhNjVkNjQzNzBkN2NmNGViMTcvaW1hZ2VzL2NhcnQuc3ZnKTtcbiAgICAgIH1cbiAgICAgICYuc2hpcHBpbmctaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwOi8va2l0c3VuZS1jb250ZW50LWNkbi5zMy5hbWF6b25hd3MuY29tL1RoZW1lQXNzZXRzLzU3YzNjMWE2NWQ2NDM3MGQ3Y2Y0ZWIxNy9pbWFnZXMvdHJ1Y2suc3ZnKTtcbiAgICAgICAgd2lkdGg6IDIuNzE0ZW07XG4gICAgICB9XG4gICAgICAmLnBheW1lbnQtaWNvbiB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChodHRwOi8va2l0c3VuZS1jb250ZW50LWNkbi5zMy5hbWF6b25hd3MuY29tL1RoZW1lQXNzZXRzLzU3YzNjMWE2NWQ2NDM3MGQ3Y2Y0ZWIxNy9pbWFnZXMvY2FyZC5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC51aS10YWJzIC51aS10YWJzLW5hdiAudWktdGFicy1hbmNob3Ige1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDAuOGVtIDAgMC40ZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gIC5wcmltYXJ5LWNvbnRlbnQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleS0yO1xuICAgIHBhZGRpbmc6IDAgMmVtO1xuICAgIG1pbi1oZWlnaHQ6IDUzMHB4O1xuXG5cbiAgICAuY2hlY2tvdXQtYnRuIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIG1pbi13aWR0aDogMTVlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBAaW5jbHVkZSBmb3Itc2l6ZSh0YWJsZXQtcG9ydHJhaXQtdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgICYucHJpbWFyeS1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtYnV0dG9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAucHJpbWFyeS1idG4ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG4gICAgICAuaW0tY2hlY2tvdXQge1xuICAgICAgICBmbG9hdDogcmlnaHRcbiAgICAgIH1cblxuICAgICAgLmltLWNoZWNrb3V0LWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICBtaW4td2lkdGg6IDE1ZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lcnJvci1tc2dzIHtcbiAgICBjb2xvcjogcmVkO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLnNlY29uZGFyeS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDJlbTtcbiAgICBoMyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDFlbSAwO1xuICAgICAgcGFkZGluZzogMC41ZW0gMDtcbiAgICB9XG4gICAgLm5mLWFzc3VyYW5jZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgJi1sb2dvIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLWxpc3Qge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5yZWFkLW1vcmUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm9yZGVyLXN1bW1hcnkge1xuICAgICAgJi1saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICYub3JkZXItdG90YWwge1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNoaXBwaW5nLWRldGFpbHMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIC5lZGl0LXNoaXBwaW5nIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAuNjc1ZW07XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuXG4gIC5jYXJ0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogNDBweCAwO1xuICAgIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG4gICAgJi1saXN0IHtcbiAgICAgIG1hcmdpbjogNDBweCAwO1xuICAgIH1cbiAgICAmLWl0ZW0ge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyZXktMTtcbiAgICAgIHBhZGRpbmc6IDFlbSAwO1xuICAgICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAmLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29zdCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgfVxuICAgICAgJi1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgfVxuICAgICAgJi1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS0xO1xuICAgICAgfVxuICAgICAgJi1kZWxldGUge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgICAmLXF1YW50aXR5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgICAgfVxuICAgICAgICAucXVhbnRpdHktZmllbGQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgaGVpZ2h0OiAyLjE0M2VtO1xuXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2lsdmVyO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2lsdmVyO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNoaXBwaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgICYtdGl0bGUge1xuICAgICAgbWFyZ2luOiAyZW0gMDtcbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gICAgLmZvcm0tZmllbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEuNGVtO1xuICAgICAgICB0b3A6IDFlbTtcbiAgICAgICAgY29sb3I6ICRncmV5LTM7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgdGV4dGFyZWEge1xuICAgICAgICBoZWlnaHQ6IDNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS0yO1xuICAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjllbSAwLjVlbTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICYuaGFzLXZhbHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIH5sYWJlbCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMy4yNSUsIC0xNXB4LCAwKSBzY2FsZSgwLjc0NSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMy4yNSUsIC0xNXB4LCAwKSBzY2FsZSgwLjc0NSk7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgcGFkZGluZzogMC41ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2stMTtcbiAgICAgICAgfVxuICAgICAgICArbGFiZWwuZXJyb3Ige1xuICAgICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgLXdlYmtpdC10cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTMuMjUlLCAtMTVweCwgMCkgc2NhbGUoMC43NDUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEzLjI1JSwgLTE1cHgsIDApIHNjYWxlKDAuNzQ1KTtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgYm90dG9tOiAtMC41ZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuNWVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDZlbTtcbiAgICAgIH1cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDNlbTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyZXktMjtcbiAgICAgICAgcGFkZGluZzogMC43ZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBjb2xvcjogJGdyZXktMztcbiAgICAgIH1cbiAgICB9XG4gICAgLmNoZWNrb3V0LWJ1dHRvbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgIH1cbiAgfVxuXG4gIC5wYXltZW50IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG5cbiAgICAub3RwLWZvcm0ge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5yZXNlbmQtb3RwIHtcbiAgICAgICAgYS5kaXNhYmxlIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgY29sb3I6ICRzaWx2ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5oZWxwLXRleHQge1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYXltZW50LW9wdGlvbiB7XG4gICAgICAuZm9ybS1maWVsZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogOGVtO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktNDtcbiAgICAgICAgcGFkZGluZzogMC44ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtaW4td2lkdGg6IDE0ZW07XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZH5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleS0yO1xuICAgICAgcGFkZGluZzogMC41ZW07XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDhlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrLTE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy9Gb3IgcGhvbmVzIG9ubHlcbkBtZWRpYSAobWF4LXdpZHRoOiA1NTBweCkge1xuICBzZWN0aW9uLmNoZWNrb3V0IHtcbiAgICAucHJpbWFyeS1jb250ZW50IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjVmNWY1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM2VtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuXG4gICAgICAuY2hlY2tvdXQtYnV0dG9ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLnByaW1hcnktYnRuIHtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5vdHAtZm9ybSB7XG4gICAgICAuaGVscC10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnVpLXRhYnMgLnVpLXRhYnMtbmF2IC51aS10YWJzLWFuY2hvciB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLypQcm9kdWN0IHBhZ2Ugc3R5bGVzKi9cblxuLnByb2R1Y3RzIHNlY3Rpb24ucGFnZSB7XG4gIHBhZGRpbmctdG9wOiAzN3B4O1xufVxuXG5cblxuXG5cbi8qIC5wcm9kdWN0LWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMjtcblxuICAuYnRuIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudFxuICB9XG59ICovXG5cbmh0bWwgYm9keSB7XG4gICYucHJvZHVjdHMge1xuICAgIHNlY3Rpb24ucHJvZHVjdHMge1xuICAgICAgLnByb2R1Y3QgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1vdmVybGF5IHtcbiAgICAgICAgfi5wcm9kdWN0LWFjdGlvbnMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBib3R0b206IDI1JTtcbiAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5odG1sIGJvZHkucHJvZHVjdHMgc2VjdGlvbi5wcm9kdWN0cyAud3JhcHBlci1wcm9kdWN0cyAucHJvZHVjdCAud3JhcHBlci1wcm9kdWN0IC5wcm9kdWN0LW92ZXJsYXkgLnByb2R1Y3QtZGV0YWlscyB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB0b3A6IGNhbGMoNTAlIC0gMjFweCk7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHNwYW4ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgfVxufVxuXG5cbmh0bWwgYm9keS5jYXJ0LWVuYWJsZWQgc2VjdGlvbi5wcm9kdWN0cyB7XG4gIC5wcm9kdWN0OmhvdmVyIC53cmFwcGVyLXByb2R1Y3QgLnByb2R1Y3Qtb3ZlcmxheSB+LnByb2R1Y3QtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuIiwiaHRtbCBib2R5LnByb2R1Y3QtZGV0YWlscyBzZWN0aW9uLnByb2R1Y3QtZGV0YWlscyB7XG4gIC5jb250YWluZXIge1xuXG4gICAgJi1kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiAzZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjVmNWY1O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgZGl2LmNhcnQtaXQge1xuICAgICAgICBoZWlnaHQ6IDIuNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi41ZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBtYXgtd2lkdGg6IDE4LjhlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgICYtaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDA7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LWRldGFpbC1hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICBwYWRkaW5nOiAwLjY1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgbWluLXdpZHRoOiA5ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZm9yLXNpemUodGFibGV0LXBvcnRyYWl0LXVwKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAmLmJ1eS1ub3cge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLmNhcnQtZW5hYmxlZCAucHJvZHVjdC1kZXRhaWwtYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5odG1sIGJvZHkuY2FydC1lbmFibGVkLnByb2R1Y3QtZGV0YWlscyBzZWN0aW9uLnByb2R1Y3QtZGV0YWlscyAuY29udGFpbmVyLWRlc2NyaXB0aW9uIHtcbiAgZGl2LmNhcnQtaXQsXG4gICNidXktb25saW5lLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4jcHJvZHVjdC1lbnF1aXJ5LWJ1dHRvbiB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgbWF4LXdpZHRoOiAxOC44ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIuNWVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICB3aWR0aDogMTAwJTtcbn1cblxuI2J1eS1vbmxpbmUtYnV0dG9uIHtcbiAgY29sb3I6ICNGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOTNhMDA7XG4gIHdpZHRoOiAxOC44ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBoZWlnaHQ6IDIuNWVtO1xuICBsaW5lLWhlaWdodDogMi41ZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZTNlMjQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLm9yZGVyLXN0YXR1cyB7XG4gICYtbG9hZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgcGFkZGluZzogMCAyZW0gMCAwO1xuICAgIC5lcnJvcntcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLWRldGFpbHMge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi40ZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qQmVsb3cgZGVza3RvcCovXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MjBweCkge1xuICBodG1sIGJvZHkgc2VjdGlvbiAud3JhcHBlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDRlbSkgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tbGVmdDogMmVtICFpbXBvcnRhbnQ7XG4gIH0gLy9Qcm9kdWN0IGxpc3RzIHBhZ2VcbiAgc2VjdGlvbi5wcm9kdWN0cyB7XG4gICAgLnByb2R1Y3Qge1xuICAgICAgJi1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vL0FueXRoaW5nIGJlbG93IG1vYmlsZSBsYW5kc2NhcGVcbkBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuXG4gIGh0bWwgYm9keS5ob21lIHNlY3Rpb24ucHJvZHVjdHMgLmNvbnRhaW5lci1wcm9kdWN0cyAucHJvZHVjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLndyYXBwZXItcHJvZHVjdCAucHJvZHVjdC1kZXNjIC53cmFwcGVyLXByb2R1Y3QtZGVzYyB7XG4gICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgcGFkZGluZzogMCAwLjVlbTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICB9XG4gICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgIG1hcmdpbjogMC44cmVtIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGh0bWwgYm9keS5wcm9kdWN0cyBzZWN0aW9uLnByb2R1Y3RzIC53cmFwcGVyLXByb2R1Y3RzIC5wcm9kdWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIl19 */