HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/gggg.komma.nl/wwwroot/css/style.css
@charset "UTF-8";
/*  1 - SETTINGS
 *  Global variables, site-wide settings,
 *  config switches etc.
 *
 *  The order in which these Sass files
 *  are loaded is critical!
 *  So please be careful when editing
  =========================================================== */
/* =========================================================
   Organize color variables in a Sass Map.
   This way, the colors can be iterated, are more organized,
   and are more intuitive to reference.
   ========================================================= */
/**
 *	A simple function for accessing the colors from our mapping
 *	To access colors in our palette, we use a very simple custom Sass function
 *  This function is placed here, (and not in the toolbox)
 *  because we want to use it in our other setting files

	USAGE:

	.demo {
		color: palette(primary);
	}

 */
/* ========================================
   Config settings
   ======================================== */
/*
	[1]		Logo dark or light can be set in header.blade.php / footer.blade.php &
	[2] 	Set this to true when bgColor gets a dark color that contrast the body bg color
*/
/* ==========================================================
 	 Defines the typographic baseline.
   We define every size in pixels, the underlying system
   converts the respective units to the responsive REM value.
 	 ========================================================== */
/**
 * Our base font-size and line-height
 */
/**
 *	Here we assign short names for the font families
 */
/* ============================================
   Define breakpoints for given formats
   ============================================ */
/*  2 - TOOLS
 *  Site wide mixins and functions
 =========================================================== */
/* ==========================================================================
  Functions used in grid calculation
  ========================================================================== */
/**
  * Return percentage based on amount of columns
  * Use parent column size to adjust the origin
  */
/**
  * Default function for columns
  * Return as percentage
  */
/**
  * Return as viewport width
  */
/* ==========================================================================
 * Font related functions
 * ========================================================================== */
/**
 *  Mixin for setting font-size in REM through a Sass Map with all available sizes

    USAGE:

    .myClass {
        @include font-size(xl);
    }

 */
/* Media query mixin for writing Mobile First
 * ========================================== */
/* =============================================
   Toolbox functions
   ================================================ */
/**
 *  Maths helpers.
 *  Halve and double numbers, returning rounded integers.

    USAGE:

    .foo {
        padding: halve(30px);
    }

 */
/**
 *  Remove the unit of a length
 *  @param {Number} $number - Number to remove unit from
 *  @return {Number} - Unitless number
 */
/* Check if value is number */
/* Value to Em */
/* Value to Rem */
/*
 * Set vertical spacing only for mobile viewport

 USAGE:

 .example {
	 @include vspacing-s(
				'margin-top' 1
		);
  }

 */
/*
 * Set vertical spacing for viewport larger than mobile
 * In flexible units (vw) and on max viewport in a fixed amount (px)

 USAGE:

 .example {
	 @include vspacing-m-up(
				'padding-top' 0.33,
				'margin-bottom' 0.5
		);
  }

 */
/*
 * From values given return the correct v-spacing for each breakpoint
 */
/**
 *	A simple function for setting a consistent border-radius

	USAGE:

	.card {
		@include border-radius;
	}

	.card--alt {
		@include border-radius(l);
	}

 */
/**
 * Lobotomized Owl Selector mixin:
 * - Set spacing for consecutive items with margin-top on all but the first item

	USAGE:

	.box {
		@include owl-children;
	}

	.card__item {
		@include owl;
	}

 */
/*
 * Lobotomized owl selector.
 * - Gives the children of the element spacing
 * - https://alistapart.com/article/axiomatic-css-and-lobotomized-owls
 */
/**
 *  Show hyphens for every browser supporting it
 *  and will break lines in every other browser
 */
/*
 *  Restrict an element to a max-width for creating gutters on the side
 */
/** =================================================================================================
 *  The 'z-index-map' is used for managing the elements stacking order in the 'root' stacking context
 *  This way we have a overview of all the z-index values that are used across the project.
 ==================================================================================================== */
/**
    USAGE:

    @include z(z-modal);

 */
/*  3 - ELEMENTS
 *  Plain old simple HTML elements without a class (type selectors)
 =========================================================== */
/* ==========================================================================
 * Basic elements (no class selectors allowed)
 * ========================================================================== */
/**
 * Set up the html
 *
 * 1. Makes sure that some fonts are better rendered
 * 2. Set font to lining figures
 *
 * 3. Avoid the IE 10-11 `min-height` bug.
 * 4. Use `%` instead of `vh` since `vh` is buggy in older mobile Safari.
 */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "lnum";
  box-sizing: border-box;
  height: 100%;
}

body {
  font-size: 1rem;
  line-height: 1.5;
  position: relative;
  line-height: 1.5;
  font-family: "Roboto", sans-serif;
  margin: 0;
  color: #656565;
  background: #FFFFFF;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  /* 3, 4 */
}

footer {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

/**
 * [1] Make sure elements like input and textarea inherit some base properties
 *     https://www.smashingmagazine.com/2016/11/css-inheritance-cascade-global-scope-new-old-worst-best-friends/
 *
 * [2] Setting box-sizing the best way per:
 *     https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/
 */
* {
  font-family: inherit;
  line-height: inherit;
  color: inherit;
}
*, *:before, *:after {
  box-sizing: inherit;
}

/**
 * [1] Turn off text-shadow when selecting text for better readability
 */
::selection {
  background: #FF783E;
  color: #FFFFFF;
  text-shadow: none;
  /* [1] */
}

/* Remove default margin around figure
 */
figure {
  margin: 0;
}

/**
 * [1] Setting 'vertical-align' removes the whitespace that appears under 'img'
 *	   elements when they are dropped into a page as-is. Safer alternative to
 *	   using 'display: block;'.
 * [2] Remove border / especially on older browsers
 */
img, svg {
  vertical-align: middle;
  /*[1]*/
  border: none;
  /*[2]*/
  max-width: 100%;
}

/**
 *  Needed for iOS to prevent input zooming
 *  https://uxcellence.com/2014/01/15/quick-fix-increase-font-size-to-16px-to-fix-input-zoom
 */
input,
select,
textarea {
  font-size: 16px;
}

a:not([class]) {
  position: relative;
  color: #4079B8;
  text-decoration: none;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}
a:not([class])::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  background: #4079B8;
  content: "";
  opacity: 0;
  transition: height 0.3s, opacity 0.3s, transform 0.3s;
  transform: translateY(-5px);
}
a:not([class]):hover::after {
  height: 2px;
  opacity: 1;
  transform: translateY(0px);
}

h1, h2, h3, h4, h5, h6, hgroup,
ul, ol, dd,
p, figure,
pre, table, fieldset, hr {
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
  font-size: 2.5rem;
  line-height: 1;
}

h2 {
  font-size: 2rem;
  line-height: 1.25;
  font-weight: normal;
}

h3 {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: 500;
}

h4 {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: 500;
}

h5, h6 {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: bold;
}

/** =====================================================================================
 *  Lists
 ===================================================================================== */
/**
 *	Default indentation value for lists
 */
ul,
ol {
  padding: 0;
  margin: 0;
  margin-left: 1.125em;
}

dd {
  margin-left: 0;
}

/**
 *	Remove extra vertical spacing when nesting lists.
 */
li > ul,
li > ol {
  margin-bottom: 0;
}

/*  4 - Layout elements
 *  Design patterns (e.g. grids or media object)
 =========================================================== */
/*==========================================================================
 * Contain
 * ========================================================================== */
.l-contain {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .l-contain {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .l-contain {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

/*===============================================================================
 * Split layout in 2 equal columns
 *
 * Until viewport is wide enough the columns are stacked vertically
 * ============================================================================== */
.l-split {
  position: relative;
  background-color: #FFFFFF;
  height: 100%;
}
@media screen and (min-width: 840px) {
  .l-split {
    display: flex;
  }
}

/**
 * Special contain version for split.
 * Doesn't restrain content on medium viewport
 */
.l-split--contain {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .l-split--contain {
    width: 100%;
  }
}
@media screen and (min-width: 1152px) {
  .l-split--contain {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

@media screen and (min-width: 1152px) {
  .l-split__column {
    width: 50%;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .l-split__column:first-child {
    width: 62.5%;
    padding-right: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .l-split__column:first-child {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}
@media screen and (max-width: 839px) {
  .l-split__column:last-child {
    margin-top: 6vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .l-split__column:last-child {
    width: 37.5%;
  }
}
.l-split--is-reversed .l-split__column:first-child {
  order: 2;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .l-split--is-reversed .l-split__column:first-child {
    padding-left: 12.5%;
    padding-right: 0;
  }
}
@media screen and (min-width: 1152px) {
  .l-split--is-reversed .l-split__column:first-child {
    padding-left: 8.3333333333%;
  }
}

@media screen and (min-width: 840px) and (max-width: 1151px) {
  .l-split--breakout-on-m .l-split__column:first-child {
    width: 60%;
    padding-left: 10%;
    padding-right: 10%;
  }
  .l-split--breakout-on-m .l-split__column:last-child {
    width: 40%;
  }
}
/**
 * When there is only 1 column, align it to the middle and contain the width
 * Only one column is used e.g. in the tabslider when there is no image set
 */
@media screen and (min-width: 840px) {
  .l-split__column:only-child {
    margin: 0 auto;
    width: 75%;
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (min-width: 1152px) {
  .l-split__column:only-child {
    width: 50%;
    padding-left: 0 !important;
  }
}

.l-split__column--vpad {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (min-width: 840px) {
  .l-split__column--vpad {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}

@media screen and (min-width: 1152px) {
  .l-split__column--leftpad {
    padding-left: 8.3333333333%;
  }
}
/*==========================================================================
 * Restrict
 *
 * When a block shouldn't take up the whole width of the container
 * we can restrict the maximum width
 * ========================================================================== */
@media screen and (min-width: 840px) {
  .l-restrict-narrow {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    max-width: 38em;
  }
}
@media screen and (min-width: 1152px) {
  .l-restrict-narrow {
    width: 50%;
  }
}

@media screen and (min-width: 840px) {
  .l-restrict-wide {
    margin-left: auto;
    margin-right: auto;
    width: 87.5%;
  }
}
@media screen and (min-width: 1152px) {
  .l-restrict-wide {
    width: 66.6666666667%;
  }
}

/*  5 - COMPONENTS
 *  Discrete complete chunks of UI.
 *  Designed components
 =========================================================== */
/** ==========================================================================
 * Components
 * =========================================================================*/
.c-breadcrumb {
  padding-bottom: 4px;
}

.c-breadcrumb__list {
  margin: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}

.c-breadcrumb__item {
  display: flex;
  align-items: center;
}
.c-breadcrumb__item:nth-child(n+2) .c-breadcrumb__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  margin-right: 8px;
  transform: rotate(0.75turn);
  color: #1D1D1D;
}

.c-breadcrumb__link {
  color: #656565;
  text-decoration: none;
}
.c-breadcrumb__item--last .c-breadcrumb__link {
  font-weight: bold;
}

.c-button {
  border-radius: 8px;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #FFFFFF;
  background-color: #FF783E;
  background-image: linear-gradient(145deg, #FF783E 50%, #FFCE3C 125%);
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  border: none;
  padding: 16px 0;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
}
.c-button:focus {
  outline: none;
  box-shadow: 0 0 0 1px #FFFFFF, 0 0 5px 2px #FF783E;
}
.c-button:active:not(:disabled) {
  outline: none;
  box-shadow: none;
}
.c-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-button::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: calc(50% - 2px);
  left: calc(50% - 2px);
  width: 4px;
  height: 4px;
  opacity: 0;
  border-radius: 50%;
  background: #ff621e;
  pointer-events: none;
  transition-property: opacity, transform;
  transition-duration: 0.5s;
}
.c-button:hover:not(:disabled)::after {
  opacity: 1;
  transform: scale(100);
}

.c-button__text {
  position: relative;
  z-index: 2;
  padding: 0 24px;
  text-align: center;
}
.c-button--icon .c-button__text {
  padding-right: 16px;
}

.c-button__icon {
  display: none;
  position: relative;
  z-index: 2;
  top: -1px;
  margin-right: 15px;
  transition: transform 0.3s;
}
.c-button:hover:not(:disabled) .c-button__icon {
  transform: translateX(3px);
}
.c-button__icon:first-child {
  margin-right: 0;
  margin-left: 15px;
}
.c-button--icon .c-button__icon {
  display: block;
  width: 16px;
}

/* ==========================================================================
 * Default button
 * ========================================================================== */
.c-ghostbutton {
  border-radius: 8px;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  font-weight: 500;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  background: transparent;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
  border: 1px solid currentColor;
  padding: 16px 0;
  text-transform: uppercase;
  position: relative;
  cursor: pointer;
  text-decoration: none;
}
.c-ghostbutton:focus {
  outline: none;
  box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.5);
}
.c-ghostbutton:active:not(:disabled) {
  outline: none;
  box-shadow: none !important;
}
.c-ghostbutton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-ghostbutton::after {
  border-radius: 8px;
  border: 1px solid transparent;
  background: rgba(0, 0, 0, 0.07);
  background-clip: content-box;
  content: "";
  position: absolute;
  top: -1px;
  bottom: -1px;
  right: -1px;
  left: -1px;
  transform: scaleX(0);
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.5s;
}
.c-ghostbutton:hover:not(:disabled)::after {
  transform: scaleX(1);
  opacity: 1;
  transition-property: opacity, transform;
  transition-duration: 0.35s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.c-ghostbutton__text {
  position: relative;
  z-index: 2;
  padding: 0 24px;
  text-align: center;
}
.c-button--icon .c-ghostbutton__text {
  padding-right: 16px;
}

.c-ghostbutton__icon {
  display: none;
  position: relative;
  z-index: 2;
  top: -1px;
  margin-right: 15px;
  transition: transform 0.3s;
}
.c-ghostbutton:hover:not(:disabled) .c-ghostbutton__icon {
  transform: translateX(3px);
}
.c-ghostbutton--icon .c-ghostbutton__icon {
  display: block;
  width: 16px;
}
.c-ghostbutton__icon:first-child {
  margin-right: 0;
  margin-left: 15px;
}

.c-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  position: relative;
}

/*
 * Card that does some animations on hover
 */
.c-card--has-action {
  overflow: hidden;
  z-index: 0;
}
.c-card--has-action:hover, .c-card--has-action:active {
  outline: none !important;
}
.c-card--has-action::before, .c-card--has-action::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}
.c-card--has-action::before {
  background-color: rgba(0, 0, 0, 0.92);
  background: radial-gradient(rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.92) 100%);
  transform: translateX(-135%) rotate(-11deg) scale(1.3);
  transform-origin: center;
  transition-property: opacity, transform;
  transition-duration: 300ms;
  transition-delay: 100ms;
  transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action::after {
  z-index: 2;
  width: 25px;
  margin: auto;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23CDD736' d='M13.4 6.783H.762A.772.772 0 0 1 0 6c0-.432.341-.783.762-.783H13.4L9.623 1.336a.798.798 0 0 1 0-1.107.747.747 0 0 1 1.077 0l5.077 5.218a.798.798 0 0 1 0 1.106L10.7 11.771a.747.747 0 0 1-1.077 0 .798.798 0 0 1 0-1.107L13.4 6.783z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  transform: scale(1.75);
  transition-property: opacity, transform;
  transition-duration: 200ms;
}
.c-card--has-action:hover:before {
  opacity: 0.92;
  transform: rotate(-11deg) scale(1.3);
  transition-duration: 400ms;
  transition-delay: 50ms;
}
.c-card--has-action:hover:after {
  opacity: 1;
  transform: none;
  transition-duration: 400ms;
  transition-delay: 200ms;
}
.c-card--has-action:focus {
  outline-color: #000000;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-card__picture {
  width: 100%;
  flex: auto;
  display: block;
}

.c-card__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-card__label {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  position: relative;
  z-index: 3;
  overflow: hidden;
  padding: 14px 10px 15px;
  text-align: center;
  font-weight: 500;
  text-transform: uppercase;
  color: #FFFFFF;
  background-color: #000000;
  transition-property: background;
  transition-duration: 400ms;
}
.c-card--has-action:hover .c-card__label {
  color: #FFFFFF;
}
.c-card__label::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #8DC153;
  pointer-events: none;
  transform: translateY(300%) rotate(11deg) scale(1.5, 3);
  transform-origin: center;
  transition-property: opacity, transform;
  transition-duration: 300ms;
  transition-delay: 200ms;
  transition-timing-function: cubic-bezier(0.45, 0.1, 0.3, 1);
}
.c-card--has-action:hover .c-card__label::before {
  opacity: 1;
  transform: rotate(5deg) scale(2);
  transition-duration: 300ms;
  transition-delay: 0ms;
}

.c-card__info {
  padding: 16px 32px;
  background-color: #F8F8F8;
}

.c-card__heading {
  font-size: 1rem;
  line-height: 1.5;
  color: #656565;
}

.c-card__subheading {
  color: #999999;
}

.c-card__textline {
  color: #999999;
}
*:not(.c-card__textline) + .c-card__textline {
  margin-top: 16px;
}

.c-close {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
  transition: transform 180ms ease-out;
}
.c-close:focus {
  box-shadow: 0 0 3px 2px #FFFFFF;
}
.c-close:after, .c-close:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 20%;
  left: 20%;
  height: 3px;
  margin-top: -2px;
  pointer-events: none;
  background: #FFFFFF;
  border-radius: 3px;
}
.c-close:before {
  transform: rotate(45deg);
}
.c-close:after {
  transform: rotate(-45deg);
}
.c-close:hover {
  transform: scale(1.2);
}

.c-connect {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 840px) {
  .c-connect {
    flex-direction: row;
  }
}

.c-connect__phone {
  font-size: 1.25rem;
  line-height: 1.6;
  font-weight: bold;
  text-decoration: none;
  color: #2C2C2C;
  transition: opacity 300ms;
}
.c-connect__phone:hover, .c-connect__phone:active {
  outline: none !important;
}
.c-connect__phone:hover {
  opacity: 0.7;
  text-decoration: underline;
}
.c-connect__phone:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-connect__or {
  margin: 0 16px;
  color: #656565;
}
@media screen and (max-width: 839px) {
  .c-connect__or {
    margin: 8px 0 16px;
  }
}

.c-data {
  margin: 8px 0;
}

.c-data__line {
  display: flex;
}

.c-data__label {
  min-width: 64px;
  font-weight: bold;
  color: #2C2C2C;
}

.c-data__value {
  color: #656565;
  text-decoration: none;
}
.c-data__value[href]:hover, .c-data__value[href]:active {
  outline: none !important;
}
.c-data__value[href]:hover {
  text-decoration: underline;
}
.c-data__value[href]:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-download-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-download-list__item {
  border-bottom: 1px solid #C8C8C8;
  transition: color 0.2s, background-color 0.2s;
}
.c-download-list__item:hover {
  background-color: rgba(200, 200, 200, 0.2);
}

.c-download-list__link {
  display: flex;
  padding: 8px 0;
  text-decoration: none;
}

.c-download-list__icon {
  display: inline-block;
  width: 16px;
}
.c-download-list__icon svg {
  width: 100%;
}

.c-download-list__text {
  width: calc(100% - 16px);
  padding-left: 8px;
}
.c-download-list__item:hover .c-download-list__text {
  color: #1D1D1D;
}

.c-form-group__label {
  font-size: 0.9375rem;
  line-height: 1.6;
  display: block;
  padding: 4px 0;
  color: #999999;
}

.c-form-group__error {
  display: none;
}
.has-error .c-form-group__error:not(:empty) {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: block;
  padding: 8px;
  color: #4079B8;
  background-color: rgba(64, 121, 184, 0.1);
  border: 1px solid #4079B8;
  border-top: none;
  border-radius: 0 0 4px 4px;
}

.c-form-feedback {
  font-size: 0.9375rem;
  line-height: 1.6;
  border-radius: 4px;
  margin: 0 0 8px;
  padding: 24px 32px;
  color: #2C2C2C;
  background-color: rgba(255, 211, 58, 0.2);
  border: 1px solid #ffd33a;
}
.c-form-feedback:not(:empty) {
  display: block;
}
.c-form-feedback:before {
  content: attr(data-feedback);
  display: inline-block;
  margin-left: -16px;
  margin-bottom: 8px;
  font-weight: 500;
}
.c-form-feedback li::first-letter {
  text-transform: uppercase;
}

.c-hamburger {
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: center;
  position: relative;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #8DC153;
  background: none;
  border: none;
  outline: none;
  cursor: pointer;
}
.c-hamburger:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}
.c-hamburger > span, .c-hamburger:after, .c-hamburger:before {
  content: "";
  position: absolute;
  top: 20px;
  right: 20%;
  left: 20%;
  height: 3px;
  margin-top: -2px;
  pointer-events: none;
  background: currentColor;
  border-radius: 3px;
  transform-origin: right;
  transition-property: transform;
  transition-duration: 150ms;
  transition-timing-function: ease-out;
  transition-delay: 100ms;
}
.c-hamburger:before {
  top: 12px;
  transform: scaleX(0.8);
}
.c-hamburger:after {
  top: 28px;
  transform: scaleX(0.5);
}
.c-hamburger:hover > span {
  transform: scaleX(0.8);
}
.c-hamburger:hover:after, .c-hamburger:hover:before {
  transform: scaleX(1);
}
.is-overlay-menu-active .c-hamburger > span {
  transform: scaleX(1) !important;
}
.is-overlay-menu-active .c-hamburger:before {
  transform: translateY(3px) scaleX(1) !important;
  transition-delay: 0s;
}
.is-overlay-menu-active .c-hamburger:after {
  transform: translateY(-3px) scaleX(1) !important;
  transition-delay: 0s;
}

.c-heading {
  font-size: 2rem;
  line-height: 1.25;
  margin: 40px 0;
  color: #2C2C2C;
}

@media screen and (min-width: 1152px) {
  .c-heading--indent {
    padding-left: 8.3333333333%;
  }
}

@media screen and (min-width: 840px) {
  .c-hero {
    width: calc(100% - 12vw);
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 840px) and (min-width: 840px) {
  .c-hero {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 840px) and (min-width: 1152px) {
  .c-hero {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.c-hero__main {
  position: relative;
  background-color: #FFFFFF;
}

.c-hero__slider {
  overflow: hidden;
  position: relative;
  padding-bottom: 55.556%;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .c-hero__slider {
    padding-bottom: 50%;
  }
}

.c-hero__picture {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition-property: opacity, filter;
  transition-duration: 500ms;
  transition-timing-function: linear;
  filter: blur(5px);
}
.c-hero__picture.is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: none;
}

.c-hero__image {
  width: 100%;
}

.c-hero__caption {
  font-size: calc(16px + 1vw);
  font-weight: bold;
  position: relative;
  padding: 24px;
  line-height: 1.2;
  text-align: center;
  color: #FFFFFF;
  background-color: #1D1D1D;
}
@media screen and (min-width: 840px) {
  .c-hero__caption {
    position: absolute;
    bottom: 0;
    max-width: 50%;
    padding: 32px;
    text-align: left;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .c-hero__caption {
    padding: 2.6vw;
    font-size: 3.5vw;
    line-height: 1.15;
  }
}
@media screen and (min-width: 1152px) {
  .c-hero__caption {
    font-size: 3rem;
    line-height: 1;
    line-height: 1.25;
    padding-left: 4.1666666667%;
  }
}

.c-hero__controls {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  padding: 8px;
}
.c-hero__controls::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 48px;
  width: 100%;
  background: linear-gradient(to top, black, transparent);
  opacity: 0.3;
}

.c-hero__scroll {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 40px;
  padding: 10px;
  color: #FFFFFF;
  background-color: #FFCE3C;
  border-radius: 100%;
  transform: translate(-50%, 50%) rotate(0.25turn);
  transition: background-color 200ms;
}
@media screen and (max-width: 839px) {
  .c-hero__scroll {
    display: none;
  }
}
.c-hero__scroll > svg {
  transition: transform 200ms;
}
.c-hero__scroll:hover {
  cursor: pointer;
  background: #ffc20d;
}
.c-hero__scroll:hover > svg {
  transform: translateX(3px);
}
.c-hero__scroll:focus {
  outline: none;
  background: #ffc61d;
  box-shadow: 0 0 0 3px #fff0c5;
}

.c-input {
  font-size: 0.9375rem;
  line-height: 1.6;
  width: 100%;
  padding: 7px 16px;
  color: #2C2C2C;
  background-color: #FFFFFF;
  border: 1px solid #C8C8C8;
  outline: none;
}
.has-error .c-input {
  box-shadow: 0 0 7px -3px #4079B8;
  border-color: #4079B8;
}
.c-input:focus {
  box-shadow: 0 0 7px -3px #1D1D1D;
  border-color: #1D1D1D;
}
textarea.c-input {
  display: block;
  padding: 16px;
  min-height: 158px;
  line-height: 24px;
  resize: vertical;
}

.c-input--quick-menu {
  width: auto;
}

.c-language {
  position: relative;
}

.c-language__button {
  font-size: 0.9375rem;
  line-height: 1.6;
  border-radius: 4px;
  display: flex;
  position: relative;
  width: 100%;
  padding: 8px;
  text-align: left;
  background: transparent;
  color: rgba(101, 101, 101, 0.5);
  border: none;
  -webkit-appearance: none;
          appearance: none;
  transition: background-color 0.15s, box-shadow 0.15s;
}
.c-language__button:focus {
  outline: none;
}

.c-language__icon {
  flex: none;
  pointer-events: none;
}

.c-language__label {
  margin-left: 4px;
  font-weight: bold;
}

.c-language__dropdown {
  position: absolute;
  right: 0;
  top: 100%;
  min-width: 100%;
  margin: 0;
  opacity: 0;
  list-style: none;
  border-radius: 4px;
  box-shadow: 0 0 12px 1px rgba(0, 0, 0, 0.15);
  pointer-events: none;
  transform: translate3d(0, -5px, 0);
  transition: opacity 0.3s, transform 0.3s;
}
.c-language:hover .c-language__dropdown {
  opacity: 1;
  pointer-events: all;
  transform: translate3d(0, 0, 0);
}

.c-language__item {
  background-color: #FFFFFF;
  overflow: hidden;
}
.c-language__item:nth-child(even) {
  background-color: #f2f2f2;
}
.c-language__item:first-child {
  border-radius: 4px 4px 0 0;
}
.c-language__item:last-child {
  border-radius: 0 0 4px 4px;
}
.c-language__item:first-child:last-child {
  border-radius: 4px;
}

.c-language__link {
  display: block;
  padding: 4px 8px;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  color: #656565;
  transition: background-color 0.3s;
}
.c-language__link:hover {
  color: #FFFFFF;
  background-color: #FFCE3C;
}

/*
	Colors get defined in _settings.config.scss
*/
.c-nav {
  height: 100%;
  padding: 0;
}

.c-nav__list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-left: 0;
  padding: 0;
  list-style: none;
}

.c-nav__item {
  font-size: 1rem;
  line-height: 1.5;
  white-space: nowrap;
  margin-right: 2%;
}
.c-nav__item:last-child {
  margin-right: 0;
}

.c-nav__link {
  position: relative;
  padding: 4px;
  color: #656565;
  text-decoration: none;
  transition: color 150ms linear;
}
.c-nav__link:hover, .c-nav__link:active {
  outline: none !important;
}
.c-nav__link::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: 4px;
  bottom: 1px;
  width: calc(100% - 8px);
  height: 2px;
  border-radius: 1px;
  background-color: #C8C8C8;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 300ms cubic-bezier(0.86, 0, 0.07, 1);
}
.c-nav__link:hover {
  color: #2C2C2C;
}
.c-nav__link:hover::before {
  transform: scaleX(1);
  transform-origin: bottom left;
}
.c-nav__link.is-active {
  font-weight: 500;
  color: #000000;
}
.c-nav__link.is-active::before {
  transform: scaleX(1);
  transform-origin: bottom left;
  background-color: #CDD736;
}
.c-nav__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-pagination {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  border: 1px solid #C8C8C8;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
}

.c-pagination__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 839px) {
  .c-pagination__item {
    display: none;
  }
  .c-pagination__item:first-child, .c-pagination__item:last-child, .c-pagination__item.is-last-page, .c-pagination__item.is-active {
    display: flex;
  }
  .c-pagination__item.is-last-page {
    pointer-events: none;
  }
}
.c-pagination__item + .c-pagination__item {
  border-left: 1px solid;
  border-color: inherit;
}

.c-pagination__text,
.c-pagination__link,
.c-pagination__prev,
.c-pagination__next {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 48px;
  min-height: 48px;
  padding: 8px;
}

.c-pagination__text {
  color: #2C2C2C;
  opacity: 0.35;
}

.c-pagination__link {
  color: #2C2C2C;
  text-decoration: none;
  transition: color 0.2s, background-color 0.2s;
}
.c-pagination__link:hover {
  color: #1f1f1f;
  background: #F8F8F8;
}
.is-active > .c-pagination__link {
  box-shadow: inset 0 0 10px -5px #CDD736;
  font-weight: bold;
  color: #CDD736;
  cursor: default;
}

.c-pagination__prev,
.c-pagination__next {
  transition: background 0.2s;
  transform: rotate(0.75turn);
}
.c-pagination__prev.is-inactive,
.c-pagination__next.is-inactive {
  color: rgba(44, 44, 44, 0.4);
  background: transparent;
}

.c-pagination__prev {
  transform: rotate(0.25turn);
}

/*
 * Page title
 */
.c-page-title {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  padding-top: 16px;
  padding-bottom: 16px;
  color: #2C2C2C;
}
@media screen and (min-width: 840px) {
  .c-page-title {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .c-page-title {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (min-width: 840px) {
  .c-page-title {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

.c-page-title--center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .c-page-title--center {
    width: 75%;
  }
}
@media screen and (min-width: 1152px) {
  .c-page-title--center {
    width: 66.6666666667%;
  }
}

@media screen and (min-width: 840px) {
  .c-page-title__preheading {
    margin-top: -16px;
    margin-bottom: 16px;
  }
}

.c-page-title__heading {
  font-size: 2.5rem;
  line-height: 1;
  line-height: 1.3;
}

.c-page-title__heading-small {
  font-size: 1.25rem;
  line-height: 1.6;
  display: block;
}

.c-projector {
  position: relative;
  height: 100%;
  max-width: 576px;
  margin: 0 auto;
}

.c-projector__figure {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  height: 100%;
}

.c-projector__caption {
  font-size: 0.9375rem;
  line-height: 1.6;
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 2;
  grid-row: 2;
  -webkit-user-select: text;
      -ms-user-select: text;
          user-select: text;
  margin-top: 8px;
  color: #999999;
}

.c-projector__picture {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-row-align: end;
      align-self: end;
  height: 100%;
  min-height: 360px;
  display: block;
  background-color: #F8F8F8;
  opacity: 0;
  transition: opacity 0.5s;
}
.ie .c-projector--single-image .c-projector__picture {
  min-height: 400px;
}
.c-projector__picture.is-active {
  opacity: 1;
}

.c-projector__control {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
  -ms-grid-row-align: end;
      align-self: end;
  margin-bottom: 8px;
  margin-right: 8px;
}

.c-projector__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 839px) {
  .c-projector__img {
    max-height: 78vh;
  }
}

.c-servicepoint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
}

.c-servicepoint__image {
  flex: 0;
  min-width: auto;
  max-width: 194px;
  padding-right: 16px;
  border-radius: 100%;
}

.c-servicepoint__content {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  min-width: 50%;
  max-width: 100%;
  flex-grow: 1;
  flex-basis: calc(calc(420px - 100%) * 999);
  margin-top: 16px;
  margin-bottom: 16px;
}
@media screen and (min-width: 1152px) {
  .c-servicepoint__content {
    flex-basis: auto;
  }
}

.c-servicepoint__body {
  margin-top: 8px;
}

.c-servicepoint__footer {
  margin-top: 8px;
}

.c-servicepoint__heading {
  font-size: 1rem;
  line-height: 1.5;
  color: #656565;
  border-radius: 100%;
}

.c-servicepoint__subheading {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #999999;
}

/**
 * Select styled without extra containing elements
 * ------------------------------------
 * Based on this article:
 * https://www.filamentgroup.com/lab/select-css.html
 */
.c-select {
  border-radius: 4px;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  display: block;
  padding-top: 7px;
  padding-bottom: 7px;
  padding-left: 16px;
  padding-right: 32px;
  height: 40px;
  width: 100%;
  max-width: 500px;
  box-sizing: border-box;
  margin: 0;
  -webkit-appearance: none;
          appearance: none;
  color: #1D1D1D;
  background-color: rgba(255, 255, 255, 0.4);
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.4) 100%);
  background-repeat: no-repeat, repeat;
  background-position: right 13px top 50%, 0 0;
  background-size: 12px auto, 100%;
  border: 1px solid #C8C8C8;
  transition: border 300ms linear;
}
.c-select:not(:disabled) {
  background-image: url("/img/select-arrow.svg"), linear-gradient(to bottom, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0.4) 100%);
}
.c-select:not(:disabled):hover {
  border-color: #656565;
  background-color: rgba(255, 255, 255, 0.6);
}
.c-select:not(:disabled):focus {
  border-color: #669335;
  box-shadow: 0 0 7px -3px rgba(29, 29, 29, 0.7);
  box-shadow: 0 0 0 1px -moz-mac-focusring;
  color: #1D1D1D;
  outline: none;
}
.c-select option {
  font-weight: normal;
}

.c-select::-ms-expand {
  display: none;
}

.c-sitemap__item {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  color: #656565;
}

.c-sitemap__link {
  display: block;
  padding: 4px 0;
  text-decoration: none;
}
.c-sitemap__link:hover {
  color: #CDD736;
  text-decoration: underline;
}

/*
 * Skip Link
 */
.c-skip-link {
  font-size: 0.9375rem;
  line-height: 1.6;
  position: fixed;
  top: -100vh;
  left: 50%;
  transform: translateX(-50%);
  color: #4079B8;
  text-decoration: none;
}
.c-skip-link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
  top: 5px;
  /* Now the link will appear */
}

.c-slide-indicator {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.c-slide-indicator__button {
  position: relative;
  border: none;
  background-color: #FFCE3C;
  color: #FFFFFF;
  height: 40px;
  width: 40px;
}
.c-slide-indicator__button + .c-slide-indicator__button {
  margin-left: 8px;
}
.c-slide-indicator__button[aria-label=previous] > svg {
  transform: rotate(90deg);
}
.c-slide-indicator__button[aria-label=next] > svg {
  transform: rotate(-90deg);
}
.c-slide-indicator__button:hover {
  cursor: pointer;
  background-color: #ffc61d;
}
.c-slide-indicator__button:focus {
  outline: none;
  background-color: #ffc61d;
}

.c-slide-indicator__dot {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 30px;
  background-color: transparent;
  border: none;
  cursor: pointer;
  transition-property: background-color, opacity;
  transition-duration: 250ms;
}
.c-slide-indicator__dot:focus {
  outline: none;
}
.c-slide-indicator__dot:hover:not(.is-active), .c-slide-indicator__dot:focus:not(.is-active) {
  opacity: 0.5;
}
.c-slide-indicator__dot:before, .c-slide-indicator__dot:after {
  content: "";
  position: absolute;
  background-clip: content-box;
  transition-property: transform, background-color, opacity;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  border-radius: 100%;
}
.c-slide-indicator__dot:before {
  top: calc((30px - 8px) / 2);
  right: calc((30px - 8px) / 2);
  bottom: calc((30px - 8px) / 2);
  left: calc((30px - 8px) / 2);
  background-color: #FFFFFF;
}
.c-slide-indicator__dot:after {
  top: calc((30px - 12px) / 2);
  right: calc((30px - 12px) / 2);
  bottom: calc((30px - 12px) / 2);
  left: calc((30px - 12px) / 2);
  border: 1px solid #FFFFFF;
  transform: scale(1.4);
  opacity: 0;
}
.c-slide-indicator__dot.is-active:before {
  background-color: #000000;
  border-color: rgba(255, 255, 255, 0.9);
  transform: scale(0.75);
}
.c-slide-indicator__dot.is-active:after {
  opacity: 0.9;
  transform: scale(1);
}
.c-slide-indicator__dot:focus {
  opacity: 1 !important;
}
.c-slide-indicator__dot:focus:before {
  box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}
.c-slide-indicator__dot:focus:after {
  box-shadow: 0 0 0 2px black, 0 0 10px 1px white;
}

.c-subnav {
  height: 100%;
}

.c-subnav--boxed {
  background-color: #F8F8F8;
  padding: 80px 6vw;
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .c-subnav--boxed {
    padding-left: 25%;
  }
}

.c-subnav__header {
  margin: 0;
}

.c-subnav__list {
  list-style-type: none;
  margin-left: 0;
}
* + .c-subnav__list {
  margin-top: 40px;
}

.c-subnav__item--back {
  margin-top: 24px;
}

.c-subnav__link {
  position: relative;
  display: flex;
  padding: 8px 0;
  color: #656565;
  text-decoration: none;
  cursor: pointer;
  transition: color 250ms;
}
.c-subnav__link:hover, .c-subnav__link:active {
  outline: none !important;
}
.c-subnav__link:hover {
  color: #4079B8;
}
.c-subnav__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}
.c-subnav__link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-bottom: 1px solid #C8C8C8;
}
.c-subnav__item.is-active .c-subnav__link::before {
  border-color: #CDD736;
  border-width: 2px;
}

.c-subnav__icon {
  opacity: 0;
  align-items: center;
  margin-left: 16px;
  color: #C8C8C8;
  transform: translateX(-16px);
  transition: all 250ms ease-out;
}
.c-subnav__link:hover .c-subnav__icon {
  opacity: 1;
  transform: none;
  color: #4079B8;
}

.c-subnav__item.is-active .c-subnav__link {
  color: #CDD736;
  font-weight: bold;
}
.c-subnav__item.is-active .c-subnav__link::before {
  border-color: #CDD736;
  border-width: 2px;
}
.c-subnav__item.is-active .c-subnav__icon {
  opacity: 0;
}

/**
 * 1. Color gets inherited and used for nested elements with 'currentColor' property
 * 2. Reset default button styling
 */
.c-textbutton {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #4079B8;
  /* 1 */
  padding: 0;
  /* 2 */
  background-color: transparent;
  /* 2 */
  border: none;
  /* 2 */
  cursor: pointer;
  text-decoration: none;
  transition: color 0.3s;
}
.c-textbutton:hover, .c-textbutton:active {
  outline: none !important;
}
.c-textbutton:hover:not(:disabled) {
  color: #26496e;
}
.c-textbutton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.c-textbutton:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-textbutton__text {
  font-size: 1rem;
  line-height: 1.5;
}

.c-textbutton__icon {
  display: none;
  position: relative;
  margin-left: 8px;
  transition: transform 0.3s;
}
.c-textbutton:hover:not(:disabled) .c-textbutton__icon {
  transform: translateX(3px);
}
.c-textbutton--icon .c-textbutton__icon {
  display: block;
}

.c-textbutton--is-reversed .c-textbutton__text {
  order: 2;
}
.c-textbutton--is-reversed .c-textbutton__icon {
  order: 1;
  top: 1px;
  margin-left: 0;
  margin-right: 8px;
  transform: rotate(0.5turn);
}
.c-textbutton--is-reversed:hover:not(:disabled) .c-textbutton__icon {
  transform: rotate(0.5turn) translateX(3px);
}

.c-trademark {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  transition: color 200ms;
}
.c-trademark:hover, .c-trademark:active {
  outline: none !important;
}
.c-trademark:hover {
  color: #FFFFFF;
}
.c-trademark:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.c-trademark__text {
  margin-right: 7px;
  white-space: nowrap;
}

.c-trademark__icon {
  width: 100px;
  max-height: 32px;
  opacity: 0.5;
  transition: opacity 200ms;
  transform: translateY(-1px);
}
.c-trademark:hover .c-trademark__icon {
  opacity: 1;
}

.c-video {
  position: relative;
  height: 0;
  width: 100%;
  padding-bottom: 56.25%;
  background-color: #F5F5F5;
}

.c-video__iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*  6 - ORGANISMS
 *  Large blocks composed of multiple components.
 =========================================================== */
/** ==========================================================================
 * Organisms
 * =========================================================================*/
.o-accordion {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-accordion {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-accordion {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-accordion__item {
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  border-style: solid;
  border-width: 1px;
  border-color: #C8C8C8;
  transition-property: border;
  transition-duration: 250ms;
}
.o-accordion__item + .o-accordion__item {
  margin-top: 16px;
}
.o-accordion__item:not(.is-active):hover {
  border-color: #CDD736;
}

.o-accordion__title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-top: 16px;
  padding-right: 24px;
  padding-bottom: 16px;
  padding-left: 48px;
  color: #000000;
  cursor: pointer;
}
@media screen and (min-width: 840px) {
  .o-accordion__title {
    padding-left: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-accordion__title {
    padding-left: 8.3333333333%;
  }
}
.o-accordion__item:not(.is-active) .o-accordion__title:hover {
  color: #CDD736;
}

.o-accordion__icon {
  flex: 0 0 auto;
  position: absolute;
  top: auto;
  left: 14px;
  width: 20px;
  height: 20px;
  color: inherit;
  border-color: currentColor;
  border-width: 2px;
  border-style: solid;
  border-radius: 100%;
  transition-property: color;
  transition-duration: 250ms;
  transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
  .o-accordion__icon {
    left: calc(6.25% - 10px);
  }
}
@media screen and (min-width: 1152px) {
  .o-accordion__icon {
    left: calc(4.1666666667% - 10px);
  }
}
.o-accordion__icon::before, .o-accordion__icon::after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  width: 10px;
  left: 3px;
  top: calc(50% - 1px);
  background-color: currentColor;
  transition-property: background-color, transform;
  transition-duration: 250ms, 400ms;
  transition-timing-function: ease, cubic-bezier(0.86, 0, 0.07, 1);
}
.o-accordion__item.is-active .o-accordion__icon::before {
  transform: scaleX(0) rotate(0.25turn);
}
.o-accordion__icon::after {
  transform: rotate(0.25turn);
}
.o-accordion__item.is-active .o-accordion__icon::after {
  transform: rotate(0.5turn);
}

.o-accordion__header {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
  color: inherit;
  text-decoration: inherit;
  transition-property: color;
  transition-duration: 250ms;
  transition-timing-function: ease;
}
@media screen and (min-width: 840px) {
  .o-accordion__header {
    font-size: 1.5rem;
    line-height: 1.3333333333;
  }
}

/* Hidden by default*/
.o-accordion__content {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  padding-left: 48px;
  padding-right: 24px;
  transform: translateY(6px);
  transition: all 0.2s ease-in-out;
}
.o-accordion__content > * + * {
  margin-top: 1.5rem;
}
@media screen and (min-width: 840px) {
  .o-accordion__content {
    padding-left: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-accordion__content {
    padding-left: 8.3333333333%;
  }
}
.o-accordion__item.is-active .o-accordion__content {
  opacity: 1;
  max-height: 400px;
  padding-bottom: 32px;
  transform: none;
  transition-property: all;
  transition-duration: 400ms;
  transition-timing-function: ease-out;
  transition-delay: 0.2s;
}

@media screen and (max-width: 839px) {
  .o-block {
    margin-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-block {
    margin-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-block {
    margin-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-block {
    margin-bottom: 96px;
  }
}
@media screen and (max-width: 839px) {
  .o-block + .o-block {
    margin-top: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-block + .o-block {
    margin-top: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-block + .o-block {
    margin-top: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-block + .o-block {
    margin-top: 96px;
  }
}

/*
* Wrapper of the main body
* (between the header and the footer)
*/
.o-body {
  z-index: 40;
  position: relative;
  flex: 0 0 auto;
}

.o-callout-bar {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  color: #2C2C2C;
  background-color: #F8F8F8;
  text-align: center;
}

.o-callout-bar__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-callout-bar__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-callout-bar__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (max-width: 839px) {
  .o-callout-bar__main {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-callout-bar__main {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-callout-bar__main {
    padding-top: 7.1428571429vw;
    padding-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-callout-bar__main {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}
@media screen and (max-width: 839px) {
  .o-callout-bar__main > * + * {
    margin-top: 6vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-callout-bar__main > * + * {
    margin-top: 5vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-callout-bar__main > * + * {
    margin-top: 3.5714285714vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-callout-bar__main > * + * {
    margin-top: 48px;
  }
}

.o-callout-bar__body {
  display: inline-block;
}

.o-callout-bar__heading {
  font-size: 2rem;
  line-height: 1.25;
}

/*
 * Card grid
 *
 */
@media screen and (min-width: 600px) {
  .o-card-grid__main {
    display: flex;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 599px) {
  .o-card-grid__item + .o-card-grid__item {
    margin-top: 32px;
  }
}
@media screen and (max-width: 599px) {
  .o-card-grid__item {
    max-width: 344px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 600px) and (max-width: 1151px) {
  .o-card-grid__item {
    flex: 0;
    flex-basis: calc(50% - ((2 - 1) / 2 * 32px));
    margin-left: 32px;
  }
  .o-card-grid__item:nth-child(2n+1) {
    margin-left: 0;
  }
  .o-card-grid__item:nth-child(n+3) {
    margin-top: 32px;
  }
}
@media screen and (min-width: 1152px) {
  .o-card-grid__item {
    flex: 0;
    flex-basis: calc(33.3333333333% - ((3 - 1) / 3 * 32px));
    margin-left: 32px;
  }
  .o-card-grid__item:nth-child(3n+1) {
    margin-left: 0;
  }
  .o-card-grid__item:nth-child(n+4) {
    margin-top: 32px;
  }
}

.o-contact {
  background-color: #FFFFFF;
  position: relative;
}
@media screen and (min-width: 1220px) {
  .o-contact {
    display: flex;
    width: calc((100% / 14) * 12);
    max-width: 1152px;
    margin-left: auto;
    margin-right: auto;
  }
}

.o-contact__info {
  padding-top: 32px;
  padding-left: 6vw;
  padding-right: 6vw;
}
@media screen and (min-width: 840px) {
  .o-contact__info {
    padding-left: 10%;
    padding-right: 10%;
  }
}
@media screen and (min-width: 1152px) {
  .o-contact__info {
    padding-left: 7.1428571429%;
    padding-right: 7.1428571429%;
  }
}
@media screen and (min-width: 1220px) {
  .o-contact__info {
    width: 50%;
    padding-top: 48px;
    padding-bottom: 48px;
    padding-right: 8px;
  }
}

.o-contact__form {
  margin-top: 32px;
  padding: 32px 6vw;
  background-color: #F8F8F8;
}
@media screen and (min-width: 840px) {
  .o-contact__form {
    padding-left: 10%;
    padding-right: 10%;
  }
}
@media screen and (min-width: 1152px) {
  .o-contact__form {
    padding-left: 7.1428571429%;
    padding-right: 7.1428571429%;
  }
}
@media screen and (min-width: 1220px) {
  .o-contact__form {
    width: 50%;
    margin-top: 0;
    padding-top: 48px;
  }
}

.o-contact__header {
  overflow-wrap: break-word;
  word-wrap: break-word;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  font-size: 2rem;
  line-height: 1.25;
  margin-bottom: 32px;
  color: #2C2C2C;
}

.o-contact__card {
  margin-bottom: 40px;
}

.o-contact__numbers {
  margin-top: 16px;
}

.o-cookie-bar {
  z-index: -1;
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  height: 64px;
  width: 100%;
  background-color: #1D1D1D;
  opacity: 1;
  box-shadow: 0 -4px 6px 0 rgba(0, 0, 0, 0.2);
  transition: opacity 0.5s, transform 0.6s;
  transform: none;
}
.o-cookie-bar:not(.is-accepted) {
  z-index: 9999;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.o-cookie-bar.is-transitioning-out {
  z-index: -1;
  opacity: 0;
  transform: translateY(50%);
}

.o-cookie-bar__main {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 373px) {
  .o-cookie-bar__main {
    transform: scale(0.9);
  }
}

.o-cookie-bar__text {
  margin: 0;
  color: #FFFFFF;
}
@media screen and (max-width: 374px) {
  .o-cookie-bar__text {
    font-size: 0.875rem;
    line-height: 1.1428571429;
  }
}

.o-cookie-bar__link {
  color: inherit;
  transition: color 0.3s;
}
.o-cookie-bar__link:hover {
  color: rgba(29, 29, 29, 0.75);
}

.o-cookie-bar__button {
  flex: none;
  margin-left: 40px;
}
@media screen and (max-width: 839px) {
  .o-cookie-bar__button {
    margin-left: 16px;
  }
}

/*===============================================================================
 * Double image in 2 equal columns
 *
 * Until viewport is wide enough the pictures are stacked vertically
 * ============================================================================== */
.o-double-image {
  margin: -1px;
  text-align: center;
}
@media screen and (min-width: 1100px) {
  .o-double-image {
    display: flex;
  }
}

.o-double-image__picture {
  display: block;
  margin: 1px;
  order: 1;
  min-height: 360px;
}
@media screen and (min-width: 1100px) {
  .o-double-image__picture {
    width: 50%;
    display: flex;
    justify-content: flex-end;
  }
  .o-double-image__picture:last-child {
    justify-content: flex-start;
  }
}

.o-double-image__img {
  object-fit: cover;
  max-height: 85vh;
}

.o-double-image--is-reversed .o-double-image__picture {
  justify-content: flex-start;
}
.o-double-image--is-reversed .o-double-image__picture:last-child {
  order: 0;
  justify-content: flex-end;
}

/*===============================================================================
 * Double layout in 2 equal columns
 *
 * Until viewport is wide enough the columns are stacked vertically
 * ============================================================================== */
.o-double-text {
  position: relative;
  background-color: #FFFFFF;
  height: 100%;
}
@media screen and (min-width: 840px) {
  .o-double-text {
    display: flex;
  }
}

@media screen and (min-width: 1152px) {
  .o-double-text__column {
    width: 50%;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-double-text__column:first-child {
    width: 62.5%;
    padding-right: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-double-text__column:first-child {
    padding-left: 8.3333333333%;
  }
}
@media screen and (max-width: 839px) {
  .o-double-text__column:last-child {
    margin-top: 6vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-double-text__column:last-child {
    width: 37.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-double-text__column:last-child {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}

@media screen and (min-width: 840px) {
  .o-downloads {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 840px) {
  .o-downloads--is-reversed {
    flex-direction: row-reverse;
  }
}

.o-downloads__main {
  background-color: #FFFFFF;
  padding-top: 40px;
  padding-bottom: 72px;
}
@media screen and (min-width: 840px) {
  .o-downloads__main {
    width: 50%;
  }
}
@media screen and (max-width: 1151px) {
  .o-downloads__main {
    padding-left: 6.25%;
    padding-right: 6.25%;
  }
}
@media screen and (min-width: 1152px) {
  .o-downloads__main {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}
.o-downloads__main .c-heading {
  margin-top: 0;
}

@media screen and (max-width: 839px) {
  .o-downloads__service-point {
    margin-top: 80px;
  }
}
@media screen and (min-width: 840px) {
  .o-downloads__service-point {
    margin-top: 40px;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-downloads__service-point {
    width: 37.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-downloads__service-point {
    width: 41.6666666667%;
  }
}

.o-footer {
  z-index: 20;
  color: #FFFFFF;
  background-color: #8DC153;
  background-image: linear-gradient(75deg, #8DC153 50%, #CDD736 125%);
  flex: 1 0 auto;
}

.o-footer__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-footer__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-footer__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (max-width: 839px) {
  .o-footer__main {
    padding-top: 6vw;
    padding-bottom: 6vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-footer__main {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-footer__main {
    padding-top: 3.5714285714vw;
    padding-bottom: 3.5714285714vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-footer__main {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}

@media screen and (min-width: 840px) {
  .o-footer__columns {
    display: flex;
  }
}

.o-footer__brand {
  display: inline-block;
  transition: opacity 200ms linear;
}
@media screen and (max-width: 839px) {
  .o-footer__brand {
    margin-bottom: 3.96vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-footer__brand {
    margin-bottom: 3.3vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-footer__brand {
    margin-bottom: 2.3571428571vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-footer__brand {
    margin-bottom: 31.68px;
  }
}
.o-footer__brand:hover {
  opacity: 0.5;
}

.o-footer__logo {
  width: 192px;
}

.o-footer__info > * + * {
  margin-top: 32px;
}
@media screen and (min-width: 840px) {
  .o-footer__info {
    width: 40%;
  }
}
@media screen and (min-width: 1152px) {
  .o-footer__info {
    width: 41.6666666667%;
  }
}

@media screen and (max-width: 839px) {
  .o-footer__nav {
    margin-top: 6vw;
  }
}
@media screen and (min-width: 840px) {
  .o-footer__nav {
    margin-left: 10%;
  }
}
@media screen and (min-width: 1152px) {
  .o-footer__nav {
    margin-left: 8.3333333333%;
  }
}

.o-footer__list {
  list-style: none;
  margin: 0;
}

.o-footer__link {
  display: inline-block;
  position: relative;
  z-index: 0;
  color: #FFFFFF;
  text-decoration: none;
  cursor: pointer;
}
.o-footer__link:hover, .o-footer__link:active {
  outline: none !important;
}
.o-footer__link::before {
  border-radius: 4px;
  opacity: 0;
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: -8px;
  right: -8px;
  background-color: rgba(0, 0, 0, 0.08);
  transition: opacity 150ms linear;
}
.o-footer__link:hover::before {
  opacity: 1;
}
.o-footer__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.o-footer__social {
  display: flex;
  list-style: none;
  margin: 32px 0 0;
}

.o-footer__channel {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-right: 16px;
}

.o-footer__icon {
  flex: auto;
  display: block;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  transition-property: opacity;
  transition-duration: 0.3s;
}
.facebook .o-footer__icon {
  background-image: url("/img/social/facebook.svg");
  height: 21px;
}
.instagram .o-footer__icon {
  background-image: url("/img/social/instagram.svg");
}
.twitter .o-footer__icon {
  background-image: url("/img/social/twitter.svg");
  height: 20px;
}
.linkedin .o-footer__icon {
  background-image: url("/img/social/linkedin.svg");
  height: 18px;
}
.o-footer__icon:hover {
  opacity: 0.5;
}
.o-footer__icon:focus {
  outline-color: #4079B8;
}

.o-form__header {
  margin-bottom: 40px;
}

.o-form__footer {
  margin-top: 40px;
}

.o-form__row + .o-form__row {
  margin-top: 20px;
}

.o-form__pot {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 0;
  width: 0;
  z-index: -1;
}

/*
	Colors get defined in _settings.config.scss
*/
.o-header {
  z-index: 50;
  background-color: #FFFFFF;
  position: relative;
  padding: 16px 0;
}
.o-header.is-sticky {
  opacity: 0;
  position: fixed;
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 -5px 30px black;
  transform: translateY(-100%);
  transition-property: transform, opacity;
  transition-duration: 300ms;
  transition-delay: 0s, 300ms;
  transition-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
}
@media screen and (min-width: 1100px) {
  .o-header.is-sticky {
    display: none;
  }
}
.is-sticky-header-visible .o-header.is-sticky {
  opacity: 1;
  transform: none;
  transition-delay: 0s;
}

.o-header__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media screen and (min-width: 840px) {
  .o-header__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-header__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-header__nav {
  width: 100%;
  margin-left: 48px;
}
@media screen and (max-width: 1099px) {
  .o-header__nav {
    display: none;
  }
}

.o-header__language {
  flex: none;
  margin-left: 16px;
}
@media screen and (max-width: 1099px) {
  .o-header__language {
    margin-left: auto;
  }
}

.o-header__logo {
  flex: none;
}
.o-header__logo:hover, .o-header__logo:active {
  outline: none !important;
}
.o-header__logo:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.o-header__img {
  height: 64px;
}

@media screen and (min-width: 1100px) {
  .o-header__toggle {
    display: none;
  }
}

.o-intro {
  position: relative;
  z-index: 0;
  background-color: #FFFFFF;
}

.o-intro__body {
  position: relative;
}
@media screen and (max-width: 839px) {
  .o-intro__body {
    margin-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-intro__body {
    margin-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-intro__body {
    margin-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-intro__body {
    margin-bottom: 96px;
  }
}
@media screen and (max-width: 839px) {
  .o-intro--mobile-break-out .o-intro__body {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 840px) {
  .o-intro__body::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 50%;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #8DC153;
  }
}

.o-intro__content {
  background-color: #FFFFFF;
  position: relative;
}
@media screen and (min-width: 840px) {
  .o-intro__content {
    display: flex;
  }
}
@media screen and (min-width: 1152px) {
  .o-intro__content {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
    margin-left: auto;
    margin-right: auto;
  }
}

.o-intro__nav,
.o-intro__image {
  margin-top: 32px;
}
@media screen and (min-width: 840px) {
  .o-intro__nav,
.o-intro__image {
    order: -1;
    width: 41.6666666667%;
    margin-top: 0;
  }
}
@media screen and (min-width: 1152px) {
  .o-intro__nav,
.o-intro__image {
    width: 50%;
  }
}

.o-intro__nav {
  background-color: #F8F8F8;
  padding: 32px 6vw;
}
@media screen and (min-width: 840px) {
  .o-intro__nav {
    padding: 80px 4.1666666667%;
    padding-left: 10%;
  }
}
@media screen and (min-width: 1152px) {
  .o-intro__nav {
    padding-left: 8.3333333333%;
    padding-right: 8.3333333333%;
  }
}

.o-intro__text {
  padding-top: 32px;
  padding-left: 6vw;
  padding-right: 6vw;
}
@media screen and (min-width: 840px) {
  .o-intro__text {
    width: 58.3333333333%;
    padding: 80px 8.3333333333%;
  }
}
@media screen and (min-width: 1152px) {
  .o-intro__text {
    width: 50%;
  }
}

.o-intro__title,
.o-intro__heading {
  color: #1D1D1D !important;
}

.o-intro__button {
  color: #4079B8 !important;
}

.o-logos__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: 0;
  margin: -2.382vw;
  list-style-type: none;
}
@media screen and (min-width: 1344px) {
  .o-logos__list {
    margin: -32px;
  }
}

.o-logos__item {
  flex: 0 1 100%;
  margin: 2.382vw;
}
@media screen and (min-width: 384px) {
  .o-logos__item {
    flex-basis: calc(50% - 5vw);
  }
}
@media screen and (min-width: 840px) {
  .o-logos__item {
    flex-basis: calc(33.3333333333% - 5vw);
  }
}
@media screen and (min-width: 1152px) {
  .o-logos__item {
    flex-basis: calc(25% - 5vw);
  }
}
@media screen and (min-width: 1344px) {
  .o-logos__item {
    flex-basis: calc(25% - 64px);
    margin: 32px;
  }
}

.o-logos__link {
  display: block;
}

.o-logos__img {
  display: block;
  width: 100%;
  height: 0;
  padding-bottom: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.o-map a:after {
  display: none;
}

.o-news {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-news {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-news {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-news__article {
  position: relative;
}
.o-news__article + .o-news__article {
  margin-top: 32px;
}

.o-news__link {
  display: block;
  cursor: pointer;
  text-decoration: none;
  transition: all 150ms linear;
}
.o-news__link:hover, .o-news__link:active {
  outline: none !important;
}
.o-news__link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border: 1px solid #C8C8C8;
  transition: all 150ms linear;
}
.o-news__link:hover, .o-news__link:focus {
  background-image: linear-gradient(to bottom right, rgba(141, 193, 83, 0.05), rgba(205, 215, 54, 0.02));
}
.o-news__link:hover::before, .o-news__link:focus::before {
  border-color: #8DC153;
}
.o-news__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}
@media screen and (min-width: 840px) {
  .o-news__link {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
}

.o-news__body {
  flex-grow: 1;
  padding: 6vw;
}
@media screen and (min-width: 840px) {
  .o-news__body {
    order: 1;
    padding-top: 48px;
    padding-bottom: 48px;
    padding-left: 12.5%;
    padding-right: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-news__body {
    padding-left: 8.3333333333%;
  }
}

.o-news__image {
  position: relative;
  width: 100%;
  padding-bottom: 55%;
}
@media screen and (min-width: 840px) {
  .o-news__image {
    flex: none;
    order: 2;
    width: 25%;
    padding-bottom: 25%;
  }
}

.o-news__bg-image {
  position: absolute;
  background-position: 50% 50%;
  background-size: cover;
  top: 6vw;
  right: 6vw;
  width: calc(100% - 12vw);
  height: calc(100% - 6vw);
}
@media screen and (min-width: 840px) {
  .o-news__bg-image {
    top: 8px;
    right: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
  }
}

.o-news__heading {
  font-size: 2rem;
  line-height: 1.25;
  color: #2C2C2C;
  transition: 150ms all linear;
}
.o-news__link:hover .o-news__heading {
  color: #8DC153;
}

.o-news__intro {
  margin-top: 24px;
}

.o-news__timestamp {
  display: block;
  margin-top: 16px;
  color: #999999;
}

.o-news__action {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-top: 8px;
  color: #4079B8;
}

.o-news__readmore {
  margin-right: 8px;
}

.o-news__footer {
  margin-top: 32px;
  text-align: center;
}

.o-overlay-menu {
  z-index: 100;
  display: flex;
  flex-direction: column;
  opacity: 0;
  position: fixed;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
  background-color: #8DC153;
  background-image: linear-gradient(75deg, #8DC153 50%, #CDD736 125%);
  transform: translateX(-120vw);
  transition-property: transform, opacity;
  transition-duration: 400ms, 200ms;
  transition-delay: 0s, 400ms;
  transition-timing-function: cubic-bezier(0.5, 0.15, 0.1, 1), linear;
}
.is-overlay-menu-active .o-overlay-menu {
  opacity: 1;
  transform: none;
  transition-delay: 200ms, 0s;
}
.o-overlay-menu::before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: -120vw;
  width: 120vw;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  pointer-events: none;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 200ms;
  transition-delay: 400ms;
  transition-timing-function: linear;
}
.is-overlay-menu-active .o-overlay-menu::before {
  opacity: 1;
  transition-delay: 0s;
}
.o-overlay-menu::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: -20%;
  width: 20%;
  height: 100%;
  background: linear-gradient(-86deg, transparent 50%, #8DC153 50%);
}
@media screen and (min-width: 1100px) {
  .o-overlay-menu {
    display: none;
  }
}

.o-overlay-menu__bar {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 32px;
  padding-bottom: 32px;
}
@media screen and (min-width: 840px) {
  .o-overlay-menu__bar {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-overlay-menu__bar {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-overlay-menu__img {
  height: 48px;
}

.o-overlay-menu__toggle {
  transform: rotate(-0.5turn);
  transition: transform 600ms ease-out;
  transition-delay: 200ms;
}
.is-overlay-menu-active .o-overlay-menu__toggle {
  transform: none;
}

.o-overlay-menu__list {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-left: 0;
  list-style: none;
}

.o-overlay-menu__item {
  padding: 8px 7.1428571429%;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

.o-overlay-menu__link {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  display: block;
  color: #FFFFFF;
  text-decoration: none;
  transition: opacity 200ms linear;
}
.o-overlay-menu__link:hover {
  color: rgba(255, 255, 255, 0.7);
}
.o-overlay-menu__link:focus {
  outline-offset: 2px;
  outline-color: rgba(255, 255, 255, 0.3);
}
.o-overlay-menu__link.is-active {
  position: relative;
  opacity: 1;
  font-weight: bold;
}
.o-overlay-menu__link.is-active::before {
  content: "\2794";
  position: absolute;
  top: 6px;
  left: -1.25em;
  font-size: 14px;
}

.o-quote {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (min-width: 840px) {
  .o-quote {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-quote {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

@media screen and (min-width: 840px) {
  .o-quote {
    display: flex;
  }
}

.o-quote__body {
  max-width: 760px;
  margin: 0 auto;
}

.o-quote__text {
  font-size: 1.25rem;
  line-height: 1.6;
  quotes: "\201C" "\201D";
}
.o-quote__text::before {
  content: open-quote;
}
.o-quote__text::after {
  content: close-quote;
}

.o-quote__author {
  margin-top: 24px;
}

.o-quote__heading {
  font-size: 1rem;
  line-height: 1.5;
  color: #8DC153;
}

.o-quote__subheading {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #CDD736;
}

.o-references {
  display: flex;
  flex-wrap: wrap;
  margin: -32px;
}

.o-references__item {
  border-radius: 4px;
  position: relative;
  flex: 0 1 100%;
  margin: 32px;
  padding-top: 48px;
  padding-bottom: 48px;
  background-color: #FFFFFF;
  border: 1px solid rgba(141, 193, 83, 0.5);
  box-shadow: 0 2.4px 39.4px -16px rgba(0, 0, 0, 0.024), 0 6.8px 45.5px -16px rgba(0, 0, 0, 0.035), 0 16.3px 51.4px -16px rgba(0, 0, 0, 0.046), 0 54px 80px -16px rgba(0, 0, 0, 0.07);
}
@media screen and (min-width: 800px) {
  .o-references__item {
    flex-basis: calc(50% - 64px - 2px);
  }
}
.o-references__item::before {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  left: 0;
  height: 6px;
  background-image: repeating-linear-gradient(to right, #8DC153, #CDD736);
}

.o-references__body {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-top: 0;
  height: 100%;
  padding-right: 48px;
}

.o-references__picture {
  display: block;
  flex-grow: 1;
  flex-basis: 25%;
  margin-bottom: 24px;
  margin-left: 48px;
}

.o-references__content {
  flex-grow: 9999;
  flex-basis: 18em;
  display: flex;
  flex-direction: column;
  height: 100%;
  margin-left: 48px;
  color: #656565;
}

.o-references__text {
  font-size: 1rem;
  line-height: 1.5;
  quotes: "\201C" "\201D";
  margin-bottom: 24px;
  position: relative;
}
.o-references__text::before, .o-references__text::after {
  color: rgba(141, 193, 83, 0.5);
  font-family: Sans-serif;
  font-size: 60px;
  line-height: 0;
  position: absolute;
}
.o-references__text::before {
  content: open-quote;
  top: 4px;
  left: -32px;
}
.o-references__text::after {
  content: close-quote;
  bottom: -20px;
  right: -20px;
}

.o-references__author {
  margin-top: auto;
}

.o-references__heading {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  font-weight: normal;
  color: #000000;
}

.o-references__subheading {
  color: #8DC153;
  font-weight: bold;
}

.o-subfooter {
  z-index: 10;
  color: #FFFFFF;
  background-color: #2C2C2C;
  padding-bottom: 64px;
  transition: padding 0.6s;
}
.is-cookies-accepted .o-subfooter {
  padding-bottom: 0;
}

.o-subfooter__main {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  font-size: 0.9375rem;
  line-height: 1.6;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  padding-top: 8px;
  padding-bottom: 8px;
}
@media screen and (min-width: 840px) {
  .o-subfooter__main {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-subfooter__main {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-subfooter__copyright {
  display: flex;
  flex-wrap: wrap;
  margin-top: 8px;
  margin-bottom: 8px;
  margin-right: 32px;
}

.o-subfooter__nav {
  margin-right: auto;
  margin-top: 8px;
  margin-bottom: 8px;
}

.o-subfooter__list {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  margin: 0;
}

.o-subfooter__item {
  margin-right: 32px;
  white-space: nowrap;
}

.o-subfooter__link {
  color: #FFFFFF;
  text-decoration: none;
  transition: color 200ms;
}
.o-subfooter__link:hover, .o-subfooter__link:active {
  outline: none !important;
}
.o-subfooter__link:hover {
  color: #cdd736;
}
.o-subfooter__link:focus {
  outline-color: currentColor;
  outline-style: solid;
  outline-offset: 1px;
  outline-width: 2px;
}

.o-subfooter__trademark {
  margin-top: 8px;
  margin-bottom: 8px;
}

/*
 * On small screens the content is stacked, without controls
 * When the screen is wide enough we add the controls
 * and show only the chosen 'slide content'
 */
.o-tabslider {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-tabslider {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-tabslider {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}

.o-tabslider__button {
  border-radius: 8px;
  min-height: 48px;
  color: #2C2C2C;
  background-color: #FFFFFF;
  border: 1px solid #C8C8C8;
  font-weight: 500;
  cursor: pointer;
  transition-property: color, border;
  transition-duration: 250ms;
}
.o-tabslider__button:hover {
  color: #0090C9;
  border-color: #0090C9;
}
.o-tabslider__button.is-active {
  color: #FFFFFF;
  background-color: #0090C9;
  border-color: #50C1E9;
}
.o-tabslider__button:focus {
  outline: none;
  border-color: #50C1E9;
}
.o-tabslider__button:focus:not(.is-active):not(:active) {
  box-shadow: 0 0 0 1px #FFFFFF, 0 0 5px 3px rgba(44, 44, 44, 0.1);
}

@media screen and (max-width: 839px) {
  .o-tabslider__controls {
    display: none;
  }
}
@media screen and (min-width: 840px) {
  .o-tabslider__controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (min-width: 1152px) {
  .o-tabslider__controls {
    margin-left: 8.3333333333%;
    margin-right: 8.3333333333%;
  }
}

.o-tabslider__step {
  width: 48px;
}

.o-tabslider__step--prev {
  transform: rotate(0.5turn);
}

@media screen and (min-width: 840px) {
  .o-tabslider__tabs {
    display: flex;
  }
}
@media screen and (min-width: 1344px) {
  .o-tabslider__tabs {
    margin: -8px 8px;
  }
}

.o-tabslider__tab {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  margin: 8px;
  padding: 7px 16px;
  text-transform: uppercase;
}

@media screen and (min-width: 840px) {
  .o-tabslider__container {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: 1fr;
    grid-template-rows: 1fr;
    margin-top: 48px;
  }
}

@media screen and (max-width: 839px) {
  .o-tabslider__content + .o-tabslider__content {
    margin-top: 12vw;
  }
}
@media screen and (min-width: 840px) {
  .o-tabslider__content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    opacity: 0;
    z-index: 0;
    transform: translateY(6px);
    pointer-events: none;
    transform-origin: top center;
    transition-property: opacity, transform;
    transition-duration: 200ms;
    transition-timing-function: ease-in;
  }
  .o-tabslider__content.is-active {
    opacity: 1;
    z-index: 1;
    transform: none;
    pointer-events: all;
    transition-duration: 500ms;
    transition-delay: 200ms;
    transition-timing-function: ease-out;
  }
}

.o-tabslider__label {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  display: block;
  padding-bottom: 8px;
  text-transform: uppercase;
  color: #2C2C2C;
}
@media screen and (min-width: 840px) {
  .o-tabslider__label {
    display: none;
  }
}

.o-team {
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 840px) {
  .o-team {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .o-team {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (max-width: 839px) {
  .o-team {
    margin-top: 12vw;
    margin-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-team {
    margin-top: 10vw;
    margin-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .o-team {
    margin-top: 7.1428571429vw;
    margin-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .o-team {
    margin-top: 96px;
    margin-bottom: 96px;
  }
}

@media screen and (min-width: 600px) {
  .o-team__matrix {
    display: flex;
    flex-wrap: wrap;
    margin: -16px;
  }
}

.o-team__item {
  margin: 0 auto 32px;
  max-width: 320px;
}
@media screen and (min-width: 600px) {
  .o-team__item {
    margin: 16px;
    max-width: none;
    flex: none;
    flex-basis: calc(50% - 32px);
  }
}
@media screen and (min-width: 1000px) {
  .o-team__item {
    flex-basis: calc(33.33% - 32px);
  }
}
@media screen and (min-width: 1152px) {
  .o-team__item {
    flex-basis: calc(25% - 32px);
  }
}

@media screen and (max-width: 1151px) {
  .o-usp {
    background-color: #CDD736;
    background-image: linear-gradient(to bottom right, #8DC153 50%, #CDD736 125%);
  }
}

@media screen and (min-width: 840px) {
  .o-usp__main {
    display: flex;
  }
}

.o-usp__text {
  padding: 32px 0;
  color: #FFFFFF;
}
@media screen and (min-width: 1152px) {
  .o-usp__text {
    background-color: #CDD736;
    background-image: linear-gradient(to bottom right, #8DC153 50%, #CDD736 125%);
  }
}
@media screen and (min-width: 840px) {
  .o-usp__text {
    width: 62.5%;
    padding-top: 6.25%;
    padding-bottom: 6.25%;
    padding-left: 0;
    padding-right: 12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-usp__text {
    width: 50%;
    padding: 4.1666666667% 8.3333333333%;
  }
}

.o-usp__image {
  background-position: 50% 50%;
  background-size: cover;
}
@media screen and (max-width: 839px) {
  .o-usp__image {
    margin-left: -6vw;
    margin-right: -6vw;
    padding-bottom: 65%;
    min-height: 360px;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .o-usp__image {
    width: 50%;
    margin-right: -12.5%;
  }
}
@media screen and (min-width: 1152px) {
  .o-usp__image {
    width: 50%;
  }
}

.o-usp__heading {
  font-size: 2rem;
  line-height: 1.25;
  margin-bottom: 24px;
  color: #FFFFFF;
}

.o-usp__list {
  list-style-type: none;
  margin-left: 16px;
}

.o-usp__item {
  position: relative;
  padding-left: 16px;
}
.o-usp__item + .o-usp__item {
  margin-top: 16px;
}
.o-usp__item::before {
  content: "";
  position: absolute;
  top: 5px;
  left: -16px;
  width: 16px;
  height: 12px;
  background-image: url(/img/check/checked.svg);
  background-size: 16px 12px;
}

.o-usp__action {
  margin-top: 48px;
}

.o-usp__image {
  background-color: #F8F8F8;
  background-repeat: no-repeat;
}

.o-vacancies {
  margin: 0;
  padding: 0;
  line-height: 1.4;
  list-style: none;
}
.o-vacancies > * + * {
  margin-top: 16px;
}

.o-vacancies__link {
  display: block;
  padding: 20px;
  border: solid 2px #CDD736;
  font-size: 1.1em;
  color: #CDD736;
  text-decoration: none;
  transition: all 0.2s;
}
.o-vacancies__link:hover {
  color: #fcbd00;
  border: solid 2px #fcbd00;
}

/*  7 - Templates
 *  Override styling for a specific template
 =========================================================== */
/** ==========================================================================
 * Templates
 * =========================================================================*/
/*  8 - SCOPES
 *  Elements and classes that are scoped by a parent class
 =========================================================== */
.s-checklist {
  list-style: none;
  margin-left: 0;
}
.s-checklist li {
  display: flex;
  vertical-align: middle;
  margin-top: 5px;
  line-height: 1.45;
}
.s-checklist li::before {
  content: "";
  background-image: url(/img/check/checked.svg);
  background-repeat: no-repeat;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  transform: translateY(7px);
}
.checklist-has-x-small-font .s-checklist {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
.checklist-has-x-small-font .s-checklist li::before {
  transform: translateY(5px);
}

/**
 * All text elements that can be added by the user through a CMS
 */
.s-text h2, .s-text h3, .s-text h4 {
  color: #2C2C2C;
}
.s-text > * + * {
  margin-top: 32px;
}
.s-text > :first-child {
  margin-top: 0 !important;
}
.s-text > * + .c-button {
  margin-top: 40px;
}
.s-text > ul:not([class]) {
  list-style: none;
}
.s-text > ul:not([class]) > li {
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.125em;
}
.s-text > ul:not([class]) > li::before {
  font-size: 1.5rem;
  line-height: 1.3333333333;
  content: "\2022";
  position: absolute;
  top: -4px;
  left: 0;
}
.s-text > ol:not([class]) {
  list-style: none;
  counter-reset: ol-counter;
}
.s-text > ol:not([class]) > li {
  counter-increment: ol-counter;
  position: relative;
  margin-left: -1.125em;
  padding-left: 1.8em;
}
.s-text > ol:not([class]) > li::before {
  content: counter(ol-counter) ". ";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.275em;
  text-align: right;
}

/*  9 - UTILITIES
 *  High-specificity, very explicit selectors.
 *  Overrides and helper classes.
 =========================================================== */
/** =====================================================================================
 *  Color
 ===================================================================================== */
/**
 * Here we print out all our helper classes for our defined colors
 * Based on these articles:
 * - http://erskinedesign.com/blog/friendlier-colour-names-sass-maps/
 * - https://blog.atechmedia.com/css-for-multiple-themes/
 * Output is in the form of:

   .u-color-primary {
      color: #bada55;
   }

  .u-bg-neutral--900 {
    background-color: #decaff;
  }
 */
.u-color-primary--500 {
  color: #CDD736;
}

.u-bg-primary--500 {
  background-color: #CDD736;
}

.u-color-primary--700 {
  color: #8DC153;
}

.u-bg-primary--700 {
  background-color: #8DC153;
}

.u-color-secondary--500 {
  color: #FFCE3C;
}

.u-bg-secondary--500 {
  background-color: #FFCE3C;
}

.u-color-secondary--700 {
  color: #FF783E;
}

.u-bg-secondary--700 {
  background-color: #FF783E;
}

.u-color-tertiary--500 {
  color: #50C1E9;
}

.u-bg-tertiary--500 {
  background-color: #50C1E9;
}

.u-color-tertiary--700 {
  color: #0090C9;
}

.u-bg-tertiary--700 {
  background-color: #0090C9;
}

.u-color-neutral--0 {
  color: #FFFFFF;
}

.u-bg-neutral--0 {
  background-color: #FFFFFF;
}

.u-color-neutral--100 {
  color: #F8F8F8;
}

.u-bg-neutral--100 {
  background-color: #F8F8F8;
}

.u-color-neutral--200 {
  color: #F5F5F5;
}

.u-bg-neutral--200 {
  background-color: #F5F5F5;
}

.u-color-neutral--300 {
  color: #C8C8C8;
}

.u-bg-neutral--300 {
  background-color: #C8C8C8;
}

.u-color-neutral--400 {
  color: #999999;
}

.u-bg-neutral--400 {
  background-color: #999999;
}

.u-color-neutral--500 {
  color: #656565;
}

.u-bg-neutral--500 {
  background-color: #656565;
}

.u-color-neutral--800 {
  color: #2C2C2C;
}

.u-bg-neutral--800 {
  background-color: #2C2C2C;
}

.u-color-neutral--900 {
  color: #1D1D1D;
}

.u-bg-neutral--900 {
  background-color: #1D1D1D;
}

.u-color-neutral--1000 {
  color: #000000;
}

.u-bg-neutral--1000 {
  background-color: #000000;
}

.u-color-feedback--action {
  color: #4079B8;
}

.u-bg-feedback--action {
  background-color: #4079B8;
}

.u-color-feedback--warning {
  color: #ffd33a;
}

.u-bg-feedback--warning {
  background-color: #ffd33a;
}

.u-color-feedback--alert {
  color: #ff8100;
}

.u-bg-feedback--alert {
  background-color: #ff8100;
}

.u-color-feedback--negative {
  color: #cf3e3e;
}

.u-bg-feedback--negative {
  background-color: #cf3e3e;
}

.u-color-feedback--positive {
  color: #3ecf8e;
}

.u-bg-feedback--positive {
  background-color: #3ecf8e;
}

.u-color-border--0 {
  color: #fff;
}

.u-bg-border--0 {
  background-color: #fff;
}

.u-color-border--300 {
  color: #C8C8C8;
}

.u-bg-border--300 {
  background-color: #C8C8C8;
}

.u-color-border--500 {
  color: #656565;
}

.u-bg-border--500 {
  background-color: #656565;
}

.u-hidden {
  display: none !important;
}

.u-placeholder-image {
  height: 100% !important;
  width: 100% !important;
  object-fit: cover !important;
}

.u-text-align-center {
  text-align: center !important;
}

/*
* If you need to make a quick fix, you can do it here.
* Later when you have the time, you can move the fix into the correct place in the structure
*/
.u-spacing-mt0 {
  margin-top: 0px !important;
}

.u-spacing-mr0 {
  margin-right: 0px !important;
}

.u-spacing-mb0 {
  margin-bottom: 0px !important;
}

.u-spacing-ml0 {
  margin-left: 0px !important;
}

.u-spacing-pt0 {
  padding-top: 0px !important;
}

.u-spacing-pr0 {
  padding-right: 0px !important;
}

.u-spacing-pb0 {
  padding-bottom: 0px !important;
}

.u-spacing-pl0 {
  padding-left: 0px !important;
}

.u-spacing-mt1 {
  margin-top: 8px !important;
}

.u-spacing-mr1 {
  margin-right: 8px !important;
}

.u-spacing-mb1 {
  margin-bottom: 8px !important;
}

.u-spacing-ml1 {
  margin-left: 8px !important;
}

.u-spacing-pt1 {
  padding-top: 8px !important;
}

.u-spacing-pr1 {
  padding-right: 8px !important;
}

.u-spacing-pb1 {
  padding-bottom: 8px !important;
}

.u-spacing-pl1 {
  padding-left: 8px !important;
}

.u-spacing-mt2 {
  margin-top: 16px !important;
}

.u-spacing-mr2 {
  margin-right: 16px !important;
}

.u-spacing-mb2 {
  margin-bottom: 16px !important;
}

.u-spacing-ml2 {
  margin-left: 16px !important;
}

.u-spacing-pt2 {
  padding-top: 16px !important;
}

.u-spacing-pr2 {
  padding-right: 16px !important;
}

.u-spacing-pb2 {
  padding-bottom: 16px !important;
}

.u-spacing-pl2 {
  padding-left: 16px !important;
}

.u-spacing-mt3 {
  margin-top: 24px !important;
}

.u-spacing-mr3 {
  margin-right: 24px !important;
}

.u-spacing-mb3 {
  margin-bottom: 24px !important;
}

.u-spacing-ml3 {
  margin-left: 24px !important;
}

.u-spacing-pt3 {
  padding-top: 24px !important;
}

.u-spacing-pr3 {
  padding-right: 24px !important;
}

.u-spacing-pb3 {
  padding-bottom: 24px !important;
}

.u-spacing-pl3 {
  padding-left: 24px !important;
}

.u-spacing-mt4 {
  margin-top: 32px !important;
}

.u-spacing-mr4 {
  margin-right: 32px !important;
}

.u-spacing-mb4 {
  margin-bottom: 32px !important;
}

.u-spacing-ml4 {
  margin-left: 32px !important;
}

.u-spacing-pt4 {
  padding-top: 32px !important;
}

.u-spacing-pr4 {
  padding-right: 32px !important;
}

.u-spacing-pb4 {
  padding-bottom: 32px !important;
}

.u-spacing-pl4 {
  padding-left: 32px !important;
}

.u-spacing-mt5 {
  margin-top: 40px !important;
}

.u-spacing-mr5 {
  margin-right: 40px !important;
}

.u-spacing-mb5 {
  margin-bottom: 40px !important;
}

.u-spacing-ml5 {
  margin-left: 40px !important;
}

.u-spacing-pt5 {
  padding-top: 40px !important;
}

.u-spacing-pr5 {
  padding-right: 40px !important;
}

.u-spacing-pb5 {
  padding-bottom: 40px !important;
}

.u-spacing-pl5 {
  padding-left: 40px !important;
}

.u-spacing-mt6 {
  margin-top: 48px !important;
}

.u-spacing-mr6 {
  margin-right: 48px !important;
}

.u-spacing-mb6 {
  margin-bottom: 48px !important;
}

.u-spacing-ml6 {
  margin-left: 48px !important;
}

.u-spacing-pt6 {
  padding-top: 48px !important;
}

.u-spacing-pr6 {
  padding-right: 48px !important;
}

.u-spacing-pb6 {
  padding-bottom: 48px !important;
}

.u-spacing-pl6 {
  padding-left: 48px !important;
}

.u-spacing-mt7 {
  margin-top: 56px !important;
}

.u-spacing-mr7 {
  margin-right: 56px !important;
}

.u-spacing-mb7 {
  margin-bottom: 56px !important;
}

.u-spacing-ml7 {
  margin-left: 56px !important;
}

.u-spacing-pt7 {
  padding-top: 56px !important;
}

.u-spacing-pr7 {
  padding-right: 56px !important;
}

.u-spacing-pb7 {
  padding-bottom: 56px !important;
}

.u-spacing-pl7 {
  padding-left: 56px !important;
}

.u-spacing-mt8 {
  margin-top: 64px !important;
}

.u-spacing-mr8 {
  margin-right: 64px !important;
}

.u-spacing-mb8 {
  margin-bottom: 64px !important;
}

.u-spacing-ml8 {
  margin-left: 64px !important;
}

.u-spacing-pt8 {
  padding-top: 64px !important;
}

.u-spacing-pr8 {
  padding-right: 64px !important;
}

.u-spacing-pb8 {
  padding-bottom: 64px !important;
}

.u-spacing-pl8 {
  padding-left: 64px !important;
}

@media screen and (max-width: 839px) {
  .u-spacing-pv {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .u-spacing-pv {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
}
@media screen and (min-width: 1152px) and (max-width: 1343px) {
  .u-spacing-pv {
    padding-top: 7.1428571429vw;
    padding-bottom: 7.1428571429vw;
  }
}
@media screen and (min-width: 1344px) {
  .u-spacing-pv {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}

@media screen and (min-width: 1152px) {
  .u-spacing-pr0\@l {
    padding-right: 0 !important;
  }
}
/* ==========================================================================
 * This grid can be turned on and off when you want to check
 * if everything is nice in place.
 * Set flag 'showGrid' to true in site.php
 * ========================================================================== */
.u-visible-grid {
  z-index: 10000;
  width: calc(100% - 12vw);
  margin-left: auto;
  margin-right: auto;
  position: fixed;
  left: 0;
  right: 0;
  width: 100%;
  pointer-events: none;
  /* 8 point grid lines */
}
@media screen and (min-width: 840px) {
  .u-visible-grid {
    width: calc((100% / 10) * 8);
  }
}
@media screen and (min-width: 1152px) {
  .u-visible-grid {
    width: calc((100% / 14) * 12);
    max-width: 1152px;
  }
}
@media screen and (min-width: 840px) and (max-width: 1151px) {
  .u-visible-grid {
    padding: 0;
  }
}

.u-visible-grid__main {
  height: 100vh;
  background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 25%, rgba(0, 43, 255, 0.04) 25%, rgba(0, 43, 255, 0.04) 50%);
}
@media screen and (min-width: 840px) {
  .u-visible-grid__main {
    background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 12.5%, rgba(0, 43, 255, 0.04) 12.5%, rgba(0, 43, 255, 0.04) 25%);
  }
}
@media screen and (min-width: 1152px) {
  .u-visible-grid__main {
    background: repeating-linear-gradient(to right, rgba(0, 43, 255, 0.07), rgba(0, 43, 255, 0.07) 8.3333333333%, rgba(0, 43, 255, 0.04) 8.3333333333%, rgba(0, 43, 255, 0.04) 16.6666666667%);
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9zdHlsZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbG9ycy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLmNvbmZpZy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzEtU2V0dGluZ3MvX3NldHRpbmdzLnR5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8xLVNldHRpbmdzL19zZXR0aW5ncy5icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmNvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLmZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMubWVkaWFRdWVyaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvMi1Ub29scy9fdG9vbHMudG9vbGJveC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzItVG9vbHMvX3Rvb2xzLnppbmRleC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmJhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy8zLUVsZW1lbnRzL19lbGVtZW50cy5oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzMtRWxlbWVudHMvX2VsZW1lbnRzLmxpc3RzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNC1MYXlvdXRzL19sYXlvdXRzLmNvbnRhaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMuc3BsaXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy80LUxheW91dHMvX2xheW91dHMucmVzdHJpY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZ2hvc3RidXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuY2FyZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5jb25uZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmRhdGEuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuZG93bmxvYWRMaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmZvcm1Hcm91cC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5mb3JtRmVlZGJhY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGFtYnVyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLmhlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuaGVyby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5pbnB1dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5sYW5ndWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5wYWdlVGl0bGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMucHJvamVjdG9yLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnNlcnZpY2VQb2ludC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2l0ZW1hcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5za2lwTGluay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy5zbGlkZS1pbmRpY2F0b3Iuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy81LUNvbXBvbmVudHMvX2NvbXBvbmVudHMuc3VibmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnRleHQtYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNS1Db21wb25lbnRzL19jb21wb25lbnRzLnRyYWRlbWFyay5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzUtQ29tcG9uZW50cy9fY29tcG9uZW50cy52aWRlby5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmFjY29yZGlvbi5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuYmxvY2suc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmJvZHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNhbGxvdXRCYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmNhcmQtZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY29udGFjdC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuY29va2llQmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5kb3VibGVJbWFnZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZG91YmxlVGV4dC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuZG93bmxvYWRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmZvcm0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmhlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuaW50cm8uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLmxvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5tYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm5ld3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLm92ZXJsYXlNZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy5xdW90ZS5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMucmVmZXJlbmNlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMuc3ViZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNi1PcmdhbmlzbXMvX29yZ2FuaXNtcy50YWJzbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnRlYW0uc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy82LU9yZ2FuaXNtcy9fb3JnYW5pc21zLnVzcC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzYtT3JnYW5pc21zL19vcmdhbmlzbXMudmFjYW5jaWVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvNy1UZW1wbGF0ZXMvX3RlbXBsYXRlcy5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zYXNzLzgtU2NvcGVzL19zY29wZXMuY2hlY2tsaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOC1TY29wZXMvX3Njb3Blcy50ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLmhlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy85LVV0aWxpdGllcy9fdXRpbGl0aWVzLnNoYW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy5zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3Nhc3MvOS1VdGlsaXRpZXMvX3V0aWxpdGllcy52aXNpYmxlR3JpZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFnQjtBQUNoQjs7Ozs7OztnRUFBQTtBQ0RBOzs7OytEQUFBO0FBb0RBOzs7Ozs7Ozs7Ozs7R0FBQTtBQ3BEQTs7OENBQUE7QUFJQTs7O0VBQUE7QUNKQTs7OztnRUFBQTtBQU1BOztHQUFBO0FBK0NBOztHQUFBO0FDckRBOztrREFBQTtBSmNBOzsrREFBQTtBS2RBOzsrRUFBQTtBQUlBOzs7SUFBQTtBQWtCQTs7O0lBQUE7QUFRQTs7SUFBQTtBQzlCQTs7Z0ZBQUE7QUFLQTs7Ozs7Ozs7O0dBQUE7QUNMQTtnREFBQTtBQ0FBOztzREFBQTtBQUtBOzs7Ozs7Ozs7O0dBQUE7QUFpQ0E7Ozs7R0FBQTtBQWVBO0FBT0E7QUFPQTtBQWtCQTs7Ozs7Ozs7Ozs7R0FBQTtBQXdCQTs7Ozs7Ozs7Ozs7OztHQUFBO0FBaUNBOztHQUFBO0FBU0E7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQTBCQTs7Ozs7Ozs7Ozs7Ozs7R0FBQTtBQWdCQTs7OztHQUFBO0FBa0JBOzs7R0FBQTtBQXdCQTs7R0FBQTtBQzNPQTs7O3dHQUFBO0FBaUJBOzs7OztHQUFBO0FUS0E7OytEQUFBO0FVdEJBOztnRkFBQTtBQUlBOzs7Ozs7OztHQUFBO0FBVUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1Z3TEY7O0FVckxBO0VKU007RUFSQTtFSUNKO0VBQ0EsaUJQZmtCO0VPZ0JsQixrQ1ArQmE7RU85QmI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBYztDVjBMaEI7O0FVdkxBO0VBQ0U7RUFDQTtFQUNBO0NWMExGOztBVXRMQTs7Ozs7O0dBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtDVnlMRjtBVXZMRTtFQUdFO0NWdUxKOztBVW5MQTs7R0FBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQW1CO0NWdUxyQjs7QVVwTEE7R0FBQTtBQUVBO0VBQ0U7Q1Z1TEY7O0FVcExBOzs7OztHQUFBO0FBTUE7RUFDRTtFQUF3QjtFQUN4QjtFQUFjO0VBQ2Q7Q1Z5TEY7O0FVdExBOzs7R0FBQTtBQUlBOzs7RUFHRTtDVnlMRjs7QVVwTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtVQUFBO0NWdUxGO0FVckxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1Z1TEo7QVVuTEk7RUFDRTtFQUNBO0VBQ0E7Q1ZxTE47O0FVN0tBOzs7O0VBSUU7RUFDQTtDVmdMRjs7QVcxVEE7RUxnQ007RUFSQTtDTnVTTjs7QVczVEE7RUw0Qk07RUFSQTtFS2xCTDtDWCtURDs7QVc1VEE7RUx1Qk07RUFSQTtFS2JMO0NYZ1VEOztBVzdUQTtFTGtCTTtFQVJBO0VLUkw7Q1hpVUQ7O0FXOVRBO0VMYU07RUFSQTtFS0hMO0NYa1VEOztBWXZWQTs7eUZBQUE7QUFLQTs7R0FBQTtBQUlBOztFQUVDO0VBQ0E7RUFDQTtDWnVWRDs7QVlwVkE7RUFDQztDWnVWRDs7QVlsVkE7O0dBQUE7QUFLQzs7RUFFQztDWm1WRjs7QUFsVkE7OytEQUFBO0FhOUJBOztnRkFBQTtBQUtBO0VMMk9DO0VBQ0E7RUFDQTtDUjBJRDtBT3JWQztFTWxDRDtJTGlQSTtHUjBJRjtDQUNGO0FPMVZDO0VNbENEO0lMd1BFO0lBQ0E7R1J3SUE7Q0FDRjs7QWN2WUE7Ozs7b0ZBQUE7QUFPQTtFQUNDO0VBQ0E7RUFDQTtDZHdZRDtBTzNXQztFT2hDRDtJQU9FO0dkd1lBO0NBQ0Y7O0FjcFlBOzs7R0FBQTtBQUtBO0VOd05DO0VBQ0E7RUFDQTtDUitLRDtBTzFYQztFT2ZEO0lOZ09HO0dSNktEO0NBQ0Y7QU8vWEM7RU9mRDtJTnFPRTtJQUNBO0dSNktBO0NBQ0Y7O0FPcllDO0VPVkQ7SUFJRTtHZGdaQTtDQUNGO0FPM1lDO0VPRkE7SUFFRTtJQUNBO0dkK1lEO0NBQ0Y7QU9qWkM7RU9GQTtJQU1FO0lBQ0E7R2RpWkQ7Q0FDRjtBT3ZaQztFT1VBO0lOdURLO0dSMFZKO0NBQ0Y7QU81WkM7RU9VQTtJQU1FO0dkZ1pEO0NBQ0Y7QWMzWUU7RUFDQztDZDZZSDtBT3BhQztFT3NCQztJQUlFO0lBQ0E7R2Q4WUY7Q0FDRjtBTzFhQztFT3NCQztJQVFFO0dkZ1pGO0NBQ0Y7O0FPL2FDO0VPdUNFO0lBQ0M7SUFDQTtJQUNBO0dkNFlGO0VjMVlDO0lBQ0M7R2Q0WUY7Q0FDRjtBY3RZQTs7O0dBQUE7QVBwREM7RU93REQ7SUFFRTtJQUNBO0lBQ0E7SUFDQTtHZHdZQTtDQUNGO0FPdGNDO0VPd0REO0lBUUU7SUFDQTtHZDBZQTtDQUNGOztBY3BZQTtFQUNDO0VBQ0E7Q2R1WUQ7QU9qZEM7RU93RUQ7SUFLRTtJQUNBO0dkd1lBO0NBQ0Y7O0FPdmRDO0VPcUZBO0lBQ0M7R2RzWUE7Q0FDRjtBZXBnQkE7Ozs7O2dGQUFBO0FSdUNDO0VRL0JEO0lBRUk7SUFDQTtJQUNBO0lBQ0E7R2ZvZ0JGO0NBQ0Y7QU8zZUM7RVEvQkQ7SUFRSTtHZnNnQkY7Q0FDRjs7QU9oZkM7RVFuQkQ7SUFFSTtJQUNBO0lBQ0E7R2ZzZ0JGO0NBQ0Y7QU94ZkM7RVFuQkQ7SUFRSTtHZnVnQkY7Q0FDRjs7QUE5ZkE7OzsrREFBQTtBZ0J0Q0E7OzhFQUFBO0FDQUE7RUFDQztDakI4aUJEOztBaUIzaUJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2pCOGlCRDs7QWlCMWlCQTtFQUNDO0VBQ0E7Q2pCNmlCRDtBaUIxaUJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0NqQjJpQkg7O0FpQnRpQkE7RUFDQztFQUNBO0NqQnlpQkQ7QWlCdmlCQztFQUNDO0NqQnlpQkY7O0FrQmxrQkE7RVY4SkU7RUYxSUk7RUFSQTtFWVRMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJza0JEO0FrQnBrQkM7RUFDQztFQUNBO0NsQnNrQkY7QWtCcGtCQztFQUNDO0VBQ0E7Q2xCc2tCRjtBa0Jwa0JDO0VBQ0M7RUFDQTtDbEJza0JGO0FrQmxrQkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbEJva0JGO0FrQmprQkM7RUFDQztFQUNBO0NsQm1rQkY7O0FrQi9qQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtDbEJra0JEO0FrQmhrQkM7RUFDQztDbEJra0JGOztBa0I5akJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NsQmlrQkQ7QWtCL2pCQztFQUNDO0NsQmlrQkY7QWtCN2pCQztFQUNDO0VBQ0E7Q2xCK2pCRjtBa0I1akJDO0VBQ0M7RUFDQTtDbEI4akJGOztBbUJocUJBOztnRkFBQTtBQVNBO0VYaUtFO0VGMUlJO0VBUkE7RWFaTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkI4cEJEO0FtQjVwQkM7RUFDQztFQUNBO0NuQjhwQkY7QW1CM3BCQztFQUNDO0VBQ0E7Q25CNnBCRjtBbUIzcEJDO0VBQ0M7RUFDQTtDbkI2cEJGO0FtQnpwQkM7RVhpSUM7RVcvSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25CMnBCRjtBbUJ2cEJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkJ5cEJIOztBbUJwcEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q25CdXBCRDtBbUJycEJDO0VBQ0M7Q25CdXBCRjs7QW1CbnBCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDbkJzcEJEO0FtQnBwQkM7RUFDQztDbkJzcEJGO0FtQm5wQkM7RUFDQztFQUNBO0NuQnFwQkY7QW1CanBCQztFQUNDO0VBQ0E7Q25CbXBCRjs7QW9CdnVCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCMHVCRDs7QW9CdnVCQTs7R0FBQTtBQUdBO0VBRUM7RUFDQTtDcEJ5dUJEO0FRcGlCQztFQUVDO0NScWlCRjtBb0IxdUJDO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQjJ1QkY7QW9CdnVCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCeXVCRjtBb0JwdUJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQnN1QkY7QW9CanVCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQm11Qkg7QW9CaHVCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQmt1Qkg7QW9CL3RCQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NwQml1QkY7O0FvQjd0QkE7RUFDQztFQUNBO0VBQ0E7Q3BCZ3VCRDs7QW9CN3RCQTtFQUNDO0VBQ0E7RUFDQTtDcEJndUJEOztBb0I3dEJBO0VkM0VNO0VBUkE7RWNxRkw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDcEJpdUJEO0FvQi90QkM7RUFDQztDcEJpdUJGO0FvQjd0QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BCOHRCRjtBb0I1dEJFO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3BCOHRCSDs7QW9CenRCQTtFQUNDO0VBQ0E7Q3BCNHRCRDs7QW9CMXRCQTtFZDdITTtFQVJBO0VjdUlMO0NwQjh0QkQ7O0FvQjV0QkE7RUFDQztDcEIrdEJEOztBb0I3dEJBO0VBQ0M7Q3BCZ3VCRDtBb0I3dEJDO0VBQ0M7Q3BCK3RCRjs7QXFCOTNCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQmk0QkQ7QXFCLzNCQztFQUNDO0NyQmk0QkY7QXFCOTNCQztFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQiszQkY7QXFCNzNCQztFQUNDO0NyQiszQkY7QXFCNzNCQztFQUNDO0NyQiszQkY7QXFCNTNCQztFQUNDO0NyQjgzQkY7O0FzQnA2QkE7RUFDQztFQUNBO0VBQ0E7Q3RCdTZCRDtBTy80QkM7RWUzQkQ7SUFNRTtHdEJ3NkJBO0NBQ0Y7O0FzQnA2QkE7RWhCU007RUFSQTtFZ0JFTDtFQUNBO0VBQ0E7RUFDQTtDdEJ1NkJEO0FRanVCQztFQUVDO0NSa3VCRjtBc0J4NkJDO0VBQ0M7RUFDQTtDdEIwNkJGO0FzQnY2QkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDdEJ5NkJGOztBc0JwNkJBO0VBQ0M7RUFDQTtDdEJ1NkJEO0FPLzZCQztFZU1EO0lBS0U7R3RCdzZCQTtDQUNGOztBdUJoOUJBO0VBQ0M7Q3ZCbTlCRDs7QXVCaDlCQTtFQUNDO0N2Qm05QkQ7O0F1Qmg5QkE7RUFDQztFQUNBO0VBQ0E7Q3ZCbTlCRDs7QXVCaDlCQTtFQUNJO0VBQ0g7Q3ZCbTlCRDtBUTN3QkM7RUFFQztDUjR3QkY7QXVCajlCRTtFQUNDO0N2Qm05Qkg7QXVCajlCRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N2Qm05Qkg7O0F3QjEvQkE7RUFDRTtFQUNBO0VBQ0E7Q3hCNi9CRjs7QXdCMS9CQTtFQUNFO0VBQ0E7Q3hCNi9CRjtBd0IzL0JFO0VBQ0U7Q3hCNi9CSjs7QXdCei9CQTtFQUNFO0VBQ0E7RUFDQTtDeEI0L0JGOztBd0J6L0JBO0VBQ0U7RUFDQTtDeEI0L0JGO0F3QjEvQkU7RUFDRTtDeEI0L0JKOztBd0J4L0JBO0VBQ0U7RUFDQTtDeEIyL0JGO0F3QnovQkU7RUFDRTtDeEIyL0JKOztBeUJuaENBO0VuQnFCTTtFQVJBO0VtQlhKO0VBQ0E7RUFDQTtDekJ1aENGOztBeUJwaENBO0VBQ0U7Q3pCdWhDRjtBeUJyaENFO0VuQldJO0VBUkE7RW1CREY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3pCd2hDSjs7QTBCemlDQTtFcEJvQk07RUFSQTtFRStJSjtFa0J4SkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDMUI2aUNGO0EwQjNpQ0U7RUFDRTtDMUI2aUNKO0EwQjFpQ0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxQjRpQ0o7QTBCemlDRTtFQUNFO0MxQjJpQ0o7O0EyQnhrQ0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDM0Iya0NEO0EyQnprQ0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDM0Iya0NGO0EyQnhrQ0M7RUFHQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNCd2tDRjtBMkJya0NDO0VBQ0M7RUFDQTtDM0J1a0NGO0EyQnBrQ0M7RUFDQztFQUNBO0MzQnNrQ0Y7QTJCbGtDRTtFQUNDO0MzQm9rQ0g7QTJCbGtDRTtFQUVDO0MzQm1rQ0g7QTJCOWpDRTtFQUNDO0MzQmdrQ0g7QTJCOWpDRTtFQUNDO0VBQ0E7QzNCZ2tDSDtBMkI5akNFO0VBQ0M7RUFDQTtDM0Jna0NIOztBNEI3b0NBO0V0QmdDTTtFQVJBO0VzQnRCTDtFQUNBO0M1QmlwQ0Q7O0FPN21DQztFcUJqQ0Q7SUFFRTtHNUJpcENBO0NBQ0Y7O0FPbm5DQztFc0I1QkQ7SXJCcU9DO0lBQ0E7SUFDQTtHUis2QkM7Q0FDRjtBTzNuQ0M7RXNCNUJEO0lyQjJPSTtHUmc3QkY7Q0FDRjtBT2hvQ0M7RXNCNUJEO0lyQmtQRTtJQUNBO0dSODZCQTtDQUNGOztBNkI1cENBO0VBQ0U7RUFDQTtDN0IrcENGOztBNkI1cENBO0VBQ0U7RUFDQTtFQUNBO0M3QitwQ0Y7QU9qcENDO0VzQmpCRDtJQU1JO0c3QmdxQ0Y7Q0FDRjs7QTZCN3BDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCZ3FDRjtBNkI5cENFO0VBQ0U7RUFDQTtFQUNBO0M3QmdxQ0o7O0E2QjVwQ0E7RUFDRTtDN0IrcENGOztBNkI1cENBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDN0I4cENGO0FPcnJDQztFc0JjRDtJQVlJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RzdCK3BDRjtDQUNGO0FPOXJDQztFc0JjRDtJQXFCSTtJQUNBO0lBQ0E7RzdCK3BDRjtDQUNGO0FPcnNDQztFc0JjRDtJdkJyQk07SUFSQTtJdUJ5REY7SUFDQTtHN0JpcUNGO0NBQ0Y7O0E2QjlwQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M3QmlxQ0Y7QTZCL3BDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCaXFDSjs7QTZCM3BDQTtFQUtFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzdCMHBDRjtBT2h2Q0M7RXNCb0VEO0lBRUk7RzdCOHFDRjtDQUNGO0E2QjdwQ0U7RUFDRTtDN0IrcENKO0E2QjVwQ0U7RUFDRTtFQUNBO0M3QjhwQ0o7QTZCNXBDSTtFQUNFO0M3QjhwQ047QTZCMXBDRTtFQUNFO0VBQ0E7RUFDQTtDN0I0cENKOztBOEI1eENBO0V4QmlCTTtFQVJBO0V3QlBMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUJneUNEO0E4Qjl4Q0M7RUFDQztFQUNBO0M5Qmd5Q0Y7QThCN3hDQztFQUNDO0VBQ0E7QzlCK3hDRjtBOEI1eENVO0VBQ1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUI4eENGOztBOEIxeENBO0VBQ0M7QzlCNnhDRDs7QStCM3pDQTtFQUNDO0MvQjh6Q0Q7O0ErQjN6Q0E7RXpCY007RUFSQTtFRStJSjtFdUJsSkQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7RUFDQTtDL0IrekNEO0ErQjd6Q0M7RUFDQztDL0IrekNGOztBK0J2ekNBO0VBQ0M7RUFDQTtDL0IwekNEOztBK0J2ekNBO0VBQ0M7RUFDQTtDL0IwekNEOztBK0J2ekNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvQjB6Q0Q7QStCeHpDQztFQUNDO0VBQ0E7RUFDQTtDL0IwekNGOztBK0J0ekNBO0VBQ0M7RUFDQTtDL0J5ekNEO0ErQnZ6Q0M7RUFDQztDL0J5ekNGO0ErQnR6Q0M7RUFDQztDL0J3ekNGO0ErQnJ6Q0M7RUFDQztDL0J1ekNGO0ErQnB6Q0M7RUFDQztDL0JzekNGOztBK0JsekNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9CcXpDRDtBK0JuekNDO0VBQ0M7RUFDQTtDL0JxekNGOztBZ0N6NUNBOztFQUFBO0FBV0E7RUFDQztFQUNBO0NoQ281Q0Q7O0FnQ2o1Q0E7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDbzVDRDs7QWdDaDVDQTtFMUJFTTtFQVJBO0UwQlFMO0VBQ0E7Q2hDbzVDRDtBZ0NsNUNDO0VBQ0M7Q2hDbzVDRjs7QWdDLzRDQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2hDaTVDRDtBUTd0Q0M7RUFFQztDUjh0Q0Y7QWdDbDVDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NoQ281Q0Y7QWdDajVDQztFQUNDO0NoQ201Q0Y7QWdDajVDRTtFQUNDO0VBQ0E7Q2hDbTVDSDtBZ0M5NENDO0VBQ0M7RUFDQTtDaENnNUNGO0FnQzk0Q0U7RUFDQztFQUNBO0VBQ0E7Q2hDZzVDSDtBZ0M1NENDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2hDODRDRjs7QWlDNTlDQTtFQUNDO0VBQ0E7RUFDQTtFekIySkM7RXlCekpEO0VBQ0E7RUFDQTtFQUNBO0NqQys5Q0Q7O0FpQzU5Q0E7RUFDQztFQUNBO0VBQ0E7Q2pDKzlDRDtBT2w5Q0M7RTBCaEJEO0lBT0U7R2pDKzlDQTtFaUM3OUNBO0lBSUM7R2pDNDlDRDtFaUN6OUNBO0lBQ0M7R2pDMjlDRDtDQUNGO0FpQ3g5Q0M7RUFDQztFQUNBO0NqQzA5Q0Y7O0FpQ3Q5Q0E7Ozs7RUFJQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pDeTlDRDs7QWlDdDlDQTtFQUNDO0VBQ0E7Q2pDeTlDRDs7QWlDdDlDQTtFQUNDO0VBQ0E7RUFDQTtDakN5OUNEO0FpQ3Y5Q0M7RUFDQztFQUNBO0NqQ3k5Q0Y7QWlDdDlDQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0NqQ3c5Q0Y7O0FpQ3A5Q0E7O0VBRUM7RUFDQTtDakN1OUNEO0FpQ3I5Q0M7O0VBQ0M7RUFDQTtDakN3OUNGOztBaUNwOUNBO0VBQ0M7Q2pDdTlDRDs7QWtDeGpEQTs7R0FBQTtBQUlBO0UxQjRPQztFQUNBO0VBQ0E7RUF6QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFMEJ0TkM7RUFDQTtFQUNBO0NsQ2drREY7QU9saURDO0UyQm5DRDtJMUJrUEk7R1J1MUNGO0NBQ0Y7QU92aURDO0UyQm5DRDtJMUJ5UEU7SUFDQTtHUnExQ0E7Q0FDRjtBTzdpREM7RTJCbkNEO0lBUUk7SUFDQTtHbEM0a0RGO0NBQ0Y7O0FrQ3prREE7RUFDRTtFQUNBO0VBQ0E7Q2xDNGtERjtBT3pqREM7RTJCdEJEO0lBTUk7R2xDNmtERjtDQUNGO0FPOWpEQztFMkJ0QkQ7SUFTSTtHbEMra0RGO0NBQ0Y7O0FPbmtEQztFMkJURDtJQUVJO0lBQ0E7R2xDK2tERjtDQUNGOztBa0M1a0RBO0U1QkxNO0VBUkE7RTRCZUo7Q2xDZ2xERjs7QWtDN2tEQTtFNUJWTTtFQVJBO0U0Qm9CSjtDbENpbERGOztBbUM3bkRBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q25DZ29ERDs7QW1DNW5EQTtFQUNDO0VBQUE7RUFDQTtFQUFBO0VBQ0E7RUFBQTtFQUNBO0NuQytuREQ7O0FtQzNuREE7RTdCZ0JNO0VBUkE7RTZCTkw7RUFBQTtFQUNBO0VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0NuQytuREQ7O0FtQzNuREE7RUFDQztFQUFBO0VBQ0E7RUFBQTtFQUNBO01BQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25DOG5ERDtBbUM1bkRDO0VBQ0M7Q25DOG5ERjtBbUMzbkRDO0VBQ0M7Q25DNm5ERjs7QW1DeG5EQTtFQUNDO0VBQUE7RUFDQTtFQUFBO0VBQ0E7TUFBQTtFQUNBO0VBQ0E7Q25DMm5ERDs7QW1Ddm5EQTtFQUVDO0VBQ0E7RUFDQTtDbkN5bkREO0FPOW9EQztFNEJpQkQ7SUFPRTtHbkMwbkRBO0NBQ0Y7O0FvQ3RyREE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NwQ3lyREQ7O0FvQ3JyREE7RUFDQztFQUNBO0VBQ0E7RUFDQSxvQkFoQm9CO0VBaUJwQjtDcEN3ckREOztBb0NwckRBO0U1Qm1NQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0U0QnJNQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BDMnJERDtBT2pyREM7RTZCakJEO0lBVUU7R3BDNHJEQTtDQUNGOztBb0N4ckRBO0VBQ0M7Q3BDMnJERDs7QW9DdnJEQTtFQUNDO0NwQzByREQ7O0FvQ3RyREE7RTlCZk07RUFSQTtFOEJ5Qkw7RUFDQTtDcEMwckREOztBb0N0ckRBO0U5QnRCTTtFQVJBO0U4QmdDTDtDcEMwckREOztBcUNsdkRBOzs7OztHQUFBO0FBV0E7RTdCNEpFO0VGdklJO0VBR0U7RStCckJQLDJKbEMyQ2M7RWtDMUNkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3JDZ3ZERDtBcUM5dURDO0VBQ0M7Q3JDZ3ZERjtBcUM5dURFO0VBQ0M7RUFDQTtDckNndkRIO0FxQzd1REU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0NyQyt1REg7QXFDM3VEQztFQUNDO0NyQzZ1REY7O0FxQ3h1REE7RUFDQztDckMydUREOztBc0N2eURBO0VoQ2dDTTtFQVJBO0VnQ3RCTDtDdEMyeUREOztBc0N4eURBO0VBQ0M7RUFDQTtFQUNBO0N0QzJ5REQ7QXNDenlEQztFQUNDO0VBQ0E7Q3RDMnlERjs7QXVDdnpEQTs7R0FBQTtBQUlBO0VqQzRCTTtFQVJBO0VpQ2xCSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3ZDMHpERjtBdUN4ekRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFVO0N2QzJ6RGQ7O0F3Q3h6REE7RUFDQztFQUNBO0VBQ0E7Q3hDMnpERDs7QXdDeHpEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEMyekREO0F3Q3p6REM7RUFDQztDeEMyekRGO0F3Q3h6REM7RUFDQztDeEMwekRGO0F3Q3Z6REM7RUFDQztDeEN5ekRGO0F3Q3R6REM7RUFDQztFQUNBO0N4Q3d6REY7QXdDcnpEQztFQUNDO0VBQ0E7Q3hDdXpERjs7QXdDbnpEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeENzekREO0F3Q3B6REM7RUFDQztDeENzekRGO0F3Q256REM7RUFFQztDeENvekRGO0F3Q2p6REM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQztDeENpekRIO0F3Qzd5REM7RUFFQyw0QkFEUztFQUVULDhCQUZTO0VBR1QsK0JBSFM7RUFJVCw2QkFKUztFQUtUO0N4Qzh5REY7QXdDM3lEQztFQUVDLDZCQURTO0VBRVQsK0JBRlM7RUFHVCxnQ0FIUztFQUlULDhCQUpTO0VBS1Q7RUFDQTtFQUNBO0N4QzR5REY7QXdDeHlERTtFQUNDO0VBQ0E7RUFDQTtDeEMweURIO0F3Q3Z5REU7RUFDQztFQUNBO0N4Q3l5REg7QXdDcnlEQztFQUNDO0N4Q3V5REY7QXdDcnlERTtFQUVDO0N4Q3N5REg7QXdDbnlERTtFQUVDO0N4Q295REg7O0F5Qzc1REE7RUFDQztDekNnNkREOztBeUM1NURBO0VBQ0M7RUFDQTtDekMrNUREO0FPNTREQztFa0NyQkQ7SUFLRTtHekNnNkRBO0NBQ0Y7O0F5QzU1REE7RUFDQztDekMrNUREOztBeUMzNURBO0VBQ0M7RUFDQTtDekM4NUREO0F5QzU1REM7RUFDQztDekM4NURGOztBeUN6NURBO0VBQ0M7Q3pDNDVERDs7QXlDeDVEQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6QzA1REQ7QVEvdURDO0VBRUM7Q1JndkRGO0F5QzM1REM7RUFDQztDekM2NURGO0F5QzE1REM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDekM0NURGO0F5Q3o1REM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N6QzI1REY7QXlDejVERTtFQUNDO0VBQ0E7Q3pDMjVESDs7QXlDcjVEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekN3NUREO0F5Q3Q1REM7RUFDQztFQUNBO0VBQ0E7Q3pDdzVERjs7QXlDajVEQztFQUNDO0VBQ0E7Q3pDbzVERjtBeUNsNURFO0VBQ0M7RUFDQTtDekNvNURIO0F5Q2g1REM7RUFDQztDekNrNURGOztBMEM1L0RBOzs7R0FBQTtBQUtBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFBd0M7RUFDeEM7RUFBWTtFQUNaO0VBQStCO0VBQy9CO0VBQWM7RUFDZDtFQUNBO0VBQ0E7QzFDaWdFRDtBUXh6REM7RUFFQztDUnl6REY7QTBDbGdFQztFQUNDO0MxQ29nRUY7QTBDbGdFQztFQUNDO0VBQ0E7QzFDb2dFRjtBMENsZ0VDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QzFDb2dFRjs7QTBDaGdFQTtFcENYTTtFQVJBO0NOd2hFTjs7QTBDamdFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0MxQ29nRUQ7QTBDbGdFQztFQUNDO0MxQ29nRUY7QTBDamdFQztFQUNDO0MxQ21nRUY7O0EwQzcvREM7RUFBc0I7QzFDaWdFdkI7QTBDaGdFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzFDa2dFRjtBMENoZ0VDO0VBQ0M7QzFDa2dFRjs7QTJDbGtFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzNDb2tFRDtBUWgzREM7RUFFQztDUmkzREY7QTJDcmtFQztFQUNDO0MzQ3VrRUY7QTJDcGtFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0MzQ3NrRUY7O0EyQ2xrRUE7RUFDQztFQUNBO0MzQ3FrRUQ7O0EyQ2xrRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0MzQ3FrRUQ7QTJDbmtFQztFQUNDO0MzQ3FrRUY7O0E0Qy9tRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1Q2tuRUY7O0E0Qy9tRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M1Q2tuRUY7O0FBaGxFQTs7K0RBQUE7QTZDL0NBOzs4RUFBQTtBQ29CQTtFdEM0TkM7RUFDQTtFQUNBO0NSeTVERDtBT3BtRUM7RXVDbkJEO0l0Q2tPSTtHUnk1REY7Q0FDRjtBT3ptRUM7RXVDbkJEO0l0Q3lPRTtJQUNBO0dSdTVEQTtDQUNGOztBOEM5bkVBO0V0Q2tKRTtFc0MvSUQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlDZ29FRDtBUW45REM7RUFDQyxpQnNDdExZO0M5QzJvRWQ7QThDam9FQztFQUNDO0M5Q21vRUY7O0E4Qy9uRUE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlDa29FRDtBTzVvRUM7RXVDQ0Q7SUFZRTtHOUNtb0VBO0NBQ0Y7QU9qcEVDO0V1Q0NEO0lBZUU7RzlDcW9FQTtDQUNGO0E4Q2xvRUM7RUFDQztDOUNvb0VGOztBOENob0VBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUNtb0VEO0FPMXFFQztFdUN5QkQ7SUFpQkU7RzlDb29FQTtDQUNGO0FPL3FFQztFdUN5QkQ7SUFvQkU7RzlDc29FQTtDQUNGO0E4Q3BvRUM7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0M5Q3FvRUY7QThDam9FRTtFQUNDO0M5Q21vRUg7QThDL25FQztFQUNDO0M5Q2lvRUY7QThDL25FRTtFQUNDO0M5Q2lvRUg7O0E4QzVuRUE7RXhDckZNO0VBUkE7RXdDK0ZMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUNnb0VEO0FPcnRFQztFdUM4RUQ7SXhDckZNO0lBUkE7R055dUVKO0NBQ0Y7O0E4Qy9uRUE7QUFDQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0M5Q2dvRUQ7QVF0a0VDO0VBQ0MsbUJBRjJCO0NSMGtFN0I7QU96dUVDO0V1QzZGRDtJQVlFO0c5Q29vRUE7Q0FDRjtBTzl1RUM7RXVDNkZEO0lBZUU7RzlDc29FQTtDQUNGO0E4Q3BvRUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0M5Q3FvRUY7O0FPN3ZFQztFd0N2Q0Q7SXZDd0dNO0dSaXNFSjtDQUNGO0FPbndFQztFd0N2Q0Q7SXZDK0hNO0dSK3FFSjtDQUNGO0FPeHdFQztFd0N2Q0Q7SXZDb0lNO0dSK3FFSjtDQUNGO0FPN3dFQztFd0N2Q0Q7SXZDeUlNO0dSK3FFSjtDQUNGO0FPbHhFQztFd0NqQ0E7SXZDa0dLO0dScXRFSjtDQUNGO0FPdnhFQztFd0NqQ0E7SXZDeUhLO0dSbXNFSjtDQUNGO0FPNXhFQztFd0NqQ0E7SXZDOEhLO0dSbXNFSjtDQUNGO0FPanlFQztFd0NqQ0E7SXZDbUlLO0dSbXNFSjtDQUNGOztBZ0Q3MEVDOzs7RUFBQTtBQU1EO0V2Q21CQztFdUNqQkE7RUFDQTtDaEQ4MEVEOztBaUQ1MEVBO0V6QzhNQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0V5Q2hOQTtFQUNBO0VBQ0U7Q2pEbTFFSDs7QWlEaDFFQTtFekM4TkM7RUFDQTtFQUNBO0NSc25FRDtBT2owRUM7RTBDckJEO0l6Q29PSTtHUnNuRUY7Q0FDRjtBT3QwRUM7RTBDckJEO0l6QzJPRTtJQUNBO0dSb25FQTtDQUNGO0FPNTBFQztFMENyQkQ7SXpDc0ZNO0lBQUE7R1JneEVKO0NBQ0Y7QU9sMUVDO0UwQ3JCRDtJekM2R007SUFBQTtHUit2RUo7Q0FDRjtBT3gxRUM7RTBDckJEO0l6Q2tITTtJQUFBO0dSZ3dFSjtDQUNGO0FPOTFFQztFMENyQkQ7SXpDdUhNO0lBQUE7R1Jpd0VKO0NBQ0Y7QU9wMkVDO0UwQ2JBO0l6QzhFSztHUnV5RUo7Q0FDRjtBT3oyRUM7RTBDYkE7SXpDcUdLO0dScXhFSjtDQUNGO0FPOTJFQztFMENiQTtJekMwR0s7R1JxeEVKO0NBQ0Y7QU9uM0VDO0UwQ2JBO0l6QytHSztHUnF4RUo7Q0FDRjs7QWlENzNFQTtFQUNDO0NqRGc0RUQ7O0FpRDUzRUE7RTNDUE07RUFSQTtDTmc1RU47O0FrRHg2RUE7OztHQUFBO0EzQ3VDQztFMkN4QkQ7SUFFSTtJQUNBO0dsRGc2RUY7Q0FDRjs7QU81NEVDO0UyQ2JHO0lBQ0U7R2xENjVFSjtDQUNGO0FPbDVFQztFMkNqQkQ7SUFXSTtJQUNBO0dsRDQ1RUY7Q0FDRjtBT3g1RUM7RTJDakJEO0lBaUJJO0lBRUE7SUFDQTtHbEQyNUVGO0VrRHo1RUU7SUFDRTtHbEQyNUVKO0VrRHg1RUU7SUFDRTtHbEQwNUVKO0NBQ0Y7QU9yNkVDO0UyQ2pCRDtJQWlDSTtJQUVBO0lBQ0E7R2xEdzVFRjtFa0R0NUVFO0lBQ0U7R2xEdzVFSjtFa0RyNUVFO0lBQ0UsaUJBekRrQjtHbERnOUV0QjtDQUNGOztBbUQvOEVBO0VBQ0M7RUFDQTtDbkRrOUVEO0FPdjdFQztFNEM3QkQ7SUFLRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0duRG05RUE7Q0FDRjs7QW1ELzhFQTtFQUdDO0VBQ0Esa0JqRFN3QjtFaURSeEIsbUJqRFF3QjtDRnc4RXpCO0FPdDhFQztFNENmRDtJM0NrUEU7SUFDQTtHUnV1RUE7Q0FDRjtBTzU4RUM7RTRDZkQ7STNDa1BFO0lBQ0E7R1I2dUVBO0NBQ0Y7QU9sOUVDO0U0Q2ZEO0lBU0U7SUFDQTtJQUNBO0lBQ0E7R25ENDlFQTtDQUNGOztBbUR6OUVBO0VBR0M7RUFDQTtFQUNBO0NuRDA5RUQ7QU9oK0VDO0U0Q0NEO0kzQ2tPRTtJQUNBO0dSaXdFQTtDQUNGO0FPdCtFQztFNENDRDtJM0NrT0U7SUFDQTtHUnV3RUE7Q0FDRjtBTzUrRUM7RTRDQ0Q7SUFRRTtJQUNBO0lBQ0E7R25EdStFQTtDQUNGOztBbURwK0VBO0UzQ21LQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VGN0xLO0VBUkE7RTZDaUNMO0VBQ0E7Q25ENCtFRDs7QW1EeitFQTtFQUNDO0NuRDQrRUQ7O0FtRHIrRUE7RUFDQztDbkR3K0VEOztBb0R0aUZBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFsRHdCMkI7RWtEdkIzQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3BEeWlGRDtBb0R0aUZDO0UzQ0VBO0UyQ0FDO0VBQ0E7RUFDQTtDcER3aUZGO0FvRHJpRkM7RUFDQztFQUNBO0VBQ0E7Q3BEdWlGRjs7QW9EbmlGQTtFQUNDO0VBQ0E7RUFDQTtDcERzaUZEO0FPdmlGQztFNkNGRDtJQU1FO0dwRHVpRkE7Q0FDRjs7QW9EcGlGQTtFQUNDO0VBQ0E7Q3BEdWlGRDtBT2pqRkM7RTZDUUQ7STlDZk07SUFSQTtHTnFrRko7Q0FDRjs7QW9EdGlGQTtFQUNDO0VBQ0E7Q3BEeWlGRDtBb0R2aUZDO0VBQ0M7Q3BEeWlGRjs7QW9EcmlGQTtFQUNDO0VBQ0E7Q3BEd2lGRDtBT3BrRkM7RTZDMEJEO0lBS0U7R3BEeWlGQTtDQUNGOztBcURobkZBOzs7O29GQUFBO0FBUUE7RUFDQztFQUNBO0NyRGduRkQ7QU9ubEZDO0U4Qy9CRDtJQU9FO0dyRCttRkE7Q0FDRjs7QXFEM21GQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0NyRDhtRkQ7QU8vbEZDO0U4Q25CRDtJQU9FO0lBQ0E7SUFDQTtHckQrbUZBO0VxRDdtRkE7SUFDQztHckQrbUZEO0NBQ0Y7O0FxRDFtRkE7RUFDQztFQUNBO0NyRDZtRkQ7O0FxRHhtRkM7RUFDQztDckQybUZGO0FxRHptRkU7RUFDQztFQUNBO0NyRDJtRkg7O0FzRDdwRkE7Ozs7b0ZBQUE7QUFPQTtFQUNDO0VBQ0E7RUFDQTtDdEQ4cEZEO0FPam9GQztFK0NoQ0Q7SUFPRTtHdEQ4cEZBO0NBQ0Y7O0FPdG9GQztFK0NwQkQ7SUFHRTtHdEQ0cEZBO0NBQ0Y7QU81b0ZDO0UrQ2RBO0lBRUU7SUFDQTtHdEQ0cEZEO0NBQ0Y7QU9scEZDO0UrQ2RBO0lBTUU7R3REOHBGRDtDQUNGO0FPdnBGQztFK0NKQTtJOUNxRUs7R1IwbEZKO0NBQ0Y7QU81cEZDO0UrQ0pBO0lBTUU7R3REOHBGRDtDQUNGO0FPanFGQztFK0NKQTtJQVNFO0lBQ0E7R3REZ3FGRDtDQUNGOztBT3ZxRkM7RWdEdkNEO0lBRUk7SUFDQTtHdkRpdEZGO0NBQ0Y7O0FPOXFGQztFZ0RoQ0Q7SUFFSTtHdkRpdEZGO0NBQ0Y7O0F1RDlzRkE7RUFDRTtFQUNBO0VBQ0E7Q3ZEaXRGRjtBTzFyRkM7RWdEMUJEO0lBTUk7R3ZEa3RGRjtDQUNGO0FPL3JGQztFZ0QxQkQ7SUFVSTtJQUNBO0d2RG10RkY7Q0FDRjtBT3JzRkM7RWdEMUJEO0lBY0k7SUFDQTtHdkRxdEZGO0NBQ0Y7QXVEbnRGRTtFQUNFO0N2RHF0Rko7O0FPOXNGQztFZ0RIRDtJQUdJO0d2RG10RkY7Q0FDRjtBT3B0RkM7RWdESEQ7SUFPSTtHdkRvdEZGO0NBQ0Y7QU96dEZDO0VnREhEO0lBV0k7R3ZEcXRGRjtDQUNGO0FPOXRGQztFZ0RIRDtJQWNJO0d2RHV0RkY7Q0FDRjs7QXdEOXZGQTtFL0NhQztFK0NYQTtFQUNBO0VBQ0E7RUFDQTtDeERpd0ZEOztBd0Q3dkZBO0VoRDJOQztFQUNBO0VBQ0E7Q1JzaUZEO0FPanZGQztFaURsQkQ7SWhEaU9JO0dSc2lGRjtDQUNGO0FPdHZGQztFaURsQkQ7SWhEd09FO0lBQ0E7R1JvaUZBO0NBQ0Y7QU81dkZDO0VpRGxCRDtJaERtRk07SUFBQTtHUmdzRko7Q0FDRjtBT2x3RkM7RWlEbEJEO0loRDBHTTtJQUFBO0dSK3FGSjtDQUNGO0FPeHdGQztFaURsQkQ7SWhEK0dNO0lBQUE7R1JnckZKO0NBQ0Y7QU85d0ZDO0VpRGxCRDtJaERvSE07SUFBQTtHUmlyRko7Q0FDRjs7QU9weEZDO0VpRFREO0lBRUU7R3hEZ3lGQTtDQUNGOztBd0Q1eEZBO0VBSUM7RUFDQTtDeEQ0eEZEO0FPL3hGQztFaURGRDtJaERtRU07R1JrdUZKO0NBQ0Y7QU9weUZDO0VpREZEO0loRDBGTTtHUmd0Rko7Q0FDRjtBT3p5RkM7RWlERkQ7SWhEK0ZNO0dSZ3RGSjtDQUNGO0FPOXlGQztFaURGRDtJaERvR007R1JndEZKO0NBQ0Y7QXdEOXlGQztFQUNDO0N4RGd6RkY7O0F3RDN5RkE7RUFDQztDeEQ4eUZEOztBUTFwRkM7RUFDQyxpQmdEL0lxQjtDeEQ0eUZ2QjtBTzl6RkM7RWlEaUJEO0lBSUU7R3hENnlGQTtDQUNGO0FPbjBGQztFaURpQkQ7SUFPRTtHeEQreUZBO0NBQ0Y7O0FPeDBGQztFaUQ4QkQ7SWhEbUNNO0dSNHdGSjtDQUNGO0FPOTBGQztFaUQ4QkQ7SUFLRTtHeEQreUZBO0NBQ0Y7QU9uMUZDO0VpRDhCRDtJQVFFO0d4RGl6RkE7Q0FDRjs7QXdEOXlGQTtFQUNDO0VBQ0E7Q3hEaXpGRDs7QXdEN3lGQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEQreUZEO0FRMXFGQztFQUVDO0NSMnFGRjtBd0RoekZDO0VoRHVFQztFZ0RyRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeERrekZGO0F3RDl5RkU7RUFDQztDeERnekZIO0F3RDV5RkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDeEQ4eUZGOztBd0R6eUZBO0VBQ0M7RUFDQTtFQUNBO0N4RDR5RkQ7O0F3RHh5RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q3hEMnlGRDs7QXdEdnlGQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N4RDB5RkQ7QXdEeHlGQztFQUNDO0VBQ0E7Q3hEMHlGRjtBd0R4eUZDO0VBQ0M7Q3hEMHlGRjtBd0R4eUZDO0VBQ0M7RUFDQTtDeEQweUZGO0F3RHh5RkM7RUFDQztFQUNBO0N4RDB5RkY7QXdEdnlGQztFQUNDO0N4RHl5RkY7QXdEdHlGQztFQUNDO0N4RHd5RkY7O0F5RG45RkE7RUFDQztDekRzOUZEOztBeURqOUZBO0VBQ0M7Q3pEbzlGRDs7QXlEaDlGQztFQUNDO0N6RG05RkY7O0F5RDk4RkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekRpOUZEOztBMER4K0ZBOztFQUFBO0FBSUE7RWpEa0JDO0VpRGhCQTtFQUNBO0VBQ0E7QzFEMCtGRDtBMER4K0ZDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MxRDArRkY7QU81OUZDO0VtRDFCQTtJQWVFO0cxRDIrRkQ7Q0FDRjtBMER6K0ZFO0VBQ0M7RUFDQTtFQUNBO0MxRDIrRkg7O0EwRHQrRkE7RWxEeU1DO0VBQ0E7RUFDQTtFa0R6TUE7RUFDQTtFQUNBO0VBQ0E7QzFEMitGRDtBT2gvRkM7RW1EQUQ7SWxEK01JO0dScXlGRjtDQUNGO0FPci9GQztFbURBRDtJbERzTkU7SUFDQTtHUm15RkE7Q0FDRjs7QTBEbi9GQTtFQUNDO0VBQ0E7QzFEcy9GRDtBT2hnR0M7RW1EUUQ7SUFLRTtHMUR1L0ZBO0NBQ0Y7O0EwRHAvRkE7RUFDQztFQUNBO0MxRHUvRkQ7QU8xZ0dDO0VtRGlCRDtJQUtFO0cxRHcvRkE7Q0FDRjs7QTBEci9GQTtFQUVDO0MxRHUvRkQ7QVF2MUZDO0VBRUM7Q1J3MUZGO0EwRHgvRkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDMUQwL0ZGOztBMER0L0ZBO0VBQ0M7QzFEeS9GRDs7QU9oaUdDO0VtRDBDRDtJQUVFO0cxRHkvRkE7Q0FDRjs7QTJEemtHQTtFQUNDO0VBQ0E7RUFDQTtDM0Q0a0dEOztBMkRqa0dBO0VBQ0M7QzNEb2tHRDtBT2hqR0M7RW9EckJEO0luRHNGTTtHUm0vRko7Q0FDRjtBT3JqR0M7RW9EckJEO0luRDZHTTtHUmkrRko7Q0FDRjtBTzFqR0M7RW9EckJEO0luRGtITTtHUmkrRko7Q0FDRjtBTy9qR0M7RW9EckJEO0luRHVITTtHUmkrRko7Q0FDRjtBT3BrR0M7RW9EYkM7SUFDQztJQUNBO0lBQ0E7RzNEb2xHRDtDQUNGO0FPM2tHQztFb0RMQztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RzNEbWxHRDtDQUNGOztBMkQ5a0dBO0VBQ0M7RUFDQTtDM0RpbEdEO0FPNWxHQztFb0RTRDtJQUtFO0czRGtsR0E7Q0FDRjtBT2ptR0M7RW9EU0Q7SUFTRTtJQUNBO0lBQ0E7SUFDQTtHM0RtbEdBO0NBQ0Y7O0EyRC9rR0E7O0VBRUM7QzNEa2xHRDtBTzltR0M7RW9EMEJEOztJQUtFO0lBQ0E7SUFDQTtHM0RvbEdBO0NBQ0Y7QU90bkdDO0VvRDBCRDs7SUFXRTtHM0RzbEdBO0NBQ0Y7O0EyRGxsR0E7RUFDQztFQUNBO0MzRHFsR0Q7QU9qb0dDO0VvRDBDRDtJQUtFO0lBQ0E7RzNEc2xHQTtDQUNGO0FPdm9HQztFb0QwQ0Q7SUFVRTtJQUNBO0czRHVsR0E7Q0FDRjs7QTJEbmxHQTtFQUNDO0VBQ0Esa0J6RDlEd0I7RXlEK0R4QixtQnpEL0R3QjtDRnFwR3pCO0FPbnBHQztFb0QwREQ7SUFNRTtJQUNBO0czRHVsR0E7Q0FDRjtBT3pwR0M7RW9EMEREO0lBV0U7RzNEd2xHQTtDQUNGOztBMkRwbEdBOztFQUVDO0MzRHVsR0Q7O0EyRG5sR0E7RUFDQztDM0RzbEdEOztBNER6c0dBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDNUQ0c0dEO0FPL3FHQztFcURsQ0Q7SUFRRTtHNUQ2c0dBO0NBQ0Y7O0E0RDFzR0E7RUFDQztFQUNBLGdCQW5CeUI7QzVEZ3VHMUI7QU96ckdDO0VxRHRCRDtJQUtFO0c1RDhzR0E7Q0FDRjtBTzlyR0M7RXFEdEJEO0lBUUU7RzVEZ3RHQTtDQUNGO0FPbnNHQztFcUR0QkQ7SUFXRTtHNURrdEdBO0NBQ0Y7QU94c0dDO0VxRHRCRDtJQWNFO0lBQ0EsYUEvQnVCO0c1RG12R3ZCO0NBQ0Y7O0E0RGp0R0E7RUFDQztDNURvdEdEOztBNERqdEdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzVEb3RHRDs7QTZEL3ZHRTtFQUNDO0M3RGt3R0g7O0E4RDV2R0E7RXREcU9DO0VBQ0E7RUFDQTtDUjJoR0Q7QU90dUdDO0V1RDVCRDtJdEQyT0k7R1IyaEdGO0NBQ0Y7QU8zdUdDO0V1RDVCRDtJdERrUEU7SUFDQTtHUnloR0E7Q0FDRjs7QThEeHdHQTtFQUVDO0M5RDB3R0Q7QVE5a0dDO0VBQ0MsaUJzRDlMWTtDOUQ4d0dkOztBOEQxd0dBO0VBRUM7RUFDQTtFQUNBO0VBQ0E7QzlENHdHRDtBUW5rR0M7RUFFQztDUm9rR0Y7QThEN3dHQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDOUQrd0dGO0E4RDV3R0M7RUFFQztDOUQ2d0dGO0E4RDN3R0U7RUFFQztDOUQ0d0dIO0E4RHh3R0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtDOUQwd0dGO0FPenhHQztFdURsQkQ7SUFxQ0U7SUFDQTtJQUNBO0c5RDB3R0E7Q0FDRjs7QThEdndHQTtFQUNDO0VBQ0EsYTVEN0J3QjtDRnV5R3pCO0FPcnlHQztFdUR5QkQ7SUFLRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0c5RDJ3R0E7Q0FDRjtBTzl5R0M7RXVEeUJEO0lBYUU7RzlENHdHQTtDQUNGOztBOER6d0dBO0VBQ0M7RUFDQTtFQUNBO0M5RDR3R0Q7QU96ekdDO0V1RDBDRDtJQU1FO0lBQ0E7SUFDQTtJQUNBO0c5RDZ3R0E7Q0FDRjs7QThEMXdHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBLFM1RDdEd0I7RTREOER4QixXNUQ5RHdCO0U0RCtEeEI7RUFDQTtDOUQ2d0dEO0FPMzBHQztFdUR1REQ7SUFVRTtJQUNBO0lBQ0E7SUFDQTtHOUQ4d0dBO0NBQ0Y7O0E4RHh3R0E7RXhEbEZNO0VBUkE7RXdENEZMO0VBQ0E7QzlENHdHRDtBOEQxd0dDO0VBQ0M7QzlENHdHRjs7QThEeHdHQTtFQUNDO0M5RDJ3R0Q7O0E4RHh3R0E7RUFDQztFQUNBO0VBQ0E7QzlEMndHRDs7QThEeHdHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QzlEMndHRDs7QThEeHdHQTtFQUNDO0M5RDJ3R0Q7O0E4RHh3R0E7RUFDQztFQUNBO0M5RDJ3R0Q7O0ErRGg1R0E7RXREVUM7RXNEUkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvRGk1R0Q7QStEOTRHQztFQUNDO0VBQ0E7RUFDQTtDL0RnNUdGO0ErRDU0R0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0MvRDg0R0Y7QStENTRHRTtFQUNDO0VBQ0E7Qy9EODRHSDtBK0R6NEdDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0QyNEdGO0FPOTZHQztFd0R4QkQ7SUFnRUU7Ry9EMDRHQTtDQUNGOztBK0R0NEdBO0V2RDRKQztFQUNBO0VBQ0E7RXVENUpBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Qy9EMjRHRDtBTzk3R0M7RXdENkNEO0l2RGtLSTtHUm12R0Y7Q0FDRjtBT244R0M7RXdENkNEO0l2RHlLRTtJQUNBO0dSaXZHQTtDQUNGOztBK0RsNUdBO0VBQ0M7Qy9EcTVHRDs7QStEajVHQTtFQUNDO0VBQ0E7RUFDQTtDL0RvNUdEO0ErRGw1R0M7RUFDQztDL0RvNUdGOztBK0QvNEdBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDL0RrNUdEOztBK0Q5NEdBO0VBQ0M7RUFDQTtDL0RpNUdEOztBK0Q3NEdBO0V6RDdGTTtFQVJBO0V5RHVHTDtFQUNBO0VBQ0E7RUFDQTtDL0RpNUdEO0ErRC80R0M7RUFDQztDL0RpNUdGO0ErRDk0R0M7RUFDQztFQUNBO0MvRGc1R0Y7QStENzRHQztFQUNDO0VBQ0E7RUFDQTtDL0QrNEdGO0ErRDc0R0U7RUFDSTtFQUNIO0VBQ0c7RUFDQTtFQUNIO0MvRCs0R0g7O0FnRXRpSEE7RXhEZ1BDO0VBQ0E7RUFDQTtFd0RoUEE7Q2hFMmlIRDtBT3RnSEM7RXlEdkNEO0l4RHNQSTtHUjJ6R0Y7Q0FDRjtBTzNnSEM7RXlEdkNEO0l4RDZQRTtJQUNBO0dSeXpHQTtDQUNGOztBT2poSEM7RXlEbENEO0lBRUU7R2hFc2pIQTtDQUNGOztBZ0VuakhBO0VBQ0M7RUFDQTtDaEVzakhEOztBZ0VuakhBO0UxRGdCTTtFQVJBO0UwRE5MO0NoRXVqSEQ7QWdFcmpIQztFQUFZO0NoRXdqSGI7QWdFdmpIQztFQUFZO0NoRTBqSGI7O0FnRXZqSEE7RUFDQztDaEUwakhEOztBZ0V2akhBO0UxRElNO0VBUkE7RTBETUw7Q2hFMmpIRDs7QWdFeGpIQTtFMURETTtFQVJBO0UwRFdMO0NoRTRqSEQ7O0FpRS9rSEE7RUFDQztFQUNBO0VBQ0E7Q2pFa2xIRDs7QWlFL2tIQTtFekRpSkU7RXlEL0lEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esb0xBQ0M7Q2pFaWxIRjtBTzFrSEM7RTBEakJEO0lBaUJFO0dqRThrSEE7Q0FDRjtBaUU1a0hDO0VBQ0M7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNIO0VBQ0E7Q2pFOGtIRjs7QWlFMWtIQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakU2a0hEOztBaUUxa0hBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDakU2a0hEOztBaUUxa0hBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pFNmtIRDs7QWlFMWtIQTtFM0RoRE07RUFSQTtFMkQwREw7RUFDQTtFQUNBO0NqRThrSEQ7QWlFNWtIQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2pFOGtIRjtBaUUza0hDO0VBQVk7RUFBcUI7RUFBVTtDakVnbEg1QztBaUUva0hDO0VBQVk7RUFBc0I7RUFBZTtDakVvbEhsRDs7QWlFamxIQTtFQUNDO0NqRW9sSEQ7O0FpRWpsSEE7RTNEdEVNO0VBUkE7RTJEZ0ZMO0VBQ0E7Q2pFcWxIRDs7QWlFbGxIQTtFQUNDO0VBQ0E7Q2pFcWxIRDs7QWtFdHJIQTtFekRZQztFeURWQTtFQUNBO0VBQ0EscUJoRXFCMkI7RWdFcEIzQjtDbEV5ckhEO0FrRXZySEM7RUFDQztDbEV5ckhGOztBa0VwckhBO0UxRHNOQztFQUNBO0VBQ0E7RUZsTks7RUFSQTtFNERLTDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q2xFMHJIRDtBT3JySEM7RTJEYkQ7STFENE5JO0dSMCtHRjtDQUNGO0FPMXJIQztFMkRiRDtJMURtT0U7SUFDQTtHUncrR0E7Q0FDRjs7QWtFanNIQTtFQUNDO0VBQ0E7RUFDRTtFQUNBO0VBQ0Y7Q2xFb3NIRDs7QWtFaHNIQTtFQUNDO0VBQ0E7RUFDQTtDbEVtc0hEOztBa0UvckhBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2xFa3NIRDs7QWtFOXJIQTtFQUNDO0VBQ0E7Q2xFaXNIRDs7QWtFN3JIQTtFQUVDO0VBQ0E7RUFDQTtDbEUrckhEO0FRcGlIQztFQUVDO0NScWlIRjtBa0Voc0hDO0VBQ0M7Q2xFa3NIRjtBa0UvckhDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q2xFaXNIRjs7QWtFNXJIQTtFQUNDO0VBQ0E7Q2xFK3JIRDs7QW1FM3dIQTs7OztHQUFBO0FBT0E7RTNENE5DO0VBQ0E7RUFDQTtDUmlqSEQ7QU81dkhDO0U0RG5CRDtJM0RrT0k7R1JpakhGO0NBQ0Y7QU9qd0hDO0U0RG5CRDtJM0R5T0U7SUFDQTtHUitpSEE7Q0FDRjs7QW1FcHhIQTtFM0RnSkU7RTJEOUlEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q25FdXhIRDtBbUVyeEhDO0VBQ0M7RUFDQTtDbkV1eEhGO0FtRXB4SEM7RUFDQztFQUNBO0VBQ0E7Q25Fc3hIRjtBbUVueEhDO0VBQ0M7RUFDQTtDbkVxeEhGO0FtRW54SEU7RUFDQztDbkVxeEhIOztBT255SEM7RTREbUJEO0lBRUU7R25FbXhIQTtDQUNGO0FPenlIQztFNERtQkQ7SUFNRTtJQUNBO0lBQ0E7R25Fb3hIQTtDQUNGO0FPaHpIQztFNERtQkQ7SUFZRTtJQUNBO0duRXF4SEE7Q0FDRjs7QW1FbHhIQTtFQUNDO0NuRXF4SEQ7O0FtRWx4SEE7RUFDQztDbkVxeEhEOztBTzl6SEM7RTRENENEO0lBRUU7R25FcXhIQTtDQUNGO0FPcDBIQztFNEQ0Q0Q7SUFNRTtHbkVzeEhBO0NBQ0Y7O0FtRWx4SEE7RTdEOURNO0VBUkE7RTZEd0VMO0VBQ0E7RUFDQTtDbkVzeEhEOztBT2oxSEM7RTREOEREO0lBRUU7SUFBQTtJQUNBO0lBQUE7SUFDQTtJQUFBO0lBQ0E7R25Fc3hIQTtDQUNGOztBTzExSEM7RTREd0VBO0kzRFBLO0dSOHhISjtDQUNGO0FPaDJIQztFNER1RUQ7SUFRRTtJQUFBO0lBQ0E7SUFBQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R25FcXhIQTtFbUVueEhBO0lBQ0M7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7R25FcXhIRDtDQUNGOztBbUVqeEhBO0U3RDdHTTtFQVJBO0U2RHVITDtFQUNBO0VBQ0E7RUFDQTtDbkVxeEhEO0FPaDRIQztFNERzR0Q7SUFRRTtHbkVzeEhBO0NBQ0Y7O0FvRTU2SEE7RTVEZ1BDO0VBQ0E7RUFDQTtDUmdzSEQ7QU8zNEhDO0U2RHZDRDtJNURzUEk7R1Jnc0hGO0NBQ0Y7QU9oNUhDO0U2RHZDRDtJNUQ2UEU7SUFDQTtHUjhySEE7Q0FDRjtBT3Q1SEM7RTZEdkNEO0k1RHdHTTtJQUFBO0dSMDFISjtDQUNGO0FPNTVIQztFNkR2Q0Q7STVEK0hNO0lBQUE7R1J5MEhKO0NBQ0Y7QU9sNkhDO0U2RHZDRDtJNURvSU07SUFBQTtHUjAwSEo7Q0FDRjtBT3g2SEM7RTZEdkNEO0k1RHlJTTtJQUFBO0dSMjBISjtDQUNGOztBTzk2SEM7RTZEL0JEO0lBRUk7SUFDQTtJQUNBO0dwRWc5SEY7Q0FDRjs7QW9FNzhIQTtFQUNFO0VBQ0E7Q3BFZzlIRjtBTzM3SEM7RTZEdkJEO0lBS0k7SUFDQTtJQUNBO0lBQ0E7R3BFaTlIRjtDQUNGO0FPbjhIQztFNkR2QkQ7SUFZSTtHcEVrOUhGO0NBQ0Y7QU94OEhDO0U2RHZCRDtJQWdCSTtHcEVtOUhGO0NBQ0Y7O0FPNzhIQztFOEQ1QkQ7SUFFRTtJQUNBO0dyRTQrSEE7Q0FDRjs7QU9wOUhDO0U4RHJCRDtJQUVFO0dyRTQrSEE7Q0FDRjs7QXFFeitIQTtFQUNDO0VBQ0E7Q3JFNCtIRDtBTy85SEM7RThEZkQ7SUFLRTtJQUNBO0dyRTYrSEE7Q0FDRjtBT3IrSEM7RThEZkQ7SUFVRTtJQUVDO0lBQ0E7SUFDQTtJQUNBO0dyRTYrSEQ7Q0FDRjtBTzkrSEM7RThEZkQ7SUFvQkU7SUFDQTtHckU2K0hBO0NBQ0Y7O0FxRTErSEE7RUFDQztFQUNBO0NyRTYrSEQ7QU96L0hDO0U4RFVEO0lBS0U7SUFDQTtJQUNBO0lBQ0E7R3JFOCtIQTtDQUNGO0FPamdJQztFOERVRDtJQVlFO0lBQ0E7R3JFKytIQTtDQUNGO0FPdmdJQztFOERVRDtJQWlCRTtHckVnL0hBO0NBQ0Y7O0FxRTcrSEE7RS9EdENNO0VBUkE7RStEZ0RMO0VBQ0E7Q3JFaS9IRDs7QXFFOStIQTtFQUNDO0VBQ0E7Q3JFaS9IRDs7QXFFOStIQTtFQUVDO0VBQ0E7Q3JFZy9IRDtBUXQzSEM7RUFDQyxpQjZEN0hZO0NyRXEvSGQ7QXFFai9IQztFQUlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUFQUTtFQVFSLGFBUFM7RUFRVDtFQUNBO0NyRWcvSEY7O0FxRTUrSEE7RUFDQztDckUrK0hEOztBcUU1K0hBO0VBQ0M7RUFDQTtDckUrK0hEOztBc0UxbElBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7Q3RFNmxJRDtBc0UzbElDO0VBQ0M7Q3RFNmxJRjs7QXNFeGxJQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0N0RTJsSUQ7QXNFemxJQztFQUNDO0VBQ0E7Q3RFMmxJRjs7QUEzaklBOzsrREFBQTtBdUV2REE7OzhFQUFBO0F2RStEQTs7K0RBQUE7QXdFL0RBO0VBQ0M7RUFDQTtDeEU4bklEO0F3RTVuSUM7RUFDQztFQUNBO0VBQ0E7RUFDQTtDeEU4bklGO0F3RTVuSUU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDeEU4bklIO0F3RTFuSUM7RWxFV0s7RUFSQTtDTjJuSU47QXdFMW5JRztFQUNDO0N4RTRuSUo7O0F5RXRwSUE7O0dBQUE7QUFPQztFQUNDO0N6RXFwSUY7QXlFanBJQztFQUNDO0N6RW1wSUY7QXlFL29JQztFQUNDO0N6RWlwSUY7QXlFOW9JQztFQUNDO0N6RWdwSUY7QXlFN29JQztFQUNDO0N6RStvSUY7QXlFN29JRTtFQUNDO0VBQ0E7RUFDQTtDekUrb0lIO0F5RTdvSUc7RW5FREc7RUFSQTtFbUVXRjtFQUNBO0VBQ0E7RUFDQTtDekVncElKO0F5RTNvSUM7RUFDQztFQUNBO0N6RTZvSUY7QXlFM29JRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0N6RTZvSUg7QXlFM29JRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtDekU2b0lKOztBQWpvSUE7OzsrREFBQTtBMEV2RUE7O3lGQUFBO0FBS0E7Ozs7Ozs7Ozs7Ozs7O0dBQUE7QUEwQkc7RUFDQztDMUVrc0lKOztBMEVoc0lHO0VBQ0M7QzFFbXNJSjs7QTBFdnNJRztFQUNDO0MxRTBzSUo7O0EwRXhzSUc7RUFDQztDMUUyc0lKOztBMEUvc0lHO0VBQ0M7QzFFa3RJSjs7QTBFaHRJRztFQUNDO0MxRW10SUo7O0EwRXZ0SUc7RUFDQztDMUUwdElKOztBMEV4dElHO0VBQ0M7QzFFMnRJSjs7QTBFL3RJRztFQUNDO0MxRWt1SUo7O0EwRWh1SUc7RUFDQztDMUVtdUlKOztBMEV2dUlHO0VBQ0M7QzFFMHVJSjs7QTBFeHVJRztFQUNDO0MxRTJ1SUo7O0EwRS91SUc7RUFDQztDMUVrdklKOztBMEVodklHO0VBQ0M7QzFFbXZJSjs7QTBFdnZJRztFQUNDO0MxRTB2SUo7O0EwRXh2SUc7RUFDQztDMUUydklKOztBMEUvdklHO0VBQ0M7QzFFa3dJSjs7QTBFaHdJRztFQUNDO0MxRW13SUo7O0EwRXZ3SUc7RUFDQztDMUUwd0lKOztBMEV4d0lHO0VBQ0M7QzFFMndJSjs7QTBFL3dJRztFQUNDO0MxRWt4SUo7O0EwRWh4SUc7RUFDQztDMUVteElKOztBMEV2eElHO0VBQ0M7QzFFMHhJSjs7QTBFeHhJRztFQUNDO0MxRTJ4SUo7O0EwRS94SUc7RUFDQztDMUVreUlKOztBMEVoeUlHO0VBQ0M7QzFFbXlJSjs7QTBFdnlJRztFQUNDO0MxRTB5SUo7O0EwRXh5SUc7RUFDQztDMUUyeUlKOztBMEUveUlHO0VBQ0M7QzFFa3pJSjs7QTBFaHpJRztFQUNDO0MxRW16SUo7O0EwRXZ6SUc7RUFDQztDMUUweklKOztBMEV4eklHO0VBQ0M7QzFFMnpJSjs7QTBFL3pJRztFQUNDO0MxRWswSUo7O0EwRWgwSUc7RUFDQztDMUVtMElKOztBMEV2MElHO0VBQ0M7QzFFMDBJSjs7QTBFeDBJRztFQUNDO0MxRTIwSUo7O0EwRS8wSUc7RUFDQztDMUVrMUlKOztBMEVoMUlHO0VBQ0M7QzFFbTFJSjs7QTBFdjFJRztFQUNDO0MxRTAxSUo7O0EwRXgxSUc7RUFDQztDMUUyMUlKOztBMEUvMUlHO0VBQ0M7QzFFazJJSjs7QTBFaDJJRztFQUNDO0MxRW0ySUo7O0EwRXYySUc7RUFDQztDMUUwMklKOztBMEV4MklHO0VBQ0M7QzFFMjJJSjs7QTBFLzJJRztFQUNDO0MxRWszSUo7O0EwRWgzSUc7RUFDQztDMUVtM0lKOztBMkV0NUlBO0VBQ0M7QzNFeTVJRDs7QTJFdDVJQTtFQUNDO0VBQ0E7RUFDQTtDM0V5NUlEOztBMkV0NUlBO0VBQ0M7QzNFeTVJRDs7QTRFcDZJQTs7O0VBQUE7QUNFQztFQUF5QjtDN0UwNkkxQjs7QTZFejZJQztFQUF5QjtDN0U2NkkxQjs7QTZFNTZJQztFQUF5QjtDN0VnN0kxQjs7QTZFLzZJQztFQUF5QjtDN0VtN0kxQjs7QTZFaDdJQztFQUF5QjtDN0VvN0kxQjs7QTZFbjdJQztFQUF5QjtDN0V1N0kxQjs7QTZFdDdJQztFQUF5QjtDN0UwN0kxQjs7QTZFejdJQztFQUF5QjtDN0U2N0kxQjs7QTZFdDhJQztFQUF5QjtDN0UwOEkxQjs7QTZFejhJQztFQUF5QjtDN0U2OEkxQjs7QTZFNThJQztFQUF5QjtDN0VnOUkxQjs7QTZFLzhJQztFQUF5QjtDN0VtOUkxQjs7QTZFaDlJQztFQUF5QjtDN0VvOUkxQjs7QTZFbjlJQztFQUF5QjtDN0V1OUkxQjs7QTZFdDlJQztFQUF5QjtDN0UwOUkxQjs7QTZFejlJQztFQUF5QjtDN0U2OUkxQjs7QTZFdCtJQztFQUF5QjtDN0UwK0kxQjs7QTZFeitJQztFQUF5QjtDN0U2K0kxQjs7QTZFNStJQztFQUF5QjtDN0VnL0kxQjs7QTZFLytJQztFQUF5QjtDN0VtL0kxQjs7QTZFaC9JQztFQUF5QjtDN0VvL0kxQjs7QTZFbi9JQztFQUF5QjtDN0V1L0kxQjs7QTZFdC9JQztFQUF5QjtDN0UwL0kxQjs7QTZFei9JQztFQUF5QjtDN0U2L0kxQjs7QTZFdGdKQztFQUF5QjtDN0UwZ0oxQjs7QTZFemdKQztFQUF5QjtDN0U2Z0oxQjs7QTZFNWdKQztFQUF5QjtDN0VnaEoxQjs7QTZFL2dKQztFQUF5QjtDN0VtaEoxQjs7QTZFaGhKQztFQUF5QjtDN0VvaEoxQjs7QTZFbmhKQztFQUF5QjtDN0V1aEoxQjs7QTZFdGhKQztFQUF5QjtDN0UwaEoxQjs7QTZFemhKQztFQUF5QjtDN0U2aEoxQjs7QTZFdGlKQztFQUF5QjtDN0UwaUoxQjs7QTZFemlKQztFQUF5QjtDN0U2aUoxQjs7QTZFNWlKQztFQUF5QjtDN0VnakoxQjs7QTZFL2lKQztFQUF5QjtDN0VtakoxQjs7QTZFaGpKQztFQUF5QjtDN0VvakoxQjs7QTZFbmpKQztFQUF5QjtDN0V1akoxQjs7QTZFdGpKQztFQUF5QjtDN0UwakoxQjs7QTZFempKQztFQUF5QjtDN0U2akoxQjs7QTZFdGtKQztFQUF5QjtDN0Uwa0oxQjs7QTZFemtKQztFQUF5QjtDN0U2a0oxQjs7QTZFNWtKQztFQUF5QjtDN0VnbEoxQjs7QTZFL2tKQztFQUF5QjtDN0VtbEoxQjs7QTZFaGxKQztFQUF5QjtDN0VvbEoxQjs7QTZFbmxKQztFQUF5QjtDN0V1bEoxQjs7QTZFdGxKQztFQUF5QjtDN0UwbEoxQjs7QTZFemxKQztFQUF5QjtDN0U2bEoxQjs7QTZFdG1KQztFQUF5QjtDN0UwbUoxQjs7QTZFem1KQztFQUF5QjtDN0U2bUoxQjs7QTZFNW1KQztFQUF5QjtDN0VnbkoxQjs7QTZFL21KQztFQUF5QjtDN0VtbkoxQjs7QTZFaG5KQztFQUF5QjtDN0VvbkoxQjs7QTZFbm5KQztFQUF5QjtDN0V1bkoxQjs7QTZFdG5KQztFQUF5QjtDN0UwbkoxQjs7QTZFem5KQztFQUF5QjtDN0U2bkoxQjs7QTZFdG9KQztFQUF5QjtDN0Uwb0oxQjs7QTZFem9KQztFQUF5QjtDN0U2b0oxQjs7QTZFNW9KQztFQUF5QjtDN0VncEoxQjs7QTZFL29KQztFQUF5QjtDN0VtcEoxQjs7QTZFaHBKQztFQUF5QjtDN0VvcEoxQjs7QTZFbnBKQztFQUF5QjtDN0V1cEoxQjs7QTZFdHBKQztFQUF5QjtDN0UwcEoxQjs7QTZFenBKQztFQUF5QjtDN0U2cEoxQjs7QTZFdHFKQztFQUF5QjtDN0UwcUoxQjs7QTZFenFKQztFQUF5QjtDN0U2cUoxQjs7QTZFNXFKQztFQUF5QjtDN0VnckoxQjs7QTZFL3FKQztFQUF5QjtDN0VtckoxQjs7QTZFaHJKQztFQUF5QjtDN0VvckoxQjs7QTZFbnJKQztFQUF5QjtDN0V1ckoxQjs7QTZFdHJKQztFQUF5QjtDN0UwckoxQjs7QTZFenJKQztFQUF5QjtDN0U2ckoxQjs7QU9qcUpDO0VzRXpCRDtJckUwRk07SUFBQTtHUnNtSko7Q0FDRjtBT3hxSkM7RXNFekJEO0lyRWlITTtJQUFBO0dScWxKSjtDQUNGO0FPOXFKQztFc0V6QkQ7SXJFc0hNO0lBQUE7R1JzbEpKO0NBQ0Y7QU9wckpDO0VzRXpCRDtJckUySE07SUFBQTtHUnVsSko7Q0FDRjs7QU8xckpDO0VzRWpCQTtJQUNDO0c3RStzSkE7Q0FDRjtBOEV2dUpBOzs7O2dGQUFBO0FBeUJBO0VyRUFDO0VEdU5BO0VBQ0E7RUFDQTtFc0V0TkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0M5RXN0SkQ7QU9qdEpDO0V1RWREO0l0RTZOSTtHUnNnSkY7Q0FDRjtBT3R0SkM7RXVFZEQ7SXRFb09FO0lBQ0E7R1JvZ0pBO0NBQ0Y7QU81dEpDO0V1RWREO0lBbUJFO0c5RTJ0SkE7Q0FDRjs7QThFdnRKQTtFQUNDO0VBRUE7QzlFeXRKRDtBT3R1SkM7RXVFVUQ7SUFZRTtHOUVvdEpBO0NBQ0Y7QU8zdUpDO0V1RVVEO0lBcUJFO0c5RWd0SkEiLCJmaWxlIjoiY3NzL3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qICAxIC0gU0VUVElOR1NcbiAqICBHbG9iYWwgdmFyaWFibGVzLCBzaXRlLXdpZGUgc2V0dGluZ3MsXG4gKiAgY29uZmlnIHN3aXRjaGVzIGV0Yy5cbiAqXG4gKiAgVGhlIG9yZGVyIGluIHdoaWNoIHRoZXNlIFNhc3MgZmlsZXNcbiAqICBhcmUgbG9hZGVkIGlzIGNyaXRpY2FsIVxuICogIFNvIHBsZWFzZSBiZSBjYXJlZnVsIHdoZW4gZWRpdGluZ1xuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPcmdhbml6ZSBjb2xvciB2YXJpYWJsZXMgaW4gYSBTYXNzIE1hcC5cbiAgIFRoaXMgd2F5LCB0aGUgY29sb3JzIGNhbiBiZSBpdGVyYXRlZCwgYXJlIG1vcmUgb3JnYW5pemVkLFxuICAgYW5kIGFyZSBtb3JlIGludHVpdGl2ZSB0byByZWZlcmVuY2UuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBhY2Nlc3NpbmcgdGhlIGNvbG9ycyBmcm9tIG91ciBtYXBwaW5nXG4gKlx0VG8gYWNjZXNzIGNvbG9ycyBpbiBvdXIgcGFsZXR0ZSwgd2UgdXNlIGEgdmVyeSBzaW1wbGUgY3VzdG9tIFNhc3MgZnVuY3Rpb25cbiAqICBUaGlzIGZ1bmN0aW9uIGlzIHBsYWNlZCBoZXJlLCAoYW5kIG5vdCBpbiB0aGUgdG9vbGJveClcbiAqICBiZWNhdXNlIHdlIHdhbnQgdG8gdXNlIGl0IGluIG91ciBvdGhlciBzZXR0aW5nIGZpbGVzXG5cblx0VVNBR0U6XG5cblx0LmRlbW8ge1xuXHRcdGNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXHR9XG5cbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29uZmlnIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuXHRbMV1cdFx0TG9nbyBkYXJrIG9yIGxpZ2h0IGNhbiBiZSBzZXQgaW4gaGVhZGVyLmJsYWRlLnBocCAvIGZvb3Rlci5ibGFkZS5waHAgJlxuXHRbMl0gXHRTZXQgdGhpcyB0byB0cnVlIHdoZW4gYmdDb2xvciBnZXRzIGEgZGFyayBjb2xvciB0aGF0IGNvbnRyYXN0IHRoZSBib2R5IGJnIGNvbG9yXG4qL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuIFx0IERlZmluZXMgdGhlIHR5cG9ncmFwaGljIGJhc2VsaW5lLlxuICAgV2UgZGVmaW5lIGV2ZXJ5IHNpemUgaW4gcGl4ZWxzLCB0aGUgdW5kZXJseWluZyBzeXN0ZW1cbiAgIGNvbnZlcnRzIHRoZSByZXNwZWN0aXZlIHVuaXRzIHRvIHRoZSByZXNwb25zaXZlIFJFTSB2YWx1ZS5cbiBcdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuLyoqXG4gKlx0SGVyZSB3ZSBhc3NpZ24gc2hvcnQgbmFtZXMgZm9yIHRoZSBmb250IGZhbWlsaWVzXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIGdpdmVuIGZvcm1hdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiAgMiAtIFRPT0xTXG4gKiAgU2l0ZSB3aWRlIG1peGlucyBhbmQgZnVuY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIEZ1bmN0aW9ucyB1c2VkIGluIGdyaWQgY2FsY3VsYXRpb25cbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAqIFJldHVybiBwZXJjZW50YWdlIGJhc2VkIG9uIGFtb3VudCBvZiBjb2x1bW5zXG4gICogVXNlIHBhcmVudCBjb2x1bW4gc2l6ZSB0byBhZGp1c3QgdGhlIG9yaWdpblxuICAqL1xuLyoqXG4gICogRGVmYXVsdCBmdW5jdGlvbiBmb3IgY29sdW1uc1xuICAqIFJldHVybiBhcyBwZXJjZW50YWdlXG4gICovXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWl4aW4gZm9yIHNldHRpbmcgZm9udC1zaXplIGluIFJFTSB0aHJvdWdoIGEgU2FzcyBNYXAgd2l0aCBhbGwgYXZhaWxhYmxlIHNpemVzXG5cbiAgICBVU0FHRTpcblxuICAgIC5teUNsYXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKHhsKTtcbiAgICB9XG5cbiAqL1xuLyogTWVkaWEgcXVlcnkgbWl4aW4gZm9yIHdyaXRpbmcgTW9iaWxlIEZpcnN0XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbGJveCBmdW5jdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAgTWF0aHMgaGVscGVycy5cbiAqICBIYWx2ZSBhbmQgZG91YmxlIG51bWJlcnMsIHJldHVybmluZyByb3VuZGVkIGludGVnZXJzLlxuXG4gICAgVVNBR0U6XG5cbiAgICAuZm9vIHtcbiAgICAgICAgcGFkZGluZzogaGFsdmUoMzBweCk7XG4gICAgfVxuXG4gKi9cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cbi8qIENoZWNrIGlmIHZhbHVlIGlzIG51bWJlciAqL1xuLyogVmFsdWUgdG8gRW0gKi9cbi8qIFZhbHVlIHRvIFJlbSAqL1xuLypcbiAqIFNldCB2ZXJ0aWNhbCBzcGFjaW5nIG9ubHkgZm9yIG1vYmlsZSB2aWV3cG9ydFxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1zKFxuXHRcdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG4gIH1cblxuICovXG4vKlxuICogU2V0IHZlcnRpY2FsIHNwYWNpbmcgZm9yIHZpZXdwb3J0IGxhcmdlciB0aGFuIG1vYmlsZVxuICogSW4gZmxleGlibGUgdW5pdHMgKHZ3KSBhbmQgb24gbWF4IHZpZXdwb3J0IGluIGEgZml4ZWQgYW1vdW50IChweClcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctbS11cChcblx0XHRcdFx0J3BhZGRpbmctdG9wJyAwLjMzLFxuXHRcdFx0XHQnbWFyZ2luLWJvdHRvbScgMC41XG5cdFx0KTtcbiAgfVxuXG4gKi9cbi8qXG4gKiBGcm9tIHZhbHVlcyBnaXZlbiByZXR1cm4gdGhlIGNvcnJlY3Qgdi1zcGFjaW5nIGZvciBlYWNoIGJyZWFrcG9pbnRcbiAqL1xuLyoqXG4gKlx0QSBzaW1wbGUgZnVuY3Rpb24gZm9yIHNldHRpbmcgYSBjb25zaXN0ZW50IGJvcmRlci1yYWRpdXNcblxuXHRVU0FHRTpcblxuXHQuY2FyZCB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0fVxuXG5cdC5jYXJkLS1hbHQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobCk7XG5cdH1cblxuICovXG4vKipcbiAqIExvYm90b21pemVkIE93bCBTZWxlY3RvciBtaXhpbjpcbiAqIC0gU2V0IHNwYWNpbmcgZm9yIGNvbnNlY3V0aXZlIGl0ZW1zIHdpdGggbWFyZ2luLXRvcCBvbiBhbGwgYnV0IHRoZSBmaXJzdCBpdGVtXG5cblx0VVNBR0U6XG5cblx0LmJveCB7XG5cdFx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuO1xuXHR9XG5cblx0LmNhcmRfX2l0ZW0ge1xuXHRcdEBpbmNsdWRlIG93bDtcblx0fVxuXG4gKi9cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbi8qKlxuICogIFNob3cgaHlwaGVucyBmb3IgZXZlcnkgYnJvd3NlciBzdXBwb3J0aW5nIGl0XG4gKiAgYW5kIHdpbGwgYnJlYWsgbGluZXMgaW4gZXZlcnkgb3RoZXIgYnJvd3NlclxuICovXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUaGUgJ3otaW5kZXgtbWFwJyBpcyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudHMgc3RhY2tpbmcgb3JkZXIgaW4gdGhlICdyb290JyBzdGFja2luZyBjb250ZXh0XG4gKiAgVGhpcyB3YXkgd2UgaGF2ZSBhIG92ZXJ2aWV3IG9mIGFsbCB0aGUgei1pbmRleCB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHByb2plY3QuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgVVNBR0U6XG5cbiAgICBAaW5jbHVkZSB6KHotbW9kYWwpO1xuXG4gKi9cbi8qICAzIC0gRUxFTUVOVFNcbiAqICBQbGFpbiBvbGQgc2ltcGxlIEhUTUwgZWxlbWVudHMgd2l0aG91dCBhIGNsYXNzICh0eXBlIHNlbGVjdG9ycylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIEJhc2ljIGVsZW1lbnRzIChubyBjbGFzcyBzZWxlY3RvcnMgYWxsb3dlZClcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKlxuICogMy4gQXZvaWQgdGhlIElFIDEwLTExIGBtaW4taGVpZ2h0YCBidWcuXG4gKiA0LiBVc2UgYCVgIGluc3RlYWQgb2YgYHZoYCBzaW5jZSBgdmhgIGlzIGJ1Z2d5IGluIG9sZGVyIG1vYmlsZSBTYWZhcmkuXG4gKi9cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxudW1cIjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgLyogMywgNCAqL1xufVxuXG5mb290ZXIge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLyoqXG4gKiBbMV0gTWFrZSBzdXJlIGVsZW1lbnRzIGxpa2UgaW5wdXQgYW5kIHRleHRhcmVhIGluaGVyaXQgc29tZSBiYXNlIHByb3BlcnRpZXNcbiAqICAgICBodHRwczovL3d3dy5zbWFzaGluZ21hZ2F6aW5lLmNvbS8yMDE2LzExL2Nzcy1pbmhlcml0YW5jZS1jYXNjYWRlLWdsb2JhbC1zY29wZS1uZXctb2xkLXdvcnN0LWJlc3QtZnJpZW5kcy9cbiAqXG4gKiBbMl0gU2V0dGluZyBib3gtc2l6aW5nIHRoZSBiZXN0IHdheSBwZXI6XG4gKiAgICAgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvXG4gKi9cbioge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFsxXSBUdXJuIG9mZiB0ZXh0LXNoYWRvdyB3aGVuIHNlbGVjdGluZyB0ZXh0IGZvciBiZXR0ZXIgcmVhZGFiaWxpdHlcbiAqL1xuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjRkY3ODNFO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIC8qIFsxXSAqL1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gYXJvdW5kIGZpZ3VyZVxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogWzFdIFNldHRpbmcgJ3ZlcnRpY2FsLWFsaWduJyByZW1vdmVzIHRoZSB3aGl0ZXNwYWNlIHRoYXQgYXBwZWFycyB1bmRlciAnaW1nJ1xuICpcdCAgIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgZHJvcHBlZCBpbnRvIGEgcGFnZSBhcy1pcy4gU2FmZXIgYWx0ZXJuYXRpdmUgdG9cbiAqXHQgICB1c2luZyAnZGlzcGxheTogYmxvY2s7Jy5cbiAqIFsyXSBSZW1vdmUgYm9yZGVyIC8gZXNwZWNpYWxseSBvbiBvbGRlciBicm93c2Vyc1xuICovXG5pbWcsIHN2ZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qWzFdKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKlsyXSovXG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyoqXG4gKiAgTmVlZGVkIGZvciBpT1MgdG8gcHJldmVudCBpbnB1dCB6b29taW5nXG4gKiAgaHR0cHM6Ly91eGNlbGxlbmNlLmNvbS8yMDE0LzAxLzE1L3F1aWNrLWZpeC1pbmNyZWFzZS1mb250LXNpemUtdG8tMTZweC10by1maXgtaW5wdXQtem9vbVxuICovXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5hOm5vdChbY2xhc3NdKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xufVxuYTpub3QoW2NsYXNzXSk6OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogIzQwNzlCODtcbiAgY29udGVudDogXCJcIjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MsIG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3M7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbn1cbmE6bm90KFtjbGFzc10pOmhvdmVyOjphZnRlciB7XG4gIGhlaWdodDogMnB4O1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgaGdyb3VwLFxudWwsIG9sLCBkZCxcbnAsIGZpZ3VyZSxcbnByZSwgdGFibGUsIGZpZWxkc2V0LCBociB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG5oNSwgaDYge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKlx0RGVmYXVsdCBpbmRlbnRhdGlvbiB2YWx1ZSBmb3IgbGlzdHNcbiAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDEuMTI1ZW07XG59XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qKlxuICpcdFJlbW92ZSBleHRyYSB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gbmVzdGluZyBsaXN0cy5cbiAqL1xubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiAgNCAtIExheW91dCBlbGVtZW50c1xuICogIERlc2lnbiBwYXR0ZXJucyAoZS5nLiBncmlkcyBvciBtZWRpYSBvYmplY3QpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbnRhaW5cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubC1jb250YWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtY29udGFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLWNvbnRhaW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogU3BsaXQgbGF5b3V0IGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBjb2x1bW5zIGFyZSBzdGFja2VkIHZlcnRpY2FsbHlcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmwtc3BsaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXNwbGl0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi8qKlxuICogU3BlY2lhbCBjb250YWluIHZlcnNpb24gZm9yIHNwbGl0LlxuICogRG9lc24ndCByZXN0cmFpbiBjb250ZW50IG9uIG1lZGl1bSB2aWV3cG9ydFxuICovXG4ubC1zcGxpdC0tY29udGFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5sLXNwbGl0LS1jb250YWluIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXNwbGl0LS1jb250YWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAubC1zcGxpdF9fY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxufVxuLmwtc3BsaXQtLWlzLXJldmVyc2VkIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBvcmRlcjogMjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0LS1pcy1yZXZlcnNlZCAubC1zcGxpdF9fY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdC0taXMtcmV2ZXJzZWQgLmwtc3BsaXRfX2NvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5sLXNwbGl0LS1icmVha291dC1vbi1tIC5sLXNwbGl0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gICAgcGFkZGluZy1yaWdodDogMTAlO1xuICB9XG4gIC5sLXNwbGl0LS1icmVha291dC1vbi1tIC5sLXNwbGl0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxufVxuLyoqXG4gKiBXaGVuIHRoZXJlIGlzIG9ubHkgMSBjb2x1bW4sIGFsaWduIGl0IHRvIHRoZSBtaWRkbGUgYW5kIGNvbnRhaW4gdGhlIHdpZHRoXG4gKiBPbmx5IG9uZSBjb2x1bW4gaXMgdXNlZCBlLmcuIGluIHRoZSB0YWJzbGlkZXIgd2hlbiB0aGVyZSBpcyBubyBpbWFnZSBzZXRcbiAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbjpvbmx5LWNoaWxkIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sLXNwbGl0X19jb2x1bW4tLXZwYWQge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmwtc3BsaXRfX2NvbHVtbi0tdnBhZCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAubC1zcGxpdF9fY29sdW1uLS1sZWZ0cGFkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFJlc3RyaWN0XG4gKlxuICogV2hlbiBhIGJsb2NrIHNob3VsZG4ndCB0YWtlIHVwIHRoZSB3aG9sZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyXG4gKiB3ZSBjYW4gcmVzdHJpY3QgdGhlIG1heGltdW0gd2lkdGhcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1yZXN0cmljdC1uYXJyb3cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogNzUlO1xuICAgIG1heC13aWR0aDogMzhlbTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5sLXJlc3RyaWN0LW5hcnJvdyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAubC1yZXN0cmljdC13aWRlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDg3LjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmwtcmVzdHJpY3Qtd2lkZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi8qICA1IC0gQ09NUE9ORU5UU1xuICogIERpc2NyZXRlIGNvbXBsZXRlIGNodW5rcyBvZiBVSS5cbiAqICBEZXNpZ25lZCBjb21wb25lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29tcG9uZW50c1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uYy1icmVhZGNydW1iIHtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbn1cblxuLmMtYnJlYWRjcnVtYl9fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uYy1icmVhZGNydW1iX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jLWJyZWFkY3J1bWJfX2l0ZW06bnRoLWNoaWxkKG4rMikgLmMtYnJlYWRjcnVtYl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBjb2xvcjogIzFEMUQxRDtcbn1cblxuLmMtYnJlYWRjcnVtYl9fbGluayB7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1icmVhZGNydW1iX19pdGVtLS1sYXN0IC5jLWJyZWFkY3J1bWJfX2xpbmsge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBmb250LXdlaWdodDogNTAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY3ODNFO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjRkY3ODNFIDUwJSwgI0ZGQ0UzQyAxMjUlKTtcbiAgdGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjRkZGRkZGLCAwIDAgNXB4IDJweCAjRkY3ODNFO1xufVxuLmMtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uYy1idXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYy1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSAycHgpO1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDRweDtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmY2MjFlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xufVxuLmMtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMTAwKTtcbn1cblxuLmMtYnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1idXR0b25fX3RleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuXG4uYy1idXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogLTFweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1idXR0b25fX2ljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG4uYy1idXR0b24tLWljb24gLmMtYnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRGVmYXVsdCBidXR0b25cbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1naG9zdGJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uYy1naG9zdGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5jLWdob3N0YnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLWdob3N0YnV0dG9uOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLmMtZ2hvc3RidXR0b246OmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA3KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xcHg7XG4gIGJvdHRvbTogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbn1cbi5jLWdob3N0YnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMzVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5jLWdob3N0YnV0dG9uX190ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jLWJ1dHRvbi0taWNvbiAuYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG59XG5cbi5jLWdob3N0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG59XG4uYy1naG9zdGJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy1naG9zdGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtZ2hvc3RidXR0b24tLWljb24gLmMtZ2hvc3RidXR0b25fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG4uYy1naG9zdGJ1dHRvbl9faWNvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbi5jLWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogQ2FyZCB0aGF0IGRvZXMgc29tZSBhbmltYXRpb25zIG9uIGhvdmVyXG4gKi9cbi5jLWNhcmQtLWhhcy1hY3Rpb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjpob3ZlciwgLmMtY2FyZC0taGFzLWFjdGlvbjphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1jYXJkLS1oYXMtYWN0aW9uOjpiZWZvcmUsIC5jLWNhcmQtLWhhcy1hY3Rpb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmMtY2FyZC0taGFzLWFjdGlvbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkyKTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC44KSAwJSwgcmdiYSgwLCAwLCAwLCAwLjkyKSAxMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMzUlKSByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246OmFmdGVyIHtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDI1cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMTYgMTInIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGw9JyUyM0NERDczNicgZD0nTTEzLjQgNi43ODNILjc2MkEuNzcyLjc3MiAwIDAgMSAwIDZjMC0uNDMyLjM0MS0uNzgzLjc2Mi0uNzgzSDEzLjRMOS42MjMgMS4zMzZhLjc5OC43OTggMCAwIDEgMC0xLjEwNy43NDcuNzQ3IDAgMCAxIDEuMDc3IDBsNS4wNzcgNS4yMThhLjc5OC43OTggMCAwIDEgMCAxLjEwNkwxMC43IDExLjc3MWEuNzQ3Ljc0NyAwIDAgMS0xLjA3NyAwIC43OTguNzk4IDAgMCAxIDAtMS4xMDdMMTMuNCA2Ljc4M3onLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjc1KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXI6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC45MjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTExZGVnKSBzY2FsZSgxLjMpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNTBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXI6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMDAwMDAwO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy1jYXJkX19waWN0dXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jYXJkX19pbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtY2FyZF9fbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDI5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDE0cHggMTBweCAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgLmMtY2FyZF9fbGFiZWwge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5jLWNhcmRfX2xhYmVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4REMxNTM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwJSkgcm90YXRlKDExZGVnKSBzY2FsZSgxLjUsIDMpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcbn1cbi5jLWNhcmQtLWhhcy1hY3Rpb246aG92ZXIgLmMtY2FyZF9fbGFiZWw6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlKDVkZWcpIHNjYWxlKDIpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMG1zO1xufVxuXG4uYy1jYXJkX19pbmZvIHtcbiAgcGFkZGluZzogMTZweCAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xufVxuXG4uYy1jYXJkX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLmMtY2FyZF9fc3ViaGVhZGluZyB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1jYXJkX190ZXh0bGluZSB7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuKjpub3QoLmMtY2FyZF9fdGV4dGxpbmUpICsgLmMtY2FyZF9fdGV4dGxpbmUge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uYy1jbG9zZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBlYXNlLW91dDtcbn1cbi5jLWNsb3NlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCAycHggI0ZGRkZGRjtcbn1cbi5jLWNsb3NlOmFmdGVyLCAuYy1jbG9zZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwJTtcbiAgbGVmdDogMjAlO1xuICBoZWlnaHQ6IDNweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5jLWNsb3NlOmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5jLWNsb3NlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5jLWNsb3NlOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG4uYy1jb25uZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1jb25uZWN0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5jLWNvbm5lY3RfX3Bob25lIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzJDMkMyQztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcztcbn1cbi5jLWNvbm5lY3RfX3Bob25lOmhvdmVyLCAuYy1jb25uZWN0X19waG9uZTphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1jb25uZWN0X19waG9uZTpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1jb25uZWN0X19waG9uZTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtY29ubmVjdF9fb3Ige1xuICBtYXJnaW46IDAgMTZweDtcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuYy1jb25uZWN0X19vciB7XG4gICAgbWFyZ2luOiA4cHggMCAxNnB4O1xuICB9XG59XG5cbi5jLWRhdGEge1xuICBtYXJnaW46IDhweCAwO1xufVxuXG4uYy1kYXRhX19saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtZGF0YV9fbGFiZWwge1xuICBtaW4td2lkdGg6IDY0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuLmMtZGF0YV9fdmFsdWUge1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtZGF0YV9fdmFsdWVbaHJlZl06aG92ZXIsIC5jLWRhdGFfX3ZhbHVlW2hyZWZdOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLWRhdGFfX3ZhbHVlW2hyZWZdOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4uYy1kYXRhX192YWx1ZVtocmVmXTpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtZG93bmxvYWQtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQzhDOEM4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG59XG4uYy1kb3dubG9hZC1saXN0X19pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjIpO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X19saW5rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG59XG4uYy1kb3dubG9hZC1saXN0X19pY29uIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1kb3dubG9hZC1saXN0X190ZXh0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cbi5jLWRvd25sb2FkLWxpc3RfX2l0ZW06aG92ZXIgLmMtZG93bmxvYWQtbGlzdF9fdGV4dCB7XG4gIGNvbG9yOiAjMUQxRDFEO1xufVxuXG4uYy1mb3JtLWdyb3VwX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4IDA7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1mb3JtLWdyb3VwX19lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uaGFzLWVycm9yIC5jLWZvcm0tZ3JvdXBfX2Vycm9yOm5vdCg6ZW1wdHkpIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDhweDtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjQsIDEyMSwgMTg0LCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNDA3OUI4O1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcbn1cblxuLmMtZm9ybS1mZWVkYmFjayB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbjogMCAwIDhweDtcbiAgcGFkZGluZzogMjRweCAzMnB4O1xuICBjb2xvcjogIzJDMkMyQztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDIxMSwgNTgsIDAuMik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmQzM2E7XG59XG4uYy1mb3JtLWZlZWRiYWNrOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uYy1mb3JtLWZlZWRiYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1mZWVkYmFjayk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uYy1mb3JtLWZlZWRiYWNrIGxpOjpmaXJzdC1sZXR0ZXIge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYy1oYW1idXJnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjOERDMTUzO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5jLWhhbWJ1cmdlcjpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cbi5jLWhhbWJ1cmdlciA+IHNwYW4sIC5jLWhhbWJ1cmdlcjphZnRlciwgLmMtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMjAlO1xuICBsZWZ0OiAyMCU7XG4gIGhlaWdodDogM3B4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xufVxuLmMtaGFtYnVyZ2VyOmJlZm9yZSB7XG4gIHRvcDogMTJweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcbn1cbi5jLWhhbWJ1cmdlcjphZnRlciB7XG4gIHRvcDogMjhweDtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMC41KTtcbn1cbi5jLWhhbWJ1cmdlcjpob3ZlciA+IHNwYW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xufVxuLmMtaGFtYnVyZ2VyOmhvdmVyOmFmdGVyLCAuYy1oYW1idXJnZXI6aG92ZXI6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXIgPiBzcGFuIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMSkgIWltcG9ydGFudDtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5jLWhhbWJ1cmdlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuYy1oYW1idXJnZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCkgc2NhbGVYKDEpICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG4uYy1oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luOiA0MHB4IDA7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLmMtaGVhZGluZy0taW5kZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtaGVybyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1oZXJvIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1oZXJvIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uYy1oZXJvX19tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYy1oZXJvX19zbGlkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1NS41NTYlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLmMtaGVyb19fc2xpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTAlO1xuICB9XG59XG5cbi5jLWhlcm9fX3BpY3R1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZmlsdGVyOiBibHVyKDVweCk7XG59XG4uYy1oZXJvX19waWN0dXJlLmlzLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgZmlsdGVyOiBub25lO1xufVxuXG4uYy1oZXJvX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1oZXJvX19jYXB0aW9uIHtcbiAgZm9udC1zaXplOiBjYWxjKDE2cHggKyAxdncpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUQxRDFEO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtaGVyb19fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5jLWhlcm9fX2NhcHRpb24ge1xuICAgIHBhZGRpbmc6IDIuNnZ3O1xuICAgIGZvbnQtc2l6ZTogMy41dnc7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1oZXJvX19jYXB0aW9uIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjE2NjY2NjY2NjclO1xuICB9XG59XG5cbi5jLWhlcm9fX2NvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xufVxuLmMtaGVyb19fY29udHJvbHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgdHJhbnNwYXJlbnQpO1xuICBvcGFjaXR5OiAwLjM7XG59XG5cbi5jLWhlcm9fX3Njcm9sbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQ0UzQztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNTAlKSByb3RhdGUoMC4yNXR1cm4pO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLmMtaGVyb19fc2Nyb2xsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYy1oZXJvX19zY3JvbGwgPiBzdmcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXM7XG59XG4uYy1oZXJvX19zY3JvbGw6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZmMyMGQ7XG59XG4uYy1oZXJvX19zY3JvbGw6aG92ZXIgPiBzdmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoM3B4KTtcbn1cbi5jLWhlcm9fX3Njcm9sbDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmM2MWQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjZmZmMGM1O1xufVxuXG4uYy1pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogN3B4IDE2cHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICBvdXRsaW5lOiBub25lO1xufVxuLmhhcy1lcnJvciAuYy1pbnB1dCB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjNDA3OUI4O1xuICBib3JkZXItY29sb3I6ICM0MDc5Qjg7XG59XG4uYy1pbnB1dDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCAjMUQxRDFEO1xuICBib3JkZXItY29sb3I6ICMxRDFEMUQ7XG59XG50ZXh0YXJlYS5jLWlucHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDE1OHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLmMtaW5wdXQtLXF1aWNrLW1lbnUge1xuICB3aWR0aDogYXV0bztcbn1cblxuLmMtbGFuZ3VhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWxhbmd1YWdlX19idXR0b24ge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgxMDEsIDEwMSwgMTAxLCAwLjUpO1xuICBib3JkZXI6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG59XG4uYy1sYW5ndWFnZV9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2ljb24ge1xuICBmbGV4OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2xhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5jLWxhbmd1YWdlX19kcm9wZG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogMCAwIDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzO1xufVxuLmMtbGFuZ3VhZ2U6aG92ZXIgLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLmMtbGFuZ3VhZ2VfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmMtbGFuZ3VhZ2VfX2l0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbn1cbi5jLWxhbmd1YWdlX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7XG59XG4uYy1sYW5ndWFnZV9faXRlbTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uYy1sYW5ndWFnZV9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG59XG4uYy1sYW5ndWFnZV9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDRTNDO1xufVxuXG4vKlxuXHRDb2xvcnMgZ2V0IGRlZmluZWQgaW4gX3NldHRpbmdzLmNvbmZpZy5zY3NzXG4qL1xuLmMtbmF2IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYy1uYXZfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtbmF2X19pdGVtIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBtYXJnaW4tcmlnaHQ6IDIlO1xufVxuLmMtbmF2X19pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jLW5hdl9fbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNHB4O1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAxNTBtcyBsaW5lYXI7XG59XG4uYy1uYXZfX2xpbms6aG92ZXIsIC5jLW5hdl9fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy1uYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xO1xuICBsZWZ0OiA0cHg7XG4gIGJvdHRvbTogMXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gOHB4KTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDMwMG1zIGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcbn1cbi5jLW5hdl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuLmMtbmF2X19saW5rOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG59XG4uYy1uYXZfX2xpbmsuaXMtYWN0aXZlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYy1uYXZfX2xpbmsuaXMtYWN0aXZlOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDREQ3MzY7XG59XG4uYy1uYXZfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5jLXBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCwgLmMtcGFnaW5hdGlvbl9faXRlbTpsYXN0LWNoaWxkLCAuYy1wYWdpbmF0aW9uX19pdGVtLmlzLWxhc3QtcGFnZSwgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmMtcGFnaW5hdGlvbl9faXRlbS5pcy1sYXN0LXBhZ2Uge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG4uYy1wYWdpbmF0aW9uX19pdGVtICsgLmMtcGFnaW5hdGlvbl9faXRlbSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4td2lkdGg6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xufVxuLmMtcGFnaW5hdGlvbl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjMWYxZjFmO1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xufVxuLmlzLWFjdGl2ZSA+IC5jLXBhZ2luYXRpb25fX2xpbmsge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMTBweCAtNXB4ICNDREQ3MzY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI0NERDczNjtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dCB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xufVxuLmMtcGFnaW5hdGlvbl9fcHJldi5pcy1pbmFjdGl2ZSxcbi5jLXBhZ2luYXRpb25fX25leHQuaXMtaW5hY3RpdmUge1xuICBjb2xvcjogcmdiYSg0NCwgNDQsIDQ0LCAwLjQpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmMtcGFnaW5hdGlvbl9fcHJldiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcbn1cblxuLypcbiAqIFBhZ2UgdGl0bGVcbiAqL1xuLmMtcGFnZS10aXRsZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIC1tcy1oeXBoZW5zOiBhdXRvO1xuICBoeXBoZW5zOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLmMtcGFnZS10aXRsZSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXBhZ2UtdGl0bGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogNDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuYy1wYWdlLXRpdGxlLS1jZW50ZXIge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuYy1wYWdlLXRpdGxlX19wcmVoZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG59XG5cbi5jLXBhZ2UtdGl0bGVfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5jLXBhZ2UtdGl0bGVfX2hlYWRpbmctc21hbGwge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1wcm9qZWN0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1NzZweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jLXByb2plY3Rvcl9fZmlndXJlIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLXByb2plY3Rvcl9fY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGNvbG9yOiAjOTk5OTk5O1xufVxuXG4uYy1wcm9qZWN0b3JfX3BpY3R1cmUge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzNjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbn1cbi5pZSAuYy1wcm9qZWN0b3ItLXNpbmdsZS1pbWFnZSAuYy1wcm9qZWN0b3JfX3BpY3R1cmUge1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbn1cbi5jLXByb2plY3Rvcl9fcGljdHVyZS5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uYy1wcm9qZWN0b3JfX2NvbnRyb2wge1xuICBncmlkLWNvbHVtbjogMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLmMtcHJvamVjdG9yX19pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5jLXByb2plY3Rvcl9faW1nIHtcbiAgICBtYXgtaGVpZ2h0OiA3OHZoO1xuICB9XG59XG5cbi5jLXNlcnZpY2Vwb2ludCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2ltYWdlIHtcbiAgZmxleDogMDtcbiAgbWluLXdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDE5NHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2NvbnRlbnQge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIG1pbi13aWR0aDogNTAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1iYXNpczogY2FsYyhjYWxjKDQyMHB4IC0gMTAwJSkgKiA5OTkpO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5jLXNlcnZpY2Vwb2ludF9fY29udGVudCB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2JvZHkge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5jLXNlcnZpY2Vwb2ludF9fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNjU2NTY1O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4uYy1zZXJ2aWNlcG9pbnRfX3N1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi8qKlxuICogU2VsZWN0IHN0eWxlZCB3aXRob3V0IGV4dHJhIGNvbnRhaW5pbmcgZWxlbWVudHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogQmFzZWQgb24gdGhpcyBhcnRpY2xlOlxuICogaHR0cHM6Ly93d3cuZmlsYW1lbnRncm91cC5jb20vbGFiL3NlbGVjdC1jc3MuaHRtbFxuICovXG4uYy1zZWxlY3Qge1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0Mjk7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIHBhZGRpbmctbGVmdDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMzJweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWFyZ2luOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjb2xvcjogIzFEMUQxRDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSAxMDAlKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxM3B4IHRvcCA1MCUsIDAgMDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG8sIDEwMCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDOEM4Qzg7XG4gIHRyYW5zaXRpb246IGJvcmRlciAzMDBtcyBsaW5lYXI7XG59XG4uYy1zZWxlY3Q6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NlbGVjdC1hcnJvdy5zdmdcIiksIGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpIDEwMCUpO1xufVxuLmMtc2VsZWN0Om5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjU2NTY1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG4uYy1zZWxlY3Q6bm90KDpkaXNhYmxlZCk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM2NjkzMzU7XG4gIGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCByZ2JhKDI5LCAyOSwgMjksIDAuNyk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAtbW96LW1hYy1mb2N1c3Jpbmc7XG4gIGNvbG9yOiAjMUQxRDFEO1xuICBvdXRsaW5lOiBub25lO1xufVxuLmMtc2VsZWN0IG9wdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jLXNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jLXNpdGVtYXBfX2l0ZW0ge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgY29sb3I6ICM2NTY1NjU7XG59XG5cbi5jLXNpdGVtYXBfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5jLXNpdGVtYXBfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI0NERDczNjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qXG4gKiBTa2lwIExpbmtcbiAqL1xuLmMtc2tpcC1saW5rIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwdmg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjb2xvcjogIzQwNzlCODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtc2tpcC1saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xuICB0b3A6IDVweDtcbiAgLyogTm93IHRoZSBsaW5rIHdpbGwgYXBwZWFyICovXG59XG5cbi5jLXNsaWRlLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkNFM0M7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHdpZHRoOiA0MHB4O1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b24gKyAuYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvblthcmlhLWxhYmVsPXByZXZpb3VzXSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uW2FyaWEtbGFiZWw9bmV4dF0gPiBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmM2MWQ7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmM2MWQ7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpob3Zlcjpub3QoLmlzLWFjdGl2ZSksIC5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzOm5vdCguaXMtYWN0aXZlKSB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmJlZm9yZSwgLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YmVmb3JlIHtcbiAgdG9wOiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICByaWdodDogY2FsYygoMzBweCAtIDhweCkgLyAyKTtcbiAgYm90dG9tOiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBsZWZ0OiBjYWxjKCgzMHB4IC0gOHB4KSAvIDIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6YWZ0ZXIge1xuICB0b3A6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICByaWdodDogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGJvdHRvbTogY2FsYygoMzBweCAtIDEycHgpIC8gMik7XG4gIGxlZnQ6IGNhbGMoKDMwcHggLSAxMnB4KSAvIDIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XG4gIG9wYWNpdHk6IDA7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdC5pcy1hY3RpdmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdC5pcy1hY3RpdmU6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4uYy1zbGlkZS1pbmRpY2F0b3JfX2RvdDpmb2N1cyB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90OmZvY3VzOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCBibGFjaywgMCAwIDEwcHggMXB4IHdoaXRlO1xufVxuLmMtc2xpZGUtaW5kaWNhdG9yX19kb3Q6Zm9jdXM6YWZ0ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcbn1cblxuLmMtc3VibmF2IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1zdWJuYXYtLWJveGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcGFkZGluZzogODBweCA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuYy1zdWJuYXYtLWJveGVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgfVxufVxuXG4uYy1zdWJuYXZfX2hlYWRlciB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtc3VibmF2X19saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbiogKyAuYy1zdWJuYXZfX2xpc3Qge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uYy1zdWJuYXZfX2l0ZW0tLWJhY2sge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uYy1zdWJuYXZfX2xpbmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBjb2xvcjogIzY1NjU2NTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDI1MG1zO1xufVxuLmMtc3VibmF2X19saW5rOmhvdmVyLCAuYy1zdWJuYXZfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLmMtc3VibmF2X19saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM0MDc5Qjg7XG59XG4uYy1zdWJuYXZfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG4uYy1zdWJuYXZfX2xpbms6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDOEM4Qzg7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjQ0RENzM2O1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG4gIGNvbG9yOiAjQzhDOEM4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE2cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XG59XG4uYy1zdWJuYXZfX2xpbms6aG92ZXIgLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzQwNzlCODtcbn1cblxuLmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAuYy1zdWJuYXZfX2xpbmsge1xuICBjb2xvcjogI0NERDczNjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIC5jLXN1Ym5hdl9fbGluazo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjQ0RENzM2O1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cbi5jLXN1Ym5hdl9faXRlbS5pcy1hY3RpdmUgLmMtc3VibmF2X19pY29uIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyoqXG4gKiAxLiBDb2xvciBnZXRzIGluaGVyaXRlZCBhbmQgdXNlZCBmb3IgbmVzdGVkIGVsZW1lbnRzIHdpdGggJ2N1cnJlbnRDb2xvcicgcHJvcGVydHlcbiAqIDIuIFJlc2V0IGRlZmF1bHQgYnV0dG9uIHN0eWxpbmdcbiAqL1xuLmMtdGV4dGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICM0MDc5Qjg7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uYy10ZXh0YnV0dG9uOmhvdmVyLCAuYy10ZXh0YnV0dG9uOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBjb2xvcjogIzI2NDk2ZTtcbn1cbi5jLXRleHRidXR0b246ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4uYy10ZXh0YnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uYy10ZXh0YnV0dG9uX190ZXh0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcbn1cbi5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xufVxuLmMtdGV4dGJ1dHRvbi0taWNvbiAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkIC5jLXRleHRidXR0b25fX3RleHQge1xuICBvcmRlcjogMjtcbn1cbi5jLXRleHRidXR0b24tLWlzLXJldmVyc2VkIC5jLXRleHRidXR0b25fX2ljb24ge1xuICBvcmRlcjogMTtcbiAgdG9wOiAxcHg7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZDpob3Zlcjpub3QoOmRpc2FibGVkKSAuYy10ZXh0YnV0dG9uX19pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybikgdHJhbnNsYXRlWCgzcHgpO1xufVxuXG4uYy10cmFkZW1hcmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG59XG4uYy10cmFkZW1hcms6aG92ZXIsIC5jLXRyYWRlbWFyazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uYy10cmFkZW1hcms6aG92ZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5jLXRyYWRlbWFyazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLmMtdHJhZGVtYXJrX190ZXh0IHtcbiAgbWFyZ2luLXJpZ2h0OiA3cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5jLXRyYWRlbWFya19faWNvbiB7XG4gIHdpZHRoOiAxMDBweDtcbiAgbWF4LWhlaWdodDogMzJweDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG4uYy10cmFkZW1hcms6aG92ZXIgLmMtdHJhZGVtYXJrX19pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XG59XG5cbi5jLXZpZGVvX19pZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogIDYgLSBPUkdBTklTTVNcbiAqICBMYXJnZSBibG9ja3MgY29tcG9zZWQgb2YgbXVsdGlwbGUgY29tcG9uZW50cy5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBPcmdhbmlzbXNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLm8tYWNjb3JkaW9uIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tYWNjb3JkaW9uIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1hY2NvcmRpb25fX2l0ZW0ge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1jb2xvcjogI0M4QzhDODtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5vLWFjY29yZGlvbl9faXRlbSArIC5vLWFjY29yZGlvbl9faXRlbSB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG59XG4uby1hY2NvcmRpb25fX2l0ZW06bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjQ0RENzM2O1xufVxuXG4uby1hY2NvcmRpb25fX3RpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9fdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbi5vLWFjY29yZGlvbl9faXRlbTpub3QoLmlzLWFjdGl2ZSkgLm8tYWNjb3JkaW9uX190aXRsZTpob3ZlciB7XG4gIGNvbG9yOiAjQ0RENzM2O1xufVxuXG4uby1hY2NvcmRpb25fX2ljb24ge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDE0cHg7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1hY2NvcmRpb25fX2ljb24ge1xuICAgIGxlZnQ6IGNhbGMoNi4yNSUgLSAxMHB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbl9faWNvbiB7XG4gICAgbGVmdDogY2FsYyg0LjE2NjY2NjY2NjclIC0gMTBweCk7XG4gIH1cbn1cbi5vLWFjY29yZGlvbl9faWNvbjo6YmVmb3JlLCAuby1hY2NvcmRpb25fX2ljb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAxMHB4O1xuICBsZWZ0OiAzcHg7XG4gIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMsIDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSwgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xufVxuLm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAuby1hY2NvcmRpb25fX2ljb246OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwLjI1dHVybik7XG59XG4uby1hY2NvcmRpb25fX2ljb246OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xufVxuLm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAuby1hY2NvcmRpb25fX2ljb246OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG5cbi5vLWFjY29yZGlvbl9faGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tYWNjb3JkaW9uX19oZWFkZXIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIH1cbn1cblxuLyogSGlkZGVuIGJ5IGRlZmF1bHQqL1xuLm8tYWNjb3JkaW9uX19jb250ZW50IHtcbiAgb3BhY2l0eTogMDtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4uby1hY2NvcmRpb25fX2NvbnRlbnQgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlIC5vLWFjY29yZGlvbl9fY29udGVudCB7XG4gIG9wYWNpdHk6IDE7XG4gIG1heC1oZWlnaHQ6IDQwMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjE0Mjg1NzE0Mjl2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tYmxvY2sgKyAuby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1ibG9jayArIC5vLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA5NnB4O1xuICB9XG59XG5cbi8qXG4qIFdyYXBwZXIgb2YgdGhlIG1haW4gYm9keVxuKiAoYmV0d2VlbiB0aGUgaGVhZGVyIGFuZCB0aGUgZm9vdGVyKVxuKi9cbi5vLWJvZHkge1xuICB6LWluZGV4OiA0MDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cblxuLm8tY2FsbG91dC1iYXIge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1zLWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87XG4gIGNvbG9yOiAjMkMyQzJDO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMTJ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiAxMHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA3LjE0Mjg1NzE0Mjl2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWNhbGxvdXQtYmFyX19tYWluID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IDZ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogNXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIGFuZCAobWF4LXdpZHRoOiAxMzQzcHgpIHtcbiAgLm8tY2FsbG91dC1iYXJfX21haW4gPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMy41NzE0Mjg1NzE0dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1jYWxsb3V0LWJhcl9fbWFpbiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICB9XG59XG5cbi5vLWNhbGxvdXQtYmFyX19ib2R5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uby1jYWxsb3V0LWJhcl9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbi8qXG4gKiBDYXJkIGdyaWRcbiAqXG4gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9fbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgLm8tY2FyZC1ncmlkX19pdGVtICsgLm8tY2FyZC1ncmlkX19pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAzMnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIG1heC13aWR0aDogMzQ0cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWNhcmQtZ3JpZF9faXRlbSB7XG4gICAgZmxleDogMDtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICgoMiAtIDEpIC8gMiAqIDMycHgpKTtcbiAgICBtYXJnaW4tbGVmdDogMzJweDtcbiAgfVxuICAuby1jYXJkLWdyaWRfX2l0ZW06bnRoLWNoaWxkKDJuKzEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuby1jYXJkLWdyaWRfX2l0ZW06bnRoLWNoaWxkKG4rMykge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1jYXJkLWdyaWRfX2l0ZW0ge1xuICAgIGZsZXg6IDA7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtICgoMyAtIDEpIC8gMyAqIDMycHgpKTtcbiAgICBtYXJnaW4tbGVmdDogMzJweDtcbiAgfVxuICAuby1jYXJkLWdyaWRfX2l0ZW06bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuby1jYXJkLWdyaWRfX2l0ZW06bnRoLWNoaWxkKG4rNCkge1xuICAgIG1hcmdpbi10b3A6IDMycHg7XG4gIH1cbn1cblxuLm8tY29udGFjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMjBweCkge1xuICAuby1jb250YWN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxufVxuXG4uby1jb250YWN0X19pbmZvIHtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHBhZGRpbmctbGVmdDogNnZ3O1xuICBwYWRkaW5nLXJpZ2h0OiA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1jb250YWN0X19pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1jb250YWN0X19pbmZvIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDcuMTQyODU3MTQyOSU7XG4gICAgcGFkZGluZy1yaWdodDogNy4xNDI4NTcxNDI5JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIyMHB4KSB7XG4gIC5vLWNvbnRhY3RfX2luZm8ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICB9XG59XG5cbi5vLWNvbnRhY3RfX2Zvcm0ge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xuICBwYWRkaW5nOiAzMnB4IDZ2dztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWNvbnRhY3RfX2Zvcm0ge1xuICAgIHBhZGRpbmctbGVmdDogMTAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWNvbnRhY3RfX2Zvcm0ge1xuICAgIHBhZGRpbmctbGVmdDogNy4xNDI4NTcxNDI5JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3LjE0Mjg1NzE0MjklO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjIwcHgpIHtcbiAgLm8tY29udGFjdF9fZm9ybSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICB9XG59XG5cbi5vLWNvbnRhY3RfX2hlYWRlciB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgY29sb3I6ICMyQzJDMkM7XG59XG5cbi5vLWNvbnRhY3RfX2NhcmQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uby1jb250YWN0X19udW1iZXJzIHtcbiAgbWFyZ2luLXRvcDogMTZweDtcbn1cblxuLm8tY29va2llLWJhciB7XG4gIHotaW5kZXg6IC0xO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiA2NHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFEMUQxRDtcbiAgb3BhY2l0eTogMTtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB0cmFuc2Zvcm0gMC42cztcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLm8tY29va2llLWJhcjpub3QoLmlzLWFjY2VwdGVkKSB7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5vLWNvb2tpZS1iYXIuaXMtdHJhbnNpdGlvbmluZy1vdXQge1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG59XG5cbi5vLWNvb2tpZS1iYXJfX21haW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3M3B4KSB7XG4gIC5vLWNvb2tpZS1iYXJfX21haW4ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxufVxuXG4uby1jb29raWUtYmFyX190ZXh0IHtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3NHB4KSB7XG4gIC5vLWNvb2tpZS1iYXJfX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgfVxufVxuXG4uby1jb29raWUtYmFyX19saW5rIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG59XG4uby1jb29raWUtYmFyX19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjksIDI5LCAyOSwgMC43NSk7XG59XG5cbi5vLWNvb2tpZS1iYXJfX2J1dHRvbiB7XG4gIGZsZXg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tY29va2llLWJhcl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgfVxufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERvdWJsZSBpbWFnZSBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgcGljdHVyZXMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1kb3VibGUtaW1hZ2Uge1xuICBtYXJnaW46IC0xcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1kb3VibGUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMXB4O1xuICBvcmRlcjogMTtcbiAgbWluLWhlaWdodDogMzYwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmU6bGFzdC1jaGlsZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5vLWRvdWJsZS1pbWFnZV9faW1nIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1heC1oZWlnaHQ6IDg1dmg7XG59XG5cbi5vLWRvdWJsZS1pbWFnZS0taXMtcmV2ZXJzZWQgLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLm8tZG91YmxlLWltYWdlLS1pcy1yZXZlcnNlZCAuby1kb3VibGUtaW1hZ2VfX3BpY3R1cmU6bGFzdC1jaGlsZCB7XG4gIG9yZGVyOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIERvdWJsZSBsYXlvdXQgaW4gMiBlcXVhbCBjb2x1bW5zXG4gKlxuICogVW50aWwgdmlld3BvcnQgaXMgd2lkZSBlbm91Z2ggdGhlIGNvbHVtbnMgYXJlIHN0YWNrZWQgdmVydGljYWxseVxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uby1kb3VibGUtdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG91YmxlLXRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiA2Mi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiA2dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLWRvdWJsZS10ZXh0X19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDM3LjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tZG91YmxlLXRleHRfX2NvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3dubG9hZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWRvd25sb2Fkcy0taXMtcmV2ZXJzZWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuXG4uby1kb3dubG9hZHNfX21haW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDcycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1kb3dubG9hZHNfX21haW4ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1kb3dubG9hZHNfX21haW4ge1xuICAgIHBhZGRpbmctbGVmdDogNi4yNSU7XG4gICAgcGFkZGluZy1yaWdodDogNi4yNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1kb3dubG9hZHNfX21haW4ge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG4uby1kb3dubG9hZHNfX21haW4gLmMtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZG93bmxvYWRzX19zZXJ2aWNlLXBvaW50IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1kb3dubG9hZHNfX3NlcnZpY2UtcG9pbnQge1xuICAgIHdpZHRoOiAzNy41JTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWRvd25sb2Fkc19fc2VydmljZS1wb2ludCB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG59XG5cbi5vLWZvb3RlciB7XG4gIHotaW5kZXg6IDIwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhEQzE1MztcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDc1ZGVnLCAjOERDMTUzIDUwJSwgI0NERDczNiAxMjUlKTtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5vLWZvb3Rlcl9fbWFpbiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnZ3KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDZ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1mb290ZXJfX21haW4ge1xuICAgIHBhZGRpbmctdG9wOiA1dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDV2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDMuNTcxNDI4NTcxNHZ3O1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjU3MTQyODU3MTR2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM0NHB4KSB7XG4gIC5vLWZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDQ4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tZm9vdGVyX19jb2x1bW5zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5vLWZvb3Rlcl9fYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy45NnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby1mb290ZXJfX2JyYW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjN2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLWZvb3Rlcl9fYnJhbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzU3MTQyODU3MXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tZm9vdGVyX19icmFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzEuNjhweDtcbiAgfVxufVxuLm8tZm9vdGVyX19icmFuZDpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLm8tZm9vdGVyX19sb2dvIHtcbiAgd2lkdGg6IDE5MnB4O1xufVxuXG4uby1mb290ZXJfX2luZm8gPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDMycHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX2luZm8ge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1mb290ZXJfX2luZm8ge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1mb290ZXJfX25hdiB7XG4gICAgbWFyZ2luLXRvcDogNnZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1mb290ZXJfX25hdiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwJTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLWZvb3Rlcl9fbmF2IHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1mb290ZXJfX2xpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbi5vLWZvb3Rlcl9fbGluayB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uby1mb290ZXJfX2xpbms6aG92ZXIsIC5vLWZvb3Rlcl9fbGluazphY3RpdmUge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uby1mb290ZXJfX2xpbms6OmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3BhY2l0eTogMDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtOHB4O1xuICByaWdodDogLThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBsaW5lYXI7XG59XG4uby1mb290ZXJfX2xpbms6aG92ZXI6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG59XG4uby1mb290ZXJfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICBvdXRsaW5lLXdpZHRoOiAycHg7XG59XG5cbi5vLWZvb3Rlcl9fc29jaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAzMnB4IDAgMDtcbn1cblxuLm8tZm9vdGVyX19jaGFubmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuLm8tZm9vdGVyX19pY29uIHtcbiAgZmxleDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xufVxuLmZhY2Vib29rIC5vLWZvb3Rlcl9faWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2ZhY2Vib29rLnN2Z1wiKTtcbiAgaGVpZ2h0OiAyMXB4O1xufVxuLmluc3RhZ3JhbSAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9pbnN0YWdyYW0uc3ZnXCIpO1xufVxuLnR3aXR0ZXIgLm8tZm9vdGVyX19pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvdHdpdHRlci5zdmdcIik7XG4gIGhlaWdodDogMjBweDtcbn1cbi5saW5rZWRpbiAuby1mb290ZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9saW5rZWRpbi5zdmdcIik7XG4gIGhlaWdodDogMThweDtcbn1cbi5vLWZvb3Rlcl9faWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5vLWZvb3Rlcl9faWNvbjpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6ICM0MDc5Qjg7XG59XG5cbi5vLWZvcm1fX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5vLWZvcm1fX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5vLWZvcm1fX3JvdyArIC5vLWZvcm1fX3JvdyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5vLWZvcm1fX3BvdCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLypcblx0Q29sb3JzIGdldCBkZWZpbmVkIGluIF9zZXR0aW5ncy5jb25maWcuc2Nzc1xuKi9cbi5vLWhlYWRlciB7XG4gIHotaW5kZXg6IDUwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbn1cbi5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDUwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIC01cHggMzBweCBibGFjaztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDMwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXIuaXMtc3RpY2t5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlIC5vLWhlYWRlci5pcy1zdGlja3kge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG4uby1oZWFkZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taGVhZGVyX19tYWluIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuXG4uby1oZWFkZXJfX25hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogNDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwOTlweCkge1xuICAuby1oZWFkZXJfX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1oZWFkZXJfX2xhbmd1YWdlIHtcbiAgZmxleDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDE2cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDk5cHgpIHtcbiAgLm8taGVhZGVyX19sYW5ndWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLm8taGVhZGVyX19sb2dvIHtcbiAgZmxleDogbm9uZTtcbn1cbi5vLWhlYWRlcl9fbG9nbzpob3ZlciwgLm8taGVhZGVyX19sb2dvOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5vLWhlYWRlcl9fbG9nbzpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cblxuLm8taGVhZGVyX19pbWcge1xuICBoZWlnaHQ6IDY0cHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkge1xuICAuby1oZWFkZXJfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby1pbnRybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLm8taW50cm9fX2JvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLm8taW50cm9fX2JvZHkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy4xNDI4NTcxNDI5dnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1pbnRyb19fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODM5cHgpIHtcbiAgLm8taW50cm8tLW1vYmlsZS1icmVhay1vdXQgLm8taW50cm9fX2JvZHkge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX2JvZHk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOERDMTUzO1xuICB9XG59XG5cbi5vLWludHJvX19jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fY29udGVudCB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5vLWludHJvX19uYXYsXG4uby1pbnRyb19faW1hZ2Uge1xuICBtYXJnaW4tdG9wOiAzMnB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gICAgb3JkZXI6IC0xO1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1pbnRyb19fbmF2IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgcGFkZGluZzogMzJweCA2dnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1pbnRyb19fbmF2IHtcbiAgICBwYWRkaW5nOiA4MHB4IDQuMTY2NjY2NjY2NyU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMCU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgcGFkZGluZy1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby1pbnRyb19fdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6IDZ2dztcbiAgcGFkZGluZy1yaWdodDogNnZ3O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8taW50cm9fX3RleHQge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBwYWRkaW5nOiA4MHB4IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1pbnRyb19fdGV4dCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby1pbnRyb19fdGl0bGUsXG4uby1pbnRyb19faGVhZGluZyB7XG4gIGNvbG9yOiAjMUQxRDFEICFpbXBvcnRhbnQ7XG59XG5cbi5vLWludHJvX19idXR0b24ge1xuICBjb2xvcjogIzQwNzlCOCAhaW1wb3J0YW50O1xufVxuXG4uby1sb2dvc19fbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbjogLTIuMzgydnc7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNDRweCkge1xuICAuby1sb2dvc19fbGlzdCB7XG4gICAgbWFyZ2luOiAtMzJweDtcbiAgfVxufVxuXG4uby1sb2dvc19faXRlbSB7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDIuMzgydnc7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzODRweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDV2dyk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1sb2dvc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSA1dncpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tbG9nb3NfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gNjRweCk7XG4gICAgbWFyZ2luOiAzMnB4O1xuICB9XG59XG5cbi5vLWxvZ29zX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5vLWxvZ29zX19pbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uby1tYXAgYTphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5vLW5ld3Mge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tbmV3cyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tbmV3c19fYXJ0aWNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5vLW5ld3NfX2FydGljbGUgKyAuby1uZXdzX19hcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cblxuLm8tbmV3c19fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcbn1cbi5vLW5ld3NfX2xpbms6aG92ZXIsIC5vLW5ld3NfX2xpbms6YWN0aXZlIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuLm8tbmV3c19fbGluazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQzhDOEM4O1xuICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgbGluZWFyO1xufVxuLm8tbmV3c19fbGluazpob3ZlciwgLm8tbmV3c19fbGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHJnYmEoMTQxLCAxOTMsIDgzLCAwLjA1KSwgcmdiYSgyMDUsIDIxNSwgNTQsIDAuMDIpKTtcbn1cbi5vLW5ld3NfX2xpbms6aG92ZXI6OmJlZm9yZSwgLm8tbmV3c19fbGluazpmb2N1czo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjOERDMTUzO1xufVxuLm8tbmV3c19fbGluazpmb2N1cyB7XG4gIG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG4gIG91dGxpbmUtd2lkdGg6IDJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2xpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG5cbi5vLW5ld3NfX2JvZHkge1xuICBmbGV4LWdyb3c6IDE7XG4gIHBhZGRpbmc6IDZ2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW5ld3NfX2JvZHkge1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTIuNSU7XG4gICAgcGFkZGluZy1yaWdodDogMTIuNSU7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby1uZXdzX19ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbn1cblxuLm8tbmV3c19faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tbmV3c19faW1hZ2Uge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgb3JkZXI6IDI7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjUlO1xuICB9XG59XG5cbi5vLW5ld3NfX2JnLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0b3A6IDZ2dztcbiAgcmlnaHQ6IDZ2dztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDZ2dyk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby1uZXdzX19iZy1pbWFnZSB7XG4gICAgdG9wOiA4cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgfVxufVxuXG4uby1uZXdzX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIHRyYW5zaXRpb246IDE1MG1zIGFsbCBsaW5lYXI7XG59XG4uby1uZXdzX19saW5rOmhvdmVyIC5vLW5ld3NfX2hlYWRpbmcge1xuICBjb2xvcjogIzhEQzE1Mztcbn1cblxuLm8tbmV3c19faW50cm8ge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uby1uZXdzX190aW1lc3RhbXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi5vLW5ld3NfX2FjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBjb2xvcjogIzQwNzlCODtcbn1cblxuLm8tbmV3c19fcmVhZG1vcmUge1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cblxuLm8tbmV3c19fZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1vdmVybGF5LW1lbnUge1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOERDMTUzO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNzVkZWcsICM4REMxNTMgNTAlLCAjQ0RENzM2IDEyNSUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEyMHZ3KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcywgMjAwbXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzLCA0MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjUsIDAuMTUsIDAuMSwgMSksIGxpbmVhcjtcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXMsIDBzO1xufVxuLm8tb3ZlcmxheS1tZW51OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMTIwdnc7XG4gIHdpZHRoOiAxMjB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyMDBtcztcbiAgdHJhbnNpdGlvbi1kZWxheTogNDAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG4uaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAuby1vdmVybGF5LW1lbnU6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuLm8tb3ZlcmxheS1tZW51OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC0yMCU7XG4gIHdpZHRoOiAyMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC04NmRlZywgdHJhbnNwYXJlbnQgNTAlLCAjOERDMTUzIDUwJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLW92ZXJsYXktbWVudV9fYmFyIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tb3ZlcmxheS1tZW51X19iYXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLW92ZXJsYXktbWVudV9faW1nIHtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuXG4uby1vdmVybGF5LW1lbnVfX3RvZ2dsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjV0dXJuKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbn1cbi5pcy1vdmVybGF5LW1lbnUtYWN0aXZlIC5vLW92ZXJsYXktbWVudV9fdG9nZ2xlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2xpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uby1vdmVybGF5LW1lbnVfX2l0ZW0ge1xuICBwYWRkaW5nOiA4cHggNy4xNDI4NTcxNDI5JTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cblxuLm8tb3ZlcmxheS1tZW51X19saW5rIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzMzMzMzM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluazpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbms6Zm9jdXMge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICBvdXRsaW5lLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG4uby1vdmVybGF5LW1lbnVfX2xpbmsuaXMtYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcGFjaXR5OiAxO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5vLW92ZXJsYXktbWVudV9fbGluay5pcy1hY3RpdmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4p6UXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA2cHg7XG4gIGxlZnQ6IC0xLjI1ZW07XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm8tcXVvdGUge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tcXVvdGUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXF1b3RlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbi5vLXF1b3RlX19ib2R5IHtcbiAgbWF4LXdpZHRoOiA3NjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5vLXF1b3RlX190ZXh0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBxdW90ZXM6IFwi4oCcXCIgXCLigJ1cIjtcbn1cbi5vLXF1b3RlX190ZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xufVxuLm8tcXVvdGVfX3RleHQ6OmFmdGVyIHtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbi5vLXF1b3RlX19hdXRob3Ige1xuICBtYXJnaW4tdG9wOiAyNHB4O1xufVxuXG4uby1xdW90ZV9faGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM4REMxNTM7XG59XG5cbi5vLXF1b3RlX19zdWJoZWFkaW5nIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjQ0RENzM2O1xufVxuXG4uby1yZWZlcmVuY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IC0zMnB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDAgMSAxMDAlO1xuICBtYXJnaW46IDMycHg7XG4gIHBhZGRpbmctdG9wOiA0OHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDEsIDE5MywgODMsIDAuNSk7XG4gIGJveC1zaGFkb3c6IDAgMi40cHggMzkuNHB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wMjQpLCAwIDYuOHB4IDQ1LjVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDM1KSwgMCAxNi4zcHggNTEuNHB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC4wNDYpLCAwIDU0cHggODBweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDcpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLm8tcmVmZXJlbmNlc19faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA2NHB4IC0gMnB4KTtcbiAgfVxufVxuLm8tcmVmZXJlbmNlc19faXRlbTo6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzhEQzE1MywgI0NERDczNik7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2JvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3BpY3R1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LWJhc2lzOiAyNSU7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4O1xufVxuXG4uby1yZWZlcmVuY2VzX19jb250ZW50IHtcbiAgZmxleC1ncm93OiA5OTk5O1xuICBmbGV4LWJhc2lzOiAxOGVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiA0OHB4O1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLm8tcmVmZXJlbmNlc19fdGV4dCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCI7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5vLXJlZmVyZW5jZXNfX3RleHQ6OmJlZm9yZSwgLm8tcmVmZXJlbmNlc19fdGV4dDo6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgxNDEsIDE5MywgODMsIDAuNSk7XG4gIGZvbnQtZmFtaWx5OiBTYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDYwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uby1yZWZlcmVuY2VzX190ZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBvcGVuLXF1b3RlO1xuICB0b3A6IDRweDtcbiAgbGVmdDogLTMycHg7XG59XG4uby1yZWZlcmVuY2VzX190ZXh0OjphZnRlciB7XG4gIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuICBib3R0b206IC0yMHB4O1xuICByaWdodDogLTIwcHg7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2F1dGhvciB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi5vLXJlZmVyZW5jZXNfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3N1YmhlYWRpbmcge1xuICBjb2xvcjogIzhEQzE1MztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5vLXN1YmZvb3RlciB7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQztcbiAgcGFkZGluZy1ib3R0b206IDY0cHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cztcbn1cbi5pcy1jb29raWVzLWFjY2VwdGVkIC5vLXN1YmZvb3RlciB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uby1zdWJmb290ZXJfX21haW4ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXN1YmZvb3Rlcl9fbWFpbiB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxNCkgKiAxMik7XG4gICAgbWF4LXdpZHRoOiAxMTUycHg7XG4gIH1cbn1cblxuLm8tc3ViZm9vdGVyX19jb3B5cmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDMycHg7XG59XG5cbi5vLXN1YmZvb3Rlcl9fbmF2IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLm8tc3ViZm9vdGVyX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbn1cblxuLm8tc3ViZm9vdGVyX19pdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcbn1cbi5vLXN1YmZvb3Rlcl9fbGluazpob3ZlciwgLm8tc3ViZm9vdGVyX19saW5rOmFjdGl2ZSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5vLXN1YmZvb3Rlcl9fbGluazpob3ZlciB7XG4gIGNvbG9yOiAjY2RkNzM2O1xufVxuLm8tc3ViZm9vdGVyX19saW5rOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuICBvdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgb3V0bGluZS13aWR0aDogMnB4O1xufVxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4vKlxuICogT24gc21hbGwgc2NyZWVucyB0aGUgY29udGVudCBpcyBzdGFja2VkLCB3aXRob3V0IGNvbnRyb2xzXG4gKiBXaGVuIHRoZSBzY3JlZW4gaXMgd2lkZSBlbm91Z2ggd2UgYWRkIHRoZSBjb250cm9sc1xuICogYW5kIHNob3cgb25seSB0aGUgY2hvc2VuICdzbGlkZSBjb250ZW50J1xuICovXG4uby10YWJzbGlkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTJ2dyk7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTApICogOCk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby10YWJzbGlkZXIge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtaW4taGVpZ2h0OiA0OHB4O1xuICBjb2xvcjogIzJDMkMyQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M4QzhDODtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYm9yZGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICMwMDkwQzk7XG4gIGJvcmRlci1jb2xvcjogIzAwOTBDOTtcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uLmlzLWFjdGl2ZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5MEM5O1xuICBib3JkZXItY29sb3I6ICM1MEMxRTk7XG59XG4uby10YWJzbGlkZXJfX2J1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzUwQzFFOTtcbn1cbi5vLXRhYnNsaWRlcl9fYnV0dG9uOmZvY3VzOm5vdCguaXMtYWN0aXZlKTpub3QoOmFjdGl2ZSkge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI0ZGRkZGRiwgMCAwIDVweCAzcHggcmdiYSg0NCwgNDQsIDQ0LCAwLjEpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG4gIHdpZHRoOiA0OHB4O1xufVxuXG4uby10YWJzbGlkZXJfX3N0ZXAtLXByZXYge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX190YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tdGFic2xpZGVyX190YWJzIHtcbiAgICBtYXJnaW46IC04cHggOHB4O1xuICB9XG59XG5cbi5vLXRhYnNsaWRlcl9fdGFiIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgbWFyZ2luOiA4cHg7XG4gIHBhZGRpbmc6IDdweCAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby10YWJzbGlkZXJfX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICBtYXJnaW4tdG9wOiA0OHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLXRhYnNsaWRlcl9fY29udGVudCArIC5vLXRhYnNsaWRlcl9fY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19jb250ZW50IHtcbiAgICBncmlkLXJvdzogMTtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbiAgLm8tdGFic2xpZGVyX19jb250ZW50LmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxufVxuXG4uby10YWJzbGlkZXJfX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGFic2xpZGVyX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uby10ZWFtIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAxMCkgKiA4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC8gMTQpICogMTIpO1xuICAgIG1heC13aWR0aDogMTE1MnB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAuby10ZWFtIHtcbiAgICBtYXJnaW4tdG9wOiAxMnZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDEydnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDEwdnc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTB2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSBhbmQgKG1heC13aWR0aDogMTM0M3B4KSB7XG4gIC5vLXRlYW0ge1xuICAgIG1hcmdpbi10b3A6IDcuMTQyODU3MTQyOXZ3O1xuICAgIG1hcmdpbi1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLm8tdGVhbSB7XG4gICAgbWFyZ2luLXRvcDogOTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA5NnB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5vLXRlYW1fX21hdHJpeCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAtMTZweDtcbiAgfVxufVxuXG4uby10ZWFtX19pdGVtIHtcbiAgbWFyZ2luOiAwIGF1dG8gMzJweDtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIG1hcmdpbjogMTZweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgZmxleDogbm9uZTtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDMycHgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLm8tdGVhbV9faXRlbSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAzMnB4KTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC5vLXRlYW1fX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoMjUlIC0gMzJweCk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE1MXB4KSB7XG4gIC5vLXVzcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NERDczNjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAjOERDMTUzIDUwJSwgI0NERDczNiAxMjUlKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkge1xuICAuby11c3BfX21haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm8tdXNwX190ZXh0IHtcbiAgcGFkZGluZzogMzJweCAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAuby11c3BfX3RleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDREQ3MzY7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgIzhEQzE1MyA1MCUsICNDREQ3MzYgMTI1JSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDg0MHB4KSB7XG4gIC5vLXVzcF9fdGV4dCB7XG4gICAgd2lkdGg6IDYyLjUlO1xuICAgIHBhZGRpbmctdG9wOiA2LjI1JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNi4yNSU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdXNwX190ZXh0IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDQuMTY2NjY2NjY2NyUgOC4zMzMzMzMzMzMzJTtcbiAgfVxufVxuXG4uby11c3BfX2ltYWdlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgzOXB4KSB7XG4gIC5vLXVzcF9faW1hZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtNnZ3O1xuICAgIG1hcmdpbi1yaWdodDogLTZ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogNjUlO1xuICAgIG1pbi1oZWlnaHQ6IDM2MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NDBweCkgYW5kIChtYXgtd2lkdGg6IDExNTFweCkge1xuICAuby11c3BfX2ltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbi1yaWdodDogLTEyLjUlO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLm8tdXNwX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uby11c3BfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLm8tdXNwX19saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLm8tdXNwX19pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG59XG4uby11c3BfX2l0ZW0gKyAuby11c3BfX2l0ZW0ge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuLm8tdXNwX19pdGVtOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiAtMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvY2hlY2svY2hlY2tlZC5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTJweDtcbn1cblxuLm8tdXNwX19hY3Rpb24ge1xuICBtYXJnaW4tdG9wOiA0OHB4O1xufVxuXG4uby11c3BfX2ltYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjhGODtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLm8tdmFjYW5jaWVzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLm8tdmFjYW5jaWVzID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4uby12YWNhbmNpZXNfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiBzb2xpZCAycHggI0NERDczNjtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgY29sb3I6ICNDREQ3MzY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG4uby12YWNhbmNpZXNfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI2ZjYmQwMDtcbiAgYm9yZGVyOiBzb2xpZCAycHggI2ZjYmQwMDtcbn1cblxuLyogIDcgLSBUZW1wbGF0ZXNcbiAqICBPdmVycmlkZSBzdHlsaW5nIGZvciBhIHNwZWNpZmljIHRlbXBsYXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGVtcGxhdGVzXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qICA4IC0gU0NPUEVTXG4gKiAgRWxlbWVudHMgYW5kIGNsYXNzZXMgdGhhdCBhcmUgc2NvcGVkIGJ5IGEgcGFyZW50IGNsYXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zLWNoZWNrbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLnMtY2hlY2tsaXN0IGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBsaW5lLWhlaWdodDogMS40NTtcbn1cbi5zLWNoZWNrbGlzdCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvY2hlY2svY2hlY2tlZC5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG59XG4uY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgLnMtY2hlY2tsaXN0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOTtcbn1cbi5jaGVja2xpc3QtaGFzLXgtc21hbGwtZm9udCAucy1jaGVja2xpc3QgbGk6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xufVxuXG4vKipcbiAqIEFsbCB0ZXh0IGVsZW1lbnRzIHRoYXQgY2FuIGJlIGFkZGVkIGJ5IHRoZSB1c2VyIHRocm91Z2ggYSBDTVNcbiAqL1xuLnMtdGV4dCBoMiwgLnMtdGV4dCBoMywgLnMtdGV4dCBoNCB7XG4gIGNvbG9yOiAjMkMyQzJDO1xufVxuLnMtdGV4dCA+ICogKyAqIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cbi5zLXRleHQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ucy10ZXh0ID4gKiArIC5jLWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi5zLXRleHQgPiB1bDpub3QoW2NsYXNzXSkgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1ZW07XG59XG4ucy10ZXh0ID4gdWw6bm90KFtjbGFzc10pID4gbGk6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzMzMzMzO1xuICBjb250ZW50OiBcIuKAolwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTRweDtcbiAgbGVmdDogMDtcbn1cbi5zLXRleHQgPiBvbDpub3QoW2NsYXNzXSkge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBvbC1jb3VudGVyO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IC0xLjEyNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuOGVtO1xufVxuLnMtdGV4dCA+IG9sOm5vdChbY2xhc3NdKSA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLiBcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxLjI3NWVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogIDkgLSBVVElMSVRJRVNcbiAqICBIaWdoLXNwZWNpZmljaXR5LCB2ZXJ5IGV4cGxpY2l0IHNlbGVjdG9ycy5cbiAqICBPdmVycmlkZXMgYW5kIGhlbHBlciBjbGFzc2VzLlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBIZXJlIHdlIHByaW50IG91dCBhbGwgb3VyIGhlbHBlciBjbGFzc2VzIGZvciBvdXIgZGVmaW5lZCBjb2xvcnNcbiAqIEJhc2VkIG9uIHRoZXNlIGFydGljbGVzOlxuICogLSBodHRwOi8vZXJza2luZWRlc2lnbi5jb20vYmxvZy9mcmllbmRsaWVyLWNvbG91ci1uYW1lcy1zYXNzLW1hcHMvXG4gKiAtIGh0dHBzOi8vYmxvZy5hdGVjaG1lZGlhLmNvbS9jc3MtZm9yLW11bHRpcGxlLXRoZW1lcy9cbiAqIE91dHB1dCBpcyBpbiB0aGUgZm9ybSBvZjpcblxuICAgLnUtY29sb3ItcHJpbWFyeSB7XG4gICAgICBjb2xvcjogI2JhZGE1NTtcbiAgIH1cblxuICAudS1iZy1uZXV0cmFsLS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWNhZmY7XG4gIH1cbiAqL1xuLnUtY29sb3ItcHJpbWFyeS0tNTAwIHtcbiAgY29sb3I6ICNDREQ3MzY7XG59XG5cbi51LWJnLXByaW1hcnktLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDREQ3MzY7XG59XG5cbi51LWNvbG9yLXByaW1hcnktLTcwMCB7XG4gIGNvbG9yOiAjOERDMTUzO1xufVxuXG4udS1iZy1wcmltYXJ5LS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOERDMTUzO1xufVxuXG4udS1jb2xvci1zZWNvbmRhcnktLTUwMCB7XG4gIGNvbG9yOiAjRkZDRTNDO1xufVxuXG4udS1iZy1zZWNvbmRhcnktLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkNFM0M7XG59XG5cbi51LWNvbG9yLXNlY29uZGFyeS0tNzAwIHtcbiAgY29sb3I6ICNGRjc4M0U7XG59XG5cbi51LWJnLXNlY29uZGFyeS0tNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGNzgzRTtcbn1cblxuLnUtY29sb3ItdGVydGlhcnktLTUwMCB7XG4gIGNvbG9yOiAjNTBDMUU5O1xufVxuXG4udS1iZy10ZXJ0aWFyeS0tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwQzFFOTtcbn1cblxuLnUtY29sb3ItdGVydGlhcnktLTcwMCB7XG4gIGNvbG9yOiAjMDA5MEM5O1xufVxuXG4udS1iZy10ZXJ0aWFyeS0tNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTBDOTtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4udS1iZy1uZXV0cmFsLS0wIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tMTAwIHtcbiAgY29sb3I6ICNGOEY4Rjg7XG59XG5cbi51LWJnLW5ldXRyYWwtLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTIwMCB7XG4gIGNvbG9yOiAjRjVGNUY1O1xufVxuXG4udS1iZy1uZXV0cmFsLS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS0zMDAge1xuICBjb2xvcjogI0M4QzhDODtcbn1cblxuLnUtYmctbmV1dHJhbC0tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tNDAwIHtcbiAgY29sb3I6ICM5OTk5OTk7XG59XG5cbi51LWJnLW5ldXRyYWwtLTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTk7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTUwMCB7XG4gIGNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1iZy1uZXV0cmFsLS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1jb2xvci1uZXV0cmFsLS04MDAge1xuICBjb2xvcjogIzJDMkMyQztcbn1cblxuLnUtYmctbmV1dHJhbC0tODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQztcbn1cblxuLnUtY29sb3ItbmV1dHJhbC0tOTAwIHtcbiAgY29sb3I6ICMxRDFEMUQ7XG59XG5cbi51LWJnLW5ldXRyYWwtLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxRDFEMUQ7XG59XG5cbi51LWNvbG9yLW5ldXRyYWwtLTEwMDAge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnUtYmctbmV1dHJhbC0tMTAwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1hY3Rpb24ge1xuICBjb2xvcjogIzQwNzlCODtcbn1cblxuLnUtYmctZmVlZGJhY2stLWFjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDc5Qjg7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS13YXJuaW5nIHtcbiAgY29sb3I6ICNmZmQzM2E7XG59XG5cbi51LWJnLWZlZWRiYWNrLS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDMzYTtcbn1cblxuLnUtY29sb3ItZmVlZGJhY2stLWFsZXJ0IHtcbiAgY29sb3I6ICNmZjgxMDA7XG59XG5cbi51LWJnLWZlZWRiYWNrLS1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjgxMDA7XG59XG5cbi51LWNvbG9yLWZlZWRiYWNrLS1uZWdhdGl2ZSB7XG4gIGNvbG9yOiAjY2YzZTNlO1xufVxuXG4udS1iZy1mZWVkYmFjay0tbmVnYXRpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2YzZTNlO1xufVxuXG4udS1jb2xvci1mZWVkYmFjay0tcG9zaXRpdmUge1xuICBjb2xvcjogIzNlY2Y4ZTtcbn1cblxuLnUtYmctZmVlZGJhY2stLXBvc2l0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNlY2Y4ZTtcbn1cblxuLnUtY29sb3ItYm9yZGVyLS0wIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51LWJnLWJvcmRlci0tMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi51LWNvbG9yLWJvcmRlci0tMzAwIHtcbiAgY29sb3I6ICNDOEM4Qzg7XG59XG5cbi51LWJnLWJvcmRlci0tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0M4QzhDODtcbn1cblxuLnUtY29sb3ItYm9yZGVyLS01MDAge1xuICBjb2xvcjogIzY1NjU2NTtcbn1cblxuLnUtYmctYm9yZGVyLS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjU2NTY1O1xufVxuXG4udS1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4qIElmIHlvdSBuZWVkIHRvIG1ha2UgYSBxdWljayBmaXgsIHlvdSBjYW4gZG8gaXQgaGVyZS5cbiogTGF0ZXIgd2hlbiB5b3UgaGF2ZSB0aGUgdGltZSwgeW91IGNhbiBtb3ZlIHRoZSBmaXggaW50byB0aGUgY29ycmVjdCBwbGFjZSBpbiB0aGUgc3RydWN0dXJlXG4qL1xuLnUtc3BhY2luZy1tdDAge1xuICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjAge1xuICBtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1iMCB7XG4gIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW1sMCB7XG4gIG1hcmdpbi1sZWZ0OiAwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDAge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHIwIHtcbiAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcGIwIHtcbiAgcGFkZGluZy1ib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMCB7XG4gIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXQxIHtcbiAgbWFyZ2luLXRvcDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbXIxIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjEge1xuICBtYXJnaW4tYm90dG9tOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tbDEge1xuICBtYXJnaW4tbGVmdDogOHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctcHQxIHtcbiAgcGFkZGluZy10b3A6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMSB7XG4gIHBhZGRpbmctcmlnaHQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBiMSB7XG4gIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wbDEge1xuICBwYWRkaW5nLWxlZnQ6IDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10MiB7XG4gIG1hcmdpbi10b3A6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjIge1xuICBtYXJnaW4tcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjIge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwyIHtcbiAgbWFyZ2luLWxlZnQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDIge1xuICBwYWRkaW5nLXRvcDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjIge1xuICBwYWRkaW5nLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMiB7XG4gIHBhZGRpbmctbGVmdDogMTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10MyB7XG4gIG1hcmdpbi10b3A6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjMge1xuICBtYXJnaW4tcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjMge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWwzIHtcbiAgbWFyZ2luLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDMge1xuICBwYWRkaW5nLXRvcDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjMge1xuICBwYWRkaW5nLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsMyB7XG4gIHBhZGRpbmctbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NCB7XG4gIG1hcmdpbi10b3A6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjQge1xuICBtYXJnaW4tcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjQge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw0IHtcbiAgbWFyZ2luLWxlZnQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDQge1xuICBwYWRkaW5nLXRvcDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjQge1xuICBwYWRkaW5nLWJvdHRvbTogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNCB7XG4gIHBhZGRpbmctbGVmdDogMzJweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjUge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjUge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw1IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDUge1xuICBwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjUge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNSB7XG4gIHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NiB7XG4gIG1hcmdpbi10b3A6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjYge1xuICBtYXJnaW4tcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjYge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw2IHtcbiAgbWFyZ2luLWxlZnQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDYge1xuICBwYWRkaW5nLXRvcDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNiB7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjYge1xuICBwYWRkaW5nLWJvdHRvbTogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNiB7XG4gIHBhZGRpbmctbGVmdDogNDhweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10NyB7XG4gIG1hcmdpbi10b3A6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjcge1xuICBtYXJnaW4tcmlnaHQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjcge1xuICBtYXJnaW4tYm90dG9tOiA1NnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw3IHtcbiAgbWFyZ2luLWxlZnQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDcge1xuICBwYWRkaW5nLXRvcDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByNyB7XG4gIHBhZGRpbmctcmlnaHQ6IDU2cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjcge1xuICBwYWRkaW5nLWJvdHRvbTogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsNyB7XG4gIHBhZGRpbmctbGVmdDogNTZweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLW10OCB7XG4gIG1hcmdpbi10b3A6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tcjgge1xuICBtYXJnaW4tcmlnaHQ6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1tYjgge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51LXNwYWNpbmctbWw4IHtcbiAgbWFyZ2luLWxlZnQ6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wdDgge1xuICBwYWRkaW5nLXRvcDogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXByOCB7XG4gIHBhZGRpbmctcmlnaHQ6IDY0cHggIWltcG9ydGFudDtcbn1cblxuLnUtc3BhY2luZy1wYjgge1xuICBwYWRkaW5nLWJvdHRvbTogNjRweCAhaW1wb3J0YW50O1xufVxuXG4udS1zcGFjaW5nLXBsOCB7XG4gIHBhZGRpbmctbGVmdDogNjRweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogMTJ2dztcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJ2dztcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLnUtc3BhY2luZy1wdiB7XG4gICAgcGFkZGluZy10b3A6IDEwdnc7XG4gICAgcGFkZGluZy1ib3R0b206IDEwdnc7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkgYW5kIChtYXgtd2lkdGg6IDEzNDNweCkge1xuICAudS1zcGFjaW5nLXB2IHtcbiAgICBwYWRkaW5nLXRvcDogNy4xNDI4NTcxNDI5dnc7XG4gICAgcGFkZGluZy1ib3R0b206IDcuMTQyODU3MTQyOXZ3O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzQ0cHgpIHtcbiAgLnUtc3BhY2luZy1wdiB7XG4gICAgcGFkZGluZy10b3A6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDk2cHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE1MnB4KSB7XG4gIC51LXNwYWNpbmctcHIwXFxAbCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogVGhpcyBncmlkIGNhbiBiZSB0dXJuZWQgb24gYW5kIG9mZiB3aGVuIHlvdSB3YW50IHRvIGNoZWNrXG4gKiBpZiBldmVyeXRoaW5nIGlzIG5pY2UgaW4gcGxhY2UuXG4gKiBTZXQgZmxhZyAnc2hvd0dyaWQnIHRvIHRydWUgaW4gc2l0ZS5waHBcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udS12aXNpYmxlLWdyaWQge1xuICB6LWluZGV4OiAxMDAwMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDEydncpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC8qIDggcG9pbnQgZ3JpZCBsaW5lcyAqL1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDEwKSAqIDgpO1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTUycHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICB3aWR0aDogY2FsYygoMTAwJSAvIDE0KSAqIDEyKTtcbiAgICBtYXgtd2lkdGg6IDExNTJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTUxcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi51LXZpc2libGUtZ3JpZF9fbWFpbiB7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgMjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDI1JSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSA1MCUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQwcHgpIHtcbiAgLnUtdmlzaWJsZS1ncmlkX19tYWluIHtcbiAgICBiYWNrZ3JvdW5kOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDcpIDEyLjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDEyLjUlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDI1JSk7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNTJweCkge1xuICAudS12aXNpYmxlLWdyaWRfX21haW4ge1xuICAgIGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgNDMsIDI1NSwgMC4wNyksIHJnYmEoMCwgNDMsIDI1NSwgMC4wNykgOC4zMzMzMzMzMzMzJSwgcmdiYSgwLCA0MywgMjU1LCAwLjA0KSA4LjMzMzMzMzMzMzMlLCByZ2JhKDAsIDQzLCAyNTUsIDAuMDQpIDE2LjY2NjY2NjY2NjclKTtcbiAgfVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT3JnYW5pemUgY29sb3IgdmFyaWFibGVzIGluIGEgU2FzcyBNYXAuXG4gICBUaGlzIHdheSwgdGhlIGNvbG9ycyBjYW4gYmUgaXRlcmF0ZWQsIGFyZSBtb3JlIG9yZ2FuaXplZCxcbiAgIGFuZCBhcmUgbW9yZSBpbnR1aXRpdmUgdG8gcmVmZXJlbmNlLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuJHBhbGV0dGVzOiAoXG5cbiAgJ3ByaW1hcnknOiAoXG4gICAgNTAwOiAjQ0RENzM2LFxuICAgIDcwMDogIzhEQzE1MyxcbiAgKSxcblxuICAnc2Vjb25kYXJ5JzogKFxuICAgIDUwMDogI0ZGQ0UzQyxcbiAgICA3MDA6ICNGRjc4M0UsXG4gICksXG5cbiAgJ3RlcnRpYXJ5JzogKFxuICAgIDUwMDogIzUwQzFFOSxcbiAgICA3MDA6ICMwMDkwQzksXG4gICksXG5cbiAgJ25ldXRyYWwnOiAoXG4gICAgMDogICAjRkZGRkZGLFxuICAgIDEwMDogI0Y4RjhGOCxcbiAgICAyMDA6ICNGNUY1RjUsXG4gICAgMzAwOiAjQzhDOEM4LFxuICAgIDQwMDogIzk5OTk5OSxcbiAgICA1MDA6ICM2NTY1NjUsXG4gICAgODAwOiAjMkMyQzJDLFxuICAgIDkwMDogIzFEMUQxRCxcbiAgICAxMDAwOiAjMDAwMDAwLFxuICApLFxuXG4gICdmZWVkYmFjayc6IChcbiAgICBhY3Rpb246ICM0MDc5QjgsXG4gICAgd2FybmluZzogI2ZmZDMzYSxcbiAgICBhbGVydDogI2ZmODEwMCxcbiAgICBuZWdhdGl2ZTogI2NmM2UzZSxcbiAgICBwb3NpdGl2ZTogIzNlY2Y4ZSxcbiAgKSxcblxuICAnYm9yZGVyJzogKFxuICAgIDA6ICAgI2ZmZixcbiAgICAzMDA6ICNDOEM4QzgsXG4gICAgNTAwOiAjNjU2NTY1LFxuICApLFxuKTtcblxuXG4vKipcbiAqXHRBIHNpbXBsZSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIHRoZSBjb2xvcnMgZnJvbSBvdXIgbWFwcGluZ1xuICpcdFRvIGFjY2VzcyBjb2xvcnMgaW4gb3VyIHBhbGV0dGUsIHdlIHVzZSBhIHZlcnkgc2ltcGxlIGN1c3RvbSBTYXNzIGZ1bmN0aW9uXG4gKiAgVGhpcyBmdW5jdGlvbiBpcyBwbGFjZWQgaGVyZSwgKGFuZCBub3QgaW4gdGhlIHRvb2xib3gpXG4gKiAgYmVjYXVzZSB3ZSB3YW50IHRvIHVzZSBpdCBpbiBvdXIgb3RoZXIgc2V0dGluZyBmaWxlc1xuXG5cdFVTQUdFOlxuXG5cdC5kZW1vIHtcblx0XHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5KTtcblx0fVxuXG4gKi9cblxuQGZ1bmN0aW9uIHBhbGV0dGUoJHBhbGV0dGUsICRsZXZlbDogMSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHBhbGV0dGVzLCAkcGFsZXR0ZSkge1xuICAgIEBpZiBtYXAtaGFzLWtleShtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlcywgJHBhbGV0dGUpLCAkbGV2ZWwpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gSWYgbGV2ZWwgZG9lc24ndCBleGlzdCBpbiBtYXAsIGdpdmUgdGhlIGZpcnN0IHZhbHVlIG9mIHRoZSBwYWxldHRlXG4gICAgICBAcmV0dXJuIG50aChudGgobWFwLWdldCgkcGFsZXR0ZXMsICRwYWxldHRlKSwgMSksIDIpO1xuICAgIH1cbiAgfVxuXG4gIEB3YXJuIFwiVW5rbm93biBjb2xvcjogYCN7JHBhbGV0dGV9YCBpbiAkcGFsZXR0ZS4gXCI7XG4gIEByZXR1cm4gaG90cGluaztcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb25maWcgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcblx0WzFdXHRcdExvZ28gZGFyayBvciBsaWdodCBjYW4gYmUgc2V0IGluIGhlYWRlci5ibGFkZS5waHAgLyBmb290ZXIuYmxhZGUucGhwICZcblx0WzJdIFx0U2V0IHRoaXMgdG8gdHJ1ZSB3aGVuIGJnQ29sb3IgZ2V0cyBhIGRhcmsgY29sb3IgdGhhdCBjb250cmFzdCB0aGUgYm9keSBiZyBjb2xvclxuKi9cblxuJHNpdGUtaGVhZGVyOiAoXG5cdCdiZ0NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J3RleHRDb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG5cdCd0ZXh0Q29sb3JIb3Zlcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA4MDApLFxuXHQndGV4dENvbG9yQWN0aXZlJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMDApLFxuXHQnZGVjb3JhdGlvbkNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDMwMCksXG5cdCdkZWNvcmF0aW9uQ29sb3JBY3RpdmUnOlx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQnbG9nby1oZWlnaHQnOlx0XHRcdFx0NjRweCxcbik7XG5cblxuJHNpdGUtaW50cm86IChcblx0J2lzRGFyayc6XHRcdFx0XHRcdGZhbHNlLCAvLyBbMl1cblx0J2JnQ29sb3InOlx0XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYmFyQ29sb3InOlx0XHRcdFx0XHRwYWxldHRlKHByaW1hcnksIDcwMCksXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgOTAwKSxcblx0J2xpbmtDb2xvcic6XHRcdFx0XHRwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLFxuXHQnc3VibmF2QmdDb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDApLFxuKTtcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU29tZSBnbG9iYWwgc2V0dGluZ3MgdGhhdCB3ZSBwcm9iYWJseSBkb24ndCBuZWVkIHRvIGNoYW5nZVxuXG4kc2l0ZS1jb2x1bW5zLXM6XHRcdFx0NDtcbiRzaXRlLWNvbHVtbnMtbTpcdFx0XHQ4O1xuJHNpdGUtY29sdW1ucy1sOlx0XHRcdDEyO1xuJHNpdGUtY29sdW1uLXNpemU6XHRcdCAgICA5NjsgLy8gU2l6ZSBvZiBhIHNpbmdsZSBjb2x1bW4gd2hlbiB2aWV3cG9ydCBpcyBhdCBpdHMgbWF4IHdpZHRoICh1c2VkIGZvciBjYWxjdWxhdGluZyBtYXgtd2lkdGgpLlxuJHNpdGUtZ3V0dGVyLXdpZHRoOiBcdCAgICA2dnc7IC8vIFVzZWQgb25seSBmb3Igc21hbGwgc2NyZWVucy4gTXVzdCBiZSBbdnddIG9yIFtweF0sIE5PVCBbJV0uXG4kc2l0ZS1jb29raWVCYXItaGVpZ2h0OiAgICAgNjRweDsgLy8gRml4ZWQgc2l6ZSBzbyB3ZSBjYW4gb2Zmc2V0IHBhZGRpbmctYm90dG9tIG9uIHRoZSBib2R5XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0aW9ucyB0aGF0IGFyZSBkb25lIHdpdGggc29tZSBvZiB0aGUgZ2l2ZW4gdmFsdWVzIGFib3ZlIHRoaXMgbGluZVxuXG4kc2l0ZS1tYXgtd2lkdGg6ICRzaXRlLWNvbHVtbi1zaXplICogJHNpdGUtY29sdW1ucy1sOyAvLyBNYWluIGNvbnRhaW5lciBtYXgtd2lkdGggKHdpdGhvdXQgZ3V0dGVyKVxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhlIGRlZmF1bHQgYm9yZGVyLXJhZGl1cyB2YWx1ZXMgdXNlZCBpbiB0aGUgYm9yZGVyIG1peGluXG5cbiRib3JkZXItcmFkaXVzOiAoXG5cdHM6IDRweCxcblx0bTogOHB4LFxuXHRsOiAxNnB4XG4pOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiBcdCBEZWZpbmVzIHRoZSB0eXBvZ3JhcGhpYyBiYXNlbGluZS5cbiAgIFdlIGRlZmluZSBldmVyeSBzaXplIGluIHBpeGVscywgdGhlIHVuZGVybHlpbmcgc3lzdGVtXG4gICBjb252ZXJ0cyB0aGUgcmVzcGVjdGl2ZSB1bml0cyB0byB0aGUgcmVzcG9uc2l2ZSBSRU0gdmFsdWUuXG4gXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIE91ciBiYXNlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHRcbiAqL1xuJGJhc2UtZm9udC1zaXplOiAgIFx0MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0IWRlZmF1bHQ7XG4kYmFzZS1saW5lLWhlaWdodDogXHQyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHQhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1yYXRpbzpcdCRiYXNlLWxpbmUtaGVpZ2h0LyRiYXNlLWZvbnQtc2l6ZSAgICFkZWZhdWx0O1xuXG4kZm9udC1zaXplczogKFxuXHQneHMnOiBcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MTQsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MTZcblx0KSxcblx0J3MnOiBcdFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQxNSxcblx0XHRsaW5lLWhlaWdodDogXHQyNFxuXHQpLFxuXHQnYmFzZSc6IFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0JGJhc2UtZm9udC1zaXplLFxuXHRcdGxpbmUtaGVpZ2h0OiBcdCRiYXNlLWxpbmUtaGVpZ2h0XG5cdCksXG5cdCdtJzogXHRcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MjAsXG5cdFx0bGluZS1oZWlnaHQ6IFx0MzJcblx0KSxcblx0J2wnOiBcdFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQyNCxcblx0XHRsaW5lLWhlaWdodDogXHQzMlxuXHQpLFxuXHQneGwnOiBcdFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0MzIsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NDBcblx0KSxcblx0J3h4bCc6IFx0XHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ0MCxcblx0XHRsaW5lLWhlaWdodDogXHQ0MFxuXHQpLFxuXHQneHh4bCc6IFx0XHQoXG5cdFx0Zm9udC1zaXplOiBcdFx0NDgsXG5cdFx0bGluZS1oZWlnaHQ6IFx0NDhcblx0KSxcblx0J3h4eHhsJzogXHRcdChcblx0XHRmb250LXNpemU6IFx0XHQ1Nixcblx0XHRsaW5lLWhlaWdodDogXHQ1NlxuXHQpLFxuKTtcblxuXG4vKipcbiAqXHRIZXJlIHdlIGFzc2lnbiBzaG9ydCBuYW1lcyBmb3IgdGhlIGZvbnQgZmFtaWxpZXNcbiAqL1xuXG4kZm9udC1zeXN0ZW06XHRcdC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiO1xuJGZvbnQtcm9ib3RvOiBcdCdSb2JvdG8nLCBzYW5zLXNlcmlmOyIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIGdpdmVuIGZvcm1hdHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLy8gRGVmYXVsdCBicmVha3BvaW50c1xuJGJyZWFrcG9pbnRzOiAoXG5cdHM6IDM4NCxcblx0bTogODQwLFxuXHRsOiAxMTUyLFxuKTtcblxuLy8gRGV0ZXJtaW5lIGF0IHdoaWNoIHZpZXdwb3J0IHNpemUgd2UgY2FuIGZpdCBpbiBhIGhvcml6b250YWwgbWVudSBpbnN0ZWFkIG9mIHRoZSBoYW1idXJnZXIgbWVudSB0b2dnbGVcbiRicC1oZWFkZXItbGFyZ2U6IDExMDA7XG5cblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSB2aWV3cG9ydCBzaXplIHdoZW4gY29udGFpbmVyIGNhbid0IGdyb3cgYW55bW9yZVxuJGJwLW1heDogJHNpdGUtbWF4LXdpZHRoICsgKCgkc2l0ZS1tYXgtd2lkdGggLyAkc2l0ZS1jb2x1bW5zLWwpICogMik7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgRnVuY3Rpb25zIHVzZWQgaW4gZ3JpZCBjYWxjdWxhdGlvblxuICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgKiBSZXR1cm4gcGVyY2VudGFnZSBiYXNlZCBvbiBhbW91bnQgb2YgY29sdW1uc1xuICAqIFVzZSBwYXJlbnQgY29sdW1uIHNpemUgdG8gYWRqdXN0IHRoZSBvcmlnaW5cbiAgKi9cbkBmdW5jdGlvbiBjYWxjdWxhdGVDb2x1bW5TaXplKCRjb2x1bW5Db3VudCA6IDEsICRvcmlnaW4gOiAkc2l0ZS1jb2x1bW5zLWwpIHtcblx0Ly8gQ2FsY3VsYXRlIHRoZSB3aWR0aCBmb3IgYSBzaW5nbGUgY29sdW1uIG9uIGEgZnVsbCBncmlkXG5cdCRzaW5nbGVDb2x1bW5TaXplOiAxMDAgLyAkc2l0ZS1jb2x1bW5zLWw7XG5cblx0Ly8gR2V0IHRoZSBvcmlnaW4gc2l6ZSBpbiBwZXJjZW50YWdlIGZyb20gdGhlIGZ1bGwgZ3JpZFxuXHQkb3JpZ2luUGVyY2VudGFnZTogJG9yaWdpbiAvICRzaXRlLWNvbHVtbnMtbCAqIDEwMDtcblxuXHQvLyBDYWxjdWxhdGUgc2luZ2xlIGNvbHVtbiBmcm9tIG5ldyBvcmlnaW5cblx0JG5ld1NpbmdsZUNvbHVtblNpemU6ICRzaW5nbGVDb2x1bW5TaXplIC8gJG9yaWdpblBlcmNlbnRhZ2UgKiAxMDA7XG5cblx0Ly8gUmV0dXJuIGFtb3VudCBvZiBjb2x1bW5zIGFzIHBlcmNlbnRhZ2Vcblx0QHJldHVybiAoJG5ld1NpbmdsZUNvbHVtblNpemUgKiAkY29sdW1uQ291bnQpO1xufVxuXG4vKipcbiAgKiBEZWZhdWx0IGZ1bmN0aW9uIGZvciBjb2x1bW5zXG4gICogUmV0dXJuIGFzIHBlcmNlbnRhZ2VcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW4oJGNvbHVtbkNvdW50IDogMSwgJG9yaWdpbiA6ICRzaXRlLWNvbHVtbnMtbCkge1xuXHRAcmV0dXJuIGNhbGN1bGF0ZUNvbHVtblNpemUoJGNvbHVtbkNvdW50LCAkb3JpZ2luKSAqIDElO1xufVxuXG4vKipcbiAgKiBSZXR1cm4gYXMgdmlld3BvcnQgd2lkdGhcbiAgKi9cbkBmdW5jdGlvbiBjb2x1bW5WdygkY29sdW1uQ291bnQgOiAxLCAkb3JpZ2luIDogJHNpdGUtY29sdW1ucy1sKSB7XG5cdEByZXR1cm4gY2FsY3VsYXRlQ29sdW1uU2l6ZSgkY29sdW1uQ291bnQsICRvcmlnaW4pICogMXZ3O1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBGb250IHJlbGF0ZWQgZnVuY3Rpb25zXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogIE1peGluIGZvciBzZXR0aW5nIGZvbnQtc2l6ZSBpbiBSRU0gdGhyb3VnaCBhIFNhc3MgTWFwIHdpdGggYWxsIGF2YWlsYWJsZSBzaXplc1xuXG4gICAgVVNBR0U6XG5cbiAgICAubXlDbGFzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG4gICAgfVxuXG4gKi9cblxuXG5AbWl4aW4gZm9udC1zaXplKCRmcywgJGxoOiBudWxsKSB7XG4gIC8vIEdldCBjb3JyZWN0IGtleSB3aXRoIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHQgcHggdmFsdWVcbiAgJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzOiBtYXAtZ2V0KCRmb250LXNpemVzLCAkZnMpO1xuICBAaWYgJGZvbnQtc2l6ZS1wcm9wZXJ0aWVzIHtcbiAgICBAaW5jbHVkZSBmb250LXNpemUobWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGZvbnQtc2l6ZSkpO1xuXG4gICAgQGlmKCRsaCA9PSBudWxsKXtcbiAgICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRmb250LXNpemUtcHJvcGVydGllcywgbGluZS1oZWlnaHQpIC8gbWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGZvbnQtc2l6ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodDogJGxoIC8gbWFwLWdldCgkZm9udC1zaXplLXByb3BlcnRpZXMsIGZvbnQtc2l6ZSk7XG4gICAgfVxuICB9XG4gIC8vIFdoZW4gbWFwcGluZyBpc24ndCBmb3VuZCBjYWxjdWxhdGUgYXMgaWYgUFgtdmFsdWUgd2FzIGdpdmVuIGFuZCByZXR1cm4gUkVNIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAaWYgaXMtbnVtYmVyKCRmcykge1xuICAgICAgZm9udC1zaXplOiB2YWx1ZVRvUmVtKCRmcyk7XG5cbiAgICAgIEBpZigkbGggIT0gbnVsbCl7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGggLyAkZnM7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuIFwiIGAjeyRmc31gIGlzIG5vdCBhIHZhbGlkIHZhbHVlLiBJdCBtdXN0IGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nOiBgI3skZm9udC1zaXplc31gXCI7XG4gICAgfVxuICB9XG59XG5cblxuLy9UT0RPOiByZW1vdmUgZnVuY3Rpb24gYW5kIHVzZXNcbkBtaXhpbiBmb250KCRzaXplLCAkbGg6IG51bGwsICR3ZWlnaHQ6IG51bGwpIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRzaXplLCAkbGgpO1xufSIsIi8qIE1lZGlhIHF1ZXJ5IG1peGluIGZvciB3cml0aW5nIE1vYmlsZSBGaXJzdFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBmdW5jdGlvbiBjb252ZXJ0QnJlYWtwb2ludEtleVRvVmFsdWUoJGJyZWFrcG9pbnQpIHtcblxuXHRAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuXHRcdEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcblx0fVxuXG5cdEB3YXJuIFwiVW5rbm93biBicmVha3BvaW50OiBgI3skYnJlYWtwb2ludH1gIGluICRicmVha3BvaW50cy5cIjtcblx0QHJldHVybiBudWxsO1xufVxuXG5AbWl4aW4gbXEoJG1pbjogbnVsbCwgJG1heDogbnVsbCkge1xuXHQkcXVlcnk6IFwiYWxsXCIgIWRlZmF1bHQ7XG5cblx0Ly8gVHJ5IHRvIGNvbnZlcnQgJG1pbiB2YWx1ZSBpZiBub3QgbnVtYmVyIG9yIG51bGxcblx0QGlmKHR5cGUtb2YoJG1pbikgIT0gbnVtYmVyIGFuZCAkbWluICE9IG51bGwpe1xuXHRcdCRtaW46IGNvbnZlcnRCcmVha3BvaW50S2V5VG9WYWx1ZSgkbWluKTtcblx0fVxuXG5cdC8vIFRyeSB0byBjb252ZXJ0ICRtYXggdmFsdWUgaWYgbm90IG51bWJlciBvciBudWxsXG5cdEBpZih0eXBlLW9mKCRtYXgpICE9IG51bWJlciBhbmQgJG1heCAhPSBudWxsKXtcblx0XHQkbWF4OiBjb252ZXJ0QnJlYWtwb2ludEtleVRvVmFsdWUoJG1heCk7XG5cdH1cblxuXHQvLyBzZXQgYm90aCBtaW4gYW5kIG1heFxuXHRAaWYgKCRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsKSB7XG5cdFx0JHF1ZXJ5OiBcIihtaW4td2lkdGg6ICN7JG1pbn1weCkgYW5kIChtYXgtd2lkdGg6ICN7JG1heCAtIDF9cHgpXCI7XG5cdH1cblx0Ly8gc2V0IGp1c3QgbWluXG5cdEBlbHNlIGlmICgkbWluICE9IG51bGwgYW5kICRtYXggPT0gbnVsbCkge1xuXHRcdCRxdWVyeTogXCIobWluLXdpZHRoOiAjeyRtaW59cHgpXCI7XG5cdH1cblx0Ly8gc2V0IGp1c3QgbWF4XG5cdEBlbHNlIGlmICgkbWluID09IG51bGwgYW5kICRtYXggIT0gbnVsbCkge1xuXHRcdCRxdWVyeTogXCIobWF4LXdpZHRoOiAjeyRtYXggLSAxfXB4KVwiO1xuXHR9XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgI3skcXVlcnl9IHtcblx0XHRAY29udGVudDtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVG9vbGJveCBmdW5jdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogIE1hdGhzIGhlbHBlcnMuXG4gKiAgSGFsdmUgYW5kIGRvdWJsZSBudW1iZXJzLCByZXR1cm5pbmcgcm91bmRlZCBpbnRlZ2Vycy5cblxuICAgIFVTQUdFOlxuXG4gICAgLmZvbyB7XG4gICAgICAgIHBhZGRpbmc6IGhhbHZlKDMwcHgpO1xuICAgIH1cblxuICovXG5cbkBmdW5jdGlvbiBxdWFydGVyKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyIC8gNCk7XG59XG5cbkBmdW5jdGlvbiBoYWx2ZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAvIDIpO1xufVxuXG5AZnVuY3Rpb24gZG91YmxlKCRudW1iZXIpIHtcblx0QHJldHVybiByb3VuZCgkbnVtYmVyICogMik7XG59XG5cbkBmdW5jdGlvbiB0cmlwbGUoJG51bWJlcikge1xuXHRAcmV0dXJuIHJvdW5kKCRudW1iZXIgKiAzKTtcbn1cblxuQGZ1bmN0aW9uIHF1YWRydXBsZSgkbnVtYmVyKSB7XG5cdEByZXR1cm4gcm91bmQoJG51bWJlciAqIDQpO1xufVxuXG5cbi8qKlxuICogIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICogIEBwYXJhbSB7TnVtYmVyfSAkbnVtYmVyIC0gTnVtYmVyIHRvIHJlbW92ZSB1bml0IGZyb21cbiAqICBAcmV0dXJuIHtOdW1iZXJ9IC0gVW5pdGxlc3MgbnVtYmVyXG4gKi9cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuXHRAaWYgdHlwZS1vZigkbnVtYmVyKSA9PSAnbnVtYmVyJyBhbmQgbm90IHVuaXRsZXNzKCRudW1iZXIpIHtcblx0XHRAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcblx0fVxuXG5cdEByZXR1cm4gJG51bWJlcjtcbn1cblxuXG4vKiBDaGVjayBpZiB2YWx1ZSBpcyBudW1iZXIgKi9cblxuQGZ1bmN0aW9uIGlzLW51bWJlcigkdmFsdWUpIHtcblx0QHJldHVybiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcic7XG59XG5cblxuLyogVmFsdWUgdG8gRW0gKi9cblxuQGZ1bmN0aW9uIHZhbHVlVG9SZW0oJHZhbHVlKSB7XG5cdCRub1VuaXRzOiBzdHJpcC11bml0KCR2YWx1ZSk7XG5cdEByZXR1cm4gI3skbm9Vbml0cyAvIDE2ICogMXJlbX07XG59XG5cbi8qIFZhbHVlIHRvIFJlbSAqL1xuXG5AZnVuY3Rpb24gdmFsdWVUb0VtKCR2YWx1ZSkge1xuXHQkbm9Vbml0czogc3RyaXAtdW5pdCgkdmFsdWUpO1xuXHRAcmV0dXJuICN7JG5vVW5pdHMgLyAxNiAqIDFlbX07XG59XG5cblxuXG5cbi8vIFNldCBhIGZpeGVkIHNwYWNlIGJhc2VkIG9uIHRoZSA4cHQgZ3JpZFxuLy8gSnVzdCBwYXNzIHRoZSBmdW5jdGlvbiBhIG51bWJlciBlcXVhbCB0byB0aGUgbnVtYmVyIG9mICg4KXBvaW50cyB5b3UgbmVlZFxuQGZ1bmN0aW9uIHNwYWNlKCRzaXplOiAnMScpIHtcbiAgQHJldHVybiA4cHggKiAkc2l6ZTtcbn1cblxuXG5cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBvbmx5IGZvciBtb2JpbGUgdmlld3BvcnRcblxuIFVTQUdFOlxuXG4gLmV4YW1wbGUge1xuXHQgQGluY2x1ZGUgdnNwYWNpbmctcyhcblx0XHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuICB9XG5cbiAqL1xuXG5cblxuQG1peGluIHZzcGFjaW5nLXMoJHZhbHVlcy4uLikge1xuICBAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAvLyBCeSBzZXR0aW5nIGd1dHRlciBzaXplIGFzIGEgaGFsdmUgY29sdW1uIHdpZHRoIHdlIGNhbiBtYWtlICdzcXVhcmVzJyBvbiBtb2JpbGVcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KCRzaXRlLWd1dHRlci13aWR0aCAqIDIpICogbnRoKCRpLCAyKX07XG4gICAgfVxuICB9XG59XG5cbi8qXG4gKiBTZXQgdmVydGljYWwgc3BhY2luZyBmb3Igdmlld3BvcnQgbGFyZ2VyIHRoYW4gbW9iaWxlXG4gKiBJbiBmbGV4aWJsZSB1bml0cyAodncpIGFuZCBvbiBtYXggdmlld3BvcnQgaW4gYSBmaXhlZCBhbW91bnQgKHB4KVxuXG4gVVNBR0U6XG5cbiAuZXhhbXBsZSB7XG5cdCBAaW5jbHVkZSB2c3BhY2luZy1tLXVwKFxuXHRcdFx0XHQncGFkZGluZy10b3AnIDAuMzMsXG5cdFx0XHRcdCdtYXJnaW4tYm90dG9tJyAwLjVcblx0XHQpO1xuICB9XG5cbiAqL1xuXG5AbWl4aW4gdnNwYWNpbmctbS11cCgkdmFsdWVzLi4uKSB7XG4gIEBpbmNsdWRlIG1xKG0sIGwpIHtcbiAgICBAZWFjaCAkaSBpbiAkdmFsdWVzIHtcbiAgICAgICN7bnRoKCRpLCAxKX06ICN7KDEgLyAoJHNpdGUtY29sdW1ucy1tICsgMikgKiAxMDApICogbnRoKCRpLCAyKX12dztcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbXEobCwgJGJwLW1heCkge1xuICAgIEBlYWNoICRpIGluICR2YWx1ZXMge1xuICAgICAgI3tudGgoJGksIDEpfTogI3soMSAvICgkc2l0ZS1jb2x1bW5zLWwgKyAyKSAqIDEwMCkgKiBudGgoJGksIDIpfXZ3O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG4gICAgQGVhY2ggJGkgaW4gJHZhbHVlcyB7XG4gICAgICAje250aCgkaSwgMSl9OiAjeygkc2l0ZS1tYXgtd2lkdGggLyAkc2l0ZS1jb2x1bW5zLWwpICogbnRoKCRpLCAyKX1weDtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIEZyb20gdmFsdWVzIGdpdmVuIHJldHVybiB0aGUgY29ycmVjdCB2LXNwYWNpbmcgZm9yIGVhY2ggYnJlYWtwb2ludFxuICovXG5AbWl4aW4gdnNwYWNpbmcoJHZhbHVlcy4uLikge1xuXHRAaW5jbHVkZSB2c3BhY2luZy1zKCR2YWx1ZXMuLi4pO1xuXHRAaW5jbHVkZSB2c3BhY2luZy1tLXVwKCR2YWx1ZXMuLi4pO1xufVxuXG5cbi8qKlxuICpcdEEgc2ltcGxlIGZ1bmN0aW9uIGZvciBzZXR0aW5nIGEgY29uc2lzdGVudCBib3JkZXItcmFkaXVzXG5cblx0VVNBR0U6XG5cblx0LmNhcmQge1xuXHRcdEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG5cdH1cblxuXHQuY2FyZC0tYWx0IHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKGwpO1xuXHR9XG5cbiAqL1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHR5cGU6IHMpIHtcblx0QGlmICgkdHlwZSA9PSAncycpIHtcblx0XHRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcblx0fVxuXHRAaWYgKCR0eXBlID09ICdtJykge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIG0pO1xuXHR9XG5cdEBpZiAoJHR5cGUgPT0gJ2wnKSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgbCk7XG5cdH1cbn1cblxuLyoqXG4gKiBMb2JvdG9taXplZCBPd2wgU2VsZWN0b3IgbWl4aW46XG4gKiAtIFNldCBzcGFjaW5nIGZvciBjb25zZWN1dGl2ZSBpdGVtcyB3aXRoIG1hcmdpbi10b3Agb24gYWxsIGJ1dCB0aGUgZmlyc3QgaXRlbVxuXG5cdFVTQUdFOlxuXG5cdC5ib3gge1xuXHRcdEBpbmNsdWRlIG93bC1jaGlsZHJlbjtcblx0fVxuXG5cdC5jYXJkX19pdGVtIHtcblx0XHRAaW5jbHVkZSBvd2w7XG5cdH1cblxuICovXG5cbi8qXG4gKiBMb2JvdG9taXplZCBvd2wgc2VsZWN0b3IuXG4gKiAtIEdpdmVzIHRoZSBjaGlsZHJlbiBvZiB0aGUgZWxlbWVudCBzcGFjaW5nXG4gKiAtIGh0dHBzOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9heGlvbWF0aWMtY3NzLWFuZC1sb2JvdG9taXplZC1vd2xzXG4gKi9cbkBtaXhpbiBvd2wtY2hpbGRyZW4oJG1hcmdpbjogI3skbGluZS1oZWlnaHQtcmF0aW99cmVtKSB7XG5cdCYgPiAqICsgKiB7XG5cdFx0bWFyZ2luLXRvcDogJG1hcmdpbjtcblx0fVxufVxuXG4vLyBHaXZlcyB0aGUgZWxlbWVudCBpdHNlbGYgc3BhY2luZ1xuQG1peGluIG93bCgkbWFyZ2luOiAjeyRsaW5lLWhlaWdodC1yYXRpb31yZW0pIHtcblx0JiArICYge1xuXHRcdG1hcmdpbi10b3A6ICRtYXJnaW47XG5cdH1cbn1cblxuLyoqXG4gKiAgU2hvdyBoeXBoZW5zIGZvciBldmVyeSBicm93c2VyIHN1cHBvcnRpbmcgaXRcbiAqICBhbmQgd2lsbCBicmVhayBsaW5lcyBpbiBldmVyeSBvdGhlciBicm93c2VyXG4gKi9cblxuQG1peGluIGh5cGhlbmF0ZSB7XG5cdG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0LXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuXHQtbXMtaHlwaGVuczogYXV0bztcblx0aHlwaGVuczogYXV0bztcbn1cblxuXG4vLyB3aGVuIGhvdmVyIG9yIGFjdGl2ZSBkaXNhYmxlIG91dGxpbmUgc3R5bGluZ1xuQG1peGluIGRpc2FibGVPdXRsaW5lRm9yTW91c2Uge1xuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSB7XG5cdFx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cblxuXG4vKlxuICogIFJlc3RyaWN0IGFuIGVsZW1lbnQgdG8gYSBtYXgtd2lkdGggZm9yIGNyZWF0aW5nIGd1dHRlcnMgb24gdGhlIHNpZGVcbiAqL1xuXG5AbWl4aW4gY29udGFpbigkb25NZWRpdW06IHRydWUpIHtcblx0d2lkdGg6IGNhbGMoMTAwJSAtICN7ZG91YmxlKCRzaXRlLWd1dHRlci13aWR0aCl9KTsgLy8gTWFraW5nIHN1cmUgaXQgZG9lc27igJl0IGdldCB0byBzbWFsbCB3aXRoIGxpdHRsZSBjb250ZW50XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdEBpZigkb25NZWRpdW0gPT0gdHJ1ZSkge1xuXHRcdFx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1tICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLW19KTtcbiAgICB9IEBlbHNlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cbiAgfVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY2FsYygoMTAwJSAvICN7JHNpdGUtY29sdW1ucy1sICsgMn0pICogI3skc2l0ZS1jb2x1bW5zLWx9KTtcblx0XHRtYXgtd2lkdGg6ICN7JHNpdGUtbWF4LXdpZHRofXB4O1xuXHR9XG59XG5cblxuQG1peGluIGd1dHRlclBhZGRpbmcoJG1xKXtcblx0JGNvbHVtbkNvdW50OiAkc2l0ZS1jb2x1bW5zLXM7XG5cblx0QGlmKCRtcSA9PSBtKSB7ICRjb2x1bW5Db3VudDogJHNpdGUtY29sdW1ucy1tOyB9XG5cdEBpZigkbXEgPT0gbCkgeyAkY29sdW1uQ291bnQ6ICRzaXRlLWNvbHVtbnMtbDsgfVxuXG5cdEBpbmNsdWRlIG1xKCRtcSkge1xuXHRcdHBhZGRpbmctbGVmdDogcGVyY2VudGFnZSgxIC8gKCRjb2x1bW5Db3VudCArIDIpKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBwZXJjZW50YWdlKDEgLyAoJGNvbHVtbkNvdW50ICsgMikpO1xuXHR9XG59IiwiLyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqICBUaGUgJ3otaW5kZXgtbWFwJyBpcyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZWxlbWVudHMgc3RhY2tpbmcgb3JkZXIgaW4gdGhlICdyb290JyBzdGFja2luZyBjb250ZXh0XG4gKiAgVGhpcyB3YXkgd2UgaGF2ZSBhIG92ZXJ2aWV3IG9mIGFsbCB0aGUgei1pbmRleCB2YWx1ZXMgdGhhdCBhcmUgdXNlZCBhY3Jvc3MgdGhlIHByb2plY3QuXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbiR6LWluZGV4OiAoXG5cdHotdmlzaWJsZS1ncmlkOlx0XHRcdDEwMDAwLFxuXHR6LWNvb2tpZTpcdFx0IFx0XHRcdFx0OTk5OSxcblx0ei1vdmVybGF5LW1lbnU6XHRcdFx0MTAwLFxuXHR6LWhlYWRlcjogXHRcdFx0XHRcdDUwLFxuXHR6LWJvZHk6XHRcdFx0XHRcdFx0XHQ0MCxcblx0ei1mb290ZXI6XHRcdFx0XHQgXHRcdDIwLFxuXHR6LXN1YmZvb3RlcjpcdFx0XHRcdDEwLFxuKTtcblxuXG4vKipcbiAgICBVU0FHRTpcblxuICAgIEBpbmNsdWRlIHooei1tb2RhbCk7XG5cbiAqL1xuXG5AbWl4aW4geigkbGFiZWwpIHtcblx0ei1pbmRleDogbWFwLWdldCgkei1pbmRleCwkbGFiZWwpO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBCYXNpYyBlbGVtZW50cyAobm8gY2xhc3Mgc2VsZWN0b3JzIGFsbG93ZWQpXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFNldCB1cCB0aGUgaHRtbFxuICpcbiAqIDEuIE1ha2VzIHN1cmUgdGhhdCBzb21lIGZvbnRzIGFyZSBiZXR0ZXIgcmVuZGVyZWRcbiAqIDIuIFNldCBmb250IHRvIGxpbmluZyBmaWd1cmVzXG4gKlxuICogMy4gQXZvaWQgdGhlIElFIDEwLTExIGBtaW4taGVpZ2h0YCBidWcuXG4gKiA0LiBVc2UgYCVgIGluc3RlYWQgb2YgYHZoYCBzaW5jZSBgdmhgIGlzIGJ1Z2d5IGluIG9sZGVyIG1vYmlsZSBTYWZhcmkuXG4gKi9cblxuaHRtbCB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibG51bVwiO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuICBAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1yYXRpbztcbiAgZm9udC1mYW1pbHk6ICRmb250LXJvYm90bztcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuICBiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTsgLyogMywgNCAqL1xufVxuXG5mb290ZXIge1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuXG4vKipcbiAqIFsxXSBNYWtlIHN1cmUgZWxlbWVudHMgbGlrZSBpbnB1dCBhbmQgdGV4dGFyZWEgaW5oZXJpdCBzb21lIGJhc2UgcHJvcGVydGllc1xuICogICAgIGh0dHBzOi8vd3d3LnNtYXNoaW5nbWFnYXppbmUuY29tLzIwMTYvMTEvY3NzLWluaGVyaXRhbmNlLWNhc2NhZGUtZ2xvYmFsLXNjb3BlLW5ldy1vbGQtd29yc3QtYmVzdC1mcmllbmRzL1xuICpcbiAqIFsyXSBTZXR0aW5nIGJveC1zaXppbmcgdGhlIGJlc3Qgd2F5IHBlcjpcbiAqICAgICBodHRwczovL2Nzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZS9cbiAqL1xuKiB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJixcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cbn1cblxuLyoqXG4gKiBbMV0gVHVybiBvZmYgdGV4dC1zaGFkb3cgd2hlbiBzZWxlY3RpbmcgdGV4dCBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5XG4gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogcGFsZXR0ZShzZWNvbmRhcnksIDcwMCk7XG4gIGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgLyogWzFdICovXG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBhcm91bmQgZmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBbMV0gU2V0dGluZyAndmVydGljYWwtYWxpZ24nIHJlbW92ZXMgdGhlIHdoaXRlc3BhY2UgdGhhdCBhcHBlYXJzIHVuZGVyICdpbWcnXG4gKlx0ICAgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGludG8gYSBwYWdlIGFzLWlzLiBTYWZlciBhbHRlcm5hdGl2ZSB0b1xuICpcdCAgIHVzaW5nICdkaXNwbGF5OiBibG9jazsnLlxuICogWzJdIFJlbW92ZSBib3JkZXIgLyBlc3BlY2lhbGx5IG9uIG9sZGVyIGJyb3dzZXJzXG4gKi9cbmltZywgc3ZnIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLypbMV0qL1xuICBib3JkZXI6IG5vbmU7IC8qWzJdKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqICBOZWVkZWQgZm9yIGlPUyB0byBwcmV2ZW50IGlucHV0IHpvb21pbmdcbiAqICBodHRwczovL3V4Y2VsbGVuY2UuY29tLzIwMTQvMDEvMTUvcXVpY2stZml4LWluY3JlYXNlLWZvbnQtc2l6ZS10by0xNnB4LXRvLWZpeC1pbnB1dC16b29tXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cblxuLy8gTGlua3Mgd2l0aCBubyBjbGFzcyBnZXQgYSBkZWZhdWx0IGhvdmVyXG5hOm5vdChbY2xhc3NdKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvOyAvLyBwcmV0dHkgdW5kZXJsaW5pbmcgbGlua3NcblxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gICAgY29udGVudDogJyc7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcywgb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUT0RPOiBJcyB0aGlzIHRoZSByaWdodCB3YXkgdG8gcmVzZXQgYWxsIG1hcmdpbj8/XG4vLyBSZXNldCBhbGwgdG9wIG1hcmdpbnNcbmgxLGgyLGgzLGg0LGg1LGg2LGhncm91cCxcbnVsLG9sLGRkLFxucCxmaWd1cmUsXG5wcmUsdGFibGUsZmllbGRzZXQsaHIge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufSIsImgxIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG59XG5cbmgyIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDMge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmg0IHtcblx0QGluY2x1ZGUgZm9udC1zaXplKG0pO1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG5oNSwgaDYge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufSIsIi8qKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAgTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKlx0RGVmYXVsdCBpbmRlbnRhdGlvbiB2YWx1ZSBmb3IgbGlzdHNcbiAqL1xuXG51bCxcbm9se1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1sZWZ0OiAxLjEyNWVtO1xufVxuXG5kZHtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cblxuXG4vKipcbiAqXHRSZW1vdmUgZXh0cmEgdmVydGljYWwgc3BhY2luZyB3aGVuIG5lc3RpbmcgbGlzdHMuXG4gKi9cblxubGkge1xuXHQ+IHVsLFxuXHQ+IG9sIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogQ29udGFpblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4ubC1jb250YWluIHtcbiAgQGluY2x1ZGUgY29udGFpbjtcbn0iLCIvKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFNwbGl0IGxheW91dCBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgY29sdW1ucyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4ubC1zcGxpdCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0aGVpZ2h0OiAxMDAlOyAvLyBzdHJldGNoIGl0IG91dCBpbiBpdHMgY29udGFpbmVyXG5cblx0Ly8gU2V0IHNpZGUgYnkgc2lkZSBmcm9tIG1lZGl1bSB2aWV3cG9ydHMgYW5kIHVwXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLyoqXG4gKiBTcGVjaWFsIGNvbnRhaW4gdmVyc2lvbiBmb3Igc3BsaXQuXG4gKiBEb2Vzbid0IHJlc3RyYWluIGNvbnRlbnQgb24gbWVkaXVtIHZpZXdwb3J0XG4gKi9cblxuLmwtc3BsaXQtLWNvbnRhaW4ge1xuXHRAaW5jbHVkZSBjb250YWluKCRvbk1lZGl1bTogZmFsc2UpO1xufVxuXG5cbi5sLXNwbGl0X19jb2x1bW4ge1xuXG5cdC8vIE9uIGRlc2t0b3AgY29sdW1ucyBhcmUgNTAvNTBcblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHR9XG5cblx0Ly8gTWFpbiBjb250ZW50IGdvZXMgZmlyc3QsIHVzdWFsbHkgdGV4dFxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRAaW5jbHVkZSBtcShtLCBsKSB7XG5cdFx0XHR3aWR0aDogY29sdW1uKDUsIDgpO1xuXHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDgpO1xuXHRcdH1cblx0XHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLCAxMik7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdH1cblx0fVxuXG5cdC8vIHNlY29uZGFyeSBjb250ZW50IGdvZXMgbGFzdCwgdXN1YWxseSBhbiBpbWFnZSBvciBhc2lkZSB0ZXh0XG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0Ly8gQ3JlYXRlIHZlcnRpY2FsIHNwYWNpbmcgb24gbW9iaWxlXG5cdFx0QGluY2x1ZGUgdnNwYWNpbmctcyhcblx0XHRcdFx0J21hcmdpbi10b3AnIDAuNVxuXHRcdCk7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbigzLCA4KTtcblx0XHR9XG5cdH1cblxuXHQvLyBWaXN1YWxseSBzd2l0Y2ggY29sdW1ucyBvbiBtZWRpdW0gJiBsYXJnZSB2aWV3cG9ydHNcblx0Lmwtc3BsaXQtLWlzLXJldmVyc2VkICYge1xuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0b3JkZXI6IDI7XG5cblx0XHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgOCk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHR9XG5cdFx0XHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQGluY2x1ZGUgbXEobSwgbCkge1xuXHQubC1zcGxpdC0tYnJlYWtvdXQtb24tbSB7XG5cdFx0Lmwtc3BsaXRfX2NvbHVtbiB7XG5cdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0d2lkdGg6IGNvbHVtbig2LCAxMCk7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEwKTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsIDEwKTtcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdHdpZHRoOiBjb2x1bW4oNCwgMTApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qKlxuICogV2hlbiB0aGVyZSBpcyBvbmx5IDEgY29sdW1uLCBhbGlnbiBpdCB0byB0aGUgbWlkZGxlIGFuZCBjb250YWluIHRoZSB3aWR0aFxuICogT25seSBvbmUgY29sdW1uIGlzIHVzZWQgZS5nLiBpbiB0aGUgdGFic2xpZGVyIHdoZW4gdGhlcmUgaXMgbm8gaW1hZ2Ugc2V0XG4gKi9cbi5sLXNwbGl0X19jb2x1bW46b25seS1jaGlsZCB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR3aWR0aDogY29sdW1uKDYsIDgpO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsIDEyKTtcblx0XHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblx0fVxufVxuXG5cbi8vIENvbHVtbnMgdGhhdCBoYXZlIHRleHQgaW5zdGVhZCBvZiBhbiBpbWFnZSBuZWVkIHNvbWUgcGFkZGluZyBvbiB0b3Bcbi8vIHRvIGFsaWduIHRoZW0gd2l0aCB0aGUgb3RoZXIgY29sdW1uIHRoYXQgaGFzIHBhZGRpbmctdG9wIHRvb1xuLmwtc3BsaXRfX2NvbHVtbi0tdnBhZCB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDUpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg1KTtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRtYXJnaW4tdG9wOiBzcGFjZSgxMCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMTApO1xuXHR9XG59XG5cblxuLy8gQ3JlYXRlIGEgY29sdW1uIGV4dHJhIHdoaXRlIHNwYWNlIHRvIHRoZSBsZWZ0IChvbiBsYXJnZSB2aWV3cG9ydHMpXG5AaW5jbHVkZSBtcShsKSB7XG5cdC5sLXNwbGl0X19jb2x1bW4tLWxlZnRwYWQge1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsMTIpO1xuXHR9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogUmVzdHJpY3RcbiAqXG4gKiBXaGVuIGEgYmxvY2sgc2hvdWxkbid0IHRha2UgdXAgdGhlIHdob2xlIHdpZHRoIG9mIHRoZSBjb250YWluZXJcbiAqIHdlIGNhbiByZXN0cmljdCB0aGUgbWF4aW11bSB3aWR0aFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4ubC1yZXN0cmljdC1uYXJyb3cge1xuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBjb2x1bW4oNiw4KTtcbiAgICBtYXgtd2lkdGg6IDM4ZW07XG4gIH1cbiAgQGluY2x1ZGUgbXEobCl7XG4gICAgd2lkdGg6IGNvbHVtbig2LDEyKTtcbiAgfVxufVxuXG4ubC1yZXN0cmljdC13aWRlIHtcbiAgQGluY2x1ZGUgbXEobSl7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBjb2x1bW4oNyw4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKGwpe1xuICAgIHdpZHRoOiBjb2x1bW4oOCwxMik7XG4gIH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIENvbXBvbmVudHNcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy5icmVhZGNydW1iXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmdob3N0YnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jYXJkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5jbG9zZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuY29ubmVjdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZGF0YVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuZG93bmxvYWRMaXN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5mb3JtR3JvdXBcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLmZvcm1GZWVkYmFja1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuaGFtYnVyZ2VyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oZWFkaW5nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5oZXJvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5pbnB1dFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMubGFuZ3VhZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLm5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMucGFnZVRpdGxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5wcm9qZWN0b3JcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnNlcnZpY2VQb2ludFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2VsZWN0XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zaXRlbWFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5za2lwTGlua1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMuc2xpZGUtaW5kaWNhdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy5zdWJuYXZcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnRleHQtYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy50cmFkZW1hcmtcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzLnZpZGVvXCI7IiwiLmMtYnJlYWRjcnVtYiB7XG5cdHBhZGRpbmctYm90dG9tOiA0cHg7IC8vIG1ha2Ugc3VyZSB0b3RhbCBoZWlnaHQgd2lsbCBiZSBkaXZpc2libGUgYnkgOFxuIH1cblxuLmMtYnJlYWRjcnVtYl9fbGlzdCB7XG5cdG1hcmdpbjogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG5cbi5jLWJyZWFkY3J1bWJfX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdCY6bnRoLWNoaWxkKG4rMikge1xuXHRcdCYgLmMtYnJlYWRjcnVtYl9faWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IHNwYWNlKDMpO1xuXHRcdFx0aGVpZ2h0OiBzcGFjZSgzKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgxKTtcblx0XHRcdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG5cdFx0XHQvL2NvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG5cdFx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA5MDApO1xuXHRcdH1cblx0fVxufVxuXG4uYy1icmVhZGNydW1iX19saW5rIHtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgNTAwKTtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdC5jLWJyZWFkY3J1bWJfX2l0ZW0tLWxhc3QgJiB7XG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWJ1dHRvbjogKFxuXHQnY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdiZ2NvbG9yJzpcdFx0XHRwYWxldHRlKHNlY29uZGFyeSwgNzAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0c2NhbGUtY29sb3IocGFsZXR0ZShzZWNvbmRhcnksIDcwMCksICRsaWdodG5lc3M6IC0xMCUpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtYnV0dG9uIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRjb2xvcjogbWFwLWdldCgkYy1idXR0b24sICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWJ1dHRvbiwgJ2JnY29sb3InKTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE0NWRlZywgcGFsZXR0ZShzZWNvbmRhcnksIDcwMCkgNTAlLCBwYWxldHRlKHNlY29uZGFyeSwgNTAwKSAxMjUlKTtcblx0dGV4dC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLDAsMCwwLjIpO1xuXHRib3JkZXI6IG5vbmU7XG5cdHBhZGRpbmc6IHNwYWNlKDIpIDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggcGFsZXR0ZShuZXV0cmFsLCAwKSwgMCAwIDVweCAycHggbWFwLWdldCgkYy1idXR0b24sICdiZ2NvbG9yJyk7XG5cdH1cblx0JjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXG5cdC8vIFBzZXVkbyBlbGVtZW50IGZvciBhbmltYXRpbmcgaG92ZXJcblx0Jjo6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0dG9wOiBjYWxjKDUwJSAtIDJweCk7XG5cdFx0bGVmdDogY2FsYyg1MCUgLSAycHgpO1xuXHRcdHdpZHRoOiA0cHg7XG5cdFx0aGVpZ2h0OiA0cHg7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0YmFja2dyb3VuZDogbWFwLWdldCgkYy1idXR0b24sICdiZ2NvbG9yLWhvdmVyJyk7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG5cdH1cblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEwMCk7XG5cdH1cbn1cblxuLmMtYnV0dG9uX190ZXh0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHRwYWRkaW5nOiAwIHNwYWNlKDMpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDIpO1xuXHR9XG59XG5cbi5jLWJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHR0b3A6IC0xcHg7XG5cdG1hcmdpbi1yaWdodDogMTVweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpICYge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuXHR9XG5cblx0Ly8gV2hlbiBpY29uIGNvbWVzIGJlZm9yZSB0aGUgdGV4dCAoaW4gdGhlIERPTSkgc3dpdGNoIHRoZSBtYXJnaW5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdG1hcmdpbi1sZWZ0OiAxNXB4O1xuXHR9XG5cblx0LmMtYnV0dG9uLS1pY29uICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrOyAvLyBTaG93IHdoZW4gaGFzIGljb24gbW9kaWZpZXJcblx0XHR3aWR0aDogMTZweDtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBEZWZhdWx0IGJ1dHRvblxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGMtZ2hvc3QtYnV0dG9uOiAoXG5cdCdjb2xvcic6XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuXG4uYy1naG9zdGJ1dHRvbiB7XG5cdEBpbmNsdWRlIGJvcmRlci1yYWRpdXMobSk7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Y29sb3I6IG1hcC1nZXQoJGMtZ2hvc3QtYnV0dG9uLCAnY29sb3InKTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdHRleHQtc2hhZG93OiAwIDAgNHB4IHJnYmEoMCwwLDAsMC4yKTtcblx0Ym9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuXHRwYWRkaW5nOiBzcGFjZSgyKSAwO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDRweCAycHggcmdiYShtYXAtZ2V0KCRjLWdob3N0LWJ1dHRvbiwgJ2NvbG9yJyksIDAuNSk7XG5cblx0fVxuXHQmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0JjpkaXNhYmxlZCB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cblxuXHQvLyBCb3JkZXIgd2l0aCBwc2V1ZG8gZWxlbWVudCBmb3IgYW5pbWF0aW9uXG5cdCY6OmFmdGVyIHtcblx0XHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQ6IHJnYmEocGFsZXR0ZShuZXV0cmFsLCAxMDAwKSwgMC4wNyk7XG5cdFx0YmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IC0xcHg7XG5cdFx0Ym90dG9tOiAtMXB4O1xuXHRcdHJpZ2h0OiAtMXB4O1xuXHRcdGxlZnQ6IC0xcHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMCk7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNXM7XG5cdH1cblxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHQmOjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMzVzO1xuXHRcdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpO1xuXHRcdH1cblx0fVxufVxuXG4uYy1naG9zdGJ1dHRvbl9fdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0cGFkZGluZzogMCBzcGFjZSgzKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC5jLWJ1dHRvbi0taWNvbiAmIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgyKTtcblx0fVxufVxuXG4uYy1naG9zdGJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAyO1xuXHR0b3A6IC0xcHg7XG5cdG1hcmdpbi1yaWdodDogMTVweDtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0LmMtZ2hvc3RidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQuYy1naG9zdGJ1dHRvbi0taWNvbiAmIHtcblx0XHRkaXNwbGF5OiBibG9jazsgLy8gU2hvdyB3aGVuIGhhcyBpY29uIG1vZGlmaWVyXG5cdFx0d2lkdGg6IDE2cHg7XG5cdH1cblxuXHQvLyBXaGVuIGljb24gY29tZXMgYmVmb3JlIHRoZSB0ZXh0IChpbiB0aGUgRE9NKSBzd2l0Y2ggdGhlIG1hcmdpblxuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0bWFyZ2luLWxlZnQ6IDE1cHg7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IENhcmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1jYXJkOiAoXG5cdCdsYWJlbC1iZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2xhYmVsLWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnbGFiZWwtYmdjb2xvci1ob3Zlcic6XHRwYWxldHRlKHByaW1hcnksIDcwMCksXG5cdCdsYWJlbC1jb2xvci1ob3Zlcic6XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYXJyb3ctY29sb3ItaG92ZXInOlx0cGFsZXR0ZShwcmltYXJ5LCA1MDApLFxuXHQnYmdjb2xvci1ob3Zlcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwMCksXG5cdCdpbmZvLWJnY29sb3InOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWNhcmQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogQ2FyZCB0aGF0IGRvZXMgc29tZSBhbmltYXRpb25zIG9uIGhvdmVyXG4gKi9cbi5jLWNhcmQtLWhhcy1hY3Rpb24ge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRvdmVyZmxvdzogaGlkZGVuOyAvLyBiZWNhdXNlIG9mIHBzZXVkbyBlbGVtZW50XG5cdHotaW5kZXg6IDA7XG5cblx0Jjo6YmVmb3JlLFxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuXHQvLyBTaGFkZWQgYmFja2dyb3VuZCAoSElEREVOIGJ5IGRlZmF1bHQpXG5cdCY6OmJlZm9yZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKSwgMC45Mik7XG5cdFx0YmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEobWFwLWdldCgkYy1jYXJkLCdiZ2NvbG9yLWhvdmVyJyksMC44KSAwJSwgcmdiYShtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKSwwLjkyKSAxMDAlKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEzNSUpIHJvdGF0ZSgtMTFkZWcpIHNjYWxlKDEuMyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtcztcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblx0XHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDUsIDAuMSwgMC4zLCAxKTtcblx0fVxuXG5cdC8vIEFycm93IChISURERU4gYnkgZGVmYXVsdClcblx0Ly8gQ29udGFpbnMgYW4gU1ZHIGFycm93IGljb24gaW4gdGhlIGJhY2tncm91bmQtaW1hZ2Vcblx0Jjo6YWZ0ZXIge1xuXHRcdHotaW5kZXg6IDI7XG5cdFx0d2lkdGg6IDI1cHg7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHN2Zy11cmwoJzxzdmcgdmlld0JveD1cIjAgMCAxNiAxMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBmaWxsPVwiI3ttYXAtZ2V0KCRjLWNhcmQsJ2Fycm93LWNvbG9yLWhvdmVyJyl9XCIgZD1cIk0xMy40IDYuNzgzSC43NjJBLjc3Mi43NzIgMCAwIDEgMCA2YzAtLjQzMi4zNDEtLjc4My43NjItLjc4M0gxMy40TDkuNjIzIDEuMzM2YS43OTguNzk4IDAgMCAxIDAtMS4xMDcuNzQ3Ljc0NyAwIDAgMSAxLjA3NyAwbDUuMDc3IDUuMjE4YS43OTguNzk4IDAgMCAxIDAgMS4xMDZMMTAuNyAxMS43NzFhLjc0Ny43NDcgMCAwIDEtMS4wNzcgMCAuNzk4Ljc5OCAwIDAgMSAwLTEuMTA3TDEzLjQgNi43ODN6XCIvPjwvc3ZnPicpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS43NSk7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Ly8gU2hhZGVkIGJhY2tncm91bmQgKFZJU0lCTEUgd2hlbiBob3ZlcmVkKVxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdG9wYWNpdHk6IDAuOTI7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMTFkZWcpIHNjYWxlKDEuMyk7XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDUwbXM7XG5cdFx0fVxuXHRcdC8vIEFycm93IChWSVNJQkxFIHdoZW4gaG92ZXJlZClcblx0XHQmOmFmdGVyIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zO1xuXHRcdH1cblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2JnY29sb3ItaG92ZXInKTtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG4uYy1jYXJkX19waWN0dXJlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGZsZXg6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uYy1jYXJkX19pbWcge1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuLmMtY2FyZF9fbGFiZWwge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeHMpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDM7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmc6IDE0cHggMTBweCAxNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWNvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtYmdjb2xvcicpO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MDBtcztcblxuXHQuYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyICYge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLWNhcmQsJ2xhYmVsLWNvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQvLyBDb2xvcmVkIGJhY2tncm91bmQgYmVoaW5kIGxhYmVsIChISURERU4gYnkgZGVmYXVsdClcblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ei1pbmRleDogLTE7XG5cdFx0dG9wOiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtY2FyZCwnbGFiZWwtYmdjb2xvci1ob3ZlcicpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMCUpIHJvdGF0ZSg1ZGVnKSBzY2FsZSgyKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwJSkgcm90YXRlKDExZGVnKSBzY2FsZSgxLjUsIDMpO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1LCAwLjEsIDAuMywgMSk7XG5cblx0XHQuYy1jYXJkLS1oYXMtYWN0aW9uOmhvdmVyICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDVkZWcpIHNjYWxlKDIpO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWNhcmRfX2luZm8ge1xuXHRwYWRkaW5nOiBzcGFjZSgyKSBzcGFjZSg0KTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYy1jYXJkLCdpbmZvLWJnY29sb3InKTtcbn1cbi5jLWNhcmRfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xufVxuLmMtY2FyZF9fc3ViaGVhZGluZyB7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59XG4uYy1jYXJkX190ZXh0bGluZSB7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG5cblx0Ly8gV2hlbiBpdCBmb2xsb3dzIGFuIGVsZW1lbnQgdGhhdCdzIG5vdCBsaWtlIGl0c2VsZlxuXHQqOm5vdCgjeyZ9KSArICYge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDbG9zZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWNsb3NlOiAoXG5cdCdjb2xvcic6ICBwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtY2xvc2Uge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24tc2VsZjogY2VudGVyO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiBzcGFjZSg1KTtcblx0aGVpZ2h0OiBzcGFjZSg1KTtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym9yZGVyOiBub25lO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxODBtcyBlYXNlLW91dDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3gtc2hhZG93OiAwIDAgM3B4IDJweCBtYXAtZ2V0KCRjLWNsb3NlLCAnY29sb3InKTtcblx0fVxuXG5cdCY6YWZ0ZXIsXG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAyMHB4O1xuXHRcdHJpZ2h0OiAyMCU7XG5cdFx0bGVmdDogMjAlO1xuXHRcdGhlaWdodDogM3B4O1xuXHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogbWFwLWdldCgkYy1jbG9zZSwgJ2NvbG9yJyk7XG5cdFx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHR9XG5cdCY6YmVmb3JlIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ29ubmVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWNvbm5lY3Q6IChcblx0J2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA4MDApLFxuXHQnY29sb3ItYWx0JzpcdHBhbGV0dGUobmV1dHJhbCwgNTAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuLmMtY29ubmVjdCB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdH1cbn1cblxuXG4uYy1jb25uZWN0X19waG9uZSB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdEBpbmNsdWRlIGZvbnQobSk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWNvbm5lY3QsICdjb2xvcicpO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDMwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuNztcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG5cbi5jLWNvbm5lY3RfX29yIHtcblx0bWFyZ2luOiAwIHNwYWNlKDIpO1xuXHRjb2xvcjogbWFwLWdldCgkYy1jb25uZWN0LCAnY29sb3ItYWx0Jyk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbjogc3BhY2UoMSkgMCBzcGFjZSgyKTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRGF0YVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWRhdGE6IChcbiAgJ2NvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG4gICdjb2xvci1hbHQnOlx0XHRwYWxldHRlKG5ldXRyYWwsIDUwMCksXG4gICdiZ2NvbG9yLWhvdmVyJzpcdHNjYWxlLWNvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogLTIwJSksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtZGF0YSB7XG5cdG1hcmdpbjogc3BhY2UoMSkgMDtcbn1cblxuLmMtZGF0YV9fbGluZSB7XG5cdGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jLWRhdGFfX2xhYmVsIHtcblx0bWluLXdpZHRoOiBzcGFjZSg4KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLWRhdGEsICdjb2xvcicpO1xufVxuXG4uYy1kYXRhX192YWx1ZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGMtZGF0YSwgJ2NvbG9yLWFsdCcpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0JltocmVmXSB7XG5cdFx0QGluY2x1ZGUgZGlzYWJsZU91dGxpbmVGb3JNb3VzZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxufSIsIi5jLWRvd25sb2FkLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5jLWRvd25sb2FkLWxpc3RfX2l0ZW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcGFsZXR0ZShuZXV0cmFsLCAzMDApO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKG5ldXRyYWwsIDMwMCksIDAuMik7XG4gIH1cbn1cblxuLmMtZG93bmxvYWQtbGlzdF9fbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IHNwYWNlKDEpIDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmMtZG93bmxvYWQtbGlzdF9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE2cHg7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYy1kb3dubG9hZC1saXN0X190ZXh0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICBwYWRkaW5nLWxlZnQ6IHNwYWNlKDEpO1xuXG4gIC5jLWRvd25sb2FkLWxpc3RfX2l0ZW06aG92ZXIgJiB7XG4gICAgY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcbiAgfVxufVxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBGb3JtIGdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtZm9ybS1ncm91cDogKFxuICAnY29sb3InOlx0XHRcdFx0XHQgICAgcGFsZXR0ZShuZXV0cmFsLCA0MDApLFxuICAnZXJyb3ItY29sb3InOlx0XHRcdFx0cGFsZXR0ZShmZWVkYmFjaywgYWN0aW9uKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWZvcm0tZ3JvdXBfX2xhYmVsIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogc3BhY2UoMC41KSAwO1xuICBjb2xvcjogbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnY29sb3InKTtcbn1cblxuLmMtZm9ybS1ncm91cF9fZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuXG4gIC5oYXMtZXJyb3IgJjpub3QoOmVtcHR5KSB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKHhzKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBzcGFjZSgxKTtcbiAgICBjb2xvcjogbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnZXJyb3ItY29sb3InKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGMtZm9ybS1ncm91cCwgJ2Vycm9yLWNvbG9yJyksIDAuMSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1mb3JtLWdyb3VwLCAnZXJyb3ItY29sb3InKTtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKSBtYXAtZ2V0KCRib3JkZXItcmFkaXVzLCBzKTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9ybSBmZWVkYmFja1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWZvcm0tZmVlZGJhY2s6IChcbiAgJ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA4MDApLFxuICAnYmdjb2xvcic6XHRyZ2JhKHBhbGV0dGUoZmVlZGJhY2ssIHdhcm5pbmcpLCAwLjIpLFxuICAnYm9yZGVyJzogXHRwYWxldHRlKGZlZWRiYWNrLCB3YXJuaW5nKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWZvcm0tZmVlZGJhY2sge1xuICBAaW5jbHVkZSBmb250LXNpemUocyk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMocyk7XG4gIG1hcmdpbjogMCAwIHNwYWNlKDEpO1xuICBwYWRkaW5nOiBzcGFjZSgzKSBzcGFjZSg0KTtcbiAgY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1mZWVkYmFjaywgJ2NvbG9yJyk7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtZm9ybS1mZWVkYmFjaywgJ2JnY29sb3InKTtcbiAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1mb3JtLWZlZWRiYWNrLCAnYm9yZGVyJyk7XG5cbiAgJjpub3QoOmVtcHR5KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmJlZm9yZXtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmVlZGJhY2spO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogc3BhY2UoLTIpO1xuICAgIG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICBsaTo6Zmlyc3QtbGV0dGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBIYW1idXJnZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmMtaGFtYnVyZ2VyIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGFsaWduLXNlbGY6IGNlbnRlcjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogc3BhY2UoNSk7XG5cdGhlaWdodDogc3BhY2UoNSk7XG5cdHBhZGRpbmc6IDA7XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDcwMCk7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdGJvcmRlcjogbm9uZTtcblx0b3V0bGluZTogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxuXG5cdCYgPiBzcGFuLFxuXHQmOmFmdGVyLFxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMjBweDtcblx0XHRyaWdodDogMjAlO1xuXHRcdGxlZnQ6IDIwJTtcblx0XHRoZWlnaHQ6IDNweDtcblx0XHRtYXJnaW4tdG9wOiAtMnB4O1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHR0b3A6IDEycHg7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdHRvcDogMjhweDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlWCgwLjUpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0JiA+IHNwYW4ge1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZVgoMC44KTtcblx0XHR9XG5cdFx0JjphZnRlcixcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHR9XG5cdH1cblxuXHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHQmID4gc3BhbiB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKSAhaW1wb3J0YW50O1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KSBzY2FsZVgoMSkgIWltcG9ydGFudDtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxufSIsIi5jLWhlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KHhsKTtcblx0bWFyZ2luOiBzcGFjZSg1KSAwO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xufVxuXG4uYy1oZWFkaW5nLS1pbmRlbnQge1xuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBIZXJvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtaGVybzogKFxuXHQnY2FwdGlvbi1iZ2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCA5MDApLFxuXHQnY2FwdGlvbi1jb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1oZXJvIHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIEBpbmNsdWRlIGNvbnRhaW47XG4gIH1cbn1cblxuLmMtaGVyb19fbWFpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbn1cblxuLmMtaGVyb19fc2xpZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTUuNTU2JTsgLy8gUmF0aW8gdXNlZCBmb3IgbW9iaWxlIGltYWdlXG5cbiAgQGluY2x1ZGUgbXEobSwgbCkge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MCU7IC8vIFJhdGlvIHVzZWQgZm9yIGltYWdlXG4gIH1cbn1cblxuLmMtaGVyb19fcGljdHVyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmaWx0ZXI6IGJsdXIoNXB4KTtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgZmlsdGVyOiBub25lO1xuICB9XG59XG5cbi5jLWhlcm9fX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWhlcm9fX2NhcHRpb24ge1xuICAvL0BpbmNsdWRlIGh5cGhlbmF0ZTtcbiAgZm9udC1zaXplOiBjYWxjKDE2cHggKyAxdncpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBzcGFjZSgzKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogbWFwLWdldCgkYy1oZXJvLCAnY2FwdGlvbi1jb2xvcicpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWhlcm8sICdjYXB0aW9uLWJnY29sb3InKTtcblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXgtd2lkdGg6IGNvbHVtbig2LDEyKTtcbiAgICBwYWRkaW5nOiBzcGFjZSg0KTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLy8gRm9udC1sb2NrIHRvIHNjYWxlIGZvbnQtc2l6ZSBwcm9wb3J0aW9uYWxseVxuICBAaW5jbHVkZSBtcShtLCBsKSB7XG4gICAgcGFkZGluZzogMi42dnc7IC8vIE1hZ2ljIHZhbHVlIHNvIHRleHQgc2NhbGVzIG5pY2VseVxuICAgIGZvbnQtc2l6ZTogMy41dnc7IC8vIE1hZ2ljIHZhbHVlIHNvIHRleHQgc2NhbGVzIG5pY2VseVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICB9XG5cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSh4eHhsKTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNvbHVtbigwLjUpO1xuICB9XG59XG5cbi5jLWhlcm9fX2NvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogc3BhY2UoMSk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiBzcGFjZSg2KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCBibGFjaywgdHJhbnNwYXJlbnQpO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxufVxuXG5cbi8vIEJ1dHRvbiB3aXRoIGFycm93IHRoYXQgc2Nyb2xscyBkb3duXG4uYy1oZXJvX19zY3JvbGwge1xuICBAaW5jbHVkZSBtcSgkbWF4OiBtKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnkpO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpIHJvdGF0ZSgwLjI1dHVybik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cbiAgJiA+IHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHNjYWxlX2NvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogLTE1JSk7XG5cbiAgICAmID4gc3ZnIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzcHgpO1xuICAgIH1cbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogc2NhbGVfY29sb3IocGFsZXR0ZShzZWNvbmRhcnkpLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggc2NhbGVfY29sb3IocGFsZXR0ZShzZWNvbmRhcnkpLCAkbGlnaHRuZXNzOiA3MCUpO1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBJbnB1dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWlucHV0OiAoXG5cdCdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2JnY29sb3InOlx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYm9yZGVyJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAzMDApLFxuXHQnZm9jdXMnOlx0XHRwYWxldHRlKG5ldXRyYWwsIDkwMCksXG5cdCdlcnJvcic6XHRcdHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbiksXG5cdCdib3JkZXItc2l6ZSc6XHQxcHgsXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1pbnB1dCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShzKTtcblx0d2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IChzcGFjZSgxKSAtIG1hcC1nZXQoJGMtaW5wdXQsICdib3JkZXItc2l6ZScpKSBzcGFjZSgyKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLWlucHV0LCAnYmdjb2xvcicpO1xuXHRib3JkZXI6IG1hcC1nZXQoJGMtaW5wdXQsICdib3JkZXItc2l6ZScpIHNvbGlkIG1hcC1nZXQoJGMtaW5wdXQsICdib3JkZXInKTtcblx0b3V0bGluZTogbm9uZTtcblxuXHQuaGFzLWVycm9yICYge1xuXHRcdGJveC1zaGFkb3c6IDAgMCA3cHggLTNweCBtYXAtZ2V0KCRjLWlucHV0LCAnZXJyb3InKTtcblx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtaW5wdXQsICdlcnJvcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0Ym94LXNoYWRvdzogMCAwIDdweCAtM3B4IG1hcC1nZXQoJGMtaW5wdXQsICdmb2N1cycpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1pbnB1dCwgJ2ZvY3VzJyk7XG5cdH1cblxuXHRAYXQtcm9vdCB0ZXh0YXJlYSN7Jn0ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmc6IHNwYWNlKDIpO1xuXHRcdG1pbi1oZWlnaHQ6IHNwYWNlKDIwKSAtIGRvdWJsZShtYXAtZ2V0KCRjLWlucHV0LCAnYm9yZGVyLXNpemUnKSk7XG5cdFx0bGluZS1oZWlnaHQ6IHNwYWNlKDMpO1xuXHRcdHJlc2l6ZTogdmVydGljYWw7XG5cdH1cbn1cblxuLmMtaW5wdXQtLXF1aWNrLW1lbnUge1xuXHR3aWR0aDogYXV0bztcbn1cblxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBMYW5ndWFnZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLWxhbmd1YWdlOiAoXG5cdCdiZ2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItYWx0JzpcdFx0XHQgIFx0ZGFya2VuKHBhbGV0dGUobmV1dHJhbCwgMCksIDUlKSxcblx0J2NvbG9yJzpcdFx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQnY29sb3ItaG92ZXInOlx0XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2JnY29sb3ItaG92ZXInOlx0XHRcdHBhbGV0dGUoc2Vjb25kYXJ5KSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLWxhbmd1YWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1sYW5ndWFnZV9fYnV0dG9uIHtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcblx0ZGlzcGxheTogZmxleDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogc3BhY2UoMSk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRjb2xvcjogcmdiYShtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvcicpLCAwLjUpO1xuXHRib3JkZXI6IG5vbmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMsIGJveC1zaGFkb3cgMC4xNXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdC8vLmMtbGFuZ3VhZ2U6aG92ZXIgJiB7XG5cdC8vXHRjb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICd0ZXh0Q29sb3InKTtcblx0Ly99XG59XG5cbi5jLWxhbmd1YWdlX19pY29uIHtcblx0ZmxleDogbm9uZTtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jLWxhbmd1YWdlX19sYWJlbCB7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgwLjUpO1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmMtbGFuZ3VhZ2VfX2Ryb3Bkb3duIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRyaWdodDogMDtcblx0dG9wOiAxMDAlO1xuXHRtaW4td2lkdGg6IDEwMCU7XG5cdG1hcmdpbjogMDtcblx0b3BhY2l0eTogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdGJveC1zaGFkb3c6IDAgMCAxMnB4IDFweCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMTAwMCksIDAuMTUpO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCB0cmFuc2Zvcm0gMC4zcztcblxuXHQuYy1sYW5ndWFnZTpob3ZlciAmIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cbn1cblxuLmMtbGFuZ3VhZ2VfX2l0ZW0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOm1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yJyk7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0JjpudGgtY2hpbGQoZXZlbikge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yLWFsdCcpO1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgMCAwO1xuXHR9XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRib3JkZXItcmFkaXVzOiAwIDAgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcykgbWFwLWdldCgkYm9yZGVyLXJhZGl1cywgcyk7XG5cdH1cblxuXHQmOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGJvcmRlci1yYWRpdXMsIHMpO1xuXHR9XG59XG5cbi5jLWxhbmd1YWdlX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IHNwYWNlKDAuNSkgc3BhY2UoMSk7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdjb2xvcicpO1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdjb2xvci1ob3ZlcicpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtbGFuZ3VhZ2UsICdiZ2NvbG9yLWhvdmVyJyk7XG5cdH1cbn1cblxuIiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBOYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8qXG5cdENvbG9ycyBnZXQgZGVmaW5lZCBpbiBfc2V0dGluZ3MuY29uZmlnLnNjc3NcbiovXG5cbiRjLW5hdjogKFxuXHQnbGluay1wYWRkaW5nJzogNHB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtbmF2IHtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uYy1uYXZfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0cGFkZGluZzogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4uYy1uYXZfX2l0ZW0ge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdG1hcmdpbi1yaWdodDogMiU7XG5cblx0JjpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdH1cbn1cblxuXG4uYy1uYXZfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IG1hcC1nZXQoJGMtbmF2LCAnbGluay1wYWRkaW5nJyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGxpbmVhcjtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHRsZWZ0OiBtYXAtZ2V0KCRjLW5hdiwgJ2xpbmstcGFkZGluZycpO1xuXHRcdGJvdHRvbTogMXB4O1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje2RvdWJsZShtYXAtZ2V0KCRjLW5hdiwgJ2xpbmstcGFkZGluZycpKX0pO1xuXHRcdGhlaWdodDogMnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDFweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2RlY29yYXRpb25Db2xvcicpO1xuXHRcdHRyYW5zZm9ybTogc2NhbGVYKDApO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJHNpdGUtaGVhZGVyLCAndGV4dENvbG9ySG92ZXInKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlWCgxKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICdkZWNvcmF0aW9uQ29sb3JIb3ZlcicpO1xuXHRcdH1cblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ3RleHRDb2xvckFjdGl2ZScpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuXHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2RlY29yYXRpb25Db2xvckFjdGl2ZScpO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjLXBhZ2luYXRpb246IChcblx0J2NvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdhY3RpdmUtY29sb3InOlx0XHRwYWxldHRlKHByaW1hcnkpLFxuXHQnYm9yZGVyLWNvbG9yJzpcdFx0cGFsZXR0ZShib3JkZXIsIDMwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYy1wYWdpbmF0aW9uIHtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKG0pO1xuXHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdib3JkZXItY29sb3InKTtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXBhZ2luYXRpb25fX2l0ZW0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQvLyBPbiBzbWFsbCBzY3JlZW5zIGhpZGUgYWxsIGl0ZW1zIGJ1dCB0aGUgYXJyb3dzLCBmaXJzdCBwYWdlLCBsYXN0IHBhZ2UgYW5kIGFjdGl2ZVxuXHRAaW5jbHVkZSBtcSgkbWF4OiBtKXtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0JjpmaXJzdC1jaGlsZCxcblx0XHQmOmxhc3QtY2hpbGQsXG5cdFx0Ji5pcy1sYXN0LXBhZ2UsXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cblx0XHQmLmlzLWxhc3QtcGFnZSB7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQmICsgJiB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcblx0XHRib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cdH1cbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCxcbi5jLXBhZ2luYXRpb25fX2xpbmssXG4uYy1wYWdpbmF0aW9uX19wcmV2LFxuLmMtcGFnaW5hdGlvbl9fbmV4dHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1pbi13aWR0aDogc3BhY2UoNik7XG5cdG1pbi1oZWlnaHQ6IHNwYWNlKDYpO1xuXHRwYWRkaW5nOiBzcGFjZSgxKTtcbn1cblxuLmMtcGFnaW5hdGlvbl9fdGV4dCB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpO1xuXHRvcGFjaXR5OiAwLjM1O1xufVxuXG4uYy1wYWdpbmF0aW9uX19saW5rIHtcblx0Y29sb3I6IG1hcC1nZXQoJGMtcGFnaW5hdGlvbiwgJ2NvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdjb2xvcicpLCAkbGlnaHRuZXNzOiAtMzAlKTtcblx0XHRiYWNrZ3JvdW5kOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdH1cblxuXHQuaXMtYWN0aXZlID4gJiB7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDEwcHggLTVweCBtYXAtZ2V0KCRjLXBhZ2luYXRpb24sICdhY3RpdmUtY29sb3InKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHR9XG59XG5cbi5jLXBhZ2luYXRpb25fX3ByZXYsXG4uYy1wYWdpbmF0aW9uX19uZXh0IHtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG5cblx0Ji5pcy1pbmFjdGl2ZSB7XG5cdFx0Y29sb3I6IHJnYmEobWFwLWdldCgkYy1wYWdpbmF0aW9uLCAnY29sb3InKSwgMC40KTtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxufVxuXG4uYy1wYWdpbmF0aW9uX19wcmV2IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoMC4yNXR1cm4pO1xufSIsIi8qXG4gKiBQYWdlIHRpdGxlXG4gKi9cblxuLmMtcGFnZS10aXRsZSB7XG4gIEBpbmNsdWRlIGNvbnRhaW47XG4gIEBpbmNsdWRlIGh5cGhlbmF0ZTtcbiAgcGFkZGluZy10b3A6IHNwYWNlKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoMik7XG4gIGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIHBhZGRpbmctdG9wOiBzcGFjZSg2KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2UoNik7XG4gIH1cbn1cblxuLmMtcGFnZS10aXRsZS0tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICB3aWR0aDogY29sdW1uKDYsIDgpO1xuICB9XG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICB3aWR0aDogY29sdW1uKDgsIDEyKTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19wcmVoZWFkaW5nIHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIG1hcmdpbi10b3A6IHNwYWNlKC0yKTtcbiAgICBtYXJnaW4tYm90dG9tOiBzcGFjZSgyKTtcbiAgfVxufVxuXG4uYy1wYWdlLXRpdGxlX19oZWFkaW5nIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHh4bCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5jLXBhZ2UtdGl0bGVfX2hlYWRpbmctc21hbGwge1xuICBAaW5jbHVkZSBmb250LXNpemUobSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4iLCIuYy1wcm9qZWN0b3Ige1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogMTAwJTtcblx0bWF4LXdpZHRoOiA1NzZweDtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cblxuLmMtcHJvamVjdG9yX19maWd1cmUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdGhlaWdodDogMTAwJTtcbn1cblxuXG4uYy1wcm9qZWN0b3JfX2NhcHRpb24ge1xuXHRAaW5jbHVkZSBmb250LXNpemUocyk7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMjtcblx0dXNlci1zZWxlY3Q6IHRleHQ7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA0MDApO1xufVxuXG5cbi5jLXByb2plY3Rvcl9fcGljdHVyZSB7XG5cdGdyaWQtY29sdW1uOiAxO1xuXHRncmlkLXJvdzogMTtcblx0YWxpZ24tc2VsZjogZW5kO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1pbi1oZWlnaHQ6IDM2MHB4OyAvLyBuZWVkZWQgZm9yIElFXG5cdGRpc3BsYXk6IGJsb2NrOyAvLyBOZWVkZWQgZm9yIElFXG5cdGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMTAwKTtcblx0b3BhY2l0eTogMDtcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuXG5cdC5pZSAuYy1wcm9qZWN0b3ItLXNpbmdsZS1pbWFnZSAmIHtcblx0XHRtaW4taGVpZ2h0OiA0MDBweDtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cblxuLmMtcHJvamVjdG9yX19jb250cm9sIHtcblx0Z3JpZC1jb2x1bW46IDE7XG5cdGdyaWQtcm93OiAxO1xuXHRhbGlnbi1zZWxmOiBlbmQ7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IHNwYWNlKDEpO1xufVxuXG5cbi5jLXByb2plY3Rvcl9faW1nIHtcblx0Ly8gbWFrZSBzdXJlIGl0IHN0cmV0Y2hlcyB0aGUgY29udGFpbmVyXG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG9iamVjdC1maXQ6IGNvdmVyOyAvLyBGYWxsYmFjayBmb3IgSUUgdmlhIEpTIHBvbHlmaWxsLCBtaW4taGVpZ2h0IGlzIHNldCBvbiB0aGUgd3JhcHBlclxuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHRtYXgtaGVpZ2h0OiA3OHZoOyAvLyBNYWtlIHN1cmUgaW1hZ2VzIGFyZSB2aXNpYmxlIGVudGlyZWx5IG9uIHNtYWxsIGRldmljZXMgaW4gbGFuZHNjYXBlKVxuXHR9XG59IiwiJGMtc2VydmljZXBvaW50LWJwLXdpZHRoOiA0MjBweDsgLy8gc2l6ZSBvZiBjb21wb25lbnQgd2hlbiB3ZSBzd2l0Y2ggZnJvbSBzdGFja2VkIHRvIHJvdyB2aWV3XG4kYy1zZXJ2aWNlcG9pbnQtZ2FwOiBzcGFjZSgyKTtcblxuXG4uYy1zZXJ2aWNlcG9pbnQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0dGV4dC1hbGlnbjogbGVmdDsgLy8gbmVlZGVkIGZvciB3aGVuIGEgcGFyZW50IGVsZW1lbnQgaGFzIHRleHQtYWxpZ24gY2VudGVyXG59XG5cblxuLmMtc2VydmljZXBvaW50X19pbWFnZSB7XG5cdGZsZXg6IDA7XG5cdG1pbi13aWR0aDogYXV0bztcblx0bWF4LXdpZHRoOiAxNzhweCArICRjLXNlcnZpY2Vwb2ludC1nYXA7XG5cdHBhZGRpbmctcmlnaHQ6ICRjLXNlcnZpY2Vwb2ludC1nYXA7XG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19jb250ZW50IHtcblx0QGluY2x1ZGUgaHlwaGVuYXRlO1xuXHRtaW4td2lkdGg6IDUwJTsgLy8gSGFzIHRvIGJlIG1pbmltYWwgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgY29udGFpbmVyXG5cdG1heC13aWR0aDogMTAwJTtcblx0ZmxleC1ncm93OiAxO1xuXHRmbGV4LWJhc2lzOiBjYWxjKGNhbGMoI3skYy1zZXJ2aWNlcG9pbnQtYnAtd2lkdGh9IC0gMTAwJSkgKiA5OTkpOyAvLyBCYXNlZCBvbiB0aGlzIG1ldGhvZDogaHR0cHM6Ly9oZXlkb253b3Jrcy5jb20vYXJ0aWNsZS90aGUtZmxleGJveC1ob2x5LWFsYmF0cm9zcy9cblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDIpO1xuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRmbGV4LWJhc2lzOiBhdXRvO1xuXHR9XG59XG5cblxuLmMtc2VydmljZXBvaW50X19ib2R5IHtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG59XG5cblxuLmMtc2VydmljZXBvaW50X19mb290ZXIge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgxKTtcbn1cblxuXG4uYy1zZXJ2aWNlcG9pbnRfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA1MDApO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG5cbi5jLXNlcnZpY2Vwb2ludF9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59IiwiLyoqXG4gKiBTZWxlY3Qgc3R5bGVkIHdpdGhvdXQgZXh0cmEgY29udGFpbmluZyBlbGVtZW50c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBCYXNlZCBvbiB0aGlzIGFydGljbGU6XG4gKiBodHRwczovL3d3dy5maWxhbWVudGdyb3VwLmNvbS9sYWIvc2VsZWN0LWNzcy5odG1sXG4gKi9cblxuXG4kYy1zZWxlY3QtYm9yZGVyLXNpemU6IDFweDtcblxuXG4uYy1zZWxlY3Qge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHRAaW5jbHVkZSBmb250LXNpemUoMTQsMTYpO1xuXHRmb250LWZhbWlseTogJGZvbnQtc3lzdGVtOyAvLyBmb3IgZmlyZWZveFxuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy10b3A6ICN7c3BhY2UoMSkgLSAkYy1zZWxlY3QtYm9yZGVyLXNpemV9O1xuXHRwYWRkaW5nLWJvdHRvbTogI3tzcGFjZSgxKSAtICRjLXNlbGVjdC1ib3JkZXItc2l6ZX07XG5cdHBhZGRpbmctbGVmdDogc3BhY2UoMik7XG5cdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDQpO1xuXHRoZWlnaHQ6IHNwYWNlKDUpO1xuXHR3aWR0aDogMTAwJTtcblx0Ly9tYXgtd2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogNTAwcHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdG1hcmdpbjogMDtcblx0YXBwZWFyYW5jZTogbm9uZTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYShwYWxldHRlKG5ldXRyYWwsIDApLCAwLjQpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuNCkgMCUsIHJnYmEocGFsZXR0ZShuZXV0cmFsLCAwKSwgMC40KSAxMDAlKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCwgcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxM3B4IHRvcCA1MCUsIDAgMDtcblx0YmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG8sIDEwMCU7XG5cdGJvcmRlcjogJGMtc2VsZWN0LWJvcmRlci1zaXplIHNvbGlkIHBhbGV0dGUobmV1dHJhbCwgMzAwKTtcblx0dHJhbnNpdGlvbjogYm9yZGVyIDMwMG1zIGxpbmVhcjtcblxuXHQmOm5vdCg6ZGlzYWJsZWQpIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWcvc2VsZWN0LWFycm93LnN2ZycpLCBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuNCkgMCUsIHJnYmEocGFsZXR0ZShuZXV0cmFsLCAwKSwgMC40KSAxMDAlKTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuNik7XG5cdFx0fVxuXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbihwYWxldHRlKHByaW1hcnksIDcwMCksIDE1JSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgN3B4IC0zcHggcmdiYShwYWxldHRlKG5ldXRyYWwsIDkwMCksIDAuNyk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggLW1vei1tYWMtZm9jdXNyaW5nO1xuXHRcdFx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgOTAwKTtcblx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0JiBvcHRpb24ge1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdH1cbn1cblxuXG4uYy1zZWxlY3Q6Oi1tcy1leHBhbmQge1xuXHRkaXNwbGF5OiBub25lO1xufSIsIi5jLXNpdGVtYXBfX2l0ZW0ge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDUwMCk7XG59XG5cbi5jLXNpdGVtYXBfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZzogc3BhY2UoMC41KSAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSk7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn0iLCIvKlxuICogU2tpcCBMaW5rXG4gKi9cblxuLmMtc2tpcC1saW5rIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKHMpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHZoO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY29sb3I6IHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgb3V0bGluZS1zdHlsZTogc29saWQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gICAgdG9wOiA1cHg7IC8qIE5vdyB0aGUgbGluayB3aWxsIGFwcGVhciAqL1xuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBTbGlkZSBpbmRpY2F0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1zbGlkZS1pbmRpY2F0b3I6IChcblx0J2RvdC1jb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnZG90LWNvbG9yLWFjdGl2ZSc6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2RvdC1yaW5nLWNvbG9yLWFjdGl2ZSc6XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnZG90LXNpemUnOlx0XHRcdFx0XHQ4cHgsXG5cdCdkb3Qtc2l6ZS1hY3RpdmUnOlx0XHRcdDZweCxcblx0J2RvdC1yaW5nLXNpemUtYWN0aXZlJzpcdFx0MTJweCxcblx0J2RvdC1zaXplLXRhcmdldGJveCc6XHRcdDMwcHgsXG5cdCdkb3QtaXMtcm91bmRlZCc6XHRcdFx0dHJ1ZSxcblx0J2J1dHRvbi1pY29uLWNvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2J1dHRvbi1iZy1jb2xvcic6XHRcdFx0cGFsZXR0ZShzZWNvbmRhcnksIDUwMCksXG5cdCdidXR0b24tYmctY29sb3ItaG92ZXInOlx0c2NhbGVfY29sb3IocGFsZXR0ZShzZWNvbmRhcnksIDUwMCksICRsaWdodG5lc3M6IC0xMCUpLFxuXHQnYnV0dG9uLXNpemUnOlx0XHRcdFx0NDBweCxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jLXNsaWRlLWluZGljYXRvciB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fYnV0dG9uIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnYnV0dG9uLWJnLWNvbG9yJyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1pY29uLWNvbG9yJyk7XG5cdGhlaWdodDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tc2l6ZScpO1xuXHR3aWR0aDogbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdidXR0b24tc2l6ZScpO1xuXG5cdCYgKyAmIHtcblx0XHRtYXJnaW4tbGVmdDogOHB4O1xuXHR9XG5cblx0JlthcmlhLWxhYmVsPSdwcmV2aW91cyddID4gc3ZnIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cdH1cblxuXHQmW2FyaWEtbGFiZWw9J25leHQnXSA+IHN2ZyB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvci1ob3ZlcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2J1dHRvbi1iZy1jb2xvci1ob3ZlcicpO1xuXHR9XG59XG5cbi5jLXNsaWRlLWluZGljYXRvcl9fZG90IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpO1xuXHRoZWlnaHQ6IG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyk7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5cdCY6aG92ZXI6bm90KC5pcy1hY3RpdmUpLFxuXHQmOmZvY3VzOm5vdCguaXMtYWN0aXZlKSB7XG5cdFx0b3BhY2l0eTogMC41O1xuXHR9XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0XHRAaWYgKG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LWlzLXJvdW5kZWQnKSA9PSB0cnVlKSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHQkb2Zmc2V0OiBjYWxjKCgje21hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtdGFyZ2V0Ym94Jyl9IC0gI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplJyl9KSAvIDIpO1xuXHRcdHRvcDogJG9mZnNldDtcblx0XHRyaWdodDogJG9mZnNldDtcblx0XHRib3R0b206ICRvZmZzZXQ7XG5cdFx0bGVmdDogJG9mZnNldDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1jb2xvcicpO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0JG9mZnNldDogY2FsYygoI3ttYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplLXRhcmdldGJveCcpfSAtICN7bWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtcmluZy1zaXplLWFjdGl2ZScpfSkgLyAyKTtcblx0XHR0b3A6ICRvZmZzZXQ7XG5cdFx0cmlnaHQ6ICRvZmZzZXQ7XG5cdFx0Ym90dG9tOiAkb2Zmc2V0O1xuXHRcdGxlZnQ6ICRvZmZzZXQ7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYy1zbGlkZS1pbmRpY2F0b3IsICdkb3QtcmluZy1jb2xvci1hY3RpdmUnKTtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuNCk7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1jb2xvci1hY3RpdmUnKTtcblx0XHRcdGJvcmRlci1jb2xvcjogcmdiYShtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1yaW5nLWNvbG9yLWFjdGl2ZScpLCAwLjkpO1xuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZShzdHJpcC11bml0KG1hcC1nZXQoJGMtc2xpZGUtaW5kaWNhdG9yLCAnZG90LXNpemUtYWN0aXZlJykpIC8gc3RyaXAtdW5pdChtYXAtZ2V0KCRjLXNsaWRlLWluZGljYXRvciwgJ2RvdC1zaXplJykpKTtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdG9wYWNpdHk6IDAuOTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdFx0fVxuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Ly9iYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKHNlY29uZGFyeSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAycHggYmxhY2ssIDAgMCAxMHB4IDFweCB3aGl0ZTtcblx0XHR9XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdC8vYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShzZWNvbmRhcnkpO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgMnB4IGJsYWNrLCAwIDAgMTBweCAxcHggd2hpdGU7XG5cdFx0fVxuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBTdWJuYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kYy1zdWJuYXY6IChcblx0J2JvcmRlci1jb2xvcic6IFx0XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2NvbG9yJzpcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgNTAwKSxcblx0J2hvdmVyLWNvbG9yJzpcdFx0XHRwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pLFxuXHQnYWN0aXZlLWNvbG9yJzpcdFx0XHRwYWxldHRlKHByaW1hcnkpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmMtc3VibmF2IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5jLXN1Ym5hdi0tYm94ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnc3VibmF2QmdDb2xvcicpO1xuXHRwYWRkaW5nOiBzcGFjZSgxMCkgJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0sIGwpe1xuXHRcdHBhZGRpbmctbGVmdDogMjUlO1xuXHR9XG59XG5cblxuLmMtc3VibmF2X19oZWFkZXIge1xuXHRtYXJnaW46IDA7XG59XG5cblxuLmMtc3VibmF2X19saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcblxuXHQqICsgJiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdH1cbn1cblxuXG4uYy1zdWJuYXZfX2l0ZW0tLWJhY2sge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcbn1cblxuXG4uYy1zdWJuYXZfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdHBhZGRpbmc6IHNwYWNlKDEpIDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2NvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAyNTBtcztcblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdob3Zlci1jb2xvcicpO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG5cblx0Jjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2JvcmRlci1jb2xvcicpO1xuXG5cdFx0LmMtc3VibmF2X19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRcdGJvcmRlci13aWR0aDogMnB4O1xuXHRcdH1cblx0fVxufVxuXG5cbi5jLXN1Ym5hdl9faWNvbiB7XG5cdG9wYWNpdHk6IDA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblx0Y29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnYm9yZGVyLWNvbG9yJyk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgje3NwYWNlKC0yKX0pO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1vdXQ7XG5cblx0LmMtc3VibmF2X19saW5rOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRjLXN1Ym5hdiwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cbn1cblxuXG4vLyBBY3RpdmUgc3RhdGUgb2YgdGhlIHN1Ym5hdiBpdGVtXG4uYy1zdWJuYXZfX2l0ZW0uaXMtYWN0aXZlIHtcblx0LmMtc3VibmF2X19saW5rIHtcblx0XHRjb2xvcjogbWFwLWdldCgkYy1zdWJuYXYsICdhY3RpdmUtY29sb3InKTtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IG1hcC1nZXQoJGMtc3VibmF2LCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0XHRib3JkZXItd2lkdGg6IDJweDtcblx0XHR9XG5cdH1cblxuXHQuYy1zdWJuYXZfX2ljb24ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRleHQgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGMtdGV4dGJ1dHRvbjogKFxuXHQnY29sb3InOlx0XHRcdHBhbGV0dGUoZmVlZGJhY2ssIGFjdGlvbiksXG5cdCdjb2xvckFsdCc6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIDEuIENvbG9yIGdldHMgaW5oZXJpdGVkIGFuZCB1c2VkIGZvciBuZXN0ZWQgZWxlbWVudHMgd2l0aCAnY3VycmVudENvbG9yJyBwcm9wZXJ0eVxuICogMi4gUmVzZXQgZGVmYXVsdCBidXR0b24gc3R5bGluZ1xuICovXG5cbi5jLXRleHRidXR0b24ge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGNvbG9yOiBtYXAtZ2V0KCRjLXRleHRidXR0b24sICdjb2xvcicpOyAvKiAxICovXG5cdHBhZGRpbmc6IDA7IC8qIDIgKi9cblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDIgKi9cblx0Ym9yZGVyOiBub25lOyAvKiAyICovXG5cdGN1cnNvcjogcG9pbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG5cdCY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihtYXAtZ2V0KCRjLXRleHRidXR0b24sICdjb2xvcicpLCAkbGlnaHRuZXNzOiAtNDAlKTtcblx0fVxuXHQmOmRpc2FibGVkIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuLmMtdGV4dGJ1dHRvbl9fdGV4dCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShiYXNlKTtcbn1cblxuLmMtdGV4dGJ1dHRvbl9faWNvbiB7XG5cdGRpc3BsYXk6IG5vbmU7IC8vIEJ5IGRlZmF1bHQgaWNvbiBpcyBoaWRkZW5cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzO1xuXG5cdC5jLXRleHRidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgJiB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDNweCk7XG5cdH1cblxuXHQuYy10ZXh0YnV0dG9uLS1pY29uICZ7XG5cdFx0ZGlzcGxheTogYmxvY2s7IC8vIFNob3cgd2hlbiBoYXMgaWNvbiBtb2RpZmllclxuXHR9XG59XG5cbi8vIENoYW5nZSBkaXJlY3Rpb24gb2YgaWNvbiAoYXJyb3cpXG4uYy10ZXh0YnV0dG9uLS1pcy1yZXZlcnNlZCB7XG5cdC5jLXRleHRidXR0b25fX3RleHQgeyBvcmRlcjogMjtcdH1cblx0LmMtdGV4dGJ1dHRvbl9faWNvbiB7XG5cdFx0b3JkZXI6IDE7XG5cdFx0dG9wOiAxcHg7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0bWFyZ2luLXJpZ2h0OiBzcGFjZSgxKTtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0fVxuXHQmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIC5jLXRleHRidXR0b25fX2ljb24ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuNXR1cm4pIHRyYW5zbGF0ZVgoM3B4KTtcblx0fVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogVHJhZGVtYXJrXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tdHJhZGVtYXJrOiAoXG5cdCdsb2dvLXdpZHRoJzpcdFx0MTAwcHhcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYy10cmFkZW1hcmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogY29sb3IgMjAwbXMgO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHR9XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cbi5jLXRyYWRlbWFya19fdGV4dCB7XG5cdG1hcmdpbi1yaWdodDogN3B4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4uYy10cmFkZW1hcmtfX2ljb24ge1xuXHR3aWR0aDogbWFwLWdldCgkby10cmFkZW1hcmssICdsb2dvLXdpZHRoJyk7XG5cdG1heC1oZWlnaHQ6IDMycHg7XG5cdG9wYWNpdHk6IC41O1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG5cblx0LmMtdHJhZGVtYXJrOmhvdmVyICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cbn0iLCIuYy12aWRlb3tcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvLyBBc3BlY3QgUmF0aW86IDE2OjlcbiAgYmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAyMDApO1xufVxuXG4uYy12aWRlb19faWZyYW1le1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIE9yZ2FuaXNtc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbkBpbXBvcnQgXCJvcmdhbmlzbXMuYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmJsb2NrXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmJvZHlcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY2FsbG91dEJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jYXJkLWdyaWRcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuY29udGFjdFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5jb29raWVCYXJcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZG91YmxlSW1hZ2VcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZG91YmxlVGV4dFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5kb3dubG9hZHNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuZm9vdGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmZvcm1cIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuaGVhZGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmludHJvXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLmxvZ29zXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm1hcFwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy5uZXdzXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLm92ZXJsYXlNZW51XCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnF1b3RlXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnJlZmVyZW5jZXNcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMuc3ViZm9vdGVyXCI7XG5AaW1wb3J0IFwib3JnYW5pc21zLnRhYnNsaWRlclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy50ZWFtXCI7XG4vL0BpbXBvcnQgXCJvcmdhbmlzbXMudG9wLWJhclwiO1xuQGltcG9ydCBcIm9yZ2FuaXNtcy51c3BcIjtcbkBpbXBvcnQgXCJvcmdhbmlzbXMudmFjYW5jaWVzXCI7XG4iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLWFjY29yZGlvbjogKFxuXHQnYm9yZGVyLXdpZHRoJzpcdFx0XHQxcHgsXG5cdCdib3JkZXItY29sb3InOlx0XHRcdHBhbGV0dGUoYm9yZGVyLCAzMDApLFxuXHQnaGVhZGVyLWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDEwMDApLFxuXHQnaG92ZXItY29sb3InOiBcdFx0XHRwYWxldHRlKHByaW1hcnkpLFxuXHQnaWNvbi1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDAwKSxcblx0J2ljb24tYm9yZGVyLXNpemUnOiBcdDJweCxcblx0J2ljb24tc2l6ZSc6XHRcdFx0MjBweCxcblx0J2ljb24tc3RyaXBlLWhlaWdodCc6XHQycHgsXG5cdCdpY29uLXN0cmlwZS13aWR0aCc6ICBcdDEwcHgsXG5cdCd0cmFuc2l0aW9uLWR1cmF0aW9uJzpcdDQwMG1zLFxuXHQndHJhbnNpdGlvbi1lYXNpbmcnOlx0Y3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tYWNjb3JkaW9uIHtcblx0QGluY2x1ZGUgY29udGFpbjtcbn1cblxuLm8tYWNjb3JkaW9uX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnYm9yZGVyLXdpZHRoJyk7XG5cdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby1hY2NvcmRpb24sICdib3JkZXItY29sb3InKTtcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblxuXHQmOm5vdCguaXMtYWN0aXZlKTpob3ZlciB7XG5cdFx0Ym9yZGVyLWNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXHR9XG59XG5cbi5vLWFjY29yZGlvbl9fdGl0bGUge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgyKTtcblx0cGFkZGluZy1yaWdodDogc3BhY2UoMyk7XG5cdHBhZGRpbmctYm90dG9tOiBzcGFjZSgyKTtcblx0cGFkZGluZy1sZWZ0OiBzcGFjZSg2KTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaGVhZGVyLWNvbG9yJyk7XG5cdGN1cnNvcjogcG9pbnRlcjtcblxuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRwYWRkaW5nLWxlZnQ6IGNvbHVtbigxLDgpO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsMTIpO1xuXHR9XG5cblx0Ly8gT25seSBzZXQgaG92ZXIgY29sb3Igd2hlbiBub3QgYWN0aXZlXG5cdC5vLWFjY29yZGlvbl9faXRlbTpub3QoLmlzLWFjdGl2ZSkgJjpob3ZlciB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaG92ZXItY29sb3InKTtcblx0fVxufVxuXG4uby1hY2NvcmRpb25fX2ljb24ge1xuXHRmbGV4OiAwIDAgYXV0bztcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IGF1dG87XG5cdGxlZnQ6IChzcGFjZSgzKSAtIGhhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpKTtcblx0d2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJyk7XG5cdGhlaWdodDogbWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKTtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuXHRib3JkZXItd2lkdGg6IG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1ib3JkZXItc2l6ZScpO1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcblx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXM7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGxlZnQ6IGNhbGMoI3tjb2x1bW4oMC41LCA4KX0gLSAje2hhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpfSk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0bGVmdDogY2FsYygje2NvbHVtbigwLjUsIDEyKX0gLSAje2hhbHZlKG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zaXplJykpfSk7XG5cdH1cblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc3RyaXBlLWhlaWdodCcpO1xuXHRcdHdpZHRoOiBtYXAtZ2V0KCRvLWFjY29yZGlvbiwgJ2ljb24tc3RyaXBlLXdpZHRoJyk7XG5cdFx0bGVmdDogaGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLXNpemUnKSAtIG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAnaWNvbi1zdHJpcGUtd2lkdGgnKSAtIChkb3VibGUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJykpKSk7XG5cdFx0dG9wOiBjYWxjKDUwJSAtICN7aGFsdmUobWFwLWdldCgkby1hY2NvcmRpb24sICdpY29uLWJvcmRlci1zaXplJykpfSk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcywgbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWR1cmF0aW9uJyk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UsIG1hcC1nZXQoJG8tYWNjb3JkaW9uLCAndHJhbnNpdGlvbi1lYXNpbmcnKTtcblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0Lm8tYWNjb3JkaW9uX19pdGVtLmlzLWFjdGl2ZSAmIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGVYKDApIHJvdGF0ZSgwLjI1dHVybik7XG5cdFx0fVxuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDAuMjV0dXJuKTtcblxuXHRcdC5vLWFjY29yZGlvbl9faXRlbS5pcy1hY3RpdmUgJiB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgwLjV0dXJuKTtcblx0XHR9XG5cdH1cbn1cblxuLm8tYWNjb3JkaW9uX19oZWFkZXIge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGNvbG9yOiBpbmhlcml0O1xuXHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yO1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcztcblx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0fVxufVxuXG4vKiBIaWRkZW4gYnkgZGVmYXVsdCovXG4uby1hY2NvcmRpb25fX2NvbnRlbnQge1xuXHRAaW5jbHVkZSBvd2wtY2hpbGRyZW47XG5cdG9wYWNpdHk6IDA7XG5cdG1heC1oZWlnaHQ6IDA7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctbGVmdDogc3BhY2UoNik7XG5cdHBhZGRpbmctcmlnaHQ6IHNwYWNlKDMpO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KTtcblx0Ly8gQ2xvc2UgYW5pbWF0aW9uXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCl7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cblxuXHQuby1hY2NvcmRpb25fX2l0ZW0uaXMtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0bWF4LWhlaWdodDogNDAwcHg7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDQpO1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHQvLyBPcGVuIGFuaW1hdGlvbiAod2l0aCB0aGUgc2FtZSBkZWxheSBhcyBjbG9zZSBkdXJhdGlvbilcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkby1hY2NvcmRpb24sICd0cmFuc2l0aW9uLWR1cmF0aW9uJyk7XG5cdFx0dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG5cdH1cbn0iLCIuby1ibG9jayB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi1ib3R0b20nIDFcblx0KTtcblxuXHQvLyBUb3AgbWFyZ2luIG9ubHkgb24gY29uc2VjdXRpdmUgYmxvY2tzXG5cdCYgKyAmIHtcblx0XHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHRcdFx0J21hcmdpbi10b3AnIDFcblx0XHQpO1xuXHR9XG59IiwiIC8qXG4gKiBXcmFwcGVyIG9mIHRoZSBtYWluIGJvZHlcbiAqIChiZXR3ZWVuIHRoZSBoZWFkZXIgYW5kIHRoZSBmb290ZXIpXG4gKi9cblxuXG4uby1ib2R5IHtcblx0QGluY2x1ZGUgeih6LWJvZHkpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsZXg6IDAgMCBhdXRvO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ2FsbG91dCBiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1jYWxsb3V0LWJhcjogKFxuXHQnY29sb3InOiAgXHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2JnY29sb3InOiAgXHRwYWxldHRlKG5ldXRyYWwsIDEwMCksXG4pO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1jYWxsb3V0LWJhciB7XG5cdEBpbmNsdWRlIGh5cGhlbmF0ZTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tY2FsbG91dC1iYXIsICdjb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWNhbGxvdXQtYmFyLCAnYmdjb2xvcicpO1xuICBcdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm8tY2FsbG91dC1iYXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuICAgIEBpbmNsdWRlIHZzcGFjaW5nKFxuICAgICAgICAncGFkZGluZy10b3AnIDEsXG4gICAgICAgICdwYWRkaW5nLWJvdHRvbScgMVxuICAgICk7XG5cblx0Ly8gVmVydGljYWwgc3BhY2luZyBmb3IgZWxlbWVudHMgdGhhdCBwcm9jZWVkIGFub3RoZXIgZWxlbWVudFxuXHQmID4gKiArICoge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdFx0J21hcmdpbi10b3AnIDAuNVxuXHRcdCk7XG5cdH1cbn1cblxuXG4uby1jYWxsb3V0LWJhcl9fYm9keSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4uby1jYWxsb3V0LWJhcl9faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4bCk7XG59IiwiLypcbiAqIENhcmQgZ3JpZFxuICpcbiAqL1xuXG4kby1jYXJkLWdyaWQtaXRlbXMtbTogICAyOyAvLyBOdW1iZXIgb2YgY2FyZHMgd2hlbiBpbiBtZWRpdW0gdmlld3BvcnRcbiRvLWNhcmQtZ3JpZC1pdGVtcy1sOiAgIDM7IC8vIE51bWJlciBvZiBjYXJkcyB3aGVuIGluIGxhcmdlIHZpZXdwb3J0XG4kby1jYXJkLWdyaWQtbS1icDogICAgICA2MDA7IC8vIEN1c3RvbSBicmVha3BvaW50IHdoZW4gc3dpdGNoaW5nIGZyb20gc3RhY2tlZCBjYXJkcyB0byByb3dzXG4kby1jYXJkLWdyaWQtc3BhY2luZzogICBzcGFjZSg0KTtcblxuJG8tY2FyZC1ncmlkLXNpemUtbTogICAgcGVyY2VudGFnZSgxLyRvLWNhcmQtZ3JpZC1pdGVtcy1tKTtcbiRvLWNhcmQtZ3JpZC1zaXplLWw6ICAgIHBlcmNlbnRhZ2UoMS8kby1jYXJkLWdyaWQtaXRlbXMtbCk7XG5cblxuXG4uby1jYXJkLWdyaWRfX21haW4ge1xuICBAaW5jbHVkZSBtcSgkby1jYXJkLWdyaWQtbS1icCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG59XG5cbi5vLWNhcmQtZ3JpZF9faXRlbSB7XG5cbiAgLy8gQ3JlYXRlIG5pY2UgdmVydGljYWwgc3BhY2luZyBvbiBtb2JpbGVcbiAgQGluY2x1ZGUgbXEoJG1heDogJG8tY2FyZC1ncmlkLW0tYnApe1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpbmdsZSBjb2x1bW4gKHN0YWNrZWQpXG4gIEBpbmNsdWRlIG1xKCRtYXg6ICRvLWNhcmQtZ3JpZC1tLWJwKSB7XG4gICAgbWF4LXdpZHRoOiAzNDRweDsgLy8gY29uc3RyYWluIHRoZSB3aWR0aCBvZiB0aGUgY2FyZCBpbnNpZGVcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC8vIFR3byBjb2x1bW5zXG4gIEBpbmNsdWRlIG1xKCRvLWNhcmQtZ3JpZC1tLWJwLCAkbWF4OiBsKSB7XG4gICAgZmxleDogMDtcbiAgICAvLyBXZSBjYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIGl0ZW0gYmFzZWQgb24gdGhlIHNldHRpbmdzIGFuZCBwdXQgaXQgaW4gYSBsb25naGFuZCBmbGV4IHZhbHVlIGJlY2F1c2Ugb2YgSUUgc3VwcG9ydFxuICAgIGZsZXgtYmFzaXM6IGNhbGMoI3skby1jYXJkLWdyaWQtc2l6ZS1tfSAtICgoI3skby1jYXJkLWdyaWQtaXRlbXMtbX0gLSAxKSAvICN7JG8tY2FyZC1ncmlkLWl0ZW1zLW19ICogI3skby1jYXJkLWdyaWQtc3BhY2luZ30pKTtcbiAgICBtYXJnaW4tbGVmdDogI3skby1jYXJkLWdyaWQtc3BhY2luZ307XG5cbiAgICAmOm50aC1jaGlsZCgjeyRvLWNhcmQtZ3JpZC1pdGVtcy1tfW4gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChuICsgI3skby1jYXJkLWdyaWQtaXRlbXMtbSArIDF9KSB7XG4gICAgICBtYXJnaW4tdG9wOiAjeyRvLWNhcmQtZ3JpZC1zcGFjaW5nfTtcbiAgICB9XG4gIH1cblxuICAvLyBGb3VyIGNvbHVtbnNcbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIGZsZXg6IDA7XG4gICAgLy8gV2UgY2FsY3VsYXRlIHRoZSBzaXplIG9mIHRoZSBpdGVtIGJhc2VkIG9uIHRoZSBzZXR0aW5ncyBhbmQgcHV0IGl0IGluIGEgbG9uZ2hhbmQgZmxleCB2YWx1ZSBiZWNhdXNlIG9mIElFIHN1cHBvcnRcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCN7JG8tY2FyZC1ncmlkLXNpemUtbH0gLSAoKCN7JG8tY2FyZC1ncmlkLWl0ZW1zLWx9IC0gMSkgLyAjeyRvLWNhcmQtZ3JpZC1pdGVtcy1sfSAqICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9KSk7XG4gICAgbWFyZ2luLWxlZnQ6ICN7JG8tY2FyZC1ncmlkLXNwYWNpbmd9O1xuXG4gICAgJjpudGgtY2hpbGQoI3skby1jYXJkLWdyaWQtaXRlbXMtbH1uICsgMSkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQobiArICN7JG8tY2FyZC1ncmlkLWl0ZW1zLWwgKyAxfSkge1xuICAgICAgbWFyZ2luLXRvcDogJG8tY2FyZC1ncmlkLXNwYWNpbmc7XG4gICAgfVxuICB9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBDb250YWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tY29udGFjdDogKFxuXHQnYmdjb2xvci1mb3JtJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAxMDApLFxuXHQnYnAtbGFyZ2UnOlx0XHRcdFx0MTIyMFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5vLWNvbnRhY3Qge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDApO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0d2lkdGg6IGNhbGMoKDEwMCUgLyAjeyRzaXRlLWNvbHVtbnMtbCArIDJ9KSAqICN7JHNpdGUtY29sdW1ucy1sfSk7XG5cdFx0bWF4LXdpZHRoOiAjeyRzaXRlLW1heC13aWR0aH1weDtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cbn1cblxuXG4uby1jb250YWN0X19pbmZvIHtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhtKTtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhsKTtcblx0cGFkZGluZy10b3A6IHNwYWNlKDQpO1xuXHRwYWRkaW5nLWxlZnQ6ICRzaXRlLWd1dHRlci13aWR0aDtcblx0cGFkZGluZy1yaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0cGFkZGluZy10b3A6IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctYm90dG9tOiBzcGFjZSg2KTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFjZSgxKTtcblx0fVxufVxuXG4uby1jb250YWN0X19mb3JtIHtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhtKTtcblx0QGluY2x1ZGUgZ3V0dGVyUGFkZGluZyhsKTtcblx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmc6IHNwYWNlKDQpICRzaXRlLWd1dHRlci13aWR0aDtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby1jb250YWN0LCAnYmdjb2xvci1mb3JtJyk7XG5cblx0QGluY2x1ZGUgbXEobWFwLWdldCgkby1jb250YWN0LCAnYnAtbGFyZ2UnKSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdH1cbn1cblxuLm8tY29udGFjdF9faGVhZGVyIHtcblx0QGluY2x1ZGUgaHlwaGVuYXRlO1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg0KTtcblx0Y29sb3I6IHBhbGV0dGUobmV1dHJhbCwgODAwKTtcbn1cblxuLm8tY29udGFjdF9fY2FyZCB7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDUpO1xufVxuXG4uby1jb250YWN0X19hZGRyZXNzIHtcblx0Ly9tYXJnaW4tdG9wOiBzcGFjZSgzKTtcbn1cblxuLm8tY29udGFjdF9fbnVtYmVycyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogQ29va2llYmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tY29va2llLWJhcjogKFxuXHQnYmdjb2xvcic6XHRcdHBhbGV0dGUobmV1dHJhbCwgOTAwKSxcblx0J2NvbG9yJzpcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbik7XG5cbi5vLWNvb2tpZS1iYXIge1xuXHR6LWluZGV4OiAtMTsgLy8gbm90IHNlbGVjdGFibGVcblx0ZGlzcGxheTogbm9uZTsgLy8gaGlkZSBieSBkZWZhdWx0XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRoZWlnaHQ6ICRzaXRlLWNvb2tpZUJhci1oZWlnaHQ7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWNvb2tpZS1iYXIsICdiZ2NvbG9yJyk7XG5cdG9wYWNpdHk6IDE7XG5cdGJveC1zaGFkb3c6IDAgLTRweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNnM7XG5cdHRyYW5zZm9ybTogbm9uZTtcblxuXHQvLyBXaGVuIGNvb2tpZXMgYXJlIG5vdCB5ZXQgYWNjZXB0ZWQsIHNob3cgY29va2llYmFyXG5cdCY6bm90KC5pcy1hY2NlcHRlZCkge1xuXHRcdEBpbmNsdWRlIHooei1jb29raWUpO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblxuXHQmLmlzLXRyYW5zaXRpb25pbmctb3V0IHtcblx0XHR6LWluZGV4OiAtMTsgLy8gbm90IHNlbGVjdGFibGVcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuXHR9XG59XG5cbi5vLWNvb2tpZS1iYXJfX21haW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtcSgkbWF4OiAzNzQpIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG5cdH1cbn1cblxuLm8tY29va2llLWJhcl9fdGV4dCB7XG5cdG1hcmdpbjogMDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tY29va2llLWJhciwgJ2NvbG9yJyk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogMzc1KSB7XG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKHhzKTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX19saW5rIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cdHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHJnYmEobWFwLWdldCgkby1jb29raWUtYmFyLCAnYmdjb2xvcicpLCAwLjc1KTtcblx0fVxufVxuXG4uby1jb29raWUtYmFyX19idXR0b24ge1xuXHRmbGV4OiBub25lO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoNSk7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBzcGFjZSgyKTtcblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRG91YmxlIGltYWdlIGluIDIgZXF1YWwgY29sdW1uc1xuICpcbiAqIFVudGlsIHZpZXdwb3J0IGlzIHdpZGUgZW5vdWdoIHRoZSBwaWN0dXJlcyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJG8tZG91YmxlLWltYWdlLWJwMTogMTEwMDtcblxuLm8tZG91YmxlLWltYWdlIHtcblx0bWFyZ2luOiAtMXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblxuXHQvLyBTZXQgc2lkZSBieSBzaWRlIGZyb20gbWVkaXVtIHZpZXdwb3J0cyBhbmQgdXBcblx0QGluY2x1ZGUgbXEoJG8tZG91YmxlLWltYWdlLWJwMSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4uby1kb3VibGUtaW1hZ2VfX3BpY3R1cmUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAxcHg7XG5cdG9yZGVyOiAxO1xuXHRtaW4taGVpZ2h0OiAzNjBweDsgLy8gbmVlZGVkIGZvciBJRVxuXG5cdEBpbmNsdWRlIG1xKCRvLWRvdWJsZS1pbWFnZS1icDEpIHtcblx0XHR3aWR0aDogY29sdW1uKDYsIDEyKTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLWRvdWJsZS1pbWFnZV9faW1nIHtcblx0b2JqZWN0LWZpdDogY292ZXI7IC8vIEZhbGxiYWNrIGZvciBJRSB2aWEgSlMgcG9seWZpbGwsIG1pbi1oZWlnaHQgY2FuIGJlIG5lZWRlZC4uXG5cdG1heC1oZWlnaHQ6IDg1dmg7XG59XG5cblxuLm8tZG91YmxlLWltYWdlLS1pcy1yZXZlcnNlZCB7XG5cdCYgLm8tZG91YmxlLWltYWdlX19waWN0dXJlIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0b3JkZXI6IDA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdH1cblx0fVxufSIsIi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogRG91YmxlIGxheW91dCBpbiAyIGVxdWFsIGNvbHVtbnNcbiAqXG4gKiBVbnRpbCB2aWV3cG9ydCBpcyB3aWRlIGVub3VnaCB0aGUgY29sdW1ucyBhcmUgc3RhY2tlZCB2ZXJ0aWNhbGx5XG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uby1kb3VibGUtdGV4dCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0aGVpZ2h0OiAxMDAlOyAvLyBzdHJldGNoIGl0IG91dCBpbiBpdHMgY29udGFpbmVyXG5cblx0Ly8gU2V0IHNpZGUgYnkgc2lkZSBmcm9tIG1lZGl1bSB2aWV3cG9ydHMgYW5kIHVwXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cblxuLm8tZG91YmxlLXRleHRfX2NvbHVtbiB7XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwgMTIpO1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdFx0d2lkdGg6IGNvbHVtbig1LCA4KTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobCkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHRcdH1cblx0fVxuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0Ly8gQ3JlYXRlIHZlcnRpY2FsIHNwYWNpbmcgb24gbW9iaWxlXG5cdFx0QGluY2x1ZGUgdnNwYWNpbmctcyhcblx0XHRcdCdtYXJnaW4tdG9wJyAwLjVcblx0XHQpO1xuXHRcdEBpbmNsdWRlIG1xKG0sIGwpIHtcblx0XHRcdHdpZHRoOiBjb2x1bW4oMywgOCk7XG5cdFx0fVxuXHRcdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IGNvbHVtbigxLCAxMik7XG5cdFx0fVxuXHR9XG59IiwiLm8tZG93bmxvYWRzIHtcbiAgQGluY2x1ZGUgbXEobSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi5vLWRvd25sb2Fkcy0taXMtcmV2ZXJzZWQge1xuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG59XG5cbi5vLWRvd25sb2Fkc19fbWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHBhbGV0dGUobmV1dHJhbCwgMSk7XG4gIHBhZGRpbmctdG9wOiBzcGFjZSg1KTtcbiAgcGFkZGluZy1ib3R0b206IHNwYWNlKDkpO1xuXG4gIEBpbmNsdWRlIG1xKG0pIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbXEoJG1heDogbCkge1xuICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDAuNSwgOCk7XG4gICAgcGFkZGluZy1yaWdodDogY29sdW1uKDAuNSwgOCk7XG4gIH1cbiAgQGluY2x1ZGUgbXEobCkge1xuICAgIHBhZGRpbmctbGVmdDogY29sdW1uKDEsIDEyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjb2x1bW4oMSwgMTIpO1xuICB9XG5cbiAgLmMtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uby1kb3dubG9hZHNfX3NlcnZpY2UtcG9pbnQge1xuXG4gIEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcbiAgICBtYXJnaW4tdG9wOiBzcGFjZSgxMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShtKSB7XG4gICAgbWFyZ2luLXRvcDogc3BhY2UoNSk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShtLCBsKSB7XG4gICAgd2lkdGg6IGNvbHVtbigzLCA4KVxuICB9XG4gIEBpbmNsdWRlIG1xKGwpIHtcbiAgICB3aWR0aDogY29sdW1uKDUsIDEyKTtcbiAgfVxufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogRm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tZm9vdGVyOiAoXG5cdCdiZ0NvbG9yJzogIFx0cGFsZXR0ZShwcmltYXJ5LCA3MDApLFxuXHQndGV4dENvbG9yJzogIFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2xvZ29XaWR0aCc6ICBcdDE5MnB4LFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LWZvb3Rlcik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLWZvb3RlciwgJ3RleHRDb2xvcicpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLWZvb3RlciwgJ2JnQ29sb3InKTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDc1ZGVnLCBwYWxldHRlKHByaW1hcnksIDcwMCkgNTAlLCBwYWxldHRlKHByaW1hcnksIDUwMCkgMTI1JSk7XG5cdGZsZXg6IDEgMCBhdXRvO1xufVxuXG5cbi5vLWZvb3Rlcl9fbWFpbiB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG5cdEBpbmNsdWRlIHZzcGFjaW5nKFxuXHRcdCdwYWRkaW5nLXRvcCcgMC41LFxuXHRcdCdwYWRkaW5nLWJvdHRvbScgMC41XG5cdCk7XG59XG5cblxuLm8tZm9vdGVyX19jb2x1bW5zIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuXG4uby1mb290ZXJfX2JyYW5kIHtcblx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0J21hcmdpbi1ib3R0b20nIDAuMzNcblx0KTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGxpbmVhcjtcblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cbn1cblxuXG4uby1mb290ZXJfX2xvZ28ge1xuXHR3aWR0aDogbWFwLWdldCgkby1mb290ZXIsICdsb2dvV2lkdGgnKTtcbn1cblxuXG4vLyBMZWZ0IGNvbHVtblxuLm8tZm9vdGVyX19pbmZvIHtcblx0QGluY2x1ZGUgb3dsLWNoaWxkcmVuKHNwYWNlKDQpKTtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig0LCAxMCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwgMTIpO1xuXHR9XG59XG5cblxuLy8gUmlnaHQgY29sdW1uXG4uby1mb290ZXJfX25hdiB7XG5cdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0J21hcmdpbi10b3AnIDAuNVxuXHQpO1xuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IGNvbHVtbigxLCAxMCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdG1hcmdpbi1sZWZ0OiBjb2x1bW4oMSwgMTIpO1xuXHR9XG59XG5cbi5vLWZvb3Rlcl9fbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbjogMDtcbn1cblxuXG4uby1mb290ZXJfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tZm9vdGVyLCAndGV4dENvbG9yJyk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhzKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiAtMTtcblx0XHR0b3A6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IHNwYWNlKC0xKTtcblx0XHRyaWdodDogc3BhY2UoLTEpO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoaW52ZXJ0KG1hcC1nZXQoJG8tZm9vdGVyLCAndGV4dENvbG9yJykpLCAwLjA4KTtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdH1cblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmUtY29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0XHRvdXRsaW5lLW9mZnNldDogMXB4O1xuXHRcdG91dGxpbmUtd2lkdGg6IDJweDtcblx0fVxufVxuXG5cbi5vLWZvb3Rlcl9fc29jaWFsIHtcblx0ZGlzcGxheTogZmxleDtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0bWFyZ2luOiBzcGFjZSg0KSAwIDA7XG59XG5cblxuLm8tZm9vdGVyX19jaGFubmVsIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHdpZHRoOiAyNHB4O1xuXHRoZWlnaHQ6IDI0cHg7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMik7XG59XG5cblxuLm8tZm9vdGVyX19pY29uIHtcblx0ZmxleDogYXV0bztcblx0ZGlzcGxheTogYmxvY2s7XG5cdGhlaWdodDogMTAwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuXG5cdC5mYWNlYm9vayAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC9mYWNlYm9vay5zdmdcIik7XG5cdFx0aGVpZ2h0OiAyMXB4O1xuXHR9XG5cdC5pbnN0YWdyYW0gJiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2ltZy9zb2NpYWwvaW5zdGFncmFtLnN2Z1wiKTtcblx0fVxuXHQudHdpdHRlciAmIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1nL3NvY2lhbC90d2l0dGVyLnN2Z1wiKTtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdH1cblx0LmxpbmtlZGluICYge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9pbWcvc29jaWFsL2xpbmtlZGluLnN2Z1wiKTtcblx0XHRoZWlnaHQ6IDE4cHg7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRvcGFjaXR5OiAwLjU7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xuXHR9XG59IiwiLm8tZm9ybSB7fVxuXG4uby1mb3JtX19oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSg1KTtcbn1cblxuLm8tZm9ybV9fYm9keSB7fVxuXG4uby1mb3JtX19mb290ZXIge1xuXHRtYXJnaW4tdG9wOiBzcGFjZSg1KTtcbn1cblxuLm8tZm9ybV9fcm93IHtcblx0JiArICYge1xuXHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdH1cbn1cblxuLy8gQSBoaWRkZW4gd3JhcHBlciBmb3IgaG9uZXkgcG90IHN0dWZmXG4uby1mb3JtX19wb3Qge1xuXHRvcGFjaXR5OiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0aGVpZ2h0OiAwO1xuXHR3aWR0aDogMDtcblx0ei1pbmRleDogLTE7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBIZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKlxuXHRDb2xvcnMgZ2V0IGRlZmluZWQgaW4gX3NldHRpbmdzLmNvbmZpZy5zY3NzXG4qL1xuXG4uby1oZWFkZXIge1xuXHRAaW5jbHVkZSB6KHotaGVhZGVyKTtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1oZWFkZXIsICdiZ0NvbG9yJyk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0cGFkZGluZzogc3BhY2UoMikgMDtcblxuXHQmLmlzLXN0aWNreSB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0ei1pbmRleDogNTA7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0Ym94LXNoYWRvdzogMCAtNXB4IDMwcHggYmxhY2s7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG5cdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwbXM7XG5cdFx0dHJhbnNpdGlvbi1kZWxheTogMHMsIDMwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpO1xuXG5cdFx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHQuaXMtc3RpY2t5LWhlYWRlci12aXNpYmxlICYge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRcdHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuXHRcdH1cblx0fVxufVxuXG4uby1oZWFkZXJfX21haW4ge1xuXHRAaW5jbHVkZSBjb250YWluO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8taGVhZGVyX19uYXYge1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luLWxlZnQ6IHNwYWNlKDYpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6ICRicC1oZWFkZXItbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5vLWhlYWRlcl9fbGFuZ3VhZ2Uge1xuXHRmbGV4OiBub25lO1xuXHRtYXJnaW4tbGVmdDogc3BhY2UoMik7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG59XG5cbi5vLWhlYWRlcl9fbG9nbyB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGZsZXg6IG5vbmU7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZS1jb2xvcjogY3VycmVudENvbG9yO1xuXHRcdG91dGxpbmUtc3R5bGU6IHNvbGlkO1xuXHRcdG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cdFx0b3V0bGluZS13aWR0aDogMnB4O1xuXHR9XG59XG5cbi5vLWhlYWRlcl9faW1nIHtcblx0aGVpZ2h0OiBtYXAtZ2V0KCRzaXRlLWhlYWRlciwgJ2xvZ28taGVpZ2h0Jyk7XG59XG5cbi5vLWhlYWRlcl9fdG9nZ2xlIHtcblx0QGluY2x1ZGUgbXEoJGJwLWhlYWRlci1sYXJnZSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IEludHJvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uby1pbnRybyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ2JnQ29sb3InKTtcblxuXHQvLyBXaGVuIGludHJvIGlzIGRhcmtlciB0aGVuIGJvZHkgd2UgbmVlZCB0byBhZGQgZXh0cmEgbWFyZ2luXG5cdEBpZiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnaXNEYXJrJyl7XG5cdFx0QGluY2x1ZGUgdnNwYWNpbmcoXG5cdFx0XHQnbWFyZ2luLWJvdHRvbScgMVxuXHRcdCk7XG5cdH1cbn1cblxuXG4uby1pbnRyb19fYm9keSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQnbWFyZ2luLWJvdHRvbScgMVxuXHQpO1xuXG5cdEBpbmNsdWRlIG1xKCRtYXg6IG0pIHtcblx0XHQuby1pbnRyby0tbW9iaWxlLWJyZWFrLW91dCAmIHtcblx0XHRcdHdpZHRoOiAxMDB2dztcblx0XHRcdG1hcmdpbi1sZWZ0OiA1MCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHotaW5kZXg6IDA7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNpdGUtaW50cm8sICdiYXJDb2xvcicpO1xuXHRcdH1cblx0fVxufVxuXG5cbi5vLWludHJvX19jb250ZW50IHtcblx0YmFja2dyb3VuZC1jb2xvcjogcGFsZXR0ZShuZXV0cmFsLCAwKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjYWxjKCgxMDAlIC8gI3skc2l0ZS1jb2x1bW5zLWwgKyAyfSkgKiAjeyRzaXRlLWNvbHVtbnMtbH0pO1xuXHRcdG1heC13aWR0aDogI3skc2l0ZS1tYXgtd2lkdGh9cHg7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHR9XG59XG5cblxuLm8taW50cm9fX25hdixcbi5vLWludHJvX19pbWFnZSB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRvcmRlcjogLTE7XG5cdFx0d2lkdGg6IGNvbHVtbig1LDEyKTtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdH1cbn1cblxuXG4uby1pbnRyb19fbmF2IHtcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ3N1Ym5hdkJnQ29sb3InKTtcblx0cGFkZGluZzogc3BhY2UoNCkgJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRwYWRkaW5nOiBzcGFjZSgxMCkgY29sdW1uKDAuNSwxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiBwZXJjZW50YWdlKDEgLyAoOCArIDIpKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRwYWRkaW5nLWxlZnQ6IHBlcmNlbnRhZ2UoMSAvICgxMCArIDIpKTtcblx0XHRwYWRkaW5nLXJpZ2h0OiBwZXJjZW50YWdlKDEgLyAoMTAgKyAyKSk7XG5cdH1cbn1cblxuXG4uby1pbnRyb19fdGV4dCB7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSg0KTtcblx0cGFkZGluZy1sZWZ0OiAkc2l0ZS1ndXR0ZXItd2lkdGg7XG5cdHBhZGRpbmctcmlnaHQ6ICRzaXRlLWd1dHRlci13aWR0aDtcblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig3LDEyKTtcblx0XHRwYWRkaW5nOiBzcGFjZSgxMCkgY29sdW1uKDEsMTIpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNiwxMik7XG5cdH1cbn1cblxuXG4uby1pbnRyb19fdGl0bGUsXG4uby1pbnRyb19faGVhZGluZyB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRzaXRlLWludHJvLCAnY29sb3InKSAhaW1wb3J0YW50O1xufVxuXG5cbi5vLWludHJvX19idXR0b24ge1xuXHRjb2xvcjogbWFwLWdldCgkc2l0ZS1pbnRybywgJ2xpbmtDb2xvcicpICFpbXBvcnRhbnQ7XG59IiwiJG8tbG9nb3Mtc3BhY2luZy1keW5hbWljOiAyLjM4MnZ3O1xuJG8tbG9nb3Mtc3BhY2luZy1maXhlZDogXHRzcGFjZSg0KTtcblxuLm8tbG9nb3Mge31cblxuLm8tbG9nb3NfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdG1hcmdpbi1sZWZ0OiAwOyAvLyByZXNldFxuXHRtYXJnaW46IC0jeyRvLWxvZ29zLXNwYWNpbmctZHluYW1pY307XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KXtcblx0XHRtYXJnaW46IC0jeyRvLWxvZ29zLXNwYWNpbmctZml4ZWR9O1xuXHR9XG59XG5cbi5vLWxvZ29zX19pdGVtIHtcblx0ZmxleDogMCAxIDEwMCU7XG5cdG1hcmdpbjogJG8tbG9nb3Mtc3BhY2luZy1keW5hbWljO1xuXG5cdEBpbmNsdWRlIG1xKHMpe1xuXHRcdGZsZXgtYmFzaXM6IGNhbGMoI3twZXJjZW50YWdlKDEvMil9IC0gI3tkb3VibGUoJG8tbG9nb3Mtc3BhY2luZy1keW5hbWljKX0pO1xuXHR9XG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGZsZXgtYmFzaXM6IGNhbGMoI3twZXJjZW50YWdlKDEvMyl9IC0gI3tkb3VibGUoJG8tbG9nb3Mtc3BhY2luZy1keW5hbWljKX0pO1xuXHR9XG5cdEBpbmNsdWRlIG1xKGwpe1xuXHRcdGZsZXgtYmFzaXM6IGNhbGMoI3twZXJjZW50YWdlKDEvNCl9IC0gI3tkb3VibGUoJG8tbG9nb3Mtc3BhY2luZy1keW5hbWljKX0pO1xuXHR9XG5cdEBpbmNsdWRlIG1xKCRicC1tYXgpe1xuXHRcdGZsZXgtYmFzaXM6IGNhbGMoI3twZXJjZW50YWdlKDEvNCl9IC0gI3tkb3VibGUoJG8tbG9nb3Mtc3BhY2luZy1maXhlZCl9KTtcblx0XHRtYXJnaW46ICRvLWxvZ29zLXNwYWNpbmctZml4ZWQ7XG5cdH1cbn1cblxuLm8tbG9nb3NfX2xpbmsge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLm8tbG9nb3NfX2ltZyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAwO1xuXHRwYWRkaW5nLWJvdHRvbTogMTAwJTsgLy8gQXNwZWN0IHJhdGlvXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufSIsIi5vLW1hcCB7XG5cblx0Ly8gUmVzZXQgc29tZSBzdHlsaW5nIGZvciBnb29nbGUgbWFwc1xuXHRhIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBOZXdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8kby1uZXdzOiAoXG4vL1x0J2hvdmVyLWJnY29sb3InOiAgXHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwKSxcbi8vXHQndGV4dC1jb2xvcic6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcbi8vKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tbmV3cyB7XG5cdEBpbmNsdWRlIGNvbnRhaW47XG59XG5cblxuLm8tbmV3c19fYXJ0aWNsZSB7XG5cdEBpbmNsdWRlIG93bChzcGFjZSg0KSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm8tbmV3c19fbGluayB7XG5cdEBpbmNsdWRlIGRpc2FibGVPdXRsaW5lRm9yTW91c2U7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgcGFsZXR0ZShib3JkZXIsIDMwMCk7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDE1MG1zIGxpbmVhcjtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHJnYmEocGFsZXR0ZShwcmltYXJ5LCA3MDApLCAwLjA1KSwgcmdiYShwYWxldHRlKHByaW1hcnksIDUwMCksIDAuMDIpKTtcblxuXHRcdCY6OmJlZm9yZSB7XG5cdFx0XHQvL29wYWNpdHk6IDA7XG5cdFx0XHRib3JkZXItY29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNzAwKTtcblx0XHR9XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdH1cbn1cblxuLm8tbmV3c19fYm9keSB7XG5cdGZsZXgtZ3JvdzogMTtcblx0cGFkZGluZzogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRvcmRlcjogMTtcblx0XHRwYWRkaW5nLXRvcDogc3BhY2UoNik7XG5cdFx0cGFkZGluZy1ib3R0b206IHNwYWNlKDYpO1xuXHRcdHBhZGRpbmctbGVmdDogY29sdW1uKDEsOCk7XG5cdFx0cGFkZGluZy1yaWdodDogY29sdW1uKDEsOCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0cGFkZGluZy1sZWZ0OiBjb2x1bW4oMSwxMik7XG5cdH1cbn1cblxuLm8tbmV3c19faW1hZ2Uge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRwYWRkaW5nLWJvdHRvbTogNTUlO1xuXG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRmbGV4OiBub25lO1xuXHRcdG9yZGVyOiAyO1xuXHRcdHdpZHRoOiBjb2x1bW4oMiw4KTtcblx0XHRwYWRkaW5nLWJvdHRvbTogY29sdW1uKDIsOCk7XG5cdH1cbn1cblxuLm8tbmV3c19fYmctaW1hZ2Uge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHRvcDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRyaWdodDogJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tkb3VibGUoJHNpdGUtZ3V0dGVyLXdpZHRoKX0pO1xuXHRoZWlnaHQ6IGNhbGMoMTAwJSAtICN7JHNpdGUtZ3V0dGVyLXdpZHRofSk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHRvcDogc3BhY2UoMSk7XG5cdFx0cmlnaHQ6IHNwYWNlKDEpO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdFx0aGVpZ2h0OiBjYWxjKDEwMCUgLSAje3NwYWNlKDIpfSk7XG5cdH1cbn1cblxuXG4vLyBCb2R5IGNvbnRlbnQ6XG5cbi5vLW5ld3NfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250LXNpemUoeGwpO1xuXHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXHR0cmFuc2l0aW9uOiAxNTBtcyBhbGwgbGluZWFyO1xuXG5cdC5vLW5ld3NfX2xpbms6aG92ZXIgJiB7XG5cdFx0Y29sb3I6IHBhbGV0dGUocHJpbWFyeSwgNzAwKTtcblx0fVxufVxuXG4uby1uZXdzX19pbnRybyB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDMpO1xufVxuXG4uby1uZXdzX190aW1lc3RhbXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXRvcDogc3BhY2UoMik7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDQwMCk7XG59XG5cbi5vLW5ld3NfX2FjdGlvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luLXRvcDogc3BhY2UoMSk7XG5cdGNvbG9yOiBwYWxldHRlKGZlZWRiYWNrLCBhY3Rpb24pO1xufVxuXG4uby1uZXdzX19yZWFkbW9yZSB7XG5cdG1hcmdpbi1yaWdodDogc3BhY2UoMSk7XG59XG5cbi5vLW5ld3NfX2Zvb3RlciB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDQpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBPdmVybGF5IG1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kby1vdmVybGF5LW1lbnU6IChcblx0J2JnY29sb3InOiAgICAgICAgICBwYWxldHRlKHByaW1hcnksIDcwMCksXG5cdCdjb2xvcic6ICAgICAgICAgICAgcGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2hvdmVyLWNvbG9yJzogICAgICByZ2JhKHBhbGV0dGUobmV1dHJhbCwgMCksIDAuNyksXG5cdCdzaGFkZXItY29sb3InOiAgICAgcmdiYSgwLCAwLCAwLCAwLjYpLFxuXHQnbW92ZS1zcGVlZCc6ICAgICAgIDQwMG1zLFxuXHQnb3BhY2l0eS1zcGVlZCc6ICAgIDIwMG1zLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tb3ZlcmxheS1tZW51IHtcblx0QGluY2x1ZGUgeih6LW92ZXJsYXktbWVudSk7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdG9wYWNpdHk6IDA7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0aGVpZ2h0OiAxMDAlO1xuXHR3aWR0aDogMTAwJTtcblx0bGVmdDogMDtcblx0dG9wOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2JnY29sb3InKTtcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDc1ZGVnLCBwYWxldHRlKHByaW1hcnksIDcwMCkgNTAlLCBwYWxldHRlKHByaW1hcnksIDUwMCkgMTI1JSk7XG5cblx0Ly8gV2hlbiBpdCBkaXNhcHBlYXJzIG91dCBvZiB2aWV3XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTIwdncpO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnbW92ZS1zcGVlZCcpLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ29wYWNpdHktc3BlZWQnKTtcblx0dHJhbnNpdGlvbi1kZWxheTogMHMsIG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnbW92ZS1zcGVlZCcpO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNSwgMC4xNSwgMC4xLCAxKSwgbGluZWFyO1xuXG5cdC8vIFdoZW4gaXQgY29tZXMgaW50byB2aWV3XG5cdC5pcy1vdmVybGF5LW1lbnUtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnb3BhY2l0eS1zcGVlZCcpLCAwcztcblx0fVxuXG5cdC8vIFNoYWRlclxuXHQmOjpiZWZvcmUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IC0xMjB2dztcblx0XHR3aWR0aDogMTIwdnc7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQ6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnc2hhZGVyLWNvbG9yJyk7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnb3BhY2l0eS1zcGVlZCcpO1xuXHRcdHRyYW5zaXRpb24tZGVsYXk6IG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnbW92ZS1zcGVlZCcpO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG5cblx0XHQuaXMtb3ZlcmxheS1tZW51LWFjdGl2ZSAmIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAwcztcblx0XHR9XG5cdH1cblxuXHQvLyBEaWFnb25hbCBzaGFwZSBvbiB0aGUgcmlnaHRcblx0Jjo6YWZ0ZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6IC0yMCU7XG5cdFx0d2lkdGg6IDIwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC04NmRlZywgdHJhbnNwYXJlbnQgNTAlLCBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2JnY29sb3InKSA1MCUpO1xuXHR9XG5cblx0Ly8gSGlkZSBvdmVybGF5IG1lbnUgb24gbGFyZ2VyIHZpZXdwb3J0c1xuXHRAaW5jbHVkZSBtcSgkYnAtaGVhZGVyLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5cbi5vLW92ZXJsYXktbWVudV9fYmFyIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogc3BhY2UoNCk7XG5cdHBhZGRpbmctYm90dG9tOiBzcGFjZSg0KTtcbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2ltZyB7XG5cdGhlaWdodDogc3BhY2UoNik7XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X190b2dnbGUge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtMC41dHVybik7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSA2MDBtcyBlYXNlLW91dDtcblx0dHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG5cblx0LmlzLW92ZXJsYXktbWVudS1hY3RpdmUgJiB7XG5cdFx0dHJhbnNmb3JtOiBub25lO1xuXHR9XG59XG5cblxuLm8tb3ZlcmxheS1tZW51X19saXN0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRtYXJnaW4tbGVmdDogMDtcblx0bGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2l0ZW0ge1xuXHRwYWRkaW5nOiBzcGFjZSgxKSBjb2x1bW4oMSwxNCk7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKG1hcC1nZXQoJG8tb3ZlcmxheS1tZW51LCAnY29sb3InKSwgMC4zKTtcbn1cblxuXG4uby1vdmVybGF5LW1lbnVfX2xpbmsge1xuXHRAaW5jbHVkZSBmb250LXNpemUobCk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRjb2xvcjogbWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgbGluZWFyO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLW92ZXJsYXktbWVudSwgJ2hvdmVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLW9mZnNldDogMnB4O1xuXHRcdG91dGxpbmUtY29sb3I6IHJnYmEobWFwLWdldCgkby1vdmVybGF5LW1lbnUsICdjb2xvcicpLCAwLjMpO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHQgICAgY29udGVudDogJ1xcMjc5NCc7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgIHRvcDogNnB4O1xuXHRcdCAgICBsZWZ0OiAtMS4yNWVtO1xuXHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdH1cblx0fVxufSIsIi5vLXF1b3RlIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uby1xdW90ZSB7XG5cdEBpbmNsdWRlIG1xKG0pIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5vLXF1b3RlX19ib2R5IHtcblx0bWF4LXdpZHRoOiA3NjBweDtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi5vLXF1b3RlX190ZXh0IHtcblx0QGluY2x1ZGUgZm9udChtKTtcblx0cXVvdGVzOiAnXFwyMDFjJyAnXFwyMDFkJztcblxuXHQmOjpiZWZvcmUgeyBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG5cdCY6OmFmdGVyICB7IGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG59XG5cbi5vLXF1b3RlX19hdXRob3Ige1xuXHRtYXJnaW4tdG9wOiBzcGFjZSgzKTtcbn1cblxuLm8tcXVvdGVfX2hlYWRpbmcge1xuXHRAaW5jbHVkZSBmb250KGJhc2UpO1xuXHRjb2xvcjogcGFsZXR0ZShwcmltYXJ5LCA3MDApO1xufVxuXG4uby1xdW90ZV9fc3ViaGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQocyk7XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnksIDUwMCk7XG59IiwiLy8gQ29tcG9uZW50IHNldHRpbmdzOiBSZWZlcmVuY2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG8tcmVmZXJlbmNlczogKFxuXHQnZ2FwJzpcdFx0XHRcdHNwYWNlKDQpLFxuXHQncGFkZGluZyc6XHRcdFx0c3BhY2UoNiksXG5cdCdib3JkZXItc2l6ZSc6XHRcdDFweCxcblx0J2JvcmRlci1jb2xvcicgOlx0cmdiYShwYWxldHRlKHByaW1hcnksIDcwMCksIDAuNSksXG5cdCdiZ2NvbG9yJyA6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCAwKSxcblx0J2NvbG9yJyA6XHRcdFx0cGFsZXR0ZShuZXV0cmFsLCA1MDApLFxuXHQnaGVhZGluZycgOlx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMTAwMCksXG5cdCdzdWJIZWFkaW5nJyA6XHRcdHBhbGV0dGUocHJpbWFyeSwgNzAwKSxcbik7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uby1yZWZlcmVuY2VzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW46IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2dhcCcpICogLTE7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2l0ZW0ge1xuXHRAaW5jbHVkZSBib3JkZXItcmFkaXVzKHMpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsZXg6IDAgMSAxMDAlO1xuXHRtYXJnaW46IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2dhcCcpO1xuXHRwYWRkaW5nLXRvcDogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRwYWRkaW5nLWJvdHRvbTogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAncGFkZGluZycpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdiZ2NvbG9yJyk7XG5cdGJvcmRlcjogbWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLXNpemUnKSBzb2xpZCBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdib3JkZXItY29sb3InKTtcblx0Ym94LXNoYWRvdzpcblx0XHQwIDIuNHB4IDM5LjRweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDI0KSxcblx0XHQwIDYuOHB4IDQ1LjVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuMDM1KSxcblx0XHQwIDE2LjNweCA1MS40cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA0NiksXG5cdFx0MCA1NHB4IDgwcHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjA3KTtcblxuXG5cdEBpbmNsdWRlIG1xKDgwMCl7XG5cdFx0ZmxleC1iYXNpczogY2FsYyg1MCUgLSAje2RvdWJsZShtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdnYXAnKSl9IC0gI3tkb3VibGUobWFwLWdldCgkby1yZWZlcmVuY2VzLCAnYm9yZGVyLXNpemUnKSl9KTtcblx0fVxuXG5cdCY6OmJlZm9yZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgY29udGVudDogJyc7XG5cdCAgICB0b3A6IDA7XG5cdCAgICByaWdodDogMDtcblx0ICAgIGxlZnQ6IDA7XG5cdFx0aGVpZ2h0OiA2cHg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcGFsZXR0ZShwcmltYXJ5LCA3MDApLCBwYWxldHRlKHByaW1hcnksIDUwMCkpO1xuXHR9XG59XG5cbi5vLXJlZmVyZW5jZXNfX2JvZHkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fcGljdHVyZSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbGV4LWdyb3c6IDE7XG5cdGZsZXgtYmFzaXM6IDI1JTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG5cdG1hcmdpbi1sZWZ0OiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdwYWRkaW5nJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX2NvbnRlbnQge1xuXHRmbGV4LWdyb3c6IDk5OTk7XG5cdGZsZXgtYmFzaXM6IDE4ZW07XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGhlaWdodDogMTAwJTtcblx0bWFyZ2luLWxlZnQ6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ3BhZGRpbmcnKTtcblx0Y29sb3I6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2NvbG9yJyk7XG59XG5cbi5vLXJlZmVyZW5jZXNfX3RleHQge1xuXHRAaW5jbHVkZSBmb250LXNpemUoYmFzZSk7XG5cdHF1b3RlczogJ1xcMjAxYycgJ1xcMjAxZCc7XG5cdG1hcmdpbi1ib3R0b206IHNwYWNlKDMpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Jjo6YmVmb3JlLCAmOjphZnRlciB7XG5cdFx0Y29sb3I6IHJnYmEocGFsZXR0ZShwcmltYXJ5LCA3MDApLCAwLjUpO1xuXHRcdGZvbnQtZmFtaWx5OiBTYW5zLXNlcmlmO1xuXHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cblxuXHQmOjpiZWZvcmUgeyBjb250ZW50OiBvcGVuLXF1b3RlOyB0b3A6IDRweDsgbGVmdDogLTMycHg7fVxuXHQmOjphZnRlciAgeyBjb250ZW50OiBjbG9zZS1xdW90ZTsgYm90dG9tOiAtMjBweDsgcmlnaHQ6IC0yMHB4O31cbn1cblxuLm8tcmVmZXJlbmNlc19fYXV0aG9yIHtcblx0bWFyZ2luLXRvcDogYXV0bztcbn1cblxuLm8tcmVmZXJlbmNlc19faGVhZGluZyB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZShsKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Y29sb3I6IG1hcC1nZXQoJG8tcmVmZXJlbmNlcywgJ2hlYWRpbmcnKTtcbn1cblxuLm8tcmVmZXJlbmNlc19fc3ViaGVhZGluZyB7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXJlZmVyZW5jZXMsICdzdWJIZWFkaW5nJyk7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufSIsIi8vIENvbXBvbmVudCBzZXR0aW5nczogU3ViIEZvb3RlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXN1YmZvb3RlcjogKFxuXHQnYmdjb2xvcic6ICBcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDgwMCksXG5cdCdjb2xvcic6ICBcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdjb2xvci1ob3Zlcic6ICBcdFx0cmdiYShwYWxldHRlKHByaW1hcnksIDUwMCksIDEpLFxuXHQnc3BhY2luZy1ob3Jpem9udGFsJzpcdHNwYWNlKDQpLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tc3ViZm9vdGVyIHtcblx0QGluY2x1ZGUgeih6LXN1YmZvb3Rlcik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnYmdjb2xvcicpO1xuXHRwYWRkaW5nLWJvdHRvbTogJHNpdGUtY29va2llQmFyLWhlaWdodDtcblx0dHJhbnNpdGlvbjogcGFkZGluZyAwLjZzO1xuXG5cdC5pcy1jb29raWVzLWFjY2VwdGVkICYge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cblxuLm8tc3ViZm9vdGVyX19tYWluIHtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0QGluY2x1ZGUgZm9udChzKTtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBzcGFjZSgxKTtcblx0cGFkZGluZy1ib3R0b206IHNwYWNlKDEpO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9fY29weXJpZ2h0IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuICBcdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuICBcdG1hcmdpbi1ib3R0b206IHNwYWNlKDEpO1xuXHRtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJG8tc3ViZm9vdGVyLCAnc3BhY2luZy1ob3Jpem9udGFsJyk7XG59XG5cblxuLm8tc3ViZm9vdGVyX19uYXYge1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn1cblxuXG4uby1zdWJmb290ZXJfX2xpc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luOiAwO1xufVxuXG5cbi5vLXN1YmZvb3Rlcl9faXRlbSB7XG5cdG1hcmdpbi1yaWdodDogbWFwLWdldCgkby1zdWJmb290ZXIsICdzcGFjaW5nLWhvcml6b250YWwnKTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4uby1zdWJmb290ZXJfX2xpbmsge1xuXHRAaW5jbHVkZSBkaXNhYmxlT3V0bGluZUZvck1vdXNlO1xuXHRjb2xvcjogbWFwLWdldCgkby1zdWJmb290ZXIsICdjb2xvcicpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXN1YmZvb3RlciwgJ2NvbG9yLWhvdmVyJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lLWNvbG9yOiBjdXJyZW50Q29sb3I7XG5cdFx0b3V0bGluZS1zdHlsZTogc29saWQ7XG5cdFx0b3V0bGluZS1vZmZzZXQ6IDFweDtcblx0XHRvdXRsaW5lLXdpZHRoOiAycHg7XG5cdH1cbn1cblxuXG4uby1zdWJmb290ZXJfX3RyYWRlbWFyayB7XG5cdG1hcmdpbi10b3A6IHNwYWNlKDEpO1xuXHRtYXJnaW4tYm90dG9tOiBzcGFjZSgxKTtcbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFRhYnNsaWRlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXRhYnNsaWRlcjogKFxuXHQnYmdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgMCksXG5cdCdjb2xvcic6XHRcdFx0XHRcdHBhbGV0dGUobmV1dHJhbCwgODAwKSxcblx0J2FjdGl2ZS1jb2xvcic6XHRcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuXHQnYWN0aXZlLWJnY29sb3InOlx0XHRcdHBhbGV0dGUodGVydGlhcnksIDcwMCksXG5cdCdib3JkZXItY29sb3InOiBcdFx0XHRwYWxldHRlKGJvcmRlciwgMzAwKSxcblx0J2FjdGl2ZS1ib3JkZXItY29sb3InOiBcdFx0cGFsZXR0ZSh0ZXJ0aWFyeSwgNTAwKSxcblx0J3RhYi1nYXAnOiAgXHRcdFx0XHRzcGFjZSgxKSxcbik7XG5cbi8qXG4gKiBPbiBzbWFsbCBzY3JlZW5zIHRoZSBjb250ZW50IGlzIHN0YWNrZWQsIHdpdGhvdXQgY29udHJvbHNcbiAqIFdoZW4gdGhlIHNjcmVlbiBpcyB3aWRlIGVub3VnaCB3ZSBhZGQgdGhlIGNvbnRyb2xzXG4gKiBhbmQgc2hvdyBvbmx5IHRoZSBjaG9zZW4gJ3NsaWRlIGNvbnRlbnQnXG4gKi9cblxuXG4uby10YWJzbGlkZXIge1xuXHRAaW5jbHVkZSBjb250YWluO1xufVxuXG5cbi8vIFNoYXJlZCBzdHlsaW5nIGZvciB0YWItIGFuZCBzdGVwLWJ1dHRvbnNcbi5vLXRhYnNsaWRlcl9fYnV0dG9uIHtcblx0QGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhtKTtcblx0bWluLWhlaWdodDogc3BhY2UoNik7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2NvbG9yJyk7XG5cdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYmdjb2xvcicpO1xuXHRib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2JvcmRlci1jb2xvcicpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBib3JkZXI7XG5cdHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1iZ2NvbG9yJyk7XG5cdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRvLXRhYnNsaWRlciwgJ2FjdGl2ZS1iZ2NvbG9yJyk7XG5cdH1cblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0Y29sb3I6IG1hcC1nZXQoJG8tdGFic2xpZGVyLCAnYWN0aXZlLWNvbG9yJyk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYmdjb2xvcicpO1xuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkby10YWJzbGlkZXIsICdhY3RpdmUtYm9yZGVyLWNvbG9yJyk7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlci1jb2xvcjogcGFsZXR0ZSh0ZXJ0aWFyeSwgNTAwKTtcblxuXHRcdCY6bm90KC5pcy1hY3RpdmUpOm5vdCg6YWN0aXZlKSB7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggbWFwLWdldCgkby10YWJzbGlkZXIsICdiZ2NvbG9yJyksIDAgMCA1cHggM3B4IHJnYmEobWFwLWdldCgkby10YWJzbGlkZXIsICdjb2xvcicpLCAwLjEpO1xuXHRcdH1cblx0fVxufVxuXG4uby10YWJzbGlkZXJfX2NvbnRyb2xzIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGwpIHtcblx0XHRtYXJnaW4tbGVmdDogY29sdW1uKDEsMTIpO1xuXHRcdG1hcmdpbi1yaWdodDogY29sdW1uKDEsMTIpO1xuXHR9XG59XG5cbi5vLXRhYnNsaWRlcl9fc3RlcCB7XG5cdHdpZHRoOiBzcGFjZSg2KTtcbn1cblxuLm8tdGFic2xpZGVyX19zdGVwLS1wcmV2IHtcblx0dHJhbnNmb3JtOiByb3RhdGUoMC41dHVybik7XG59XG5cbi5vLXRhYnNsaWRlcl9fdGFicyB7XG5cdEBpbmNsdWRlIG1xKG0pe1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cblxuXHRAaW5jbHVkZSBtcSgkYnAtbWF4KSB7XG5cdFx0bWFyZ2luOiAobWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJykgKiAtMSkgbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdH1cbn1cblxuXG4uby10YWJzbGlkZXJfX3RhYiB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdG1hcmdpbjogbWFwLWdldCgkby10YWJzbGlkZXIsICd0YWItZ2FwJyk7XG5cdHBhZGRpbmc6IChzcGFjZSgxKSAtIDFweCkgc3BhY2UoMik7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5vLXRhYnNsaWRlcl9fY29udGFpbmVyIHtcblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19jb250ZW50IHtcblx0JiArICYge1xuXHRcdEBpbmNsdWRlIHZzcGFjaW5nLXMoXG5cdFx0XHQnbWFyZ2luLXRvcCcgMVxuXHRcdCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtcShtKSB7XG5cdFx0Z3JpZC1yb3c6IDE7XG5cdFx0Z3JpZC1jb2x1bW46IDE7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR6LWluZGV4OiAwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXHRcdHRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXG5cdFx0Ji5pcy1hY3RpdmUge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHRcdFx0dHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblx0XHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcblx0XHR9XG5cdH1cbn1cblxuLm8tdGFic2xpZGVyX19sYWJlbCB7XG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSh4cyk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nLWJvdHRvbTogc3BhY2UoMSk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDgwMCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cbiIsIi5vLXRlYW0ge1xuICBAaW5jbHVkZSBjb250YWluO1xuICBAaW5jbHVkZSB2c3BhY2luZyhcbiAgICAgICdtYXJnaW4tdG9wJyAxLFxuICAgICAgJ21hcmdpbi1ib3R0b20nIDFcbiAgKTtcbn1cblxuLm8tdGVhbV9fbWF0cml4IHtcbiAgQGluY2x1ZGUgbXEoNjAwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiBzcGFjZSgyKSAqIC0xO1xuICB9XG59XG5cbi5vLXRlYW1fX2l0ZW0ge1xuICBtYXJnaW46IDAgYXV0byBzcGFjZSg0KTtcbiAgbWF4LXdpZHRoOiAzMjBweDtcblxuICBAaW5jbHVkZSBtcSg2MDApIHtcbiAgICBtYXJnaW46IHNwYWNlKDIpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBmbGV4OiBub25lO1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gI3tzcGFjZSg0KX0pOyAvLyBMb25naGFuZCBuZWVkZWQgZm9yIElFXG4gIH1cblxuICBAaW5jbHVkZSBtcSgxMDAwKSB7XG4gICAgZmxleC1iYXNpczogY2FsYygzMy4zMyUgLSAje3NwYWNlKDQpfSk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShsKSB7XG4gICAgZmxleC1iYXNpczogY2FsYygyNSUgLSAje3NwYWNlKDQpfSk7XG4gIH1cbn0iLCIvLyBDb21wb25lbnQgc2V0dGluZ3M6IFVTUFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRvLXVzcDogKFxuXHQnYmFja2dyb3VuZC1jb2xvcic6ICBcdHBhbGV0dGUocHJpbWFyeSksXG5cdCd0ZXh0LWNvbG9yJzpcdFx0XHRwYWxldHRlKG5ldXRyYWwsIDApLFxuKTtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLm8tdXNwIHtcblx0QGluY2x1ZGUgbXEoJG1heDogbCkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG8tdXNwLCAnYmFja2dyb3VuZC1jb2xvcicpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHBhbGV0dGUocHJpbWFyeSwgNzAwKSA1MCUsIHBhbGV0dGUocHJpbWFyeSwgNTAwKSAxMjUlKTtcblx0fVxufVxuXG4uby11c3BfX21haW4ge1xuXHRAaW5jbHVkZSBtcShtKXtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbi5vLXVzcF9fdGV4dCB7XG5cdHBhZGRpbmc6IHNwYWNlKDQpIDA7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ3RleHQtY29sb3InKTtcblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkby11c3AsICdiYWNrZ3JvdW5kLWNvbG9yJyk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgcGFsZXR0ZShwcmltYXJ5LCA3MDApIDUwJSwgcGFsZXR0ZShwcmltYXJ5LCA1MDApIDEyNSUpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNSwgOCk7XG5cdFx0cGFkZGluZzoge1xuXHRcdFx0dG9wOiBjb2x1bW4oMC41LCA4KTtcblx0XHRcdGJvdHRvbTogY29sdW1uKDAuNSwgOCk7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IGNvbHVtbigxLCA4KTtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtcShsKSB7XG5cdFx0d2lkdGg6IGNvbHVtbig2KTtcblx0XHRwYWRkaW5nOiBjb2x1bW4oMC41KSBjb2x1bW4oMSk7XG5cdH1cbn1cblxuLm8tdXNwX19pbWFnZSB7XG5cdGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0QGluY2x1ZGUgbXEoJG1heDogbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiAtJHNpdGUtZ3V0dGVyLXdpZHRoO1xuXHRcdG1hcmdpbi1yaWdodDogLSRzaXRlLWd1dHRlci13aWR0aDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNjUlO1xuXHRcdG1pbi1oZWlnaHQ6IDM2MHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNCwgOCk7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjb2x1bW4oLTEsIDgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdHdpZHRoOiBjb2x1bW4oNik7XG5cdH1cbn1cblxuLm8tdXNwX19oZWFkaW5nIHtcblx0QGluY2x1ZGUgZm9udC1zaXplKHhsKTtcblx0bWFyZ2luLWJvdHRvbTogc3BhY2UoMyk7XG5cdGNvbG9yOiBtYXAtZ2V0KCRvLXVzcCwgJ3RleHQtY29sb3InKTtcbn1cblxuLm8tdXNwX19saXN0IHtcblx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMTZweDtcbn1cblxuLm8tdXNwX19pdGVtIHtcblx0QGluY2x1ZGUgb3dsKHNwYWNlKDIpKTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLWxlZnQ6IHNwYWNlKDIpO1xuXG5cdCY6OmJlZm9yZSB7XG5cdFx0JHdpZHRoOiAxNnB4O1xuXHRcdCRoZWlnaHQ6IDEycHg7XG5cblx0XHRjb250ZW50OicnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDVweDtcblx0XHRsZWZ0OiAtI3skd2lkdGh9O1xuXHRcdHdpZHRoOiAkd2lkdGg7XG5cdFx0aGVpZ2h0OiAkaGVpZ2h0O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1nL2NoZWNrL2NoZWNrZWQuc3ZnKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuXHR9XG59XG5cbi5vLXVzcF9fYWN0aW9uIHtcblx0bWFyZ2luLXRvcDogc3BhY2UoNik7XG59XG5cbi5vLXVzcF9faW1hZ2Uge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWxldHRlKG5ldXRyYWwsIDEwMCk7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59IiwiLm8tdmFjYW5jaWVzIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdD4gKiArICoge1xuXHRcdG1hcmdpbi10b3A6IHNwYWNlKDIpO1xuXHR9XG59XG5cblxuLm8tdmFjYW5jaWVzX19saW5rIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdGJvcmRlcjogc29saWQgMnB4IHBhbGV0dGUocHJpbWFyeSk7XG5cdGZvbnQtc2l6ZTogMS4xZW07XG5cdGNvbG9yOiBwYWxldHRlKHByaW1hcnkpO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBzY2FsZS1jb2xvcihwYWxldHRlKHNlY29uZGFyeSksICRsaWdodG5lc3M6IC0yMCUpO1xuXHRcdGJvcmRlcjogc29saWQgMnB4IHNjYWxlLWNvbG9yKHBhbGV0dGUoc2Vjb25kYXJ5KSwgJGxpZ2h0bmVzczogLTIwJSk7XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIFRlbXBsYXRlc1xuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5cbiIsIi5zLWNoZWNrbGlzdCB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdG1hcmdpbi1sZWZ0OiAwO1xuXG5cdGxpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0bWFyZ2luLXRvcDogNXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWcvY2hlY2svY2hlY2tlZC5zdmcpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdHdpZHRoOiAxMnB4O1xuXHRcdFx0aGVpZ2h0OiAxMnB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA4cHg7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoN3B4KTtcblx0XHR9XG5cdH1cblxuXHQuY2hlY2tsaXN0LWhhcy14LXNtYWxsLWZvbnQgJntcblx0XHRAaW5jbHVkZSBmb250KHhzKTtcblxuXHRcdGxpIHtcblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiLyoqXG4gKiBBbGwgdGV4dCBlbGVtZW50cyB0aGF0IGNhbiBiZSBhZGRlZCBieSB0aGUgdXNlciB0aHJvdWdoIGEgQ01TXG4gKi9cblxuXG4ucy10ZXh0IHtcblxuXHRoMiwgaDMsIGg0IHtcblx0XHRjb2xvcjogcGFsZXR0ZShuZXV0cmFsLCA4MDApO1xuXHR9XG5cblx0Ly8gRmlyc3QgdGhlIG93bCBzZWxlY3RvciBmb3Igc2V0dGluZyBhIGRlZmF1bHQgdmVydGljYWwgcmh5dGhtXG5cdCYgPiAqICsgKiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNCk7XG5cdH1cblxuXHQvLyBNYWtlIHN1cmUgZmlyc3QgaXRlbSBpbiBzY29wZWQgdGV4dCBoYXMgbm8gbWFyZ2luIG9uIHRvcFxuXHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmID4gKiArIC5jLWJ1dHRvbiB7XG5cdFx0bWFyZ2luLXRvcDogc3BhY2UoNSk7XG5cdH1cblxuXHQmID4gdWw6bm90KFtjbGFzc10pIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXG5cdFx0JiA+IGxpIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi1sZWZ0OiAtMS4xMjVlbTtcblx0XHRcdHBhZGRpbmctbGVmdDogMS4xMjVlbTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udC1zaXplKGwpO1xuXHRcdFx0XHRjb250ZW50OiBcIlxcMjAyMlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogLTRweDtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmID4gb2w6bm90KFtjbGFzc10pIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGNvdW50ZXItcmVzZXQ6IG9sLWNvdW50ZXI7XG5cblx0XHQmID4gbGkge1xuXHRcdFx0Y291bnRlci1pbmNyZW1lbnQ6IG9sLWNvdW50ZXI7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTEuMTI1ZW07XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEuOGVtO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiBjb3VudGVyKG9sLWNvdW50ZXIpIFwiLiBcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHdpZHRoOiAxLjI3NWVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogSGVyZSB3ZSBwcmludCBvdXQgYWxsIG91ciBoZWxwZXIgY2xhc3NlcyBmb3Igb3VyIGRlZmluZWQgY29sb3JzXG4gKiBCYXNlZCBvbiB0aGVzZSBhcnRpY2xlczpcbiAqIC0gaHR0cDovL2Vyc2tpbmVkZXNpZ24uY29tL2Jsb2cvZnJpZW5kbGllci1jb2xvdXItbmFtZXMtc2Fzcy1tYXBzL1xuICogLSBodHRwczovL2Jsb2cuYXRlY2htZWRpYS5jb20vY3NzLWZvci1tdWx0aXBsZS10aGVtZXMvXG4gKiBPdXRwdXQgaXMgaW4gdGhlIGZvcm0gb2Y6XG5cbiAgIC51LWNvbG9yLXByaW1hcnkge1xuICAgICAgY29sb3I6ICNiYWRhNTU7XG4gICB9XG5cbiAgLnUtYmctbmV1dHJhbC0tOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVjYWZmO1xuICB9XG4gKi9cblxuQGVhY2ggJGxldmVsLCAkcGFsZXR0ZSBpbiAkcGFsZXR0ZXMge1xuXHRAZWFjaCAkdHlwZSwgJGNvbG9yIGluICRwYWxldHRlIHtcblx0XHRAaWYoJHR5cGUgPT0gJ2Jhc2UnKXtcblx0XHRcdC51LWNvbG9yLSN7JGxldmVsfSB7XG5cdFx0XHRcdGNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0XHQudS1iZy0jeyRsZXZlbH0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQudS1jb2xvci0jeyRsZXZlbH0tLSN7JHR5cGV9IHtcblx0XHRcdFx0Y29sb3I6ICN7JGNvbG9yfTtcblx0XHRcdH1cblx0XHRcdC51LWJnLSN7JGxldmVsfS0tI3skdHlwZX0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLnUtaGlkZGVuIHtcblx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG59XG5cbi51LXBsYWNlaG9sZGVyLWltYWdlIHtcblx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi51LXRleHQtYWxpZ24tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyIWltcG9ydGFudDtcbn0iLCIvKlxuKiBJZiB5b3UgbmVlZCB0byBtYWtlIGEgcXVpY2sgZml4LCB5b3UgY2FuIGRvIGl0IGhlcmUuXG4qIExhdGVyIHdoZW4geW91IGhhdmUgdGhlIHRpbWUsIHlvdSBjYW4gbW92ZSB0aGUgZml4IGludG8gdGhlIGNvcnJlY3QgcGxhY2UgaW4gdGhlIHN0cnVjdHVyZVxuKi9cblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE5vdGhpbmcgaGVyZSB5ZXQsIEdvb2Qgam9iISEiLCJAZm9yICRpIGZyb20gMCB0aHJvdWdoIDgge1xuXHQvLyBNYXJnaW5cblx0LnUtc3BhY2luZy1tdCN7JGl9ICAgICB7IG1hcmdpbi10b3A6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tciN7JGl9ICAgICB7IG1hcmdpbi1yaWdodDogXHRzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLW1iI3skaX0gICAgIHsgbWFyZ2luLWJvdHRvbTogc3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1tbCN7JGl9ICAgICB7IG1hcmdpbi1sZWZ0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cblx0Ly8gUGFkZGluZ1xuXHQudS1zcGFjaW5nLXB0I3skaX0gICAgIHsgcGFkZGluZy10b3A6IFx0c3BhY2UoJGkpICFpbXBvcnRhbnQ7IH1cblx0LnUtc3BhY2luZy1wciN7JGl9ICAgICB7IHBhZGRpbmctcmlnaHQ6IHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG5cdC51LXNwYWNpbmctcGIjeyRpfSAgICAgeyBwYWRkaW5nLWJvdHRvbTpzcGFjZSgkaSkgIWltcG9ydGFudDsgfVxuXHQudS1zcGFjaW5nLXBsI3skaX0gICAgIHsgcGFkZGluZy1sZWZ0OiBcdHNwYWNlKCRpKSAhaW1wb3J0YW50OyB9XG59XG5cbi51LXNwYWNpbmctcHYge1xuXHRAaW5jbHVkZSB2c3BhY2luZyhcblx0XHQncGFkZGluZy10b3AnIDEsXG5cdFx0J3BhZGRpbmctYm90dG9tJyAxXG5cdClcbn1cblxuQGluY2x1ZGUgbXEobCkge1xuXHQudS1zcGFjaW5nLXByMFxcQGwge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiBUaGlzIGdyaWQgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdoZW4geW91IHdhbnQgdG8gY2hlY2tcbiAqIGlmIGV2ZXJ5dGhpbmcgaXMgbmljZSBpbiBwbGFjZS5cbiAqIFNldCBmbGFnICdzaG93R3JpZCcgdG8gdHJ1ZSBpbiBzaXRlLnBocFxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8vIENvbG9yOiBTZXQgYSBodWUgdmFsdWUgdGhhdCBoYXMgZW5vdWdoIGNvbnRyYXN0XG4kdmctaHVlOiBcdFx0XHRcdFx0MjMwOyAvLyAwLTM2MFxuXG4vLyBDb2x1bW5zOiBOdW1iZXIgb2YgY29sdW1ucyBwZXIgdmlld3BvcnRcbiR2Zy1jb2x1bW4tY291bnQtczogXHRcdCRzaXRlLWNvbHVtbnMtcztcbiR2Zy1jb2x1bW4tY291bnQtbTogXHRcdCRzaXRlLWNvbHVtbnMtbTtcbiR2Zy1jb2x1bW4tY291bnQtbDogXHRcdCRzaXRlLWNvbHVtbnMtbDtcblxuXG4vLyBEbyBzb21lIGNhbGN1bGF0aW9ucyBhbmQgcHV0IHRoZW0gaW4gdmFyaWFibGVzIGZvciByZXVzZVxuJHZnLWNvbHVtbi13aWR0aC1zOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LXMpO1xuJHZnLWNvbHVtbi13aWR0aC1tOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LW0pO1xuJHZnLWNvbHVtbi13aWR0aC1sOiBwZXJjZW50YWdlKDEgLyAkdmctY29sdW1uLWNvdW50LWwpO1xuJHZnLWNvbG9yLTE6IGhzbGEoJHZnLWh1ZSwgMTAwLCA1MCwgMC4wNyk7XG4kdmctY29sb3ItMjogaHNsYSgkdmctaHVlLCAxMDAsIDUwLCAwLjA0KTtcblxuXG4udS12aXNpYmxlLWdyaWQge1xuXHRAaW5jbHVkZSB6KHotdmlzaWJsZS1ncmlkKTtcblx0QGluY2x1ZGUgY29udGFpbjtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRsZWZ0OiAwO1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdC8qIDggcG9pbnQgZ3JpZCBsaW5lcyAqL1xuXHQvL2JhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdC8vXHR0byBib3R0b20sXG5cdC8vXHRoc2xhKDAsIDEwMCwgNTAsIDAuODQpIDAsXG5cdC8vXHRoc2xhKDAsIDEwMCwgNTAsIDApIDFweCxcblx0Ly9cdGhzbGEoMCwgMTAwLCA1MCwgMCkgOHB4LFxuXHQvL1x0aHNsYSgyMDAsIDEwMCwgNTAsIDAuMDQpIDhweFxuXHQvLyk7XG5cblx0QGluY2x1ZGUgbXEobSwgbCkge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cblxufVxuXG4udS12aXNpYmxlLWdyaWRfX21haW4ge1xuXHRoZWlnaHQ6IDEwMHZoO1xuXG5cdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHR0byByaWdodCxcblx0XHRcdCR2Zy1jb2xvci0xLFxuXHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1zLFxuXHRcdFx0JHZnLWNvbG9yLTIgJHZnLWNvbHVtbi13aWR0aC1zLFxuXHRcdFx0JHZnLWNvbG9yLTIgKCR2Zy1jb2x1bW4td2lkdGgtcyAqIDIpXG5cdCk7XG5cblx0QGluY2x1ZGUgbXEobSkge1xuXHRcdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0XHQkdmctY29sb3ItMSxcblx0XHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1tLFxuXHRcdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLW0sXG5cdFx0XHRcdCR2Zy1jb2xvci0yICgkdmctY29sdW1uLXdpZHRoLW0gKiAyKVxuXHRcdCk7XG5cdH1cblx0QGluY2x1ZGUgbXEobCkge1xuXHRcdGJhY2tncm91bmQ6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoXG5cdFx0XHRcdHRvIHJpZ2h0LFxuXHRcdFx0XHQkdmctY29sb3ItMSxcblx0XHRcdFx0JHZnLWNvbG9yLTEgJHZnLWNvbHVtbi13aWR0aC1sLFxuXHRcdFx0XHQkdmctY29sb3ItMiAkdmctY29sdW1uLXdpZHRoLWwsXG5cdFx0XHRcdCR2Zy1jb2xvci0yICgkdmctY29sdW1uLXdpZHRoLWwgKiAyKVxuXHRcdCk7XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/