/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/*********************
COLORS
*********************/
/*
some nice typographical defaults
more here: http://www.newnet-soft.com/blog/csstypography
*/
p {
  /*-ms-word-wrap: break-word;
  word-break: break-word; //non-standart css for webkit
  word-wrap: break-word;
  // cleaning up the ragged lines and breaks
  -webkit-hyphens: auto;
     -moz-hyphens: auto;
          hyphens: auto;
  // sets a minimum number of characters before and after the break
  -webkit-hyphenate-before: 2;
   -webkit-hyphenate-after: 3;
           hyphenate-lines: 3;
  // enabling fancy ligatures when available
  -webkit-font-feature-settings: "liga", "dlig";
   -moz-font-feature-settings: "liga=1, dlig=1";
      -ms-font-feature-settings: "liga", "dlig";
       -o-font-feature-settings: "liga", "dlig";
          font-feature-settings: "liga", "dlig";*/
}

/*********************
COLOR FUNCTIONS
These are helpful when you're working
with shadows and such things. It's essentially
a quicker way to write RGBA.

Example:
box-shadow: 0 0 4px black(0.3);
compiles to:
box-shadow: 0 0 4px rgba(0,0,0,0.3);
*********************/
/*********************
RESPONSIVE HELPER FUNCTION
If you're creating a responsive site, then
you've probably already read
Responsive Web Design: http://www.abookapart.com/products/responsive-web-design

Here's a nice little helper function for calculating
target / context
as mentioned in that book.

Example:
width: cp(650px, 1000px);
or
width: calc-percent(650px, 1000px);
both compile to:
width: 65%;
*********************/
/*********************
TRANSITION
*********************/
/*
I totally rewrote this to be cleaner and easier to use.
You'll need to be using Sass 3.2+ for these to work.
Thanks to @anthonyshort for the inspiration on these.
USAGE: @include transition(all 0.2s ease-in-out);
*/
/*********************
CSS3 GRADIENTS
Be careful with these since they can
really slow down your CSS. Don't overdo it.
*********************/
/* @include css-gradient(#dfdfdf,#f8f8f8); */
/*********************
BOX SIZING
*********************/
/* @include box-sizing(border-box); */
/* NOTE: value of "padding-box" is only supported in Gecko. So
probably best not to use it. I mean, were you going to anyway? */
/* Default*/
.flex {
  display: -webkit-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
}

[class*=flex] {
  width: 100%;
}

[class*=flex].flex--wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

[class*=flex].flex--content-vertical-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -moz-align-items: center;
  align-items: center;
}

[class*=flex].flex--content-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -moz-justify-content: center;
  justify-content: center;
}

[class*=flex].flex--content-space-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -moz-justify-content: space-between;
  justify-content: space-between;
}

[class*=flex].flex--content-space-around {
  -ms-flex-pack: distribute;
  -moz-justify-content: space-around;
  justify-content: space-around;
}

[class*=max-] {
  margin-left: auto;
  margin-right: auto;
}

.max-460 {
  max-width: 460px;
}

.max-540 {
  max-width: 540px;
}

.max-780 {
  max-width: 780px;
}

/*
.padded-tb80{padding: 40px 0;}
.padded-tb60{padding: 30px 0;}
.padded-t60{padding-top: 30px;}
.padded-t70{padding-top: 35px;}
.padded-t80{padding-top: 40px;}
.padded-b80{padding-bottom: 40px;}
.padded-tb100{padding: 50px 0;}
.padded-t100{padding-top: 50px;}
.padded-b100{padding-bottom: 50px;}
.padded-b150{padding-bottom: 75px;}
.mb-100{margin-bottom: 50px;}
*[class*="padded-t"] > .wrap > *:first-child{margin-top: 0;padding-top: 0;}
*[class*="padded-b"] > .wrap > *:last-child{margin-bottom: 0;padding-bottom: 0;}
.text-center{text-align: center;}
.text-right{text-align: right;}

*/
/*
@media only screen and (min-width:1024px) {
.padded-tb80{padding: 80px 0;}
.padded-tb60{padding: 60px 0;}
.padded-t60{padding-top: 60px;}
.padded-t70{padding-top: 70px;}
.padded-t80{padding-top: 80px;}
.padded-b80{padding-bottom: 80px;}
.padded-tb100{padding: 100px 0;}
.padded-t100{padding-top: 100px;}
.padded-b100{padding-bottom: 100px;}
.padded-b150{padding-bottom: 150px;}
.mb-100{margin-bottom: 100px;}
}
*/
/*********************
BUTTON DEFAULTS
We're gonna use a placeholder selector here
so we can use common styles. We then use this
to load up the defaults in all our buttons.

Here's a quick video to show how it works:
http://www.youtube.com/watch?v=hwdVpKiJzac

*********************/
.btn {
  display: block;
  position: relative;
  font-family: inherit;
  text-decoration: none;
  color: #FF4B3D;
  font-size: 28px;
  height: 48px;
  font-weight: 700;
  padding: 5px 24px 0;
  border-radius: 24px;
  border: 0;
  cursor: pointer;
  margin-left: auto;
  margin-right: auto;
  max-width: 300px;
  text-align: center;
}
.btn:hover, .btn:focus {
  color: inherit;
  text-decoration: none;
  outline: none;
  background-color: #ffbebd;
}
.btn:active {
  top: 1px;
  background-color: #ffb9b8;
}

/*
An example button.
You can use this example if you want. Just replace all the variables
and it will create a button dependant on those variables.
*/
.btn {
  background-color: #FFD2D1;
}
.btn img {
  vertical-align: -2px;
}

.btn.red {
  background-color: #FF4B3D;
  color: #fff;
}

.btn.black {
  background-color: #343434;
  color: #fff;
}

.btn.white {
  background-color: #fff;
  color: #FF4B3D;
}

/*********************
INPUTS
*********************/
input[type=text],
input[type=password],
input[type=datetime],
input[type=datetime-local],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea,
.field {
  display: block;
  height: 30px;
  line-height: 1em;
  padding: 0 10px;
  margin-bottom: 1em;
  font-size: 1em;
  color: #343434;
  border-radius: 3px;
  vertical-align: middle;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 1px solid #343434;
  width: 100%;
  max-width: 400px;
  font-family: inherit;
  background-color: #fff;
  /*&.error,
    &.is-invalid {
      color: $alert-red;
      border-color: $alert-red;
      background-color: $white;
      background-position: 99% center;
      background-repeat: no-repeat;
      background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDREQkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDREQ0YwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ3ODRGRkE2RjA0QTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERBRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+U8iT5wAAAedJREFUeNqk1U9I02Ecx/HtV3aIFAc1hcRDUoGXRAq0oNLA2CrsEFmHbikZu0iQYIFGYAiegkCpLipBxPpDEBMUzB0EhSG2LhG7hMR2GviPgUTvB57Bw8P3+U23B16HPX8+e/b8nt93wezZSMCnhXETF3AcB5BDCnH8Dq98ExcGHcFn8Ah3cdDni+fxnPDv9oAnTB7CKu6VCFXtChZy56LxUjt+jfuB8toSOth9wd7xWAWhqrUjYR/FRTwWJm+iIPT/w7bQf5ljiZnBg45dtKFX6H+LU8gIY8OEV6vgTkStwXWE8BPTGDHGPqNPz2mCfSOOYkA99TvCt1bhGPL68zMcwmncMuape10jrI+q4BbHi/FLn31S9z2x5tRhTc+1W506ipM+T3oRD4X+8+qtc4SqFvL0z/Fr14S+Szjis8bz9Lvvaq8cwS/wwGfdlqfPSWqTiFlX77o13u9Ym1PBs8JAytpRoy44X9Ft9E/gvbA+rYKn8NcaaMVc8UHgBw4b9/iqUQZ6hOAJFbyDcUflmsEX4a6+wTtHGfhAIUqa1U29Zc2BytouThD8x6xuN5CtMPi2CrXLZkZf/HyZoRFCP7n+QVR4PV7uI/AjGghN7OU/r1ilnqILtfpNC+o6vIFljBKYlhb/F2AAgaBsWR5wRiIAAAAASUVORK5CYII=);
      outline-color: $alert-red;
    } // end invalid input

    // success notification
    &.success,
    &.is-valid {
      color: $alert-green;
      border-color: $alert-green;
      background-color: $white;
      background-position: 99% center;
      background-repeat: no-repeat;
      background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NDM0NDRERkYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2NDM0NDRFMEYwNEIxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY0MzQ0NERERjA0QjExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0MzQ0NERFRjA0QjExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+7olkTQAAAfhJREFUeNqklU9oE0EUhzdroWjw0tBeWlDxkEaIp55TsCU9VKIgCrHBelA8CQ1Kr1WPbZrQ3gqtQqvGqxpQc2jBk6BIIaAGD4qNCKURpDSKiPi98gLDsJt//uBjsztvfnk7895sIPAw6/joGMThFJyAXn2+A+9gA57/TaY/eU0OeBgfhGm4DiGnsb7DAszxBz/NAdcKjMJLuNWCqagHbsscN5+L+hmH4QkMOe1L5jzFfNA2PgT34ajTuY7AGuZB0/hmh5m+gS0r8xv1zRvg+gGCHZiOwnF4DP3iB3sQkYxPd2C6CWfhB9Xwlus5+K1j4jXuaq3a+gM1H9OPcAa+7q9lPidZJqHbiIm7Wg22rsEI7FrPSzAMX/T+ADyAKSsu7Fr1KplehLvwCs5DvfBf65p+MypqRbO1FXK9utH4/QKuaqYTsG3E3INJv00Q46px3+XxanJ/Ute2/vqP4FKDza2KcdljIKdnhS0xXYULTaqmLMZFn8FFSFtvt6x70ExFCS5oUXspq2ssa7oEl1swFa+CGFdgtkHgPDyDKy02zyxNU6lXRUZb1EuHYayNNs+Yh5B0WQo+/8fpJnNTZFuzz2OpjoQ2QruSOQlMy35fEGmEGMxY9e1brxobw7TkWA1h6xfckUPb+JhGoE/Hpfvew7qUld/H9J8AAwDpw3WYrxcZ3QAAAABJRU5ErkJggg==);
      outline-color: $alert-green;
    } // end valid input
  */
}
input[type=text]:focus, input[type=text]:active,
input[type=password]:focus,
input[type=password]:active,
input[type=datetime]:focus,
input[type=datetime]:active,
input[type=datetime-local]:focus,
input[type=datetime-local]:active,
input[type=date]:focus,
input[type=date]:active,
input[type=month]:focus,
input[type=month]:active,
input[type=time]:focus,
input[type=time]:active,
input[type=week]:focus,
input[type=week]:active,
input[type=number]:focus,
input[type=number]:active,
input[type=email]:focus,
input[type=email]:active,
input[type=url]:focus,
input[type=url]:active,
input[type=search]:focus,
input[type=search]:active,
input[type=tel]:focus,
input[type=tel]:active,
input[type=color]:focus,
input[type=color]:active,
select:focus,
select:active,
textarea:focus,
textarea:active,
.field:focus,
.field:active {
  outline: none;
}
input[type=text][disabled], input[type=text].is-disabled,
input[type=password][disabled],
input[type=password].is-disabled,
input[type=datetime][disabled],
input[type=datetime].is-disabled,
input[type=datetime-local][disabled],
input[type=datetime-local].is-disabled,
input[type=date][disabled],
input[type=date].is-disabled,
input[type=month][disabled],
input[type=month].is-disabled,
input[type=time][disabled],
input[type=time].is-disabled,
input[type=week][disabled],
input[type=week].is-disabled,
input[type=number][disabled],
input[type=number].is-disabled,
input[type=email][disabled],
input[type=email].is-disabled,
input[type=url][disabled],
input[type=url].is-disabled,
input[type=search][disabled],
input[type=search].is-disabled,
input[type=tel][disabled],
input[type=tel].is-disabled,
input[type=color][disabled],
input[type=color].is-disabled,
select[disabled],
select.is-disabled,
textarea[disabled],
textarea.is-disabled,
.field[disabled],
.field.is-disabled {
  cursor: not-allowed;
  border-color: #343434;
  opacity: 0.6;
}
input[type=text][disabled]:focus, input[type=text][disabled]:active, input[type=text].is-disabled:focus, input[type=text].is-disabled:active,
input[type=password][disabled]:focus,
input[type=password][disabled]:active,
input[type=password].is-disabled:focus,
input[type=password].is-disabled:active,
input[type=datetime][disabled]:focus,
input[type=datetime][disabled]:active,
input[type=datetime].is-disabled:focus,
input[type=datetime].is-disabled:active,
input[type=datetime-local][disabled]:focus,
input[type=datetime-local][disabled]:active,
input[type=datetime-local].is-disabled:focus,
input[type=datetime-local].is-disabled:active,
input[type=date][disabled]:focus,
input[type=date][disabled]:active,
input[type=date].is-disabled:focus,
input[type=date].is-disabled:active,
input[type=month][disabled]:focus,
input[type=month][disabled]:active,
input[type=month].is-disabled:focus,
input[type=month].is-disabled:active,
input[type=time][disabled]:focus,
input[type=time][disabled]:active,
input[type=time].is-disabled:focus,
input[type=time].is-disabled:active,
input[type=week][disabled]:focus,
input[type=week][disabled]:active,
input[type=week].is-disabled:focus,
input[type=week].is-disabled:active,
input[type=number][disabled]:focus,
input[type=number][disabled]:active,
input[type=number].is-disabled:focus,
input[type=number].is-disabled:active,
input[type=email][disabled]:focus,
input[type=email][disabled]:active,
input[type=email].is-disabled:focus,
input[type=email].is-disabled:active,
input[type=url][disabled]:focus,
input[type=url][disabled]:active,
input[type=url].is-disabled:focus,
input[type=url].is-disabled:active,
input[type=search][disabled]:focus,
input[type=search][disabled]:active,
input[type=search].is-disabled:focus,
input[type=search].is-disabled:active,
input[type=tel][disabled]:focus,
input[type=tel][disabled]:active,
input[type=tel].is-disabled:focus,
input[type=tel].is-disabled:active,
input[type=color][disabled]:focus,
input[type=color][disabled]:active,
input[type=color].is-disabled:focus,
input[type=color].is-disabled:active,
select[disabled]:focus,
select[disabled]:active,
select.is-disabled:focus,
select.is-disabled:active,
textarea[disabled]:focus,
textarea[disabled]:active,
textarea.is-disabled:focus,
textarea.is-disabled:active,
.field[disabled]:focus,
.field[disabled]:active,
.field.is-disabled:focus,
.field.is-disabled:active {
  background-color: #d5edf8;
}

input[type=password] {
  letter-spacing: 0.3em;
}

textarea {
  max-width: 100%;
  min-height: 120px;
  line-height: 1.25em;
  padding: 10px;
  margin-top: 1em;
  margin-bottom: 1em;
}

/*select {
  -webkit-appearance: none; 
  -moz-appearance: none;
  appearance: none;
  // Base64 encoded little arrow
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpEOEZCMjYxMEYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDpEOEZCMjYxMUYwNUUxMUUyOTI4REZGQTEzMzA2MDcyNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQ4RkIyNjBFRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQ4RkIyNjBGRjA1RTExRTI5MjhERkZBMTMzMDYwNzI2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Vxkp9gAAAI9JREFUeNpidHFxucHAwKAOxE+AmJmBMPgLxDJAfJMFSKwD4kqoAClgA+P///8ZXF1dPaCGcBKh6QcQB+3evXs7WDMIAA2QB1I7gFgDj0aQFz2BGh+AOEwwUaDAQyBlCMR7cGjcC5KHaQQBuM3IAOiKTiBVhiTUDdRUhq4Oq2aoAelAahIQ5wM1zsCmBiDAADhYMJXVZ9u9AAAAAElFTkSuQmCC);
  background-repeat: no-repeat;
  background-position: 97.5% center;
}*/
.SecurityForm fieldset div {
  border: none;
}
.SecurityForm fieldset div label {
  float: left;
  width: 120px;
}
.SecurityForm fieldset div .middleColumn {
  float: right;
}
.SecurityForm input[type=submit] {
  color: #FF4B3D;
  font-size: 28px;
  height: 48px;
  font-weight: 700;
  padding: 0px 30px;
  border-radius: 24px;
  border: 0;
  cursor: pointer;
  text-align: center;
  background: #ffd2d1;
  float: right;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

img {
  max-width: 100%;
  height: auto;
}

p, ul, ol {
  margin-top: 1em;
  margin-bottom: 1em;
}

body {
  font-family: "News Cycle", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 100%;
  line-height: 1.2;
  color: #343434;
  background: #fff;
  background: linear-gradient(to bottom, #ffdcda 0%, #ffffff 420px);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
}

/*********************
LAYOUT & GRID STYLES
*********************/
.wrapper {
  width: 90%;
  margin: 0 auto;
  max-width: 940px;
}

/*********************
LINK STYLES
*********************/
a {
  color: #000;
  /* on hover */
  /* on click */
  /* mobile tap color */
}
a:hover, a:focus {
  color: black;
}
a:link {
  /*
  this highlights links on iPhones/iPads.
  so it basically works like the :hover selector
  for mobile devices.
  */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.3);
}

/******************************************************************
H1, H2, H3, H4, H5 STYLES
******************************************************************/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5 {
  text-rendering: optimizelegibility;
  font-weight: normal;
  font-family: "Poppins", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #FF4B3D;
}
h1 a, .h1 a, h2 a, .h2 a, h3 a, .h3 a, h4 a, .h4 a, h5 a, .h5 a {
  text-decoration: none;
  color: #FF4B3D;
}

/*********************
HEADER STYLES
*********************/
.header-container {
  -webkit-box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.3);
  background-color: rgba(246, 246, 246, 0.95);
  padding: 10px 0;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  width: 100%;
}

/*********************
NAVIGATION STYLES
*********************/
#main-nav {
  list-style: none;
  padding: 0;
  text-align: center;
  margin: 0;
}
#main-nav li {
  display: inline-block;
}
#main-nav li a, #main-nav li svg {
  display: block;
}
#main-nav li.current svg > path:first-child, #main-nav li.current svg > circle:first-child {
  fill: #ff4343;
  stroke: #ff4343;
}
#main-nav li.current .fill-st {
  stroke: #fff;
}
#main-nav li.current .fill {
  fill: #fff;
}
#main-nav li.current:last-child .fill-st {
  stroke: #ff4343;
  fill: none;
}
#main-nav li.current:last-child .fill {
  fill: #ff4343;
}
#main-nav .fill-st {
  fill: none;
  stroke: #000;
}

/*********************
CONTENT STYLES
*********************/
.main-header {
  background-color: #FFD2D1;
  padding: 20px 0 30px;
  position: relative;
}
.main-header.arrow::after {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  height: 20px;
  background-color: #FFD2D1;
  left: 50%;
  bottom: -10px;
  margin-left: -10px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.main-header h1 {
  margin: 0;
  font-size: 2.625em;
  line-height: 1.1;
}
.main-header h2 {
  margin: 0;
  font-size: 1.625em;
}
body.InfoPage .main-header h2 {
  width: calc(100% - 80px);
  max-width: 380px;
}

.main {
  background-color: #fff;
  min-height: 100vh;
}

section {
  padding: 40px;
  font-size: 1.375em;
}
section > .max-460 > *:first-child {
  margin-top: 0;
}

.partners {
  list-style: none;
  padding: 0;
}
.partners li {
  padding: 20px 0;
  text-align: center;
  border-bottom: 1px solid #343434;
}
.partners li:nth-child(1) img {
  max-width: 164px;
}
.partners li:nth-child(2) img {
  max-width: 240px;
}
.partners li:nth-child(3) img {
  max-width: 86px;
}
.partners li:nth-child(4) img {
  max-width: 200px;
}
.partners li:nth-child(5) img {
  max-width: 139px;
}
.partners li:nth-child(6) img {
  max-width: 139px;
}
.partners li:nth-child(7) img {
  max-width: 113px;
}
.partners li:nth-child(8) img {
  max-width: 73px;
}
.partners li:nth-child(9) img {
  max-width: 124px;
}
.partners li:nth-child(10) img {
  max-width: 124px;
}
.partners li:nth-child(11) img {
  max-width: 169px;
}
.partners li:nth-child(12) img {
  max-width: 159px;
}
.partners li:nth-child(13) img {
  max-width: 119px;
}
.partners li:nth-child(14) img {
  max-width: 179px;
}
.partners li:nth-child(15) img {
  max-width: 96px;
}
.partners li:nth-child(16) img {
  max-width: 127px;
}

.btn-wrapper {
  margin: 30px 0;
}

ul.accordion {
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.accordion .inner {
  display: none;
  position: relative;
}
ul.accordion .inner.show {
  padding: 30px 40px 30px;
}
ul.accordion .inner .toggle {
  font-weight: 700;
}
ul.accordion .inner .inner {
  padding: 20px 0;
}
ul.accordion .inner.show::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: 0;
  border-bottom: 1px solid #343434;
}
ul.accordion .inner > *:first-child {
  margin-top: 0;
}
ul.accordion .inner > *:last-child {
  margin-bottom: 0;
}
ul.accordion .inner ul:not(.child) {
  list-style: disc;
  padding-left: 1.2em;
}
ul.accordion > li > .inner {
  background-color: #E5E5E5;
  width: calc(100% + 80px);
  margin-left: -40px;
  margin-right: -40px;
  padding: 0 40px;
}
ul.accordion > li > .inner.show::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 80px);
  bottom: 0;
  left: 40px;
  height: 0;
  border-bottom: 1px solid #343434;
}
ul.accordion .toggle {
  padding: 20px 40px 20px 0;
  position: relative;
  border-bottom: 1px solid #343434;
  cursor: pointer;
}
ul.accordion .toggle::after {
  content: "";
  display: block;
  position: absolute;
  width: 12px;
  height: 18px;
  bottom: 20px;
  right: 10px;
  background: url(../images/svg/arrow.svg) 0 0 no-repeat;
}
ul.accordion .toggle.active {
  font-weight: 700;
}
ul.accordion .toggle.active::after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
ul.accordion a.toggle {
  display: block;
  text-decoration: none;
  font-weight: normal;
}
ul.accordion .child {
  list-style: none;
  padding: 0;
}

.contact-header {
  background-color: #ffadab;
}
.contact-header + .contact-header {
  background-color: #FFD2D1;
}
.contact-header > div {
  padding: 20px 40px 30px;
  font-size: 1.375em;
}
.contact-header .btn {
  margin: 0;
}

.questions-wrapper {
  padding: 0;
}

#questions .accordion {
  border-top: 1px solid #343434;
}
#questions fieldset {
  position: relative;
}
#questions fieldset > img:first-child {
  max-width: 167px;
  display: block;
  margin: -42px auto 20px;
}
#questions fieldset:not(#final) {
  padding: 30px 40px 40px;
}
#questions .controls-container {
  margin-bottom: 1.25em;
}
#questions button {
  padding: 0 0 7px;
  line-height: 1;
}
#questions .back {
  background-color: transparent;
  border: none;
  width: 24px;
  height: 25px;
  display: inline-block;
  position: absolute;
  top: 21px;
  left: 11px;
  outline: none;
  font-size: 0;
}
#questions .next:not(.wide), #questions .last {
  width: calc(50% - 10px);
}
#questions .wide {
  width: 100%;
  max-width: 300px;
}
#questions .highlight {
  -webkit-box-shadow: 0 0 5px #343434;
  box-shadow: 0 0 5px #343434;
}
#questions textarea {
  min-height: 240px;
  margin-bottom: 2em;
}
#questions textarea::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: silver;
}
#questions textarea::-moz-placeholder { /* Firefox 19+ */
  color: silver;
}
#questions textarea::-ms-input-placeholder { /* IE 10+ */
  color: silver;
}
#questions textarea::-moz-placeholder { /* Firefox 18- */
  color: silver;
}
#questions .save {
  min-width: 240px;
}
#questions .slide {
  position: absolute;
  z-index: 0;
  opacity: 0;
  pointer-events: none;
}
#questions .slide.currentQuestion {
  position: relative;
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}
#questions #final > .max-460:first-child {
  position: relative;
}
#questions #final .phone {
  padding: 56px 40px 30px;
  background-color: #FFADAB;
}
#questions #final .emergency {
  padding: 20px 40px 30px;
  background-color: #FFD2D1;
}
#questions #final .mail-send {
  padding: 20px 40px 20px;
}
#questions #final .text {
  margin-bottom: 20px;
}
#questions #final .textAfter {
  margin-top: 20px;
  display: none;
  font-style: italic;
  color: #747474;
}

.suggest {
  font-size: 1rem;
  text-align: center;
  margin-bottom: 20px;
}
.suggest::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 5px 0 5px;
  border-color: #FF4B3D transparent transparent transparent;
  margin-right: 10px;
}

@media only screen and (max-width: 767px) {
  .main-header.arrow::after {
    width: 30px;
    height: 30px;
    bottom: -15px;
  }
  .header-container nav {
    width: 100%;
  }
  .header-container h3 {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .flex-768 {
    display: -webkit-box;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
  }
  .header-container h3 {
    margin: 0;
    font-size: 1.375em;
  }
  .header-container nav {
    min-width: 320px;
  }
  .main-header h1 {
    font-size: 3.25em;
  }
  .main-header h2 {
    font-size: 2.25em;
  }
  .main {
    max-width: 940px;
    margin-left: auto;
    margin-right: auto;
  }
  section {
    font-size: 1.1875em;
    line-height: 1.3;
  }
  .btn-wrapper {
    margin: 40px 0;
  }
  .partners {
    position: relative;
  }
  .partners::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    top: 50%;
    height: 0;
    border-bottom: 1px solid #343434;
  }
  .partners li {
    padding: 0;
    border-bottom: none;
    margin: 20px 7px;
  }
  .partners li:nth-child(1) img {
    max-width: 81px;
    max-height: 23px;
  }
  .partners li:nth-child(2) img {
    max-width: 118px;
    max-height: 31px;
  }
  .partners li:nth-child(3) img {
    max-width: 42px;
    max-height: 33px;
  }
  .partners li:nth-child(4) img {
    max-width: 98px;
    max-height: 18px;
  }
  .partners li:nth-child(5) img {
    max-width: 68px;
    max-height: 34px;
  }
  .partners li:nth-child(6) img {
    max-width: 68px;
    max-height: 18px;
  }
  .partners li:nth-child(7) img {
    max-width: 55px;
    max-height: 17px;
  }
  .partners li:nth-child(8) img {
    max-width: 36px;
    max-height: 38px;
  }
  .partners li:nth-child(9) img {
    max-width: 61px;
    max-height: 37px;
  }
  .partners li:nth-child(10) img {
    max-width: 61px;
    max-height: 32px;
  }
  .partners li:nth-child(11) img {
    max-width: 83px;
    max-height: 24px;
  }
  .partners li:nth-child(12) img {
    max-width: 78px;
    max-height: 28px;
  }
  .partners li:nth-child(13) img {
    max-width: 58px;
    max-height: 19px;
  }
  .partners li:nth-child(14) img {
    max-width: 88px;
    max-height: 15px;
  }
  .partners li:nth-child(15) img {
    max-width: 48px;
    max-height: 48px;
  }
  .partners li:nth-child(16) img {
    max-width: 63px;
    max-height: 45px;
  }
  .contact-header > div {
    font-size: 1.1875em;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .contact-header p {
    margin: 0;
  }
  .contact-header .btn {
    min-width: 240px;
  }
  .faq-header br {
    display: none;
  }
  #questions .back {
    font-size: 0.875em;
    width: auto;
    color: #FF4B3D;
    cursor: pointer;
  }
  #questions .back svg {
    width: 10px;
    margin-right: 5px;
  }
  #questions fieldset > img:first-child {
    max-width: 314px;
    margin-top: -47px;
  }
}
@media only screen and (min-width: 1024px) {
  .partners li {
    margin: 20px 9px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhcnRpYWxzL19ub3JtYWxpemUuc2NzcyIsInBhcnRpYWxzL192YXJpYWJsZXMuc2NzcyIsInBhcnRpYWxzL190eXBvZ3JhcGh5LnNjc3MiLCJwYXJ0aWFscy9fZnVuY3Rpb25zLnNjc3MiLCJwYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCJwYXJ0aWFscy9fZ2xvYmFsLWNsYXNzZXMuc2NzcyIsInBhcnRpYWxzL19mbGV4LnNjc3MiLCJtb2R1bGVzL19idXR0b25zLnNjc3MiLCJtb2R1bGVzL19mb3Jtcy5zY3NzIiwiYnJlYWtwb2ludHMvX2Jhc2Uuc2NzcyIsInN0eWxlLnNjc3MiLCJicmVha3BvaW50cy9fNzY3LnNjc3MiLCJicmVha3BvaW50cy9fNzY4LnNjc3MiLCJicmVha3BvaW50cy9fMTAyNC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBRUE7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7RUFHRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBLFFBQ1E7RUFDTjs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBLFNBQ1M7RUFDUDs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FDM1ZGO0FBQUE7QUFBQTtBQ09BO0FBQUE7QUFBQTtBQUFBO0FBSUE7QUFDRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNaRjtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFzQkE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNyQkE7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0FBVUE7QUFBQTtBQUFBO0FBSUE7QUFDQTtBQUFBO0FBeURzQjtBQ2pHdEI7RUM2REU7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FEN0RGO0VBQ0U7OztBQUdGO0VDbUlFLG1CRGxJbUI7RUNtSW5CLGdCRG5JbUI7RUN1SWpCLGVEdklpQjtFQ3lJbkIsV0R6SW1COzs7QUFHckI7RUMrVUksbUJEOVVtQjtFQytVbkIsZ0JEL1VtQjtFQ2lWckIscUJEalZxQjtFQ2tWckIsa0JEbFZxQjtFQ21WckIsYURuVnFCOzs7QUFHdkI7RUNxU0ksa0JEcFN1QjtFQ3FTdkIsZURyU3VCO0VDdVN6Qix5QkR2U3lCO0VDd1N6QixzQkR4U3lCO0VDeVN6QixpQkR6U3lCOzs7QUFHM0I7RUM0Ukk7RUFDQTtFQU9GLHlCRG5TeUI7RUNvU3pCLHNCRHBTeUI7RUNxU3pCLGlCRHJTeUI7OztBQUczQjtFQzJSSTtFQUtGLHlCRC9SeUI7RUNnU3pCLHNCRGhTeUI7RUNpU3pCLGlCRGpTeUI7OztBQUczQjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBbUJBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBRWpFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFXQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT05QSTtFTVFKO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFLRjtFQUNFO0VBQ0E7OztBQVFKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQTtFQUVFLGtCTm5ESzs7QU0rREw7RUFDRTs7O0FBT0o7RUFDRSxrQk52RUk7RU13RUosT041RU07OztBTWtGUjtFQUNFLGtCTmxGVztFTW1GWCxPTnBGTTs7O0FNMEZSO0VBQ0Usa0JOM0ZNO0VNNEZOLE9OeEZJOzs7QU9UTjtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBaUJFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9QdEJXO0VPdUJYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0JQL0JNO0FPMkNOO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFSQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFHRTs7QUE2QkY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUU7RUFDQSxjUHJFUztFT3NFVDs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBRUUsa0JQL0RPOzs7QU8yRWI7RUFDRTs7O0FBSUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdFO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUdGO0VBQ0U7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUM3SUo7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0UsYVBwQ0c7RU9xQ0g7RUFDQTtFQUNBLE9SckNXO0VRc0NYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtFQUNFLE9SekRXO0FRMkRYO0FBS0E7QUFLQTs7QUFUQTtFQUNFLE9SNURTOztBUXFFWDtBQUNFO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFLQTs7O0FBSUo7QUFBQTtBQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0EsYVA1RlE7RU82RlIsT1J6Rkk7O0FRMkZKO0VBQ0U7RUFDQSxPUjdGRTs7O0FRcUhOO0FBQUE7QUFBQTtBQUlBO0VMWEUsb0JLWW9CO0VMWHBCLGlCS1dvQjtFTFZwQixZS1VvQjtFQUNwQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT0Y7QUFBQTtBQUFBO0FBSUE7RUx6REU7RUFDQTtFSzBEQTtFQUNBOztBQUNBO0VBQ0U7O0FBQ0E7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUlGO0VBQ0U7RUFDQTs7QUFFRjtFQUNFOztBQUdKO0VBQ0U7RUFDQTs7O0FBSUo7QUFBQTtBQUFBO0FBSUE7RUFDRSxrQlJyTEs7RVFzTEw7RUFDQTs7QUFDQTtFTDNJQSxTQUR1RDtFQUV2RCxTQUZzQjtFQUd0QixVQUhtQztFSzhJakM7RUFDQTtFQUNBLGtCUjVMRztFUTZMSDtFQUNBO0VBQ0E7RUx2RUYsbUJBUW1CO0VBUG5CLGdCQU9tQjtFQU5uQixlQU1tQjtFQUxuQixXQUttQjs7QUtrRW5CO0VBQ0U7RUFDQTtFQUNBOztBQUVGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7OztBQU9OO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOztBQUNBO0VBQ0U7OztBQUlKO0VMN0lFO0VBQ0E7O0FLOElBO0VBQ0U7RUFDQTtFQUNBOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7OztBQUtKO0VBQ0U7OztBQUdGO0VMM01FO0VBQ0E7RUs0TUE7O0FBQ0E7RUFDRTtFQUNBOztBQUNBO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFOztBQUdBO0VMbFFKLFNBRHVEO0VBRXZELFNBRnNCO0VBR3RCLFVBSG1DO0VLcVE3QjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7O0FBR0o7RUFDRSxrQlJoVUc7RVFpVUg7RUFDQTtFQUNBO0VBQ0E7O0FBRUU7RUw3UkosU0FEdUQ7RUFFdkQsU0FGc0I7RUFHdEIsVUFIbUM7RUtnUzdCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSU47RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFTDVTRixTQUR1RDtFQUV2RCxTQUZzQjtFQUd0QixVQUhtQztFSytTL0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFRjtFQUNFOztBQUVGO0VMNU9GLG1CQVFtQjtFQVBuQixnQkFPbUI7RUFObkIsZUFNbUI7RUFMbkIsV0FLbUI7O0FLd09uQjtFQUNFO0VBQ0E7RUFDQTs7QUFFRjtFTHpSQTtFQUNBOzs7QUs2UkY7RUFDRTs7QUFDQTtFQUNFLGtCUnJYRzs7QVF1WEw7RUFDRTtFQUNBOztBQUVGO0VBQ0U7OztBQUtKO0VBQ0U7OztBQUlBO0VBQ0U7O0FBR0Y7RUFDRTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7QUFHSjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTtFQUNBOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7O0FBRUY7RUxoVUEsb0JLaVVzQjtFTGhVdEIsaUJLZ1VzQjtFTC9UdEIsWUsrVHNCOztBQUV0QjtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTs7QUFFRjtFQUNFOztBQUVGO0VBQ0U7O0FBRUY7RUFDRTs7QUFHSjtFQUNFOztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHQTtFQUNFOztBQUVGO0VBQ0U7RUFDQSxrQlJ4ZE07O0FRMGRSO0VBQ0U7RUFDQSxrQlIzZEM7O0FRNmRIO0VBQ0U7O0FBRUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLTjtFQUNFO0VBQ0E7RUFDQTs7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3pkSjtFQ3RDRTtJQUNFO0lBQ0E7SUFDQTs7RUFNRjtJQUNFOztFQUVGO0lBQ0U7OztBRCtCSjtFRTdDQTtJTjhERTtJQUNBO0lBQ0E7SUFDQTtJQUNBOztFTTdEQTtJQUNFO0lBQ0E7O0VBRUY7SUFDRTs7RUFLRjtJQUNFOztFQUVGO0lBQ0U7O0VBSUo7SUFDRTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFDQTtJUmFBLFNBRHVEO0lBRXZELFNBRnNCO0lBR3RCLFVBSG1DO0lRVmpDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOztFQUtGO0lBQ0U7SUFDQTtJQUNBOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7RUFJSjtJQUNFOztFQUlBO0lBQ0U7SUFDQTtJQUNBLE9YcElFO0lXcUlGOztFQUNBO0lBQ0U7SUFDQTs7RUFJRjtJQUNFO0lBQ0E7OztBRjlGTjtFR3ZERTtJQUNFIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG5odG1sIHtcclxuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBTZWN0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cclxuICovXHJcblxyXG5tYWluIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG4gIGhlaWdodDogMDsgLyogMSAqL1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG4gIGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcbiAgZm9udC1zaXplOiA3NSU7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuICBib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcbiAgdG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICBtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuICBib3JkZXItc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbnByb2dyZXNzIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGl2ZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICovXHJcblxyXG5kZXRhaWxzIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1bW1hcnkge1xyXG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxuLyogTWlzY1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZW1wbGF0ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcbltoaWRkZW5dIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKipcclxuQ09MT1JTXHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiRibGFjazogIzAwMDtcclxuJHdoaXRlOiAjZmZmO1xyXG4kdGV4dC1jb2xvcjogIzM0MzQzNDtcclxuJGRhcmstcGluazogI0ZGQURBQjtcclxuJHBpbms6ICNGRkQyRDE7XHJcbiRyZWQ6ICNGRjRCM0Q7XHJcbiRsaW5rLWNvbG9yOiAjMDAwO1xyXG4kbGluay1ob3ZlcjogZGFya2VuKCRsaW5rLWNvbG9yLCA5JSk7XHJcbiRncmF5OiAjRTVFNUU1O1xyXG5cclxuJGFsZXJ0LXllbGxvdzogI2ViZTE2ZjtcclxuJGFsZXJ0LXJlZDogI2ZiZTNlNDtcclxuJGFsZXJ0LWdyZWVuOiAjZTZlZmMyO1xyXG4kYWxlcnQtYmx1ZTogI2Q1ZWRmODsiLCIvLyBmb250IHN0YWNrc1xyXG4kc2Fucy1zZXJpZjogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4vLyRzZXJpZjogICAgICAgICAgICAgXCJHZW9yZ2lhXCIsIENhbWJyaWEsIFRpbWVzIE5ldyBSb21hbiwgVGltZXMsIHNlcmlmO1xyXG5cclxuJE5DOiAnTmV3cyBDeWNsZScsICRzYW5zLXNlcmlmO1xyXG4kUG9wcGluczogJ1BvcHBpbnMnLCAkc2Fucy1zZXJpZjtcclxuXHJcbi8qXHJcbnNvbWUgbmljZSB0eXBvZ3JhcGhpY2FsIGRlZmF1bHRzXHJcbm1vcmUgaGVyZTogaHR0cDovL3d3dy5uZXduZXQtc29mdC5jb20vYmxvZy9jc3N0eXBvZ3JhcGh5XHJcbiovXHJcbnAge1xyXG4gIC8qLW1zLXdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkOyAvL25vbi1zdGFuZGFydCBjc3MgZm9yIHdlYmtpdFxyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICAvLyBjbGVhbmluZyB1cCB0aGUgcmFnZ2VkIGxpbmVzIGFuZCBicmVha3NcclxuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XHJcbiAgICAgLW1vei1oeXBoZW5zOiBhdXRvO1xyXG4gICAgICAgICAgaHlwaGVuczogYXV0bztcclxuICAvLyBzZXRzIGEgbWluaW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBiZWZvcmUgYW5kIGFmdGVyIHRoZSBicmVha1xyXG4gIC13ZWJraXQtaHlwaGVuYXRlLWJlZm9yZTogMjtcclxuICAgLXdlYmtpdC1oeXBoZW5hdGUtYWZ0ZXI6IDM7XHJcbiAgICAgICAgICAgaHlwaGVuYXRlLWxpbmVzOiAzO1xyXG4gIC8vIGVuYWJsaW5nIGZhbmN5IGxpZ2F0dXJlcyB3aGVuIGF2YWlsYWJsZVxyXG4gIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxpZ2FcIiwgXCJkbGlnXCI7XHJcbiAgIC1tb3otZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxpZ2E9MSwgZGxpZz0xXCI7XHJcbiAgICAgIC1tcy1mb250LWZlYXR1cmUtc2V0dGluZ3M6IFwibGlnYVwiLCBcImRsaWdcIjtcclxuICAgICAgIC1vLWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsaWdhXCIsIFwiZGxpZ1wiO1xyXG4gICAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcImxpZ2FcIiwgXCJkbGlnXCI7Ki9cclxufVxyXG5cclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKlxyXG5DT0xPUiBGVU5DVElPTlNcclxuVGhlc2UgYXJlIGhlbHBmdWwgd2hlbiB5b3UncmUgd29ya2luZ1xyXG53aXRoIHNoYWRvd3MgYW5kIHN1Y2ggdGhpbmdzLiBJdCdzIGVzc2VudGlhbGx5XHJcbmEgcXVpY2tlciB3YXkgdG8gd3JpdGUgUkdCQS5cclxuXHJcbkV4YW1wbGU6XHJcbmJveC1zaGFkb3c6IDAgMCA0cHggYmxhY2soMC4zKTtcclxuY29tcGlsZXMgdG86XHJcbmJveC1zaGFkb3c6IDAgMCA0cHggcmdiYSgwLDAsMCwwLjMpO1xyXG4qKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vLyBibGFja1xyXG5AZnVuY3Rpb24gYmxhY2soJG9wYWNpdHkpIHtcclxuICBAcmV0dXJuIHJnYmEoMCwgMCwgMCwgJG9wYWNpdHkpO1xyXG59XHJcblxyXG4vLyB3aGl0ZVxyXG5AZnVuY3Rpb24gd2hpdGUoJG9wYWNpdHkpIHtcclxuICBAcmV0dXJuIHJnYmEoMjU1LCAyNTUsIDI1NSwgJG9wYWNpdHkpO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcblJFU1BPTlNJVkUgSEVMUEVSIEZVTkNUSU9OXHJcbklmIHlvdSdyZSBjcmVhdGluZyBhIHJlc3BvbnNpdmUgc2l0ZSwgdGhlblxyXG55b3UndmUgcHJvYmFibHkgYWxyZWFkeSByZWFkXHJcblJlc3BvbnNpdmUgV2ViIERlc2lnbjogaHR0cDovL3d3dy5hYm9va2FwYXJ0LmNvbS9wcm9kdWN0cy9yZXNwb25zaXZlLXdlYi1kZXNpZ25cclxuXHJcbkhlcmUncyBhIG5pY2UgbGl0dGxlIGhlbHBlciBmdW5jdGlvbiBmb3IgY2FsY3VsYXRpbmdcclxudGFyZ2V0IC8gY29udGV4dFxyXG5hcyBtZW50aW9uZWQgaW4gdGhhdCBib29rLlxyXG5cclxuRXhhbXBsZTpcclxud2lkdGg6IGNwKDY1MHB4LCAxMDAwcHgpO1xyXG5vclxyXG53aWR0aDogY2FsYy1wZXJjZW50KDY1MHB4LCAxMDAwcHgpO1xyXG5ib3RoIGNvbXBpbGUgdG86XHJcbndpZHRoOiA2NSU7XHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbkBmdW5jdGlvbiBjYWxjLXBlcmNlbnQoJHRhcmdldCwgJGNvbnRhaW5lcikge1xyXG4gIEByZXR1cm4gKCR0YXJnZXQgLyAkY29udGFpbmVyKSAqIDEwMCU7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBjcCgkdGFyZ2V0LCAkY29udGFpbmVyKSB7XHJcbiAgQHJldHVybiBjYWxjLXBlcmNlbnQoJHRhcmdldCwgJGNvbnRhaW5lcik7XHJcbn1cclxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcblRSQU5TSVRJT05cclxuKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLypcclxuSSB0b3RhbGx5IHJld3JvdGUgdGhpcyB0byBiZSBjbGVhbmVyIGFuZCBlYXNpZXIgdG8gdXNlLlxyXG5Zb3UnbGwgbmVlZCB0byBiZSB1c2luZyBTYXNzIDMuMisgZm9yIHRoZXNlIHRvIHdvcmsuXHJcblRoYW5rcyB0byBAYW50aG9ueXNob3J0IGZvciB0aGUgaW5zcGlyYXRpb24gb24gdGhlc2UuXHJcblVTQUdFOiBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UtaW4tb3V0KTtcclxuKi9cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XHJcbiAgLy8gZGVmaW5pbmcgcHJlZml4ZXMgc28gd2UgY2FuIHVzZSB0aGVtIGluIG1peGlucyBiZWxvd1xyXG4gICRwcmVmaXhlczogKFwiLXdlYmtpdC1cIiwgXCJcIik7XHJcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xyXG4gICAgI3skcHJlZml4fXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xyXG4gIH1cclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5DU1MzIEdSQURJRU5UU1xyXG5CZSBjYXJlZnVsIHdpdGggdGhlc2Ugc2luY2UgdGhleSBjYW5cclxucmVhbGx5IHNsb3cgZG93biB5b3VyIENTUy4gRG9uJ3Qgb3ZlcmRvIGl0LlxyXG4qKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKiBAaW5jbHVkZSBjc3MtZ3JhZGllbnQoI2RmZGZkZiwjZjhmOGY4KTsgKi9cclxuQG1peGluIGNzcy1ncmFkaWVudCgkZnJvbTogI2RmZGZkZiwgJHRvOiAjZjhmOGY4KSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oJGZyb20pLCB0bygkdG8pKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tLCAkdG8pO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb20sICR0byk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb20sICR0byk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGZyb20sICR0byk7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKipcclxuQk9YIFNJWklOR1xyXG4qKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKiBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpOyAqL1xyXG4vKiBOT1RFOiB2YWx1ZSBvZiBcInBhZGRpbmctYm94XCIgaXMgb25seSBzdXBwb3J0ZWQgaW4gR2Vja28uIFNvXHJcbnByb2JhYmx5IGJlc3Qgbm90IHRvIHVzZSBpdC4gSSBtZWFuLCB3ZXJlIHlvdSBnb2luZyB0byBhbnl3YXk/ICovXHJcbkBtaXhpbiBib3gtc2l6aW5nKCR0eXBlOiBib3JkZXItYm94KSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkdHlwZTtcclxuICAtbW96LWJveC1zaXppbmc6ICR0eXBlO1xyXG4gIC1tcy1ib3gtc2l6aW5nOiAkdHlwZTtcclxuICBib3gtc2l6aW5nOiAkdHlwZTtcclxufVxyXG5cclxuLy9Qc2V1ZG9cclxuXHJcbkBtaXhpbiBwc2V1ZG8oJGRpc3BsYXk6IGJsb2NrLCAkcG9zOiBhYnNvbHV0ZSwgJGNvbnRlbnQ6ICcnKSB7XHJcbiAgY29udGVudDogJGNvbnRlbnQ7XHJcbiAgZGlzcGxheTogJGRpc3BsYXk7XHJcbiAgcG9zaXRpb246ICRwb3M7XHJcbn1cclxuXHJcbi8vUGxhY2Vob2xkZXJzXHJcblxyXG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICYucGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vL0BpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjogJGdyZXk7fVxyXG5cclxuLy9Cb3JkZXIgcmFkaXVzXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIC1tcy1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbi8vQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xyXG5cclxuLy9SZXNldCB1bC9vbFxyXG5AbWl4aW4gbGlzdC1udWxsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgLy9tYXJnaW46IDA7XHJcbn1cclxuXHJcbi8vRm9udCBzaXplXHJcbiRicm93c2VyLWNvbnRleHQ6IDE2OyAvKiBEZWZhdWx0Ki9cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAkYnJvd3Nlci1jb250ZXh0KSB7XHJcbiAgQHJldHVybiAje21hdGguZGl2KCRwaXhlbHMsICRjb250ZXh0KX1lbTtcclxufVxyXG5cclxuLy8gZm9udC1zaXplOiBlbSg3Mik7XHJcblxyXG4vL1RyYW5zaXRpb25zXHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1wcm9wZXJ0eSwgJHRyYW5zaXRpb24tdGltZSwgJG1ldGhvZCkge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tcHJvcGVydHkgJHRyYW5zaXRpb24tdGltZSAkbWV0aG9kO1xyXG4gIC1tb3otdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tcHJvcGVydHkgJHRyYW5zaXRpb24tdGltZSAkbWV0aG9kO1xyXG4gIC1tcy10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1wcm9wZXJ0eSAkdHJhbnNpdGlvbi10aW1lICRtZXRob2Q7XHJcbiAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tcHJvcGVydHkgJHRyYW5zaXRpb24tdGltZSAkbWV0aG9kO1xyXG4gIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLXByb3BlcnR5ICR0cmFuc2l0aW9uLXRpbWUgJG1ldGhvZDtcclxufVxyXG5cclxuLy8gQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwsIDAuMnMsIGVhc2UtaW4tb3V0KTtcclxuXHJcbi8vYm94IHNoYWRvd1xyXG5AbWl4aW4gYm94LXNoYWRvdygkc2hhZG93KSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gIC1tb3otYm94LXNoYWRvdzogJHNoYWRvdztcclxuICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG59XHJcblxyXG4vL1RyYW5zZm9ybSBNaXhpbnNcclxuXHJcbi8vIEJyb3dzZXIgUHJlZml4ZXNcclxuQG1peGluIHRyYW5zZm9ybSgkdHJhbnNmb3Jtcykge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxuICAtbW96LXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgLW1zLXRyYW5zZm9ybTogJHRyYW5zZm9ybXM7XHJcbiAgdHJhbnNmb3JtOiAkdHJhbnNmb3JtcztcclxufVxyXG5cclxuLy8gUm90YXRlXHJcbkBtaXhpbiByb3RhdGUoJGRlZykge1xyXG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoI3skZGVnfWRlZykpO1xyXG59XHJcblxyXG4vLyBTY2FsZVxyXG5AbWl4aW4gc2NhbGUoJHNjYWxlKSB7XHJcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKCRzY2FsZSkpO1xyXG59XHJcblxyXG4vLyBUcmFuc2xhdGVcclxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcclxuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlKCR4LCAkeSkpO1xyXG59XHJcblxyXG4vLyBTa2V3XHJcbkBtaXhpbiBza2V3KCR4LCAkeSkge1xyXG4gIEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xyXG59XHJcblxyXG4vLyBUcmFuc2Zvcm0gT3JpZ2luXHJcbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XHJcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XHJcbn1cclxuXHJcbi8vQ2lyY2xlXHJcbkBtaXhpbiBjaXJjbGUoJHdpZHRoLCAkY29sb3IpIHtcclxuICB3aWR0aDogJHdpZHRoO1xyXG4gIGhlaWdodDogJHdpZHRoO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi8vUG9zaXRpb24gYWJzb2x1dGVcclxuQG1peGluIGFic1Bvc2l0aW9uKCR0b3A6IGF1dG8sICRyaWdodDogYXV0bywgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIHJpZ2h0OiAkcmlnaHQ7XHJcbiAgYm90dG9tOiAkYm90dG9tO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuIiwiXHJcbi5mbGV4IHtcclxuICBAaW5jbHVkZSBmbGV4Ym94O1xyXG59XHJcblxyXG5bY2xhc3MqPVwiZmxleFwiXSB7XHJcbiAgd2lkdGg6IDEwMCVcclxufVxyXG5cclxuW2NsYXNzKj1cImZsZXhcIl0uZmxleC0td3JhcCB7XHJcbiAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApXHJcbn1cclxuXHJcbltjbGFzcyo9XCJmbGV4XCJdLmZsZXgtLWNvbnRlbnQtdmVydGljYWwtY2VudGVyIHtcclxuICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpXHJcbn1cclxuXHJcbltjbGFzcyo9XCJmbGV4XCJdLmZsZXgtLWNvbnRlbnQtY2VudGVyIHtcclxuICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQoY2VudGVyKVxyXG59XHJcblxyXG5bY2xhc3MqPVwiZmxleFwiXS5mbGV4LS1jb250ZW50LXNwYWNlLWJldHdlZW4ge1xyXG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudChzcGFjZS1iZXR3ZWVuKVxyXG59XHJcblxyXG5bY2xhc3MqPVwiZmxleFwiXS5mbGV4LS1jb250ZW50LXNwYWNlLWFyb3VuZCB7XHJcbiAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50KHNwYWNlLWFyb3VuZClcclxufVxyXG5cclxuW2NsYXNzKj1cIm1heC1cIl0ge1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLm1heC00NjAge1xyXG4gIG1heC13aWR0aDogNDYwcHhcclxufVxyXG5cclxuLm1heC01NDAge1xyXG4gIG1heC13aWR0aDogNTQwcHhcclxufVxyXG5cclxuLm1heC03ODAge1xyXG4gIG1heC13aWR0aDogNzgwcHhcclxufVxyXG5cclxuLypcclxuLnBhZGRlZC10Yjgwe3BhZGRpbmc6IDQwcHggMDt9XHJcbi5wYWRkZWQtdGI2MHtwYWRkaW5nOiAzMHB4IDA7fVxyXG4ucGFkZGVkLXQ2MHtwYWRkaW5nLXRvcDogMzBweDt9XHJcbi5wYWRkZWQtdDcwe3BhZGRpbmctdG9wOiAzNXB4O31cclxuLnBhZGRlZC10ODB7cGFkZGluZy10b3A6IDQwcHg7fVxyXG4ucGFkZGVkLWI4MHtwYWRkaW5nLWJvdHRvbTogNDBweDt9XHJcbi5wYWRkZWQtdGIxMDB7cGFkZGluZzogNTBweCAwO31cclxuLnBhZGRlZC10MTAwe3BhZGRpbmctdG9wOiA1MHB4O31cclxuLnBhZGRlZC1iMTAwe3BhZGRpbmctYm90dG9tOiA1MHB4O31cclxuLnBhZGRlZC1iMTUwe3BhZGRpbmctYm90dG9tOiA3NXB4O31cclxuLm1iLTEwMHttYXJnaW4tYm90dG9tOiA1MHB4O31cclxuKltjbGFzcyo9XCJwYWRkZWQtdFwiXSA+IC53cmFwID4gKjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOiAwO3BhZGRpbmctdG9wOiAwO31cclxuKltjbGFzcyo9XCJwYWRkZWQtYlwiXSA+IC53cmFwID4gKjpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206IDA7cGFkZGluZy1ib3R0b206IDA7fVxyXG4udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjogY2VudGVyO31cclxuLnRleHQtcmlnaHR7dGV4dC1hbGlnbjogcmlnaHQ7fVxyXG5cclxuKi9cclxuXHJcbi8qXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMDI0cHgpIHtcclxuLnBhZGRlZC10Yjgwe3BhZGRpbmc6IDgwcHggMDt9XHJcbi5wYWRkZWQtdGI2MHtwYWRkaW5nOiA2MHB4IDA7fVxyXG4ucGFkZGVkLXQ2MHtwYWRkaW5nLXRvcDogNjBweDt9XHJcbi5wYWRkZWQtdDcwe3BhZGRpbmctdG9wOiA3MHB4O31cclxuLnBhZGRlZC10ODB7cGFkZGluZy10b3A6IDgwcHg7fVxyXG4ucGFkZGVkLWI4MHtwYWRkaW5nLWJvdHRvbTogODBweDt9XHJcbi5wYWRkZWQtdGIxMDB7cGFkZGluZzogMTAwcHggMDt9XHJcbi5wYWRkZWQtdDEwMHtwYWRkaW5nLXRvcDogMTAwcHg7fVxyXG4ucGFkZGVkLWIxMDB7cGFkZGluZy1ib3R0b206IDEwMHB4O31cclxuLnBhZGRlZC1iMTUwe3BhZGRpbmctYm90dG9tOiAxNTBweDt9XHJcbi5tYi0xMDB7bWFyZ2luLWJvdHRvbTogMTAwcHg7fVxyXG59XHJcbiovIiwiLy8gRmxleGJveCBNaXhpbnNcclxuLy8gaHR0cDovL3BoaWxpcHdhbHRvbi5naXRodWIuaW8vc29sdmVkLWJ5LWZsZXhib3gvXHJcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vc29sdmVkLWJ5LWZsZXhib3hcclxuLy8gXHJcbi8vIENvcHlyaWdodCAoYykgMjAxMyBCcmlhbiBGcmFuY29cclxuLy9cclxuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcclxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxyXG4vLyBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmdcclxuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxyXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG9cclxuLy8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvXHJcbi8vIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcclxuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWRcclxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXHJcbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1NcclxuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxyXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuXHJcbi8vIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZXHJcbi8vIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsXHJcbi8vIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFXHJcbi8vIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxyXG4vL1xyXG4vLyBUaGlzIGlzIGEgc2V0IG9mIG1peGlucyBmb3IgdGhvc2Ugd2hvIHdhbnQgdG8gbWVzcyBhcm91bmQgd2l0aCBmbGV4Ym94XHJcbi8vIHVzaW5nIHRoZSBuYXRpdmUgc3VwcG9ydCBvZiBjdXJyZW50IGJyb3dzZXJzLiBGb3IgZnVsbCBzdXBwb3J0IHRhYmxlXHJcbi8vIGNoZWNrOiBodHRwOi8vY2FuaXVzZS5jb20vZmxleGJveFxyXG4vL1xyXG4vLyBCYXNpY2FsbHkgdGhpcyB3aWxsIHVzZTpcclxuLy9cclxuLy8gKiBGYWxsYmFjaywgb2xkIHN5bnRheCAoSUUxMCwgbW9iaWxlIHdlYmtpdCBicm93c2VycyAtIG5vIHdyYXBwaW5nKVxyXG4vLyAqIEZpbmFsIHN0YW5kYXJkcyBzeW50YXggKEZGLCBTYWZhcmksIENocm9tZSwgSUUxMSwgT3BlcmEpXHJcbi8vXHJcbi8vIFRoaXMgd2FzIGluc3BpcmVkIGJ5OlxyXG4vLyBcclxuLy8gKiBodHRwOi8vZGV2Lm9wZXJhLmNvbS9hcnRpY2xlcy92aWV3L2FkdmFuY2VkLWNyb3NzLWJyb3dzZXItZmxleGJveC9cclxuLy8gXHJcbi8vIFdpdGggaGVscCBmcm9tOlxyXG4vLyBcclxuLy8gKiBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC9cclxuLy8gKiBodHRwOi8vdGhlLWVjaG9wbGV4Lm5ldC9mbGV4eWJveGVzL1xyXG4vLyAqIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9pZS9oaDc3MjA2OSh2PXZzLjg1KS5hc3B4XHJcbi8vICogaHR0cDovL2Nzcy10cmlja3MuY29tL3VzaW5nLWZsZXhib3gvXHJcbi8vICogaHR0cDovL2Rldi5vcGVyYS5jb20vYXJ0aWNsZXMvdmlldy9hZHZhbmNlZC1jcm9zcy1icm93c2VyLWZsZXhib3gvXHJcbi8vICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tdXMvZG9jcy93ZWIvZ3VpZGUvY3NzL2ZsZXhpYmxlX2JveGVzXHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggQ29udGFpbmVyc1xyXG4vL1xyXG4vLyBUaGUgJ2ZsZXgnIHZhbHVlIGNhdXNlcyBhbiBlbGVtZW50IHRvIGdlbmVyYXRlIGEgYmxvY2stbGV2ZWwgZmxleFxyXG4vLyBjb250YWluZXIgYm94LlxyXG4vL1xyXG4vLyBUaGUgJ2lubGluZS1mbGV4JyB2YWx1ZSBjYXVzZXMgYW4gZWxlbWVudCB0byBnZW5lcmF0ZSBhIGlubGluZS1sZXZlbFxyXG4vLyBmbGV4IGNvbnRhaW5lciBib3guIFxyXG4vL1xyXG4vLyBkaXNwbGF5OiBmbGV4IHwgaW5saW5lLWZsZXhcclxuLy9cclxuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtY29udGFpbmVyc1xyXG4vL1xyXG4vLyAoUGxhY2Vob2xkZXIgc2VsZWN0b3JzIGZvciBlYWNoIHR5cGUsIGZvciB0aG9zZSB3aG8gcmF0aGVyIEBleHRlbmQpXHJcblxyXG5AbWl4aW4gZmxleGJveCB7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tb3otZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4lZmxleGJveCB7XHJcbiAgQGluY2x1ZGUgZmxleGJveDtcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5AbWl4aW4gaW5saW5lLWZsZXgge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcclxuICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tb3otaW5saW5lLWZsZXg7XHJcbiAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG59XHJcblxyXG4laW5saW5lLWZsZXgge1xyXG4gIEBpbmNsdWRlIGlubGluZS1mbGV4O1xyXG59XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggRGlyZWN0aW9uXHJcbi8vXHJcbi8vIFRoZSAnZmxleC1kaXJlY3Rpb24nIHByb3BlcnR5IHNwZWNpZmllcyBob3cgZmxleCBpdGVtcyBhcmUgcGxhY2VkIGluXHJcbi8vIHRoZSBmbGV4IGNvbnRhaW5lciwgYnkgc2V0dGluZyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBmbGV4IGNvbnRhaW5lcidzXHJcbi8vIG1haW4gYXhpcy4gVGhpcyBkZXRlcm1pbmVzIHRoZSBkaXJlY3Rpb24gdGhhdCBmbGV4IGl0ZW1zIGFyZSBsYWlkIG91dCBpbi4gXHJcbi8vXHJcbi8vIFZhbHVlczogcm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxyXG4vLyBEZWZhdWx0OiByb3dcclxuLy9cclxuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2ZsZXgtZGlyZWN0aW9uLXByb3BlcnR5XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJHZhbHVlOiByb3cpIHtcclxuICBAaWYgJHZhbHVlID09IHJvdy1yZXZlcnNlIHtcclxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xyXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGNvbHVtbi1yZXZlcnNlIHtcclxuICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogcmV2ZXJzZTtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcclxuICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcclxuICB9XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG4gIC1tb3otZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICAtbXMtZmxleC1kaXJlY3Rpb246ICR2YWx1ZTtcclxuICBmbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xyXG59XHJcblxyXG4vLyBTaG9ydGVyIHZlcnNpb246XHJcbkBtaXhpbiBmbGV4LWRpcigkYXJncy4uLikge1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRhcmdzLi4uKTtcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IFdyYXBcclxuLy9cclxuLy8gVGhlICdmbGV4LXdyYXAnIHByb3BlcnR5IGNvbnRyb2xzIHdoZXRoZXIgdGhlIGZsZXggY29udGFpbmVyIGlzIHNpbmdsZS1saW5lXHJcbi8vIG9yIG11bHRpLWxpbmUsIGFuZCB0aGUgZGlyZWN0aW9uIG9mIHRoZSBjcm9zcy1heGlzLCB3aGljaCBkZXRlcm1pbmVzXHJcbi8vIHRoZSBkaXJlY3Rpb24gbmV3IGxpbmVzIGFyZSBzdGFja2VkIGluLiBcclxuLy9cclxuLy8gVmFsdWVzOiBub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlXHJcbi8vIERlZmF1bHQ6IG5vd3JhcFxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC13cmFwLXByb3BlcnR5XHJcblxyXG5AbWl4aW4gZmxleC13cmFwKCR2YWx1ZTogbm93cmFwKSB7XHJcbiAgLy8gTm8gV2Via2l0IEJveCBmYWxsYmFjay5cclxuICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gIC1tb3otZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xyXG4gICAgLW1zLWZsZXgtd3JhcDogbm9uZTtcclxuICB9IEBlbHNlIHtcclxuICAgIC1tcy1mbGV4LXdyYXA6ICR2YWx1ZTtcclxuICB9XHJcbiAgZmxleC13cmFwOiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRmxleGJveCBGbG93IChzaG9ydGhhbmQpXHJcbi8vXHJcbi8vIFRoZSAnZmxleC1mbG93JyBwcm9wZXJ0eSBpcyBhIHNob3J0aGFuZCBmb3Igc2V0dGluZyB0aGUgJ2ZsZXgtZGlyZWN0aW9uJ1xyXG4vLyBhbmQgJ2ZsZXgtd3JhcCcgcHJvcGVydGllcywgd2hpY2ggdG9nZXRoZXIgZGVmaW5lIHRoZSBmbGV4IGNvbnRhaW5lcidzXHJcbi8vIG1haW4gYW5kIGNyb3NzIGF4ZXMuXHJcbi8vXHJcbi8vIFZhbHVlczogPGZsZXgtZGlyZWN0aW9uPiB8IDxmbGV4LXdyYXA+IFxyXG4vLyBEZWZhdWx0OiByb3cgbm93cmFwXHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LWZsb3ctcHJvcGVydHlcclxuXHJcbkBtaXhpbiBmbGV4LWZsb3coJHZhbHVlczogKHJvdyBub3dyYXApKSB7XHJcbiAgLy8gTm8gV2Via2l0IEJveCBmYWxsYmFjay5cclxuICAtd2Via2l0LWZsZXgtZmxvdzogJHZhbHVlcztcclxuICAtbW96LWZsZXgtZmxvdzogJHZhbHVlcztcclxuICAtbXMtZmxleC1mbG93OiAkdmFsdWVzO1xyXG4gIGZsZXgtZmxvdzogJHZhbHVlcztcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBGbGV4Ym94IE9yZGVyXHJcbi8vXHJcbi8vIFRoZSAnb3JkZXInIHByb3BlcnR5IGNvbnRyb2xzIHRoZSBvcmRlciBpbiB3aGljaCBmbGV4IGl0ZW1zIGFwcGVhciB3aXRoaW5cclxuLy8gdGhlaXIgZmxleCBjb250YWluZXIsIGJ5IGFzc2lnbmluZyB0aGVtIHRvIG9yZGluYWwgZ3JvdXBzLlxyXG4vL1xyXG4vLyBEZWZhdWx0OiAwXHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNvcmRlci1wcm9wZXJ0eVxyXG5cclxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcclxuICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAkaW50ICsgMTtcclxuICAtd2Via2l0LW9yZGVyOiAkaW50O1xyXG4gIC1tb3otb3JkZXI6ICRpbnQ7XHJcbiAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XHJcbiAgb3JkZXI6ICRpbnQ7XHJcbn1cclxuXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRmxleGJveCBHcm93XHJcbi8vXHJcbi8vIFRoZSAnZmxleC1ncm93JyBwcm9wZXJ0eSBzZXRzIHRoZSBmbGV4IGdyb3cgZmFjdG9yLiBOZWdhdGl2ZSBudW1iZXJzXHJcbi8vIGFyZSBpbnZhbGlkLlxyXG4vL1xyXG4vLyBEZWZhdWx0OiAwXHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LWdyb3ctcHJvcGVydHlcclxuXHJcbkBtaXhpbiBmbGV4LWdyb3coJGludDogMCkge1xyXG4gIC13ZWJraXQtYm94LWZsZXg6ICRpbnQ7XHJcbiAgLXdlYmtpdC1mbGV4LWdyb3c6ICRpbnQ7XHJcbiAgLW1vei1mbGV4LWdyb3c6ICRpbnQ7XHJcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRpbnQ7XHJcbiAgZmxleC1ncm93OiAkaW50O1xyXG59XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggU2hyaW5rXHJcbi8vXHJcbi8vIFRoZSAnZmxleC1zaHJpbmsnIHByb3BlcnR5IHNldHMgdGhlIGZsZXggc2hyaW5rIGZhY3Rvci4gTmVnYXRpdmUgbnVtYmVyc1xyXG4vLyBhcmUgaW52YWxpZC5cclxuLy9cclxuLy8gRGVmYXVsdDogMVxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8jZmxleC1zaHJpbmstcHJvcGVydHlcclxuXHJcbkBtaXhpbiBmbGV4LXNocmluaygkaW50OiAxKSB7XHJcbiAgLXdlYmtpdC1mbGV4LXNocmluazogJGludDtcclxuICAtbW96LWZsZXgtc2hyaW5rOiAkaW50O1xyXG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkaW50O1xyXG4gIGZsZXgtc2hyaW5rOiAkaW50O1xyXG59XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggQmFzaXNcclxuLy9cclxuLy8gVGhlICdmbGV4LWJhc2lzJyBwcm9wZXJ0eSBzZXRzIHRoZSBmbGV4IGJhc2lzLiBOZWdhdGl2ZSBsZW5ndGhzIGFyZSBpbnZhbGlkLiBcclxuLy9cclxuLy8gVmFsdWVzOiBMaWtlIFwid2lkdGhcIiBcclxuLy8gRGVmYXVsdDogYXV0b1xyXG4vL1xyXG4vLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2ZsZXgtYmFzaXMtcHJvcGVydHlcclxuXHJcbkBtaXhpbiBmbGV4LWJhc2lzKCR2YWx1ZTogYXV0bykge1xyXG4gIC13ZWJraXQtZmxleC1iYXNpczogJHZhbHVlO1xyXG4gIC1tb3otZmxleC1iYXNpczogJHZhbHVlO1xyXG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkdmFsdWU7XHJcbiAgZmxleC1iYXNpczogJHZhbHVlO1xyXG59XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggXCJGbGV4XCIgKHNob3J0aGFuZClcclxuLy9cclxuLy8gVGhlICdmbGV4JyBwcm9wZXJ0eSBzcGVjaWZpZXMgdGhlIGNvbXBvbmVudHMgb2YgYSBmbGV4aWJsZSBsZW5ndGg6IHRoZVxyXG4vLyBmbGV4IGdyb3cgZmFjdG9yIGFuZCBmbGV4IHNocmluayBmYWN0b3IsIGFuZCB0aGUgZmxleCBiYXNpcy4gV2hlbiBhblxyXG4vLyBlbGVtZW50IGlzIGEgZmxleCBpdGVtLCAnZmxleCcgaXMgY29uc3VsdGVkIGluc3RlYWQgb2YgdGhlIG1haW4gc2l6ZVxyXG4vLyBwcm9wZXJ0eSB0byBkZXRlcm1pbmUgdGhlIG1haW4gc2l6ZSBvZiB0aGUgZWxlbWVudC4gSWYgYW4gZWxlbWVudCBpc1xyXG4vLyBub3QgYSBmbGV4IGl0ZW0sICdmbGV4JyBoYXMgbm8gZWZmZWN0LlxyXG4vL1xyXG4vLyBWYWx1ZXM6IG5vbmUgfCA8ZmxleC1ncm93PiA8ZmxleC1zaHJpbms+IHx8IDxmbGV4LWJhc2lzPlxyXG4vLyBEZWZhdWx0OiBTZWUgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzICgxIDEgMCkuXHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNmbGV4LXByb3BlcnR5XHJcblxyXG5AbWl4aW4gZmxleCgkZmc6IDEsICRmczogbnVsbCwgJGZiOiBudWxsKSB7XHJcblxyXG4gIC8vIFNldCBhIHZhcmlhYmxlIHRvIGJlIHVzZWQgYnkgYm94LWZsZXggcHJvcGVydGllc1xyXG4gICRmZy1ib3hmbGV4OiAkZmc7XHJcblxyXG4gIC8vIEJveC1GbGV4IG9ubHkgc3VwcG9ydHMgYSBmbGV4LWdyb3cgdmFsdWUgc28gbGV0J3MgZ3JhYiB0aGVcclxuICAvLyBmaXJzdCBpdGVtIGluIHRoZSBsaXN0IGFuZCBqdXN0IHJldHVybiB0aGF0LlxyXG4gIEBpZiB0eXBlLW9mKCRmZykgPT0gJ2xpc3QnIHtcclxuICAgICRmZy1ib3hmbGV4OiBudGgoJGZnLCAxKTtcclxuICB9XHJcblxyXG4gIC13ZWJraXQtYm94LWZsZXg6ICRmZy1ib3hmbGV4O1xyXG4gIC13ZWJraXQtZmxleDogJGZnICRmcyAkZmI7XHJcbiAgLW1vei1ib3gtZmxleDogJGZnLWJveGZsZXg7XHJcbiAgLW1vei1mbGV4OiAkZmcgJGZzICRmYjtcclxuICAtbXMtZmxleDogJGZnICRmcyAkZmI7XHJcbiAgZmxleDogJGZnICRmcyAkZmI7XHJcbn1cclxuXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRmxleGJveCBKdXN0aWZ5IENvbnRlbnRcclxuLy9cclxuLy8gVGhlICdqdXN0aWZ5LWNvbnRlbnQnIHByb3BlcnR5IGFsaWducyBmbGV4IGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXNcclxuLy8gb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXIuIFRoaXMgaXMgZG9uZSBhZnRlciBhbnkgZmxleGlibGVcclxuLy8gbGVuZ3RocyBhbmQgYW55IGF1dG8gbWFyZ2lucyBoYXZlIGJlZW4gcmVzb2x2ZWQuIFR5cGljYWxseSBpdCBoZWxwcyBkaXN0cmlidXRlXHJcbi8vIGV4dHJhIGZyZWUgc3BhY2UgbGVmdG92ZXIgd2hlbiBlaXRoZXIgYWxsIHRoZSBmbGV4IGl0ZW1zIG9uIGEgbGluZSBhcmVcclxuLy8gaW5mbGV4aWJsZSwgb3IgYXJlIGZsZXhpYmxlIGJ1dCBoYXZlIHJlYWNoZWQgdGhlaXIgbWF4aW11bSBzaXplLiBJdCBhbHNvXHJcbi8vIGV4ZXJ0cyBzb21lIGNvbnRyb2wgb3ZlciB0aGUgYWxpZ25tZW50IG9mIGl0ZW1zIHdoZW4gdGhleSBvdmVyZmxvdyB0aGUgbGluZS5cclxuLy9cclxuLy8gTm90ZTogJ3NwYWNlLSonIHZhbHVlcyBub3Qgc3VwcG9ydGVkIGluIG9sZGVyIHN5bnRheGVzLlxyXG4vL1xyXG4vLyBWYWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmRcclxuLy8gRGVmYXVsdDogZmxleC1zdGFydFxyXG4vL1xyXG4vLyBodHRwOi8vdzMub3JnL3RyL2NzczMtZmxleGJveC8janVzdGlmeS1jb250ZW50LXByb3BlcnR5XHJcblxyXG5AbWl4aW4ganVzdGlmeS1jb250ZW50KCR2YWx1ZTogZmxleC1zdGFydCkge1xyXG4gIEBpZiAkdmFsdWUgPT0gZmxleC1zdGFydCB7XHJcbiAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcclxuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IGZsZXgtZW5kIHtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcclxuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcclxuICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBzcGFjZS1iZXR3ZWVuIHtcclxuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xyXG4gIH0gQGVsc2UgaWYgJHZhbHVlID09IHNwYWNlLWFyb3VuZCB7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgLXdlYmtpdC1ib3gtcGFjazogJHZhbHVlO1xyXG4gICAgLW1zLWZsZXgtcGFjazogJHZhbHVlO1xyXG4gIH1cclxuICAtd2Via2l0LWp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gIC1tb3otanVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vIFNob3J0ZXIgdmVyc2lvbjpcclxuQG1peGluIGZsZXgtanVzdCgkYXJncy4uLikge1xyXG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudCgkYXJncy4uLik7XHJcbn1cclxuXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRmxleGJveCBBbGlnbiBJdGVtc1xyXG4vL1xyXG4vLyBGbGV4IGl0ZW1zIGNhbiBiZSBhbGlnbmVkIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlXHJcbi8vIGZsZXggY29udGFpbmVyLCBzaW1pbGFyIHRvICdqdXN0aWZ5LWNvbnRlbnQnIGJ1dCBpbiB0aGUgcGVycGVuZGljdWxhclxyXG4vLyBkaXJlY3Rpb24uICdhbGlnbi1pdGVtcycgc2V0cyB0aGUgZGVmYXVsdCBhbGlnbm1lbnQgZm9yIGFsbCBvZiB0aGUgZmxleFxyXG4vLyBjb250YWluZXIncyBpdGVtcywgaW5jbHVkaW5nIGFub255bW91cyBmbGV4IGl0ZW1zLiAnYWxpZ24tc2VsZicgYWxsb3dzXHJcbi8vIHRoaXMgZGVmYXVsdCBhbGlnbm1lbnQgdG8gYmUgb3ZlcnJpZGRlbiBmb3IgaW5kaXZpZHVhbCBmbGV4IGl0ZW1zLiAoRm9yXHJcbi8vIGFub255bW91cyBmbGV4IGl0ZW1zLCAnYWxpZ24tc2VsZicgYWx3YXlzIG1hdGNoZXMgdGhlIHZhbHVlIG9mICdhbGlnbi1pdGVtcydcclxuLy8gb24gdGhlaXIgYXNzb2NpYXRlZCBmbGV4IGNvbnRhaW5lci4pIFxyXG4vL1xyXG4vLyBWYWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaFxyXG4vLyBEZWZhdWx0OiBzdHJldGNoXHJcbi8vXHJcbi8vIGh0dHA6Ly93My5vcmcvdHIvY3NzMy1mbGV4Ym94LyNhbGlnbi1pdGVtcy1wcm9wZXJ0eVxyXG5cclxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xyXG4gIEBpZiAkdmFsdWUgPT0gZmxleC1zdGFydCB7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XHJcbiAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gZmxleC1lbmQge1xyXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogJHZhbHVlO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246ICR2YWx1ZTtcclxuICB9XHJcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gIC1tb3otYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxuICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG59XHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZsZXhib3ggQWxpZ24gU2VsZlxyXG4vL1xyXG4vLyBWYWx1ZXM6IGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcclxuLy8gRGVmYXVsdDogYXV0b1xyXG5cclxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XHJcbiAgLy8gTm8gV2Via2l0IEJveCBGYWxsYmFjay5cclxuICAtd2Via2l0LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICAtbW96LWFsaWduLXNlbGY6ICR2YWx1ZTtcclxuICBAaWYgJHZhbHVlID09IGZsZXgtc3RhcnQge1xyXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gZmxleC1lbmQge1xyXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJHZhbHVlO1xyXG4gIH1cclxuICBhbGlnbi1zZWxmOiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRmxleGJveCBBbGlnbiBDb250ZW50XHJcbi8vXHJcbi8vIFRoZSAnYWxpZ24tY29udGVudCcgcHJvcGVydHkgYWxpZ25zIGEgZmxleCBjb250YWluZXIncyBsaW5lcyB3aXRoaW4gdGhlXHJcbi8vIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXMsIHNpbWlsYXIgdG9cclxuLy8gaG93ICdqdXN0aWZ5LWNvbnRlbnQnIGFsaWducyBpbmRpdmlkdWFsIGl0ZW1zIHdpdGhpbiB0aGUgbWFpbi1heGlzLiBOb3RlLFxyXG4vLyB0aGlzIHByb3BlcnR5IGhhcyBubyBlZmZlY3Qgd2hlbiB0aGUgZmxleGJveCBoYXMgb25seSBhIHNpbmdsZSBsaW5lLlxyXG4vL1xyXG4vLyBWYWx1ZXM6IGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmQgfCBzdHJldGNoXHJcbi8vIERlZmF1bHQ6IHN0cmV0Y2hcclxuLy9cclxuLy8gaHR0cDovL3czLm9yZy90ci9jc3MzLWZsZXhib3gvI2FsaWduLWNvbnRlbnQtcHJvcGVydHlcclxuXHJcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xyXG4gIC8vIE5vIFdlYmtpdCBCb3ggRmFsbGJhY2suXHJcbiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgLW1vei1hbGlnbi1jb250ZW50OiAkdmFsdWU7XHJcbiAgQGlmICR2YWx1ZSA9PSBmbGV4LXN0YXJ0IHtcclxuICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XHJcbiAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gZmxleC1lbmQge1xyXG4gICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQ7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAtbXMtZmxleC1saW5lLXBhY2s6ICR2YWx1ZTtcclxuICB9XHJcbiAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKipcclxuQlVUVE9OIERFRkFVTFRTXHJcbldlJ3JlIGdvbm5hIHVzZSBhIHBsYWNlaG9sZGVyIHNlbGVjdG9yIGhlcmVcclxuc28gd2UgY2FuIHVzZSBjb21tb24gc3R5bGVzLiBXZSB0aGVuIHVzZSB0aGlzXHJcbnRvIGxvYWQgdXAgdGhlIGRlZmF1bHRzIGluIGFsbCBvdXIgYnV0dG9ucy5cclxuXHJcbkhlcmUncyBhIHF1aWNrIHZpZGVvIHRvIHNob3cgaG93IGl0IHdvcmtzOlxyXG5odHRwOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9aHdkVnBLaUp6YWNcclxuXHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiVidG4ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgY29sb3I6ICRyZWQ7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGhlaWdodDogNDhweDtcclxuICAvL2xpbmUtaGVpZ2h0OiA0OHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgcGFkZGluZzogNXB4IDI0cHggMDtcclxuICBib3JkZXItcmFkaXVzOiAyNHB4O1xyXG4gIGJvcmRlcjogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1heC13aWR0aDogMzAwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC8vQGluY2x1ZGUgdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yLCAwLjE0cywgZWFzZS1pbi1vdXQpO1xyXG5cclxuICAvLyBob3ZlcmluZyBvbiB0aGUgYnRuXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHBpbmssIDQlKTtcclxuICB9XHJcbiAgLy8gZW5kIGhvdmVyXHJcblxyXG4gIC8vIGNsaWNraW5nIG9uIHRoZSBidXR0b25cclxuICAmOmFjdGl2ZSB7XHJcbiAgICB0b3A6IDFweDsgLy8gYWRkcyBhIHRpbnkgaG9wIHRvIHRoZSBjbGlja1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwaW5rLCA1JSk7XHJcbiAgfVxyXG4gIC8vIGVuZCBhY3RpdmVcclxuXHJcbn1cclxuXHJcbi8vIGVuZCAuYnV0dG9uXHJcblxyXG4vKlxyXG5BbiBleGFtcGxlIGJ1dHRvbi5cclxuWW91IGNhbiB1c2UgdGhpcyBleGFtcGxlIGlmIHlvdSB3YW50LiBKdXN0IHJlcGxhY2UgYWxsIHRoZSB2YXJpYWJsZXNcclxuYW5kIGl0IHdpbGwgY3JlYXRlIGEgYnV0dG9uIGRlcGVuZGFudCBvbiB0aG9zZSB2YXJpYWJsZXMuXHJcbiovXHJcblxyXG4uYnRuIHtcclxuICBAZXh0ZW5kICVidG47IC8vIGhlcmUgd2UgbG9hZCB0aGUgYnRuIGRlZmF1bHRzXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBpbms7XHJcblxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcblxyXG4gIH1cclxuICAvLyBlbmQgaG92ZXJcclxuXHJcbiAgJjphY3RpdmUge1xyXG5cclxuICB9XHJcbiAgLy8gZW5kIGFjdGl2ZVxyXG4gIGltZyB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogLTJweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4vLyBlbmQgYnV0dG9uXHJcblxyXG4uYnRuLnJlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICBjb2xvcjogJHdoaXRlO1xyXG5cclxufVxyXG5cclxuLy8gZW5kIGJ1dHRvblxyXG5cclxuLmJ0bi5ibGFjayB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtY29sb3I7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbn1cclxuXHJcbi8vIGVuZCBidXR0b25cclxuXHJcbi5idG4ud2hpdGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBjb2xvcjogJHJlZFxyXG59XHJcblxyXG4vLyBlbmQgYnV0dG9uXHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKipcclxuSU5QVVRTXHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8vIHNldHRpbmcgdXAgZGVmYXVsdHNcclxuaW5wdXRbdHlwZT1cInRleHRcIl0sXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxyXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxyXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXHJcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxyXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcclxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxyXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxyXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sXHJcbnNlbGVjdCxcclxudGV4dGFyZWEsXHJcbi5maWVsZCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAzMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgcGFkZGluZzogMCAxMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDFlbTtcclxuICBmb250LXNpemU6IDFlbTtcclxuICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkdGV4dC1jb2xvcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAvL0BpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciwgMC4yNHMsIGVhc2UtaW4tb3V0KTtcclxuXHJcbiAgLy8gYSBmb2N1c2VkIGlucHV0IChvciBob3ZlcmVkIG9uKVxyXG4gICY6Zm9jdXMsXHJcbiAgJjphY3RpdmUge1xyXG5cclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG4gIC8vIGVuZCBob3ZlciBvciBmb2N1c1xyXG5cclxuICAvLyBlcnJvciBub3RpZmljYXRpb25cclxuICAvKiYuZXJyb3IsXHJcbiAgJi5pcy1pbnZhbGlkIHtcclxuICAgIGNvbG9yOiAkYWxlcnQtcmVkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkYWxlcnQtcmVkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTklIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCWUFBQUFXQ0FZQUFBREV0R3c3QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5UnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU15MWpNREV4SURZMkxqRTBOVFkyTVN3Z01qQXhNaTh3TWk4d05pMHhORG8xTmpveU55QWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROaUFvVFdGamFXNTBiM05vS1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvMk5ETTBORFJFUWtZd05FSXhNVVV5T1RJNFJFWkdRVEV6TXpBMk1EY3lOaUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8yTkRNME5EUkVRMFl3TkVJeE1VVXlPVEk0UkVaR1FURXpNekEyTURjeU5pSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalEzT0RSR1JrRTJSakEwUVRFeFJUSTVNamhFUmtaQk1UTXpNRFl3TnpJMklpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qWTBNelEwTkVSQlJqQTBRakV4UlRJNU1qaEVSa1pCTVRNek1EWXdOekkySWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1U4aVQ1d0FBQWVkSlJFRlVlTnFrMVU5STAyRWN4L0h0VjNhSUZBYzFoY1JEVW9HWFJBcTBvTkxBMkNyc0VGbUhiaWtadTBpUVlJRkdZQWllZ2tDcExpcEJ4UHBERUJNVXpCMEVoU0cyTGhHN2hNUjJHdmlQZ1VUdkI1N0J3OFAzK1UyM0IxNkhQWDgrZS9iOG50OTN3ZXpaU01DbmhYRVRGM0FjQjVCRENuSDhEcTk4RXhjR0hjRm44QWgzY2REbmkrZnhuUER2OW9BblRCN0NLdTZWQ0ZYdENoWnk1Nkx4VWp0K2pmdUI4dG9TT3RoOXdkN3hXQVdocXJVallSL0ZSVHdXSm0raUlQVC93N2JRZjVsamlabkJnNDVkdEtGWDZIK0xVOGdJWThPRVY2dmdUa1N0d1hXRThCUFRHREhHUHFOUHoybUNmU09PWWtBOTlUdkN0MWJoR1BMNjh6TWN3bW5jTXVhcGUxMGpySStxNEJiSGkvRkxuMzFTOXoyeDV0UmhUYysxVzUwNmlwTStUM29SRDRYKzgrcXRjNFNxRnZMMHovRnIxNFMrU3pqaXM4Yno5THZ2YXE4Y3dTL3d3R2ZkbHFmUFNXcVRpRmxYNzdvMTN1OVltMVBCczhKQXl0cFJveTQ0WDlGdDlFL2d2YkErcllLbjhOY2FhTVZjOFVIZ0J3NGI5L2lxVVFaNmhPQUpGYnlEY1VmbG1zRVg0YTYrd1R0SEdmaEFJVXFhMVUyOVpjMkJ5dG91VGhEOHg2eHVONUN0TVBpMkNyWExaa1pmL0h5Wm9SRkNQN24rUVZSNFBWN3VJL0FqR2doTjdPVS9yMWlsbnFJTHRmcE5DK282dklGbGpCS1lsaGIvRjJBQWdhQnNXUjV3UmlJQUFBQUFTVVZPUks1Q1lJST0pO1xyXG4gICAgb3V0bGluZS1jb2xvcjogJGFsZXJ0LXJlZDtcclxuICB9IC8vIGVuZCBpbnZhbGlkIGlucHV0XHJcblxyXG4gIC8vIHN1Y2Nlc3Mgbm90aWZpY2F0aW9uXHJcbiAgJi5zdWNjZXNzLFxyXG4gICYuaXMtdmFsaWQge1xyXG4gICAgY29sb3I6ICRhbGVydC1ncmVlbjtcclxuICAgIGJvcmRlci1jb2xvcjogJGFsZXJ0LWdyZWVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTklIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCWUFBQUFXQ0FZQUFBREV0R3c3QUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5UnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU15MWpNREV4SURZMkxqRTBOVFkyTVN3Z01qQXhNaTh3TWk4d05pMHhORG8xTmpveU55QWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROaUFvVFdGamFXNTBiM05vS1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvMk5ETTBORFJFUmtZd05FSXhNVVV5T1RJNFJFWkdRVEV6TXpBMk1EY3lOaUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8yTkRNME5EUkZNRVl3TkVJeE1VVXlPVEk0UkVaR1FURXpNekEyTURjeU5pSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalkwTXpRME5FUkVSakEwUWpFeFJUSTVNamhFUmtaQk1UTXpNRFl3TnpJMklpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qWTBNelEwTkVSRlJqQTBRakV4UlRJNU1qaEVSa1pCTVRNek1EWXdOekkySWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4KzdvbGtUUUFBQWZoSlJFRlVlTnFrbFU5b0UwRVVoemRyb1dqdzB0QmVXbER4a0VhSXA1NVRzQ1U5VktJZ0NySEJlbEE4Q1ExS3IxV1BiWnJRM2dxdFFxdkdxeHBRYzJqQms2QklJYUFHRDRxTkNLVVJwRFNLaVBpOThnTERzSnQvL3VCanN6dHZmbms3ODk1c0lQQXc2L2pvR01UaEZKeUFYbjIrQSs5Z0E1Ny9UYVkvZVUwT2VCZ2ZoR200RGlHbnNiN0RBc3p4QnovTkFkY0tqTUpMdU5XQ3FhZ0hic3NjTjUrTCtobUg0UWtNT2UxTDVqekZmTkEyUGdUMzRhalR1WTdBR3VaQjAvaG1oNW0rZ1Mwcjh4djF6UnZnK2dHQ0haaU93bkY0RFAzaUIzc1FrWXhQZDJDNkNXZmhCOVh3bHVzNStLMWo0alh1YXEzYStnTTFIOU9QY0FhKzdxOWxQaWRaSnFIYmlJbTdXZzIycnNFSTdGclBTekFNWC9UK0FEeUFLU3N1N0ZyMUtwbGVoTHZ3Q3M1RHZmQmY2NXArTXlwcVJiTzFGWEs5dXRINC9RS3VhcVlUc0czRTNJTkp2MDBRNDZweDMrWHhhbkovVXRlMi92cVA0RktEemEyS2NkbGpJS2RuaFMweFhZVUxUYXFtTE1aRm44RkZTRnR2dDZ4NzBFeEZDUzVvVVhzcHEyc3NhN29FbDFzd0ZhK0NHRmRndGtIZ1BEeURLeTAyenl4TlU2bFhSVVpiMUV1SFlheU5OcytZaDVCMFdRbysvOGZwSm5OVFpGdXp6Mk9wam9RMlFydVNPUWxNeTM1ZkVHbUVHTXhZOWUxYnJ4b2J3N1RrV0ExaDZ4ZmNrVVBiK0poR29FL0hwZnZldzdxVWxkL0g5SjhBQXdEcHczV1lyeGNaM1FBQUFBQkpSVTVFcmtKZ2dnPT0pO1xyXG4gICAgb3V0bGluZS1jb2xvcjogJGFsZXJ0LWdyZWVuO1xyXG4gIH0gLy8gZW5kIHZhbGlkIGlucHV0XHJcbiovXHJcbiAgLy8gYSBkaXNhYmxlZCBpbnB1dFxyXG4gICZbZGlzYWJsZWRdLFxyXG4gICYuaXMtZGlzYWJsZWQge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIGJvcmRlci1jb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcblxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWJsdWU7XHJcbiAgICB9XHJcbiAgICAvLyBlbmQgZGlzYWJsZWQgZm9jdXNcclxuXHJcbiAgfVxyXG4gIC8vIGVuZCBkaXNhYmxlZCBpbnB1dFxyXG5cclxufVxyXG5cclxuLy8gZW5kIGlucHV0IGRlZmF1bHRzXHJcblxyXG4vLyBzcGFjaW5nIG91dCB0aGUgcGFzc3dvcmQgKHRoeCBAbXVydGF1Z2gpXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM2VtO1xyXG59XHJcblxyXG4vLyB0ZXh0YXJlYXNcclxudGV4dGFyZWEge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiAxMjBweDtcclxuICBsaW5lLWhlaWdodDogMS4yNWVtO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgbWFyZ2luLXRvcDogMWVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDFlbTtcclxufVxyXG5cclxuLy8gc2VsZWN0c1xyXG4vKnNlbGVjdCB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyBcclxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAvLyBCYXNlNjQgZW5jb2RlZCBsaXR0bGUgYXJyb3dcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBOEFBQUFIQ0FZQUFBRFhoUmNuQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5UnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU15MWpNREV4SURZMkxqRTBOVFkyTVN3Z01qQXhNaTh3TWk4d05pMHhORG8xTmpveU55QWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTlROaUFvVFdGamFXNTBiM05vS1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwRU9FWkNNall4TUVZd05VVXhNVVV5T1RJNFJFWkdRVEV6TXpBMk1EY3lOaUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBFT0VaQ01qWXhNVVl3TlVVeE1VVXlPVEk0UkVaR1FURXpNekEyTURjeU5pSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPa1E0UmtJeU5qQkZSakExUlRFeFJUSTVNamhFUmtaQk1UTXpNRFl3TnpJMklpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09rUTRSa0l5TmpCR1JqQTFSVEV4UlRJNU1qaEVSa1pCTVRNek1EWXdOekkySWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1Z4a3A5Z0FBQUk5SlJFRlVlTnBpZEhGeHVjSEF3S0FPeEUrQW1KbUJNUGdMeERKQWZKTUZTS3dENGtxb0FDbGdBK1AvLy84WlhGMWRQYUNHY0JLaDZRY1FCKzNldlhzN1dETUlBQTJRQjFJN2dGZ0RqMGFRRnoyQkdoK0FPRXd3VWFEQVF5QmxDTVI3Y0dqY0M1S0hhUVFCdU0zSUFPaUtUaUJWaGlUVURkUlVocTRPcTJhb0FlbEFhaElRNXdNMXpzQ21CaURBQURoWU1KWFZaOXU5QUFBQUFFbEZUa1N1UW1DQyk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5Ny41JSBjZW50ZXI7XHJcbn0qL1xyXG5cclxuLlNlY3VyaXR5Rm9ybSB7XHJcbiAgZmllbGRzZXQgZGl2IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm1pZGRsZUNvbHVtbiB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICBjb2xvcjogI0ZGNEIzRDtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGhlaWdodDogNDhweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBwYWRkaW5nOiAwcHggMzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZkMmQxO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gIH1cclxufSIsIioge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveFxyXG59XHJcblxyXG5ociB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gIG1hcmdpbjogMWVtIDA7XHJcbiAgcGFkZGluZzogMFxyXG59XHJcblxyXG5hdWRpbywgY2FudmFzLCBpZnJhbWUsIGltZywgc3ZnLCB2aWRlbyB7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZVxyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwXHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuICByZXNpemU6IHZlcnRpY2FsXHJcbn1cclxuXHJcbmltZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0b1xyXG59XHJcblxyXG5wLCB1bCwgb2wge1xyXG4gIG1hcmdpbi10b3A6IDFlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxZW07XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkTkM7XHJcbiAgZm9udC1zaXplOiAxMDAlO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZmZGNkYSAwJSwgI2ZmZmZmZiA0MjBweCk7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKipcclxuTEFZT1VUICYgR1JJRCBTVFlMRVNcclxuKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLndyYXBwZXIge1xyXG4gIHdpZHRoOiA5MCU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgbWF4LXdpZHRoOiA5NDBweDtcclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKlxyXG5MSU5LIFNUWUxFU1xyXG4qKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5hIHtcclxuICBjb2xvcjogJGxpbmstY29sb3I7XHJcblxyXG4gIC8qIG9uIGhvdmVyICovXHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGxpbmstaG92ZXI7XHJcbiAgfVxyXG5cclxuICAvKiBvbiBjbGljayAqL1xyXG4gICY6Y3VycmVudCB7XHJcblxyXG4gIH1cclxuXHJcbiAgLyogbW9iaWxlIHRhcCBjb2xvciAqL1xyXG4gICY6bGluayB7XHJcbiAgICAvKlxyXG4gICAgdGhpcyBoaWdobGlnaHRzIGxpbmtzIG9uIGlQaG9uZXMvaVBhZHMuXHJcbiAgICBzbyBpdCBiYXNpY2FsbHkgd29ya3MgbGlrZSB0aGUgOmhvdmVyIHNlbGVjdG9yXHJcbiAgICBmb3IgbW9iaWxlIGRldmljZXMuXHJcbiAgICAqL1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgfVxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbkgxLCBIMiwgSDMsIEg0LCBINSBTVFlMRVNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuaDEsIC5oMSwgaDIsIC5oMiwgaDMsIC5oMywgaDQsIC5oNCwgaDUsIC5oNSB7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplbGVnaWJpbGl0eTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtZmFtaWx5OiAkUG9wcGlucztcclxuICBjb2xvcjogJHJlZDtcclxuXHJcbiAgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogJHJlZDtcclxuICB9XHJcbn1cclxuXHJcbmgxLCAuaDEge1xyXG5cclxufVxyXG5cclxuaDIsIC5oMiB7XHJcblxyXG59XHJcblxyXG5oMywgLmgzIHtcclxuXHJcbn1cclxuXHJcbmg0LCAuaDQge1xyXG5cclxufVxyXG5cclxuaDUsIC5oNSB7XHJcblxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcbkhFQURFUiBTVFlMRVNcclxuKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmhlYWRlci1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAuMykpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDYsIDI0NiwgMC45NSk7XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiAxMDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmhlYWRlciB7XHJcblxyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqXHJcbk5BVklHQVRJT04gU1RZTEVTXHJcbioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbiNtYWluLW5hdiB7XHJcbiAgQGluY2x1ZGUgbGlzdC1udWxsO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW46IDA7XHJcbiAgbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYSwgc3ZnIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAmLmN1cnJlbnQgc3ZnID4gcGF0aDpmaXJzdC1jaGlsZCwgJi5jdXJyZW50IHN2ZyA+IGNpcmNsZTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIGZpbGw6ICNmZjQzNDM7XHJcbiAgICAgIHN0cm9rZTogI2ZmNDM0M1xyXG4gICAgfVxyXG4gICAgJi5jdXJyZW50IC5maWxsLXN0IHtcclxuICAgICAgc3Ryb2tlOiAjZmZmXHJcbiAgICB9XHJcbiAgICAmLmN1cnJlbnQgLmZpbGwge1xyXG4gICAgICBmaWxsOiAjZmZmXHJcbiAgICB9XHJcbiAgfVxyXG4gIGxpLmN1cnJlbnQ6bGFzdC1jaGlsZCB7XHJcbiAgICAuZmlsbC1zdCB7XHJcbiAgICAgIHN0cm9rZTogI2ZmNDM0MztcclxuICAgICAgZmlsbDogbm9uZVxyXG4gICAgfVxyXG4gICAgLmZpbGwge1xyXG4gICAgICBmaWxsOiAjZmY0MzQzXHJcbiAgICB9XHJcbiAgfVxyXG4gIC5maWxsLXN0IHtcclxuICAgIGZpbGw6IG5vbmU7XHJcbiAgICBzdHJva2U6ICMwMDBcclxuICB9XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKipcclxuQ09OVEVOVCBTVFlMRVNcclxuKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLm1haW4taGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGluaztcclxuICBwYWRkaW5nOiAyMHB4IDAgMzBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJi5hcnJvdzo6YWZ0ZXIge1xyXG4gICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGluaztcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIGJvdHRvbTogLTEwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICBAaW5jbHVkZSByb3RhdGUoNDUpXHJcbiAgfVxyXG4gIGgxIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtc2l6ZTogZW0oNDIpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuICB9XHJcbiAgaDIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1zaXplOiBlbSgyNik7XHJcblxyXG4gICAgYm9keS5JbmZvUGFnZSAmIHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgICBtYXgtd2lkdGg6IDM4MHB4O1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4ubWFpbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxufVxyXG5cclxuc2VjdGlvbiB7XHJcbiAgcGFkZGluZzogNDBweDtcclxuICBmb250LXNpemU6IGVtKDIyKTtcclxuICAmID4gLm1heC00NjAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFydG5lcnMge1xyXG4gIEBpbmNsdWRlIGxpc3QtbnVsbDtcclxuICBsaSB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHRleHQtY29sb3I7XHJcbiAgfVxyXG4gIGxpOm50aC1jaGlsZCgxKSBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxNjRweDtcclxuICB9XHJcbiAgbGk6bnRoLWNoaWxkKDIpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMykgaW1nIHtcclxuICAgIG1heC13aWR0aDogODZweDtcclxuICB9XHJcbiAgbGk6bnRoLWNoaWxkKDQpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoNSkgaW1nIHtcclxuICAgIG1heC13aWR0aDogMTM5cHg7XHJcbiAgfVxyXG4gIGxpOm50aC1jaGlsZCg2KSBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMzlweDtcclxuICB9XHJcbiAgbGk6bnRoLWNoaWxkKDcpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDExM3B4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoOCkgaW1nIHtcclxuICAgIG1heC13aWR0aDogNzNweDtcclxuICB9XHJcbiAgbGk6bnRoLWNoaWxkKDkpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEyNHB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTApIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEyNHB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTEpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDE2OXB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTIpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDE1OXB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTMpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDExOXB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTQpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDE3OXB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTUpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDk2cHg7XHJcbiAgfVxyXG4gIGxpOm50aC1jaGlsZCgxNikgaW1nIHtcclxuICAgIG1heC13aWR0aDogMTI3cHg7XHJcbiAgfVxyXG4gIC8vaW1ne21heC1oZWlnaHQ6IDk1cHg7fVxyXG59XHJcblxyXG4uYnRuLXdyYXBwZXIge1xyXG4gIG1hcmdpbjogMzBweCAwO1xyXG59XHJcblxyXG51bC5hY2NvcmRpb24ge1xyXG4gIEBpbmNsdWRlIGxpc3QtbnVsbDtcclxuICBtYXJnaW46IDA7XHJcbiAgLmlubmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmLnNob3cge1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHggMzBweDtcclxuICAgIH1cclxuICAgIC50b2dnbGUge1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgLmlubmVyIHtcclxuICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgfVxyXG4gICAgJi5zaG93IHtcclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHBzZXVkbztcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXh0LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwXHJcbiAgICB9XHJcbiAgICA+ICo6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDBcclxuICAgIH1cclxuICAgIHVsOm5vdCguY2hpbGQpIHtcclxuICAgICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgcGFkZGluZy1sZWZ0OiAxLjJlbTtcclxuICAgIH1cclxuICB9XHJcbiAgPiBsaSA+IC5pbm5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA4MHB4KTtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDQwcHg7XHJcbiAgICAmLnNob3cge1xyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogNDBweDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXh0LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50b2dnbGUge1xyXG4gICAgcGFkZGluZzogMjBweCA0MHB4IDIwcHggMDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGV4dC1jb2xvcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgcHNldWRvO1xyXG4gICAgICB3aWR0aDogMTJweDtcclxuICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICBib3R0b206IDIwcHg7XHJcbiAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N2Zy9hcnJvdy5zdmcpIDAgMCBuby1yZXBlYXQ7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZTo6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSByb3RhdGUoOTApXHJcbiAgICB9XHJcbiAgfVxyXG4gIGEudG9nZ2xlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcbiAgLmNoaWxkIHtcclxuICAgIEBpbmNsdWRlIGxpc3QtbnVsbFxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3QtaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZGFiO1xyXG4gICYgKyAmIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwaW5rO1xyXG4gIH1cclxuICA+IGRpdiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHggMzBweDtcclxuICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xyXG4gIH1cclxuICAuYnRuIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vUXVlc3Rpb25zXHJcbi5xdWVzdGlvbnMtd3JhcHBlciB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuI3F1ZXN0aW9ucyB7XHJcbiAgLmFjY29yZGlvbiB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRleHQtY29sb3I7XHJcbiAgfVxyXG5cclxuICBmaWVsZHNldCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICA+IGltZzpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1heC13aWR0aDogMTY3cHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IC00MnB4IGF1dG8gMjBweDtcclxuICAgIH1cclxuICB9XHJcbiAgZmllbGRzZXQ6bm90KCNmaW5hbCkge1xyXG4gICAgcGFkZGluZzogMzBweCA0MHB4IDQwcHg7XHJcbiAgfVxyXG4gIC5jb250cm9scy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xyXG4gIH1cclxuICBidXR0b24ge1xyXG4gICAgcGFkZGluZzogMCAwIDdweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxuICAuYmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAyMXB4O1xyXG4gICAgbGVmdDogMTFweDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgfVxyXG4gIC5uZXh0Om5vdCgud2lkZSksIC5sYXN0IHtcclxuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpXHJcbiAgfVxyXG4gIC53aWRlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICB9XHJcbiAgLmhpZ2hsaWdodCB7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMCA1cHggJHRleHQtY29sb3IpXHJcbiAgfVxyXG4gIHRleHRhcmVhIHtcclxuICAgIG1pbi1oZWlnaHQ6IDI0MHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xyXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cclxuICAgICAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDU1JSk7XHJcbiAgICB9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOSsgKi9cclxuICAgICAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDU1JSk7XHJcbiAgICB9XHJcbiAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cclxuICAgICAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDU1JSk7XHJcbiAgICB9XHJcbiAgICAmOjotbW96LXBsYWNlaG9sZGVyIHsgLyogRmlyZWZveCAxOC0gKi9cclxuICAgICAgY29sb3I6IGxpZ2h0ZW4oJHRleHQtY29sb3IsIDU1JSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zYXZlIHtcclxuICAgIG1pbi13aWR0aDogMjQwcHg7XHJcbiAgfVxyXG4gIC5zbGlkZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxuICAuc2xpZGUuY3VycmVudFF1ZXN0aW9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgfVxyXG4gICNmaW5hbCB7XHJcbiAgICAmID4gLm1heC00NjA6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAucGhvbmUge1xyXG4gICAgICBwYWRkaW5nOiA1NnB4IDQwcHggMzBweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstcGluaztcclxuICAgIH1cclxuICAgIC5lbWVyZ2VuY3kge1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDQwcHggMzBweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbms7XHJcbiAgICB9XHJcbiAgICAubWFpbC1zZW5kIHtcclxuICAgICAgcGFkZGluZzogMjBweCA0MHB4IDIwcHhcclxuICAgIH1cclxuICAgIC50ZXh0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIC50ZXh0QWZ0ZXIge1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgIGNvbG9yOiBsaWdodGVuKCR0ZXh0LWNvbG9yLCAyNSUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnN1Z2dlc3Qge1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAmOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDEwcHggNXB4IDAgNXB4O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkcmVkIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4iLCIvLyBub3JtYWxpemU6IGh0dHA6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xyXG5AaW1wb3J0IFwicGFydGlhbHMvbm9ybWFsaXplXCI7XHJcbi8vIFNhc3MgdmFyaWFibGVzXHJcbkBpbXBvcnQgXCJwYXJ0aWFscy92YXJpYWJsZXNcIjtcclxuLy8gdHlwb2dyYXBoeVxyXG5AaW1wb3J0IFwicGFydGlhbHMvdHlwb2dyYXBoeVwiO1xyXG4vLyBTYXNzIGZ1bmN0aW9uc1xyXG5AaW1wb3J0IFwicGFydGlhbHMvZnVuY3Rpb25zXCI7XHJcbi8vIGltcG9ydCBtaXhpbnNcclxuQGltcG9ydCBcInBhcnRpYWxzL21peGluc1wiO1xyXG4vLyB0aGUgZmxleFxyXG5AaW1wb3J0IFwicGFydGlhbHMvZmxleFwiO1xyXG4vLyBnbG9iYWwgY2xhc3Nlc1xyXG5AaW1wb3J0IFwicGFydGlhbHMvZ2xvYmFsLWNsYXNzZXNcIjtcclxuLy8gYnV0dG9uc1xyXG5AaW1wb3J0IFwibW9kdWxlcy9idXR0b25zXCI7XHJcbi8vIGZvcm1zIChpbnB1dHMgJiBsYWJlbHMpXHJcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvcm1zXCI7XHJcbi8vIHN0eWxlcyBpbiBiYXNlLnNjc3NcclxuQGltcG9ydCBcImJyZWFrcG9pbnRzL2Jhc2VcIjtcclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuXHJcbiAgQGltcG9ydCBcImJyZWFrcG9pbnRzLzQ4MFwiO1xyXG5cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xyXG5cclxuICBAaW1wb3J0IFwiYnJlYWtwb2ludHMvNDgxXCI7XHJcblxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuXHJcbiAgQGltcG9ydCBcImJyZWFrcG9pbnRzLzQ4MS03NjdcIjtcclxuXHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuXHJcbiAgQGltcG9ydCBcImJyZWFrcG9pbnRzLzc2N1wiO1xyXG5cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cclxuICBAaW1wb3J0IFwiYnJlYWtwb2ludHMvNzY4XCI7XHJcblxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XHJcblxyXG4gIEBpbXBvcnQgXCJicmVha3BvaW50cy83NjgtMTAyM1wiO1xyXG5cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuXHJcbiAgQGltcG9ydCBcImJyZWFrcG9pbnRzLzEwMjRcIjtcclxuXHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI0MHB4KSB7XHJcblxyXG4gIEBpbXBvcnQgXCJicmVha3BvaW50cy8xMjQwdXBcIjtcclxuXHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcclxub25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksXHJcbm9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSB7XHJcblxyXG4gIEBpbXBvcnQgXCJicmVha3BvaW50cy8yeFwiO1xyXG5cclxufVxyXG5cclxuQG1lZGlhIHByaW50IHtcclxuXHJcbiAgLy8gc3R5bGVzIGluIHByaW50LnNjc3NcclxuICAvL0BpbXBvcnQgXCJwYXJ0aWFscy9wcmludFwiO1xyXG5cclxufVxyXG4iLCIubWFpbi1oZWFkZXIge1xyXG4gICYuYXJyb3c6OmFmdGVyIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgYm90dG9tOiAtMTVweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4uaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgbmF2IHtcclxuICAgIHdpZHRoOiAxMDAlXHJcbiAgfVxyXG4gIGgzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59IiwiLmZsZXgtNzY4IHtcclxuICBAaW5jbHVkZSBmbGV4Ym94O1xyXG59XHJcblxyXG4uaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgaDMge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1zaXplOiBlbSgyMik7XHJcbiAgfVxyXG4gIG5hdiB7XHJcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLm1haW4taGVhZGVyIHtcclxuICBoMSB7XHJcbiAgICBmb250LXNpemU6IGVtKDUyKTtcclxuICB9XHJcbiAgaDIge1xyXG4gICAgZm9udC1zaXplOiBlbSgzNik7XHJcbiAgfVxyXG59XHJcblxyXG4ubWFpbiB7XHJcbiAgbWF4LXdpZHRoOiA5NDBweDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbnNlY3Rpb24ge1xyXG4gIGZvbnQtc2l6ZTogZW0oMTkpO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbn1cclxuXHJcbi5idG4td3JhcHBlciB7XHJcbiAgbWFyZ2luOiA0MHB4IDA7XHJcbn1cclxuXHJcbi5wYXJ0bmVycyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICY6OmFmdGVyIHtcclxuICAgIEBpbmNsdWRlIHBzZXVkbztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0ZXh0LWNvbG9yO1xyXG4gIH1cclxuICBsaSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIG1hcmdpbjogMjBweCA3cHg7XHJcbiAgfVxyXG4gIGxpOm50aC1jaGlsZCgxKSBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiA4MXB4O1xyXG4gICAgbWF4LWhlaWdodDogMjNweDtcclxuICB9XHJcbiAgbGk6bnRoLWNoaWxkKDIpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDExOHB4O1xyXG4gICAgbWF4LWhlaWdodDogMzFweDtcclxuICB9XHJcbiAgbGk6bnRoLWNoaWxkKDMpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDQycHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAzM3B4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoNCkgaW1nIHtcclxuICAgIG1heC13aWR0aDogOThweDtcclxuICAgIG1heC1oZWlnaHQ6IDE4cHg7XHJcbiAgfVxyXG4gIGxpOm50aC1jaGlsZCg1KSBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiA2OHB4O1xyXG4gICAgbWF4LWhlaWdodDogMzRweDtcclxuICB9XHJcbiAgbGk6bnRoLWNoaWxkKDYpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDY4cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAxOHB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoNykgaW1nIHtcclxuICAgIG1heC13aWR0aDogNTVweDtcclxuICAgIG1heC1oZWlnaHQ6IDE3cHg7XHJcbiAgfVxyXG4gIGxpOm50aC1jaGlsZCg4KSBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAzNnB4O1xyXG4gICAgbWF4LWhlaWdodDogMzhweDtcclxuICB9XHJcbiAgbGk6bnRoLWNoaWxkKDkpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDYxcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAzN3B4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTApIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDYxcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMnB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTEpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDgzcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyNHB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTIpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDc4cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyOHB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTMpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDU4cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAxOXB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTQpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDg4cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAxNXB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTUpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDQ4cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA0OHB4O1xyXG4gIH1cclxuICBsaTpudGgtY2hpbGQoMTYpIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDYzcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiA0NXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3QtaGVhZGVyIHtcclxuICA+IGRpdiB7XHJcbiAgICBmb250LXNpemU6IGVtKDE5KTtcclxuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgfVxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICAuYnRuIHtcclxuICAgIG1pbi13aWR0aDogMjQwcHhcclxuICB9XHJcbn1cclxuXHJcbi5mYXEtaGVhZGVyIGJyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4jcXVlc3Rpb25zIHtcclxuICAuYmFjayB7XHJcbiAgICBmb250LXNpemU6IGVtKDE0KTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgY29sb3I6ICRyZWQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBzdmcge1xyXG4gICAgICB3aWR0aDogMTBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGZpZWxkc2V0IHtcclxuICAgID4gaW1nOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWF4LXdpZHRoOiAzMTRweDtcclxuICAgICAgbWFyZ2luLXRvcDogLTQ3cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiXHJcbi5wYXJ0bmVycyB7XHJcbiAgbGkge1xyXG4gICAgbWFyZ2luOiAyMHB4IDlweDtcclxuICB9XHJcbn0iXX0= */
