@charset "UTF-8";
/*! Reset/normalize hybrid with major contributions from normalize.css, html5doctor.com Reset Stylesheet, and http://html5reset.org/

* Sam Richard - http://snugug.com/
* Nicholas Gallagher, Jonathan Neal - http://necolas.github.io/normalize.css/
* Richard Clark - http://richclarkdesign.com
* Tim Murtaugh - http://monkeydo.biz/
*/
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
main,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline; }

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  line-height: 1; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

a {
  background-color: transparent;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

a:active,
a:hover {
  outline: 0; }

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

ins {
  text-decoration: none; }

del {
  text-decoration: line-through; }

blockquote,
q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

ul {
  list-style: none; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

pre {
  overflow: auto;
  white-space: pre;
  white-space: pre-wrap;
  white-space: pre-line;
  word-wrap: break-word; }

code,
kbd,
pre,
samp {
  font-size: 1em;
  font-family: monospace, sans-serif; }

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

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button,
input[type="button"] {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="file"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

button[disabled],
html input[disabled] {
  cursor: default; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type="checkbox"],
input[type="radio"] {
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

input,
select {
  vertical-align: middle; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

embed,
img,
object,
video {
  max-width: 100%;
  height: auto; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*
 * Light
 */
/*
 * Mid
 */
/*
 * Dark
 */
/*
 * Base colours
 */
/*
 * Social
 */
/*
 * Form Colours
 */
/*
 * Breakpoints
 */
/* Breaks audit
240px:1
260px:
340px:1
360px:3 22.500em
380px:1
352px:1 ($mob-small:22em;)
580px:1
760px:1
780px:1
900px:1
920px:2
1400px:1
1550px:1
1600px:1
1800px:1
*/
/* 
 * clearfix     used project wide to clear floats and create a new formatting context
 * usage      @include clearfix-me(<empty|overflow|facebook|micro|stubborn>)
 * $clearfix-method sets default method
 */
.media {
  zoom: 1; }
  .media:before, .media:after {
    content: " ";
    display: table; }
  .media:after {
    clear: both; }

/*
 * Reference:
 * link-colors($normal, $hover, $active, $visited, $focus)
 */
/*
 * LINK VARIATIONS
 */
/*
 * BUTTON VARIATIONS
 */
/*
 * INVERTED MIXIN
 */
.element-hidden, .lt-ie10 [type="checkbox"] + label:before {
  display: none; }

.element-invisible, .nav--ICON .icon--text, .nav--NO-ICON .icon div,
.nav--NO-ICON .icon span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px; }

.element-invisible.element-focusable:active,
.element-invisible.element-focusable:focus {
  position: static !important;
  clip: auto;
  overflow: visible;
  height: auto; }

/**
 * Make elements into inline-block with IE7 fix. Use it only when you need to make a
 * block level element inline-block. Elements that are inline by default won't need the
 * IE7 fix.
 *
 * Usage            @extend %inline-block-fix;
 *
 */
/***********
 *
 * Sample input:
 *
 * .element {
 *   @include rem(padding, 10px 0 2px 5px);
 *   @include rem(border-bottom, 1px solid #000000);
 * }
 *
 *
 * Sample output:
 *
 * .element {
 *   padding: 10px 0 2px 5px;
 *   padding: 1rem 0 0.2rem 0.5rem;
 * }
 *
 ************/
/**
* @desc         Aligning text
* @name         textAlign
* @author       
* @tested       
* @requires     
*/
.txtC {
  text-align: center; }

.txtL {
  text-align: left; }

.txtR {
  text-align: right; }

.txtT {
  vertical-align: top; }

.txtB {
  vertical-align: bottom; }

.txtM {
  vertical-align: middle; }

.field-name-field-fr-caption-headline .field-items:before {
  display: inline-block;
  background-image: url("../img/sprite.svg?=1702996u983adcf6");
  background-size: 106.375em 62.25em; }

.sr-only, .pager-first, .pager-last {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap; }

.sr-only-focusable:active, .sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

/* Colours */
/* Font font styles */
.btn,
.button,
.more-link a,
input[type="submit"],
input[type="button"],
button, html.js fieldset.collapsible .fieldset-title, .navbar--BUTTONS .menu .leaf a,
.navbar--BUTTONS .menu .expanded a {
  font-family: "Roboto", "Trebuchet MS", Helvetica, sans-serif;
  font-weight: 700; }

h1, h2, h3, h4, h5, h6, .page-title,
.section-title, .field-name-field-fr-caption-headline .field-items, strong, b, label, legend, .view-empty .no-results-message, th, .nav, .nav--ICON-TEXT, .nav--ICON, .nav--TOC, .breadcrumb, .nav--SECONDARY, .icon a,
a.icon, ._scroll--panel--date {
  font-family: "Roboto", "Trebuchet MS", Helvetica, sans-serif;
  font-weight: 700; }

h6, .font-light, [type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label, .media--title, .media--subtitle {
  font-family: "Roboto", "Trebuchet MS", Helvetica, sans-serif;
  font-weight: 300; }

h1, h2, h3, h4, h5, h6, .page-title,
.section-title, .field-name-field-fr-caption-headline .field-items {
  font-style: normal;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 0.625em;
  text-transform: uppercase; }

h1 {
  font-size: 25px;
  margin-bottom: 0.23257em; }
  @media (min-width: 600px) {
    h1 {
      font-size: 40px; } }

h2, .node-type-list dt {
  font-size: 28px;
  margin-bottom: 0.27908em; }
  @media (min-width: 600px) {
    h2, .node-type-list dt {
      font-size: 25px; } }

h4, h5, .nav--title, h6, h3 {
  font-size: 14px;
  margin-bottom: 0.3349em; }
  @media (min-width: 600px) {
    h4, h5, .nav--title, h6, h3 {
      font-size: 20px; } }

.page-title,
.section-title {
  color: #990305;
  font-size: 25px;
  font-weight: 400;
  text-align: center;
  text-transform: uppercase; }
  @media (min-width: 600px) {
    .page-title,
    .section-title {
      font-size: 40px; } }

a,
.ui-widget-content a {
  outline: 0;
  text-decoration: none;
  transition-property: color;
  transition-duration: 150ms;
  transition-timing-function: linear;
  transition-delay: 0;
  font-family: "Roboto", "Trebuchet MS", Helvetica, sans-serif;
  font-weight: 700; }
  a:link:hover, a:visited:hover {
    cursor: pointer;
    text-decoration: none; }
  a:link:focus, a:visited:focus {
    outline: none; }
  a:hover, a:focus {
    text-decoration: none; }
  a:button {
    -webkit-tap-highlight-color: transparent; }
  a:link, a:visited {
    color: #b51823; }
    a:link:hover, a:link:active, a:link.active, a:link:focus, a:visited:hover, a:visited:active, a:visited.active, a:visited:focus {
      color: #d71921; }
  a.active-trail, a.active {
    color: #d71921; }

ul, ol {
  padding-left: 27px;
  margin: 0 0 0.625em; }

ol {
  list-style: decimal; }

ul {
  list-style: disc; }

ul.inline {
  padding-left: 0; }
  ul.inline li {
    display: inline;
    padding: 0 0.5em; }

ul.menu {
  border: none;
  padding-left: 0; }

li {
  display: list-item; }

ol ul,
ul ul {
  list-style-type: circle; }

ol ul ul,
ul ul ul {
  list-style-type: square; }

em {
  font-style: italic; }

p, .media-block__standfirst {
  margin: 0 0 0.83333em; }

blockquote {
  padding: 0 1.5em;
  font-style: italic; }
  blockquote > :first-child {
    margin-top: 0; }

small {
  font-size: 13px; }
  @media (min-width: 600px) {
    small {
      font-size: 10px; } }

code {
  font-family: "Lucida Console", Monaco, monospace; }

p code {
  background: rgba(52, 89, 89, 0.2); }

a.deep-link {
  display: block;
  border: none;
  color: #345959; }
  @media (min-width: 600px) {
    h1 a.deep-link {
      padding-left: 18px; } }

.lowercase {
  text-transform: lowercase; }

> h2:first-child {
  padding-top: 0; }

hr {
  margin-bottom: 1.25em;
  margin-top: 1.875em;
  border: 0;
  height: 0;
  border-top: 1px solid #293F72;
  border-bottom: none; }

::-moz-selection {
  background-color: #f5f28a;
  text-shadow: none; }

::selection {
  background-color: #f5f28a;
  text-shadow: none; }

.node-fr-ct-standard .field-label {
  display: none; }

html {
  font-size: 16px;
  /**
   * modules/system/system.base.css
   * For anything you want to hide on page load when JS is enabled, so
   * that you can use the JS to control visibility and avoid flicker.
   */ }
  html.js .js-hide {
    display: none; }

body {
  font-family: "Roboto", "Trebuchet MS", Helvetica, sans-serif;
  font-weight: 300;
  color: #231f20;
  font-size: 12px;
  font-style: normal;
  line-height: 1.4; }
  @media (min-width: 600px) {
    body {
      font-size: 16px; } }

* {
  -webkit-tap-highlight-color: transparent; }

.ui-btn-active {
  color: transparent !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none;
  text-shadow: 0 0 0 transparent; }

/**
 * STANDARD PAGE CONTENT
 */
.section-title,
.page-content {
  width: 100%; }
  @media (min-width: 600px) {
    .section-title,
    .page-content {
      max-width: 700px;
      margin-right: auto;
      margin-left: auto; } }

@media (min-width: 600px) {
  .page-content {
    padding: 2em;
    border: 1px solid #4d4d4d; } }

/**
 * $FILTER-TIPS
 */
.filter-wrapper {
  background-color: #fff; }

/**
 * $PASSWORD-CONFIRM
 */
div.password-indicator,
div.password-confirm {
  margin-top: 0; }

div.password-indicator {
  margin-bottom: 0.4em; }

/**
 * $PASSWORD-INDICATOR
 */
.password-indicator {
  height: 0.8em;
  background: none;
  border: 1px solid #d2d3d5; }
  .password-indicator .indicator {
    background: #efa47b; }

.password-strength-title {
  margin-bottom: 0.2em; }

/**
 * $SEARCH-FORM
 */
.search-block-form .form-text {
  width: auto;
  padding: 0.4em; }

/**
 * Classes
 */
.small-text {
  font-size: xx-small; }

.google-conversion-frame {
  display: none; }

/*
 * From modules/system/system.base.css
 */
/*
 * Hide elements from all users.
 *
 * Used for elements which should not be immediately displayed to any user. An
 * example would be a collapsible fieldset that will be expanded with a click
 * from a user. The effect of this class can be toggled with the jQuery show()
 * and hide() functions.
 */
/*
 * Hide elements visually, but keep them available for screen-readers.
 *
 * Used for information required for screen-reader users to understand and use
 * the site where visual display is undesirable. Information provided in this
 * manner should be kept concise, to avoid unnecessary burden on the user.
 * "!important" is used to prevent unintentional overrides.
 */
/*
 * The .element-focusable class extends the .element-invisible class to allow
 * the element to be focusable when navigated to via the keyboard.
 */
/*
 * Prevent text wrapping.
 */
.nowrap {
  white-space: nowrap; }

/**
 * Inline items.
 */
.container-inline div,
.container-inline label {
  display: inline; }

.container-inline .fieldset-wrapper {
  display: block; }

/**
 * Markup free clearing.
 *
 * @see http://perishablepress.com/press/2009/12/06/new-clearfix-hack
 */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

/* IE6 */
* html .clearfix {
  height: 1%; }

/* IE7 */
*:first-child + html .clearfix {
  min-height: 1%; }

img {
  height: auto !important;
  max-width: 100%;
  vertical-align: text-bottom; }

.media--image img {
  border: 1px solid #b51823; }

a:hover .media--image img,
a:active .media--image img {
  border: 1px solid #d71921; }

.embedded-video .player {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden; }
  .embedded-video .player iframe, .embedded-video .player object, .embedded-video .player embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.carousel-navigation-arrow {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none; }

.btn,
.button,
.more-link a,
input[type="submit"],
input[type="button"],
button, html.js fieldset.collapsible .fieldset-title, .navbar--BUTTONS .menu .leaf a,
.navbar--BUTTONS .menu .expanded a, .parallax-video__arrow {
  background: none;
  border: 0; }
  .btn:focus,
  .button:focus,
  .more-link a:focus,
  input[type="submit"]:focus,
  input[type="button"]:focus,
  button:focus, html.js fieldset.collapsible .fieldset-title:focus, .navbar--BUTTONS .menu .leaf a:focus,
  .navbar--BUTTONS .menu .expanded a:focus, .parallax-video__arrow:focus {
    outline: none;
    background-color: #e11f2c; }

.btn,
.button,
.more-link a,
input[type="submit"],
input[type="button"],
button, html.js fieldset.collapsible .fieldset-title, .navbar--BUTTONS .menu .leaf a,
.navbar--BUTTONS .menu .expanded a {
  border-radius: 0;
  display: inline-block;
  margin: 10px 10px 10px 0;
  padding: 9px 20px;
  border-width: 2px;
  border-style: solid;
  font-size: 14px;
  letter-spacing: 0em;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  overflow: visible;
  cursor: pointer;
  transition-property: background, color, border-color;
  transition-duration: 150ms;
  transition-timing-function: linear;
  transition-delay: 0;
  background-color: #b51823;
  border-color: #990305; }
  @media (min-width: 600px) {
    .btn,
    .button,
    .more-link a,
    input[type="submit"],
    input[type="button"],
    button, html.js fieldset.collapsible .fieldset-title, .navbar--BUTTONS .menu .leaf a,
    .navbar--BUTTONS .menu .expanded a {
      font-size: 16px;
      padding: 9px 25px; } }
  .btn,
  .button,
  .more-link a,
  input[type="submit"],
  input[type="button"],
  button, html.js fieldset.collapsible .fieldset-title, .navbar--BUTTONS .menu .leaf a,
  .navbar--BUTTONS .menu .expanded a, .btn:hover,
  .button:hover,
  .more-link a:hover,
  input[type="submit"]:hover,
  input[type="button"]:hover,
  button:hover, html.js fieldset.collapsible .fieldset-title:hover, .navbar--BUTTONS .menu .leaf a:hover,
  .navbar--BUTTONS .menu .expanded a:hover, .btn:active,
  .button:active,
  .more-link a:active,
  input[type="submit"]:active,
  input[type="button"]:active,
  button:active, html.js fieldset.collapsible .fieldset-title:active, .navbar--BUTTONS .menu .leaf a:active,
  .navbar--BUTTONS .menu .expanded a:active, .btn:focus,
  .button:focus,
  .more-link a:focus,
  input[type="submit"]:focus,
  input[type="button"]:focus,
  button:focus, html.js fieldset.collapsible .fieldset-title:focus, .navbar--BUTTONS .menu .leaf a:focus,
  .navbar--BUTTONS .menu .expanded a:focus, .btn:visited,
  .button:visited,
  .more-link a:visited,
  input[type="submit"]:visited,
  input[type="button"]:visited,
  button:visited, html.js fieldset.collapsible .fieldset-title:visited, .navbar--BUTTONS .menu .leaf a:visited,
  .navbar--BUTTONS .menu .expanded a:visited {
    text-decoration: none; }
  .btn:active,
  .button:active,
  .more-link a:active,
  input[type="submit"]:active,
  input[type="button"]:active,
  button:active, html.js fieldset.collapsible .fieldset-title:active, .navbar--BUTTONS .menu .leaf a:active,
  .navbar--BUTTONS .menu .expanded a:active, .btn:focus,
  .button:focus,
  .more-link a:focus,
  input[type="submit"]:focus,
  input[type="button"]:focus,
  button:focus, html.js fieldset.collapsible .fieldset-title:focus, .navbar--BUTTONS .menu .leaf a:focus,
  .navbar--BUTTONS .menu .expanded a:focus {
    outline: none; }
  .active.btn,
  .active.button,
  .more-link a.active,
  input.active[type="submit"],
  input.active[type="button"],
  button.active, html.js fieldset.collapsible .active.fieldset-title, .navbar--BUTTONS .menu .leaf a.active,
  .navbar--BUTTONS .menu .expanded a.active {
    cursor: default; }
  .btn::-moz-focus-inner,
  .button::-moz-focus-inner,
  .more-link a::-moz-focus-inner,
  input[type="submit"]::-moz-focus-inner,
  input[type="button"]::-moz-focus-inner,
  button::-moz-focus-inner, html.js fieldset.collapsible .fieldset-title::-moz-focus-inner, .navbar--BUTTONS .menu .leaf a::-moz-focus-inner,
  .navbar--BUTTONS .menu .expanded a::-moz-focus-inner {
    border: 0;
    padding: 0; }
  .btn,
  .button,
  .more-link a,
  input[type="submit"],
  input[type="button"],
  button, html.js fieldset.collapsible .fieldset-title, .navbar--BUTTONS .menu .leaf a,
  .navbar--BUTTONS .menu .expanded a, .btn:link,
  .button:link,
  .more-link a:link,
  input[type="submit"]:link,
  input[type="button"]:link,
  button:link, html.js fieldset.collapsible .fieldset-title:link, .navbar--BUTTONS .menu .leaf a:link,
  .navbar--BUTTONS .menu .expanded a:link, .btn:visited,
  .button:visited,
  .more-link a:visited,
  input[type="submit"]:visited,
  input[type="button"]:visited,
  button:visited, html.js fieldset.collapsible .fieldset-title:visited, .navbar--BUTTONS .menu .leaf a:visited,
  .navbar--BUTTONS .menu .expanded a:visited {
    color: #FFFFFF; }
    .btn:hover,
    .button:hover,
    .more-link a:hover,
    input[type="submit"]:hover,
    input[type="button"]:hover,
    button:hover, html.js fieldset.collapsible .fieldset-title:hover, .navbar--BUTTONS .menu .leaf a:hover,
    .navbar--BUTTONS .menu .expanded a:hover, .btn:focus,
    .button:focus,
    .more-link a:focus,
    input[type="submit"]:focus,
    input[type="button"]:focus,
    button:focus, html.js fieldset.collapsible .fieldset-title:focus, .navbar--BUTTONS .menu .leaf a:focus,
    .navbar--BUTTONS .menu .expanded a:focus, .active.btn,
    .active.button,
    .more-link a.active,
    input.active[type="submit"],
    input.active[type="button"],
    button.active, html.js fieldset.collapsible .active.fieldset-title, .navbar--BUTTONS .menu .leaf a.active,
    .navbar--BUTTONS .menu .expanded a.active, .btn:link:hover,
    .button:link:hover,
    .more-link a:link:hover,
    input[type="submit"]:link:hover,
    input[type="button"]:link:hover,
    button:link:hover, html.js fieldset.collapsible .fieldset-title:link:hover, .navbar--BUTTONS .menu .leaf a:link:hover,
    .navbar--BUTTONS .menu .expanded a:link:hover, .btn:link:focus,
    .button:link:focus,
    .more-link a:link:focus,
    input[type="submit"]:link:focus,
    input[type="button"]:link:focus,
    button:link:focus, html.js fieldset.collapsible .fieldset-title:link:focus, .navbar--BUTTONS .menu .leaf a:link:focus,
    .navbar--BUTTONS .menu .expanded a:link:focus, .btn:link.active,
    .button:link.active,
    .more-link a:link.active,
    input[type="submit"]:link.active,
    input[type="button"]:link.active,
    button:link.active, html.js fieldset.collapsible .fieldset-title:link.active, .navbar--BUTTONS .menu .leaf a:link.active,
    .navbar--BUTTONS .menu .expanded a:link.active, .btn:visited:hover,
    .button:visited:hover,
    .more-link a:visited:hover,
    input[type="submit"]:visited:hover,
    input[type="button"]:visited:hover,
    button:visited:hover, html.js fieldset.collapsible .fieldset-title:visited:hover, .navbar--BUTTONS .menu .leaf a:visited:hover,
    .navbar--BUTTONS .menu .expanded a:visited:hover, .btn:visited:focus,
    .button:visited:focus,
    .more-link a:visited:focus,
    input[type="submit"]:visited:focus,
    input[type="button"]:visited:focus,
    button:visited:focus, html.js fieldset.collapsible .fieldset-title:visited:focus, .navbar--BUTTONS .menu .leaf a:visited:focus,
    .navbar--BUTTONS .menu .expanded a:visited:focus, .btn:visited.active,
    .button:visited.active,
    .more-link a:visited.active,
    input[type="submit"]:visited.active,
    input[type="button"]:visited.active,
    button:visited.active, html.js fieldset.collapsible .fieldset-title:visited.active, .navbar--BUTTONS .menu .leaf a:visited.active,
    .navbar--BUTTONS .menu .expanded a:visited.active {
      background-color: #d71921;
      border-color: #d71921;
      color: #FFFFFF; }
    a:hover .btn, a:hover
    .button, a:hover
    .more-link a,
    .more-link a:hover a, a:hover
    input[type="submit"], a:hover
    input[type="button"], a:hover
    button, a:hover html.js fieldset.collapsible .fieldset-title, html.js fieldset.collapsible a:hover .fieldset-title, a:hover .navbar--BUTTONS .menu .leaf a, .navbar--BUTTONS .menu .leaf a:hover a, a:hover
    .navbar--BUTTONS .menu .expanded a,
    .navbar--BUTTONS .menu .expanded a:hover a, a:hover .btn:link, a:hover
    .button:link, a:hover
    .more-link a:link,
    .more-link a:hover a:link, a:hover
    input[type="submit"]:link, a:hover
    input[type="button"]:link, a:hover
    button:link, a:hover html.js fieldset.collapsible .fieldset-title:link, html.js fieldset.collapsible a:hover .fieldset-title:link, a:hover .navbar--BUTTONS .menu .leaf a:link, .navbar--BUTTONS .menu .leaf a:hover a:link, a:hover
    .navbar--BUTTONS .menu .expanded a:link,
    .navbar--BUTTONS .menu .expanded a:hover a:link, a:hover .btn:visited, a:hover
    .button:visited, a:hover
    .more-link a:visited,
    .more-link a:hover a:visited, a:hover
    input[type="submit"]:visited, a:hover
    input[type="button"]:visited, a:hover
    button:visited, a:hover html.js fieldset.collapsible .fieldset-title:visited, html.js fieldset.collapsible a:hover .fieldset-title:visited, a:hover .navbar--BUTTONS .menu .leaf a:visited, .navbar--BUTTONS .menu .leaf a:hover a:visited, a:hover
    .navbar--BUTTONS .menu .expanded a:visited,
    .navbar--BUTTONS .menu .expanded a:hover a:visited {
      background-color: #d71921;
      border-color: #d71921;
      color: #FFFFFF; }
    .btn:active,
    .button:active,
    .more-link a:active,
    input[type="submit"]:active,
    input[type="button"]:active,
    button:active, html.js fieldset.collapsible .fieldset-title:active, .navbar--BUTTONS .menu .leaf a:active,
    .navbar--BUTTONS .menu .expanded a:active, .btn:link:active,
    .button:link:active,
    .more-link a:link:active,
    input[type="submit"]:link:active,
    input[type="button"]:link:active,
    button:link:active, html.js fieldset.collapsible .fieldset-title:link:active, .navbar--BUTTONS .menu .leaf a:link:active,
    .navbar--BUTTONS .menu .expanded a:link:active, .btn:visited:active,
    .button:visited:active,
    .more-link a:visited:active,
    input[type="submit"]:visited:active,
    input[type="button"]:visited:active,
    button:visited:active, html.js fieldset.collapsible .fieldset-title:visited:active, .navbar--BUTTONS .menu .leaf a:visited:active,
    .navbar--BUTTONS .menu .expanded a:visited:active {
      background-color: #d71921;
      border-color: #d71921; }

.button--HALF, .button--FIRST, .button--SECOND, .button--THIRD, .button--FULL, html.js fieldset.collapsible .fieldset-title, .pager-load-more .pager-next a {
  display: block;
  padding-right: 0;
  padding-left: 0;
  margin: 0;
  text-align: center;
  width: 100%; }

.button--HALF {
  width: 50%; }

.button--LEFT {
  width: 50%;
  float: left;
  border-right: 3px #FFFFFF solid; }

.button--RIGHT {
  width: 50%;
  float: right;
  margin-right: 0; }

.button--FIRST {
  width: 33.33333%;
  float: left;
  border-right: 3px #FFFFFF solid;
  clear: none; }

.button--SECOND {
  width: 33.33333%;
  float: left;
  border-right: 3px #FFFFFF solid;
  clear: none; }

.button--THIRD {
  width: 33.33333%;
  float: right;
  margin-right: 0; }

.button--NATURAL {
  vertical-align: baseline;
  font-size: inherit;
  line-height: inherit;
  height: auto;
  padding-right: 0.5em;
  padding-left: 0.5em; }

.button--TALL {
  font-size: 1em; }

.button--INSET {
  margin: 0; }

.button--PRIMARY {
  background-color: #e4621c; }

.button--SECONDARY {
  background-color: transparent;
  border-color: #358faf;
  border-width: 1px;
  border-style: solid;
  color: #358faf; }
  .button--SECONDARY:hover {
    border-color: #6a7076;
    background-color: transparent;
    color: #6a7076; }

.button--POSITIVE {
  background-color: #72ADB9; }
  .button--POSITIVE:hover {
    background-color: #5298a6; }

.button--NEGATIVE {
  background-color: #b51823; }
  .button--NEGATIVE:hover {
    background-color: #88121a; }

.button--DISABLED, .button--DISABLED:hover, .button--DISABLED:active, .button--DISABLED:focus {
  background-color: #ddd;
  color: #777;
  cursor: default;
  box-shadow: none; }

.more-link a {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 0;
  margin-right: 0;
  clear: both;
  display: block;
  text-align: center; }

/* Resets button style */
/* Base Button */
.button {
  /* Fill width of container */
  /* Half width of container */
  /* Floats */
  /* Inherit sizing from parent */
  /* Extra height button */
  /* Button without margins */
  /* Button Functions */
  /* Adjacent buttons should have some space between them. */
  /* Adjacent buttons should have some space between them. */ }
  .button--FULL {
    clear: both; }
  .button + .button,
  .button + a {
    margin-left: 1em; }
  .button--FULL + .button--FULL,
  .button--HALF + .button--HALF,
  .button--HALF + .button--FULL,
  .button--FULL + .button--HALF .button--HALF + .button--FIRST,
  .button--FULL + .button--FIRST,
  .button--FIRST + .button--SECOND,
  .button--SECOND + .button--THIRD {
    margin-left: 0; }
  .button--FULL + .button--FULL,
  .button--FULL + .button--HALF,
  .button--FULL + .button--HALF + .button--HALF,
  .button--FULL + .button--FIRST,
  .button--FULL + .button--FIRST + .button--SECOND,
  .button--FULL + .button--FIRST + .button--SECOND + .button--THIRD,
  .button--HALF + .button--FULL,
  .button--HALF + .button--HALF + .button--HALF,
  .button--HALF + .button--HALF + .button--HALF + .button--HALF,
  .button--HALF + .button--FIRST,
  .button--HALF + .button--FIRST + .button--SECOND,
  .button--HALF + .button--FIRST + .button--SECOND + .button--THIRD,
  .button--THIRD + .button--FULL,
  .button--THIRD + .button--HALF,
  .button--THIRD + .button--HALF + .button--HALF,
  .button--THIRD + .button--FIRST,
  .button--THIRD + .button--FIRST + .button--SECOND,
  .button--THIRD + .button--FIRST + .button--SECOND + .button--THIRD {
    margin-top: 3px; }

/* Button theming overrides */
/* Colours */
form {
  margin-bottom: 1em; }

select,
input,
textarea {
  font-size: 1em; }
  select:focus,
  input:focus,
  textarea:focus {
    box-shadow: none;
    outline: 1px solid #4c4345; }

label {
  font-size: 0.83333em;
  transition: color 0.2s;
  text-transform: uppercase; }

#autocomplete {
  border: 1px solid;
  overflow: hidden;
  position: absolute;
  z-index: 100; }
  #autocomplete ul {
    background-color: #d71921;
    list-style: none;
    list-style-image: none;
    margin: 0;
    padding: 0.625em 0 0.625em; }
  #autocomplete li {
    color: #FFFFFF;
    padding-left: 1.25em;
    padding-bottom: 0.625em;
    cursor: pointer;
    white-space: pre;
    zoom: 1;
    /* IE7 */ }
    #autocomplete li:hover, #autocomplete li:focus, #autocomplete li.selected {
      color: #FFFFFF; }

html.js input.throbbing {
  background-position: 100% 14px;
  /* LTR */ }

html.js input.form-autocomplete {
  background-position: 100% -26px;
  /* LTR */ }

fieldset {
  margin-left: 0;
  margin-right: 0;
  padding: 0.625em 1.25em 1.25em 1.25em;
  border: none;
  background-color: #F6F6F5; }
  fieldset fieldset {
    background-color: #FFFFFF; }

legend {
  font-size: 1em;
  padding: 9px 1.25em;
  background-color: #B2B2B2;
  color: #FFFFFF;
  text-transform: uppercase; }

html.js fieldset.collapsible {
  position: relative;
  padding: 0;
  border: none; }
  html.js fieldset.collapsible legend {
    width: 100%;
    padding: 0; }
  html.js fieldset.collapsible .fieldset-legend {
    padding: 0;
    background: none;
    display: block; }
    html.js fieldset.collapsible .fieldset-legend .summary {
      float: right; }
  html.js fieldset.collapsible .fieldset-title {
    padding-left: 0.625em;
    text-align: left; }
  html.js fieldset.collapsible .fieldset-wrapper {
    padding: 1.25em 1.25em; }

html.js fieldset.collapsed {
  height: 3.7em;
  border-bottom-width: 0;
  border-left-width: 0;
  border-right-width: 0;
  height: 1.4em; }
  html.js fieldset.collapsed .fieldset-wrapper {
    display: none; }

input[type=range], input[type=range] + .thumb, .no-select {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.dropdown-content {
  list-style: none;
  box-shadow: none;
  padding-left: 0;
  display: none;
  position: absolute;
  background-color: #FFFFFF;
  margin: 0px;
  min-width: 100px;
  z-index: 1000;
  max-height: 70%;
  opacity: 0;
  overflow-y: hidden;
  will-change: width, height; }
  .dropdown-content li {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0; }
  .dropdown-content li {
    cursor: pointer; }
    .dropdown-content li:hover {
      background-color: rgba(0, 0, 0, 0.06); }
    .dropdown-content li > a, .dropdown-content li > span {
      display: block;
      padding: 1.25em; }
  .lt-ie9 .dropdown-content {
    border: 1px solid #544643; }

textarea {
  width: 100%;
  background-color: transparent; }

select {
  margin-top: 0.83333em;
  margin-bottom: 0.83333em;
  border-radius: 0;
  height: 2.5em;
  background-color: transparent;
  width: 100%;
  padding: 0.625em;
  border-color: #231f20;
  border-style: solid;
  border-width: 0;
  outline: 1px solid #231f20; }
  select[multiple=multiple] {
    height: auto; }

.description {
  font-size: 0.83333em; }

/* Remove Focus Boxes */
select:focus {
  outline: 1px solid #4c4345; }

/***************************
        Text Inputs
****************************/
.form-type-textfield,
.webform-component-textfield,
.webform-component-email {
  position: relative;
  margin-top: 0; }
  .no-js .form-type-textfield label,
  label.active, .no-js
  .webform-component-textfield label, .no-js
  .webform-component-email label {
    color: #990305; }
  .form-type-textfield input[type=text].valid,
  .form-type-textfield input[type=password].valid,
  .form-type-textfield input[type=email].valid,
  .form-type-textfield input[type=url].valid,
  .form-type-textfield input[type=date].valid,
  .form-type-textfield input[type=tel].valid,
  .form-type-textfield input[type=number].valid,
  .form-type-textfield input[type=search].valid,
  .webform-component-textfield input[type=text].valid,
  .webform-component-textfield input[type=password].valid,
  .webform-component-textfield input[type=email].valid,
  .webform-component-textfield input[type=url].valid,
  .webform-component-textfield input[type=date].valid,
  .webform-component-textfield input[type=tel].valid,
  .webform-component-textfield input[type=number].valid,
  .webform-component-textfield input[type=search].valid,
  .webform-component-email input[type=text].valid,
  .webform-component-email input[type=password].valid,
  .webform-component-email input[type=email].valid,
  .webform-component-email input[type=url].valid,
  .webform-component-email input[type=date].valid,
  .webform-component-email input[type=tel].valid,
  .webform-component-email input[type=number].valid,
  .webform-component-email input[type=search].valid {
    border-bottom: 1px solid #345959;
    box-shadow: none; }
  .form-type-textfield input[type=text].invalid,
  .form-type-textfield input[type=password].invalid,
  .form-type-textfield input[type=email].invalid,
  .form-type-textfield input[type=url].invalid,
  .form-type-textfield input[type=date].invalid,
  .form-type-textfield input[type=tel].invalid,
  .form-type-textfield input[type=number].invalid,
  .form-type-textfield input[type=search].invalid,
  .webform-component-textfield input[type=text].invalid,
  .webform-component-textfield input[type=password].invalid,
  .webform-component-textfield input[type=email].invalid,
  .webform-component-textfield input[type=url].invalid,
  .webform-component-textfield input[type=date].invalid,
  .webform-component-textfield input[type=tel].invalid,
  .webform-component-textfield input[type=number].invalid,
  .webform-component-textfield input[type=search].invalid,
  .webform-component-email input[type=text].invalid,
  .webform-component-email input[type=password].invalid,
  .webform-component-email input[type=email].invalid,
  .webform-component-email input[type=url].invalid,
  .webform-component-email input[type=date].invalid,
  .webform-component-email input[type=tel].invalid,
  .webform-component-email input[type=number].invalid,
  .webform-component-email input[type=search].invalid {
    border-bottom: 1px solid #b51823;
    box-shadow: none; }
  .form-type-textfield .prefix,
  .webform-component-textfield .prefix,
  .webform-component-email .prefix {
    position: absolute;
    width: 2.5em;
    font-size: 1.728em;
    transition: color 0.2s; }
    .form-type-textfield .prefix.active,
    .webform-component-textfield .prefix.active,
    .webform-component-email .prefix.active {
      color: #990305; }
  .form-type-textfield .prefix ~ input,
  .form-type-textfield .prefix ~ textarea,
  .webform-component-textfield .prefix ~ input,
  .webform-component-textfield .prefix ~ textarea,
  .webform-component-email .prefix ~ input,
  .webform-component-email .prefix ~ textarea {
    margin-left: 52px;
    width: 92%;
    width: calc(100% - 52px);
    width: calc(100% - 3rem); }
  .form-type-textfield .prefix ~ textarea,
  .webform-component-textfield .prefix ~ textarea,
  .webform-component-email .prefix ~ textarea {
    padding-top: .8rem; }
  .form-type-textfield .prefix ~ label,
  .webform-component-textfield .prefix ~ label,
  .webform-component-email .prefix ~ label {
    margin-left: 2.5em; }
  @media (min-width: 704px) {
    .form-type-textfield .prefix ~ input,
    .webform-component-textfield .prefix ~ input,
    .webform-component-email .prefix ~ input {
      width: 86%;
      width: calc(100% - 52px);
      width: calc(100% - 3rem); } }
  @media (min-width: 480px) {
    .form-type-textfield .prefix ~ input,
    .webform-component-textfield .prefix ~ input,
    .webform-component-email .prefix ~ input {
      width: 80%;
      width: calc(100% - 52px);
      width: calc(100% - 3rem); } }

#admin-menu .admin-menu-search .form-item {
  position: inherit; }

input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"] {
  height: 2.5em;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #231f20;
  outline: none;
  width: 100%;
  font-size: 1em;
  margin: 0 0 15px 0;
  padding: 0;
  box-shadow: none;
  box-sizing: content-box; }
  .lt-ie9 input[type="color"], .lt-ie9
  input[type="date"], .lt-ie9
  input[type="datetime"], .lt-ie9
  input[type="datetime-local"], .lt-ie9
  input[type="email"], .lt-ie9
  input[type="month"], .lt-ie9
  input[type="number"], .lt-ie9
  input[type="password"], .lt-ie9
  input[type="search"], .lt-ie9
  input[type="tel"], .lt-ie9
  input[type="text"], .lt-ie9
  input[type="time"], .lt-ie9
  input[type="url"], .lt-ie9
  input[type="week"] {
    height: 30px;
    padding: 20px 0 0; }

input[type="color"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="email"]:focus,
input[type="month"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="time"]:focus,
input[type="url"]:focus,
input[type="week"]:focus,
.select-wrapper .select-dropdown:focus,
input[type="color"]:hover,
input[type="date"]:hover,
input[type="datetime"]:hover,
input[type="datetime-local"]:hover,
input[type="email"]:hover,
input[type="month"]:hover,
input[type="number"]:hover,
input[type="password"]:hover,
input[type="search"]:hover,
input[type="tel"]:hover,
input[type="text"]:hover,
input[type="time"]:hover,
input[type="url"]:hover,
input[type="week"]:hover,
.select-wrapper .select-dropdown:hover {
  border-bottom: 1px solid #990305;
  box-shadow: none; }

/***************************
         Textarea
****************************/
textarea {
  font-size: 1em;
  margin: 1.25em 0;
  padding: 1.25em;
  box-shadow: none;
  background-color: transparent;
  border: none;
  border: 1px solid #231f20;
  outline: none;
  width: 100%;
  resize: none; }
  textarea.valid {
    border: 1px solid #345959; }
  textarea.invalid {
    border: 1px solid #b51823; }
  textarea:hover {
    border: 1px solid #990305;
    box-shadow: none; }
  textarea:focus {
    bottom: 1px solid #990305;
    box-shadow: none; }
  .lt-ie9 textarea {
    height: 30px;
    padding: 20px 0 0; }

.resizable-textarea textarea {
  margin: 0.625em 0 0; }

.resizable-textarea .grippie {
  background: #eee url("../../images/grippie.png") no-repeat center 2px;
  border: 1px solid #ddd;
  border-top-width: 0;
  cursor: s-resize;
  height: 9px;
  overflow: hidden;
  margin-bottom: 2.5em; }

.hiddendiv {
  display: none;
  white-space: pre-wrap;
  word-wrap: break-word;
  overflow-wrap: break-word;
  /* future version of deprecated 'word-wrap' */
  padding-top: 1.44em;
  /* prevents text jump on Enter keypress */ }

/***************
  Radio Buttons
***************/
.form-radios {
  margin-top: 1em; }

/* Remove default Radio Buttons */
[type="radio"]:not(:checked),
[type="radio"]:checked {
  position: absolute;
  left: -9999px; }
  #diff-node-revisions [type="radio"]:not(:checked), #diff-node-revisions
  [type="radio"]:checked {
    visibility: visible !important;
    position: relative;
    left: initial; }

[type="radio"]:not(:checked) + label,
[type="radio"]:checked + label {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  height: 25px;
  line-height: 25px;
  font-size: 1em;
  transition: 0.28s ease;
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */ }

[type="radio"] + label:before,
[type="radio"] + label:after {
  content: '';
  position: absolute;
  left: 0px;
  top: 0px;
  margin: 4px;
  width: 16px;
  height: 16px;
  z-index: 0;
  transition: 0.28s ease; }

/* Unchecked styles */
[type="radio"]:not(:checked) + label:before {
  border-radius: 50%;
  border: 2px solid #231f20; }

[type="radio"]:not(:checked) + label:after {
  border-radius: 50%;
  border: 2px solid #231f20;
  z-index: -1;
  -ms-transform: scale(0);
  transform: scale(0); }

/* Checked styles */
[type="radio"]:checked + label:before {
  border-radius: 50%;
  border: 2px solid rgba(215, 25, 33, 0.4); }

[type="radio"]:checked + label:after {
  border-radius: 50%;
  border: 2px solid #d71921;
  background-color: #d71921;
  z-index: 0;
  -ms-transform: scale(1.02);
  transform: scale(1.02); }

/* Radio With gap */
[type="radio"].with-gap:checked + label:before {
  border-radius: 50%;
  border: 2px solid #d71921; }

[type="radio"].with-gap:checked + label:after {
  border-radius: 50%;
  border: 2px solid #d71921;
  background-color: #d71921;
  z-index: 0;
  -ms-transform: scale(0.5);
  transform: scale(0.5); }

/* Disabled style */
[type="radio"]:disabled:not(:checked) + label:before,
[type="radio"]:disabled:checked + label:before {
  background-color: transparent;
  border-color: #d2d3d5; }

[type="radio"]:disabled + label {
  color: #d2d3d5; }

[type="radio"]:disabled:not(:checked) + label:hover:before {
  border-color: #d2d3d5; }

/***************
   Checkboxes
***************/
.form-checkboxes {
  margin-top: 0.83333em; }

/* CUSTOM CSS CHECKBOXES */
form p {
  margin-bottom: 0.83333em;
  text-align: left; }

form p:last-child {
  margin-bottom: 0px; }

/* Remove default checkbox */
[type="checkbox"]:not(:checked),
[type="checkbox"]:checked {
  position: absolute;
  left: -9999px; }
  .lt-ie10 [type="checkbox"]:not(:checked), .lt-ie10
  [type="checkbox"]:checked {
    position: relative;
    left: 0; }

[type="checkbox"]:not(:checked) + label,
[type="checkbox"]:checked + label {
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  display: inline-block;
  font-size: 1em;
  height: 25px;
  line-height: 25px;
  text-decoration: none;
  -webkit-user-select: none;
  /* webkit (safari, chrome) browsers */
  -moz-user-select: none;
  /* mozilla browsers */
  -khtml-user-select: none;
  /* webkit (konqueror) browsers */
  -ms-user-select: none;
  /* IE10+ */ }
  .lt-ie10 [type="checkbox"]:not(:checked) + label, .lt-ie10
  [type="checkbox"]:checked + label {
    padding-left: 14px; }

/* checkbox aspect */
[type="checkbox"] + label:before {
  content: '';
  position: absolute;
  margin-top: 0.23257em;
  left: 0;
  z-index: 0;
  border-radius: 1px;
  transition: 0.2s; }

/* Unchecked styles */
[type="checkbox"]:not(:checked) + label:before {
  top: 0px;
  width: 18px;
  height: 18px;
  border: 2px solid #231f20; }

/* Checked styles */
[type="checkbox"]:checked + label:before {
  left: -4px;
  top: -4px;
  width: 12px;
  height: 22px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid #d71921;
  border-bottom: 2px solid #d71921;
  -ms-transform: rotateZ(40deg);
  transform: rotateZ(40deg);
  -webkit-backface-visibility: hidden;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }

/* disabled checkbox */
[type="checkbox"]:disabled:not(:checked) + label:before {
  top: 0;
  left: 0;
  box-shadow: none;
  background-color: #d2d3d5;
  width: 18px;
  height: 18px;
  border: 2px solid #d2d3d5;
  -ms-transform: rotateZ(0deg);
  transform: rotateZ(0deg); }

[type="checkbox"]:disabled:checked + label:before {
  left: -3px;
  top: -4px;
  width: 12px;
  height: 22px;
  border-top: 2px solid transparent;
  border-left: 2px solid transparent;
  border-right: 2px solid #d2d3d5;
  border-bottom: 2px solid #d2d3d5;
  -ms-transform: rotateZ(40deg);
  transform: rotateZ(40deg);
  -webkit-backface-visibility: hidden;
  -ms-transform-origin: 100% 100%;
  transform-origin: 100% 100%; }

[type="checkbox"]:disabled:checked + label {
  color: #d2d3d5; }

[type="checkbox"]:disabled:not(:checked) + label:hover:before {
  border-color: #d2d3d5; }

/* Switch */
.switch,
.switch * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none; }

.switch label {
  cursor: pointer; }

.switch label input[type=checkbox]:first-child {
  opacity: 0;
  width: 0;
  height: 0; }

.switch label input[type=checkbox]:first-child:checked + .lever {
  background-color: #7bc5be; }

.switch label input[type=checkbox]:first-child:checked + .lever:after {
  background-color: #009587; }

.switch label .lever,
.switch label input[type=checkbox][disabled]:first-child + .lever {
  content: "";
  display: inline-block;
  width: 45px;
  height: 15px;
  background-color: #818181;
  border-radius: 15px;
  margin-right: 10px;
  transition: background 0.3s ease;
  vertical-align: middle;
  margin-left: 5px; }

.switch label .lever:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: #F1F1F1;
  border-radius: 20px;
  position: relative;
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4);
  left: -5px;
  top: -2px;
  transition: left 0.3s ease, background 0.3s ease, box-shadow 0.1s ease; }

.switch label input[type=checkbox][disabled]:first-child + .lever:after,
.switch label input[type=checkbox][disabled]:checked:first-child + .lever:after {
  background-color: #BDBDBD; }

input[type=checkbox]:first-child:checked ~ .lever:active:after {
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 149, 135, 0.1); }

input[type=checkbox]:first-child ~ .lever:active:after,
input[type=checkbox][disabled]:first-child ~ .lever:active:after {
  box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.4), 0 0 0 15px rgba(0, 0, 0, 0.1); }

.switch label input[type=checkbox]:first-child:checked + .lever:after {
  left: 30px; }

/***************
  Select Field
***************/
.select-wrapper span.select-dropdown {
  position: relative;
  cursor: pointer;
  color: #444;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #231f20;
  outline: none;
  height: 2.5em;
  width: 100%;
  font-size: 1em;
  line-height: 2.5em;
  margin: 0 0 15px 0;
  padding: 0;
  display: inline-block;
  position: relative; }
  .select-wrapper span.select-dropdown:after {
    position: absolute;
    right: 2%;
    content: "";
    top: 50%;
    background: transparent url("../../images/arrow_open.png") left top no-repeat;
    width: 6px;
    height: 10px; }
  .container-inline .select-wrapper span.select-dropdown {
    width: auto;
    display: inline-block; }

.select-wrapper select {
  display: none; }

select.browser-default {
  display: block; }

select:disabled {
  color: rgba(0, 0, 0, 0.3); }

.select-wrapper span.select-dropdown.disabled {
  color: rgba(0, 0, 0, 0.3); }

.select-dropdown li.disabled {
  color: rgba(0, 0, 0, 0.3); }
  .select-dropdown li.disabled:hover {
    background-color: transparent; }

/***************
  Range
***************/
.range-field {
  position: relative; }

input[type=range], input[type=range] + .thumb {
  cursor: pointer; }

input[type=range] {
  position: relative;
  background-color: transparent;
  border: none;
  outline: none;
  width: 100%;
  margin: 15px 0px;
  padding: 0; }

input[type=range] + .thumb {
  position: absolute;
  border: none;
  height: 0;
  width: 0;
  border-radius: 50%;
  background-color: #d71921;
  top: 10px;
  margin-left: -6px;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }
  input[type=range] + .thumb .value {
    display: block;
    width: 30px;
    text-align: center;
    color: #d71921;
    font-size: 0px;
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
  input[type=range] + .thumb.active {
    border-radius: 50% 50% 50% 0; }
    input[type=range] + .thumb.active .value {
      color: #fff;
      margin-left: -1px;
      margin-top: 0.69444em;
      font-size: 0.69444em; }

input[type=range]:focus {
  outline: none; }

input[type=range] {
  -webkit-appearance: none; }

input[type=range]::-webkit-slider-runnable-track {
  height: 3px;
  background: #c2c0c2;
  border: none; }

input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background-color: #d71921;
  transform-origin: 50% 50%;
  margin: -5px 0 0 0;
  transition: 0.3s; }

input[type=range]:focus::-webkit-slider-runnable-track {
  background: #ccc; }

input[type=range] {
  /* fix for FF unable to apply focus style bug  */
  border: 1px solid white;
  /*required for proper track sizing in FF*/ }

input[type=range]::-moz-range-track {
  height: 3px;
  background: #ddd;
  border: none; }

input[type=range]::-moz-range-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #d71921;
  margin-top: -5px; }

/*hide the outline behind the border*/
input[type=range]:-moz-focusring {
  outline: 1px solid white;
  outline-offset: -1px; }

input[type=range]:focus::-moz-range-track {
  background: #ccc; }

input[type=range]::-ms-track {
  height: 3px;
  /*remove bg colour from the track, we'll use ms-fill-lower and ms-fill-upper instead */
  background: transparent;
  /*leave room for the larger thumb to overflow with a transparent border */
  border-color: transparent;
  border-width: 6px 0;
  /*remove default tick marks*/
  color: transparent; }

input[type=range]::-ms-fill-lower {
  background: #777; }

input[type=range]::-ms-fill-upper {
  background: #ddd; }

input[type=range]::-ms-thumb {
  border: none;
  height: 14px;
  width: 14px;
  border-radius: 50%;
  background: #d71921; }

input[type=range]:focus::-ms-fill-lower {
  background: #888; }

input[type=range]:focus::-ms-fill-upper {
  background: #ccc; }

/***************************
   Text Inputs + Textarea
****************************/
.container-inline .form-select,
.container-inline .form-text,
.container-inline .form-textarea {
  width: auto; }

/***************************
       File field
****************************/
.form-item.webform-component-file, .form-item.form-type-managed-file {
  margin-bottom: 2.5em; }

.form-managed-file {
  margin: 0.625em 0; }

/***************************
       Progress bar
****************************/
.webform-progressbar {
  margin-top: 1.44em;
  margin-bottom: 1em; }

/***************************
   Field Multiple
****************************/
form .field-multiple-table th.field-label {
  padding-left: 1.25em; }

/***************************
   Dropdown
****************************/
/***************************
   Fielsets
****************************/
.form-wrapper,
.form-item {
  margin-bottom: 1.25em;
  margin-top: 1.25em; }

.fieldset-description {
  margin-bottom: 0.625em;
  color: #6a7076;
  font-style: italic; }

.vertical-tabs fieldset.vertical-tabs-pane {
  padding: 1.25em 1.25em; }

div.vertical-tabs {
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  border-bottom: none;
  border-right: none; }
  div.vertical-tabs ul.vertical-tabs-list li.selected {
    background-color: #F6F6F5; }

/***************************
    Views exposed forms
****************************/
.views-exposed-form {
  text-align: center; }
  .views-exposed-form .views-exposed-widgets {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    margin: 0;
    text-align: center; }
    .views-exposed-form .views-exposed-widgets .views-exposed-widget {
      float: none;
      padding: 0; }
      .views-exposed-form .views-exposed-widgets .views-exposed-widget label {
        position: absolute !important;
        clip: rect(1px 1px 1px 1px);
        /* IE6, IE7 */
        clip: rect(1px, 1px, 1px, 1px);
        overflow: hidden;
        height: 1px; }
      .views-exposed-form .views-exposed-widgets .views-exposed-widget .form-submit {
        margin-right: 0; }
    @media (min-width: 600px) {
      .views-exposed-form .views-exposed-widgets {
        text-align: left; }
        .views-exposed-form .views-exposed-widgets .views-exposed-widget {
          float: left; }
        .views-exposed-form .views-exposed-widgets .form-submit {
          margin-top: -0.25em;
          margin-left: 1.25em; } }

.view-empty .no-results-message {
  font-size: 1.44em;
  padding-top: 1em;
  padding-bottom: 1em;
  margin: 0;
  text-transform: uppercase;
  text-align: center; }

input.cke_dialog_ui_input_text, input.cke_dialog_ui_input_password, textarea.cke_dialog_ui_input_textarea {
  font-size: 14px;
  height: auto;
  margin: 0; }

/***************************
    Subscribe form.
****************************/
.section-newsletters .newsletter-links {
  margin: 0; }
  @media (min-width: 704px) {
    .section-newsletters .newsletter-links {
      margin: 0 0 0 255px;
      clear: both; } }

.section-newsletters .title-bars-processed span {
  padding: 0 !important; }

.section-newsletters .alertdialog {
  width: 100%;
  margin: 0 auto; }
  @media (min-width: 704px) {
    .section-newsletters .alertdialog {
      width: 37.5em; } }

.section-newsletters .mailchimp-signup-subscribe-form {
  width: 100%;
  margin: 0 auto; }
  @media (min-width: 704px) {
    .section-newsletters .mailchimp-signup-subscribe-form {
      width: 37.5em; } }
  .section-newsletters .mailchimp-signup-subscribe-form .mailchimp-signup-subscribe-form-description {
    display: none; }
  .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes {
    margin-top: 0.625em; }
    .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div {
      margin-bottom: 0.625em;
      display: table;
      width: 100%;
      height: 2.375em; }
      .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div label {
        padding-left: 3.75em;
        display: table-cell;
        vertical-align: middle; }
        .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div label.required {
          color: red; }
          .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div label.required:before {
            border-color: red; }
        .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div label:before {
          width: 0.9375em;
          height: 1.875em;
          left: 0.3125em; }
      .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div.form-item-mailchimp-lists-interest-groups-d984df5a3a-03c0dd12c7 label:after {
        content: '*';
        color: red; }
      @media (min-width: 704px) {
        .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div {
          height: auto; }
          .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div label {
            padding-left: 1.5625em; }
            .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div label:before {
              left: -0.22222em;
              width: 0.66667em;
              height: 1.22222em; } }
      .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div.form-item-mailchimp-lists-interest-groups-d984df5a3a-4535b16203, .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div.form-item-mailchimp-lists-interest-groups-d984df5a3a-9cb32f2674, .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div.form-item-mailchimp-lists-interest-groups-bce900c72f-6225b1f1a9, .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes div.form-item-mailchimp-lists-interest-groups-bce900c72f-e600eec5cc {
        display: none; }
    .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes [type="checkbox"]:not(:checked) + label:before {
      width: 2.5em;
      height: 2.5em; }
      @media (min-width: 704px) {
        .section-newsletters .mailchimp-signup-subscribe-form .form-checkboxes [type="checkbox"]:not(:checked) + label:before {
          width: 1.125em;
          height: 1.125em; } }
  .section-newsletters .mailchimp-signup-subscribe-form .form-item-mergevars-FNAME:before {
    content: '* indicates required';
    color: red;
    float: right;
    font-size: 0.83333em; }
  .section-newsletters .mailchimp-signup-subscribe-form .form-required {
    color: red; }
  .section-newsletters .mailchimp-signup-subscribe-form .form-submit {
    width: 100%;
    padding: 20px 0;
    float: none;
    font-size: 1.2em; }
    @media (min-width: 704px) {
      .section-newsletters .mailchimp-signup-subscribe-form .form-submit {
        width: auto;
        padding: 10px 40px;
        float: right;
        font-size: initial; } }

/*doc
---
title: Grid
name: grid
category: Atoms
---

Flexbox grid where items will always be the same height

```html_example
<div class="grid  grid--4">
  <div class="grid__item">Column</div>
  <div class="grid__item">Column</div>
  <div class="grid__item">Column</div>
  <div class="grid__item">Column</div>
</div>
```
*/
.grid {
  max-width: 1235px;
  margin-left: auto;
  margin-right: auto;
  clear: both; }
  .grid:after {
    content: " ";
    display: block;
    clear: both; }
  @media (min-width: 600px) {
    .grid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .grid__item {
    margin-bottom: 2.0736em; }
    .grid__item:last-child {
      margin-bottom: 0; }
    @media (min-width: 600px) {
      .grid__item {
        margin-bottom: 0; } }
  @media (min-width: 600px) and (max-width: 959px) {
    .grid--4 > .grid__item {
      width: 49.15254%;
      float: left;
      margin-right: 1.69492%;
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 1.69492%; }
      .grid--4 > .grid__item:nth-child(2n+2) {
        float: right;
        margin-right: 0; }
      .grid--4 > .grid__item:nth-child(2n+1):nth-last-child(-n+2),
      .grid--4 > .grid__item:nth-child(2n+1):nth-last-child(-n+2) ~ .grid__item {
        margin-bottom: 0; } }
  @media (min-width: 960px) {
    .grid--4 > .grid__item {
      width: 23.72881%;
      float: left;
      margin-right: 1.69492%;
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 1.69492%; }
      .grid--4 > .grid__item:nth-child(4n+4) {
        float: right;
        margin-right: 0; }
      .grid--4 > .grid__item:nth-child(4n+1):nth-last-child(-n+4),
      .grid--4 > .grid__item:nth-child(4n+1):nth-last-child(-n+4) ~ .grid__item {
        margin-bottom: 0; } }

/**
 * CONTENTS
 *
 * Global           - #GLOBAL
 * Large links      - #LARGE
 */
/*------------------------------------*    #GLOBAL
\*------------------------------------*/
/*------------------------------------*    #LARGE
\*------------------------------------*/
/*doc
---
title: Mega links
name: mega-links
category: Atoms
---

```html_example
<a href="#" class="mega-link"">Mega link</a>
```
*/
.mega-link {
  color: #b51823;
  display: block;
  font-size: 1.44em;
  font-weight: 700;
  line-height: 48px;
  text-transform: uppercase; }
  .mega-link.active, .mega-link:hover, .mega-link:active, .mega-link:focus {
    color: #d71921; }

/*doc
---
title: Jump Anchor
name: jump-anchor
category: Atoms
---

```html_example
<a href="#some-id" class="jump-anchor"></a>
```
*/
.jump-anchor {
  position: relative;
  top: -150px; }

/*doc
---
title: Hamburger
name: hamburger
category: Atoms
---

A basic Hamburger icon.

```html_example
<button class="hamburger hamburger--slider" type="button">
  <span class="hamburger-box">
    <span class="hamburger-inner"></span>
  </span>
</button>
```

When active, it animates into a cross.

```html_example
<button class="hamburger hamburger--slider is-active" type="button">
  <span class="hamburger-box">
    <span class="hamburger-inner"></span>
  </span>
</button>
```

*/
.hamburger {
  background: transparent;
  border: none; }
  .hamburger.active, .hamburger:hover, .hamburger:active, .hamburger:focus {
    background: transparent;
    border: none; }

.hamburger-box {
  margin-top: 7px; }
  @media (min-width: 600px) {
    .hamburger-box {
      margin-top: 0; } }

/*doc
---
title: Social icon
name: social-icon
category: Atoms
---

A standard social media link.

```html_example
<a href="#" class="social-link">
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="-280 403.9 34 34"><path d="M-265.6 430.8h4.1v-9.9h2.7l.4-3.4h-3.1v-1.7c0-.9.1-1.4 1.4-1.4h1.7V411h-2.7c-3.3 0-4.4 1.7-4.4 4.4v2.1h-2v3.4h2v9.9h-.1z"/></svg>
</a>
```

*/
.social-link {
  color: #b51823;
  display: inline-block;
  height: 25px;
  width: 25px; }
  .social-link:hover {
    color: #d71921; }
  .social-link svg {
    fill: #b51823;
    height: 100%;
    width: 100%; }
    .social-link svg:hover {
      fill: #d71921; }

/*doc
---
title: Site logo
name: site-logo
category: Atoms
---

Basic site logo, usually displayed as a link.

```html_example
<a href="#" class="site-logo">
  <img src="src/img/fr-logo.svg" title="Festival Republic logo">
</a>
```
*/
.site-logo {
  display: inline-block;
  width: 100px; }
  @media (min-width: 600px) {
    .site-logo {
      width: 150px; } }
  .site-logo svg {
    fill: #b51823; }

table {
  display: table;
  width: 100%;
  margin-bottom: 1.25em;
  max-width: 100%; }
  table .sticky-header {
    background-color: #FFFFFF;
    margin-top: 0; }
  table.hoverable tbody tr {
    transition: background-color 0.25s ease; }
    table.hoverable tbody tr:hover {
      background-color: #d71921;
      color: #FFFFFF; }
  table.centered thead tr th, table.centered tbody tr td {
    text-align: center; }
  @media (max-width: 600px) {
    table.responsive-table {
      width: 100%;
      border-collapse: collapse;
      border-spacing: 0;
      display: block;
      position: relative;
      /* sort out borders */ }
      table.responsive-table th, table.responsive-table td {
        margin: 0;
        vertical-align: top; }
      table.responsive-table th {
        text-align: left; }
      table.responsive-table thead {
        display: block;
        float: left; }
        table.responsive-table thead tr {
          display: block;
          padding: 0 10px 0 0; }
      table.responsive-table tbody {
        display: block;
        width: auto;
        position: relative;
        overflow-x: auto;
        white-space: nowrap; }
        table.responsive-table tbody tr {
          display: inline-block;
          vertical-align: top; }
      table.responsive-table th {
        display: block;
        text-align: right; }
      table.responsive-table td {
        display: block;
        min-height: 24px;
        text-align: left; }
      table.responsive-table tr {
        padding: 0 10px; }
      table.responsive-table thead {
        border: 0;
        border-right: 1px solid #B2B2B2; } }

th {
  padding: 9px 18px;
  background: #FFFFFF;
  display: table-cell;
  text-transform: uppercase; }
  th a img, th a.active img {
    margin: 2px 3px; }

tr {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #B2B2B2; }
  thead tr {
    border-bottom-color: #544643; }
  tr.odd {
    background: #F6F6F5; }
  tr.even {
    background: #FFFFFF; }

td {
  display: table-cell;
  padding: 0.5em 1em;
  /* Tabledrag Handle */ }
  td .tabledrag-handle .handle {
    background: url("../../images/draggable.png") no-repeat 6px 9px;
    height: 25px;
    width: 25px;
    margin: -0.4em 0.5em;
    /* LTR */
    padding: 0.42em 0.5em;
    /* LTR */
    background-position: 6px 6px; }
  td .tabledrag-handle:hover {
    text-decoration: none; }

table, th, td {
  border: none; }

/***************************
 * TableDrag behavior.
 * @see tabledrag.js
 ***************************/
body.drag {
  cursor: move; }

.draggable a.tabledrag-handle {
  cursor: move;
  float: left;
  /* LTR */
  height: 1.7em;
  margin-left: -1em;
  /* LTR */
  overflow: hidden;
  text-decoration: none; }

a.tabledrag-handle:hover {
  text-decoration: none; }

a.tabledrag-handle .handle {
  background: url("../../images/draggable.png") no-repeat 6px 9px;
  height: 25px;
  margin: -0.4em 0.5em;
  /* LTR */
  padding: 0.42em 0.5em;
  /* LTR */
  width: 25px; }

a.tabledrag-handle-hover .handle {
  background-position: 6px -11px; }

div.indentation {
  float: left;
  /* LTR */
  height: 1.7em;
  margin: -0.4em 0.2em -0.4em -0.4em;
  /* LTR */
  padding: 0.42em 0 0.42em 0.6em;
  /* LTR */
  width: 20px; }

div.tree-child {
  background: url("../../images/tree.png") no-repeat 11px center;
  /* LTR */ }

div.tree-child-last {
  background: url("../../images/tree-bottom.png") no-repeat 11px center;
  /* LTR */ }

div.tree-child-horizontal {
  background: url("../../images/tree.png") no-repeat -11px center; }

.tabledrag-toggle-weight-wrapper {
  text-align: right;
  /* LTR */ }

.google-conversion-frame {
  display: none; }

#teconsent {
  position: relative;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
  margin-bottom: 1.25em; }
  #teconsent img {
    display: block;
    margin: 0 auto; }

/*doc
---
title: Carousel Pagination
name: carousel-pagination
category: Atoms
---

Pagination for carousels, has some dependency on slick for active class & aria roles

```html_example
<ul class="carousel-pagination" role="tablist">
  <li class="slick-active" aria-hidden="false" role="presentation" aria-selected="true" aria-controls="#">
    <button type="button" data-role="none" role="button" tabindex="0">1</button>
  </li>

  <li aria-hidden="false" role="presentation" aria-selected="false" aria-controls="#">
    <button type="button" data-role="none" role="button" tabindex="1">2</button>
  </li>

  <li aria-hidden="false" role="presentation" aria-selected="false" aria-controls="#">
    <button type="button" data-role="none" role="button" tabindex="2">3</button>
  </li>
</ul>
```
*/
.carousel-pagination {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center; }
  .carousel-pagination li {
    display: inline-block; }
  .carousel-pagination button {
    width: 12px;
    height: 12px;
    margin: 0 7.5px;
    padding: 0;
    text-indent: 100%;
    overflow: hidden;
    background: #b51823;
    border-color: #b51823;
    border-radius: 100%; }
    .carousel-pagination button.active, .carousel-pagination button:hover, .carousel-pagination button:active, .carousel-pagination button:focus {
      background: #d71921;
      border-color: #d71921; }
  .carousel-pagination .slick-active button {
    background: #FFFFFF;
    border-color: #b51823; }

/*doc
---
title: Carousel Navigation Arrow
name: carousel-navigation-arrow
category: Atoms
---

Carousel navigation arrows for next / previous slides. Has some dependency on slick
for state handling and aria roles.

```html_example
<button type="button" class="[ carousel-navigation-arrow  carousel-navigation-arrow--prev ]  js-event-carousel-prev">
  <span class="sr-only">Previous</span>
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 60"><path d="M10.029 29.385L31.971 7.444 24.9.373.272 25H.029v10h.243L24.9 59.627l7.071-7.071-21.942-21.941z"></path></svg>
</button>

<button type="button" class="[ carousel-navigation-arrow  carousel-navigation-arrow--next ]  js-event-carousel-next">
  <span class="sr-only">Next</span>
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 60"><path d="M21.971 29.385L.029 7.444 7.1.373 31.728 25h.243v10h-.243L7.1 59.627.029 52.556l21.942-21.941z"></path></svg>
</button>
```
*/
.carousel-navigation-arrow {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  width: 20px;
  height: 36px;
  overflow: hidden; }
  @media (min-width: 1120px) {
    .carousel-navigation-arrow {
      width: 32px;
      height: 60px; } }
  .carousel-navigation-arrow--prev {
    left: 15px; }
    @media (min-width: 1120px) {
      .carousel-navigation-arrow--prev {
        left: 50px; } }
  .carousel-navigation-arrow--next {
    right: 15px; }
    @media (min-width: 1120px) {
      .carousel-navigation-arrow--next {
        right: 50px; } }
  .carousel-navigation-arrow svg {
    fill: #b51823; }
  .carousel-navigation-arrow.active, .carousel-navigation-arrow:hover, .carousel-navigation-arrow:active, .carousel-navigation-arrow:focus {
    background: transparent; }
    .carousel-navigation-arrow.active svg, .carousel-navigation-arrow:hover svg, .carousel-navigation-arrow:active svg, .carousel-navigation-arrow:focus svg {
      fill: #d71921; }

/*doc
---
title: Quote
name: quote
category: Atoms
---

Quote with citation

```html_example
<blockquote class="quote">
  <span class="quote__text">Testimony about how great Festival Republic is</span>
  <cite class="quote__cite">Anonymous</cite>
</blockquote>
```
*/
.quote {
  font-size: 1.2em;
  font-style: normal;
  font-weight: 700; }
  .quote + .quote {
    margin-top: 2.0736em; }
  .quote__text:before, .quote__text:after {
    display: inline; }
  .quote__text:before {
    content: "“"; }
  .quote__text:after {
    content: "”"; }
  .quote__cite {
    font-weight: 400;
    font-style: italic; }
  .quote .field,
  .quote .field-items,
  .quote .field-item,
  .quote p {
    display: inline; }

.node-form {
  max-width: 1235px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25em;
  padding-right: 1.25em; }
  .node-form:after {
    content: " ";
    display: block;
    clear: both; }

.page-admin .page-title {
  background-color: transparent;
  padding: 0; }

.page-admin .breadcrumb {
  background-color: transparent;
  color: #231f20; }

.node-type-list {
  border: 3px double #1A3637;
  padding: 1em;
  max-width: 600px;
  margin: 0 auto 2em; }

.cke_editable {
  background-color: #FFFFFF;
  padding: 14px 20px; }

.node-fr_ct_standard-form .field-name-field-fr-background-color,
.node-fr_ct_standard-form .field-name-field-fr-foreground-text {
  display: none; }

#admin-menu .admin-menu-search input {
  height: 1.5em;
  line-height: 1.3; }

.field-widget-color-field-spectrum-widget .form-type-textfield label {
  position: relative;
  top: 0;
  margin-right: 1.25em; }
  .field-widget-color-field-spectrum-widget .form-type-textfield label.active {
    font-size: 1em;
    color: #231f20; }

#workbench-moderation-moderate-form .select-wrapper > span.select-dropdown {
  display: none; }

#workbench-moderation-moderate-form .select-wrapper > .select-wrapper > span.select-dropdown {
  display: block; }

.page-admin-appearance-styleguide #main {
  max-width: 1235px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25em;
  padding-right: 1.25em; }
  .page-admin-appearance-styleguide #main:after {
    content: " ";
    display: block;
    clear: both; }

.field-collection-container {
  margin: 0;
  border: none; }
  .field-collection-container .field-items .field-item {
    margin-bottom: 0; }

.field-collection-view {
  border: none;
  margin: 0;
  padding: 0; }

.field-collection-view-links {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px; }

.nav, .nav--ICON-TEXT, .nav--ICON, .nav--TOC, .breadcrumb, .nav--SECONDARY {
  text-transform: uppercase; }
  .nav .menu .leaf.active-trail a, .nav--ICON-TEXT .menu .leaf.active-trail a, .nav--ICON .menu .leaf.active-trail a, .nav--TOC .menu .leaf.active-trail a, .breadcrumb .menu .leaf.active-trail a, .nav--SECONDARY .menu .leaf.active-trail a, .nav .menu .leaf.active-trail a:link, .nav--ICON-TEXT .menu .leaf.active-trail a:link, .nav--ICON .menu .leaf.active-trail a:link, .nav--TOC .menu .leaf.active-trail a:link, .breadcrumb .menu .leaf.active-trail a:link, .nav--SECONDARY .menu .leaf.active-trail a:link, .nav .menu .leaf.active-trail a:visited, .nav--ICON-TEXT .menu .leaf.active-trail a:visited, .nav--ICON .menu .leaf.active-trail a:visited, .nav--TOC .menu .leaf.active-trail a:visited, .breadcrumb .menu .leaf.active-trail a:visited, .nav--SECONDARY .menu .leaf.active-trail a:visited, .nav .menu .expanded.active-trail a, .nav--ICON-TEXT .menu .expanded.active-trail a, .nav--ICON .menu .expanded.active-trail a, .nav--TOC .menu .expanded.active-trail a, .breadcrumb .menu .expanded.active-trail a, .nav--SECONDARY .menu .expanded.active-trail a, .nav .menu .expanded.active-trail a:link, .nav--ICON-TEXT .menu .expanded.active-trail a:link, .nav--ICON .menu .expanded.active-trail a:link, .nav--TOC .menu .expanded.active-trail a:link, .breadcrumb .menu .expanded.active-trail a:link, .nav--SECONDARY .menu .expanded.active-trail a:link, .nav .menu .expanded.active-trail a:visited, .nav--ICON-TEXT .menu .expanded.active-trail a:visited, .nav--ICON .menu .expanded.active-trail a:visited, .nav--TOC .menu .expanded.active-trail a:visited, .breadcrumb .menu .expanded.active-trail a:visited, .nav--SECONDARY .menu .expanded.active-trail a:visited {
    color: #FFFFFF; }

.nav--title {
  margin-bottom: 0; }

.nav--TOC, .breadcrumb {
  background-color: #293F72;
  color: #FFFFFF;
  font-size: 0.83333em; }
  .nav--TOC a:link, .breadcrumb a:link, .nav--TOC a:visited, .breadcrumb a:visited {
    color: #FFFFFF; }
    .nav--TOC a:link:hover, .breadcrumb a:link:hover, .nav--TOC a:link:active, .breadcrumb a:link:active, .nav--TOC a:link.active, .breadcrumb a:link.active, .nav--TOC a:link:focus, .breadcrumb a:link:focus, .nav--TOC a:visited:hover, .breadcrumb a:visited:hover, .nav--TOC a:visited:active, .breadcrumb a:visited:active, .nav--TOC a:visited.active, .breadcrumb a:visited.active, .nav--TOC a:visited:focus, .breadcrumb a:visited:focus {
      color: #FFFFFF; }
  .nav--TOC a.active-trail, .breadcrumb a.active-trail, .nav--TOC a.active, .breadcrumb a.active {
    color: #FFFFFF; }
  .nav--TOC .btn, .breadcrumb .btn, .nav--TOC .button, .breadcrumb .button, .nav--TOC .more-link a, .breadcrumb .more-link a, .nav--TOC input[type="submit"], .breadcrumb input[type="submit"], .nav--TOC input[type="button"], .breadcrumb input[type="button"], .nav--TOC button, .breadcrumb button {
    background-color: #b51823;
    border-color: #990305; }
    .nav--TOC .btn, .breadcrumb .btn, .nav--TOC .btn:link, .breadcrumb .btn:link, .nav--TOC .btn:visited, .breadcrumb .btn:visited, .nav--TOC .button, .breadcrumb .button, .nav--TOC .button:link, .breadcrumb .button:link, .nav--TOC .button:visited, .breadcrumb .button:visited, .nav--TOC .more-link a, .breadcrumb .more-link a, .nav--TOC .more-link a:link, .breadcrumb .more-link a:link, .nav--TOC .more-link a:visited, .breadcrumb .more-link a:visited, .nav--TOC input[type="submit"], .breadcrumb input[type="submit"], .nav--TOC input[type="submit"]:link, .breadcrumb input[type="submit"]:link, .nav--TOC input[type="submit"]:visited, .breadcrumb input[type="submit"]:visited, .nav--TOC input[type="button"], .breadcrumb input[type="button"], .nav--TOC input[type="button"]:link, .breadcrumb input[type="button"]:link, .nav--TOC input[type="button"]:visited, .breadcrumb input[type="button"]:visited, .nav--TOC button, .breadcrumb button, .nav--TOC button:link, .breadcrumb button:link, .nav--TOC button:visited, .breadcrumb button:visited {
      color: #eae415; }
      .nav--TOC .btn:hover, .breadcrumb .btn:hover, .nav--TOC .btn:focus, .breadcrumb .btn:focus, .nav--TOC .btn.active, .breadcrumb .btn.active, .nav--TOC .btn:link:hover, .breadcrumb .btn:link:hover, .nav--TOC .btn:link:focus, .breadcrumb .btn:link:focus, .nav--TOC .btn:link.active, .breadcrumb .btn:link.active, .nav--TOC .btn:visited:hover, .breadcrumb .btn:visited:hover, .nav--TOC .btn:visited:focus, .breadcrumb .btn:visited:focus, .nav--TOC .btn:visited.active, .breadcrumb .btn:visited.active, .nav--TOC .button:hover, .breadcrumb .button:hover, .nav--TOC .button:focus, .breadcrumb .button:focus, .nav--TOC .button.active, .breadcrumb .button.active, .nav--TOC .button:link:hover, .breadcrumb .button:link:hover, .nav--TOC .button:link:focus, .breadcrumb .button:link:focus, .nav--TOC .button:link.active, .breadcrumb .button:link.active, .nav--TOC .button:visited:hover, .breadcrumb .button:visited:hover, .nav--TOC .button:visited:focus, .breadcrumb .button:visited:focus, .nav--TOC .button:visited.active, .breadcrumb .button:visited.active, .nav--TOC .more-link a:hover, .breadcrumb .more-link a:hover, .nav--TOC .more-link a:focus, .breadcrumb .more-link a:focus, .nav--TOC .more-link a.active, .breadcrumb .more-link a.active, .nav--TOC .more-link a:link:hover, .breadcrumb .more-link a:link:hover, .nav--TOC .more-link a:link:focus, .breadcrumb .more-link a:link:focus, .nav--TOC .more-link a:link.active, .breadcrumb .more-link a:link.active, .nav--TOC .more-link a:visited:hover, .breadcrumb .more-link a:visited:hover, .nav--TOC .more-link a:visited:focus, .breadcrumb .more-link a:visited:focus, .nav--TOC .more-link a:visited.active, .breadcrumb .more-link a:visited.active, .nav--TOC input[type="submit"]:hover, .breadcrumb input[type="submit"]:hover, .nav--TOC input[type="submit"]:focus, .breadcrumb input[type="submit"]:focus, .nav--TOC input[type="submit"].active, .breadcrumb input[type="submit"].active, .nav--TOC input[type="submit"]:link:hover, .breadcrumb input[type="submit"]:link:hover, .nav--TOC input[type="submit"]:link:focus, .breadcrumb input[type="submit"]:link:focus, .nav--TOC input[type="submit"]:link.active, .breadcrumb input[type="submit"]:link.active, .nav--TOC input[type="submit"]:visited:hover, .breadcrumb input[type="submit"]:visited:hover, .nav--TOC input[type="submit"]:visited:focus, .breadcrumb input[type="submit"]:visited:focus, .nav--TOC input[type="submit"]:visited.active, .breadcrumb input[type="submit"]:visited.active, .nav--TOC input[type="button"]:hover, .breadcrumb input[type="button"]:hover, .nav--TOC input[type="button"]:focus, .breadcrumb input[type="button"]:focus, .nav--TOC input[type="button"].active, .breadcrumb input[type="button"].active, .nav--TOC input[type="button"]:link:hover, .breadcrumb input[type="button"]:link:hover, .nav--TOC input[type="button"]:link:focus, .breadcrumb input[type="button"]:link:focus, .nav--TOC input[type="button"]:link.active, .breadcrumb input[type="button"]:link.active, .nav--TOC input[type="button"]:visited:hover, .breadcrumb input[type="button"]:visited:hover, .nav--TOC input[type="button"]:visited:focus, .breadcrumb input[type="button"]:visited:focus, .nav--TOC input[type="button"]:visited.active, .breadcrumb input[type="button"]:visited.active, .nav--TOC button:hover, .breadcrumb button:hover, .nav--TOC button:focus, .breadcrumb button:focus, .nav--TOC button.active, .breadcrumb button.active, .nav--TOC button:link:hover, .breadcrumb button:link:hover, .nav--TOC button:link:focus, .breadcrumb button:link:focus, .nav--TOC button:link.active, .breadcrumb button:link.active, .nav--TOC button:visited:hover, .breadcrumb button:visited:hover, .nav--TOC button:visited:focus, .breadcrumb button:visited:focus, .nav--TOC button:visited.active, .breadcrumb button:visited.active {
        background-color: #b51823;
        border-color: #d71921;
        color: #eae415; }
      a:hover .nav--TOC .btn, a:hover .breadcrumb .btn, a:hover .nav--TOC .btn:link, a:hover .breadcrumb .btn:link, a:hover .nav--TOC .btn:visited, a:hover .breadcrumb .btn:visited, a:hover .nav--TOC .button, a:hover .breadcrumb .button, a:hover .nav--TOC .button:link, a:hover .breadcrumb .button:link, a:hover .nav--TOC .button:visited, a:hover .breadcrumb .button:visited, a:hover .nav--TOC .more-link a, a:hover .breadcrumb .more-link a, a:hover .nav--TOC .more-link a:link, a:hover .breadcrumb .more-link a:link, a:hover .nav--TOC .more-link a:visited, a:hover .breadcrumb .more-link a:visited, a:hover .nav--TOC input[type="submit"], a:hover .breadcrumb input[type="submit"], a:hover .nav--TOC input[type="submit"]:link, a:hover .breadcrumb input[type="submit"]:link, a:hover .nav--TOC input[type="submit"]:visited, a:hover .breadcrumb input[type="submit"]:visited, a:hover .nav--TOC input[type="button"], a:hover .breadcrumb input[type="button"], a:hover .nav--TOC input[type="button"]:link, a:hover .breadcrumb input[type="button"]:link, a:hover .nav--TOC input[type="button"]:visited, a:hover .breadcrumb input[type="button"]:visited, a:hover .nav--TOC button, a:hover .breadcrumb button, a:hover .nav--TOC button:link, a:hover .breadcrumb button:link, a:hover .nav--TOC button:visited, a:hover .breadcrumb button:visited {
        background-color: #b51823;
        border-color: #d71921;
        color: #FFFFFF; }
      .nav--TOC .btn:active, .breadcrumb .btn:active, .nav--TOC .btn:link:active, .breadcrumb .btn:link:active, .nav--TOC .btn:visited:active, .breadcrumb .btn:visited:active, .nav--TOC .button:active, .breadcrumb .button:active, .nav--TOC .button:link:active, .breadcrumb .button:link:active, .nav--TOC .button:visited:active, .breadcrumb .button:visited:active, .nav--TOC .more-link a:active, .breadcrumb .more-link a:active, .nav--TOC .more-link a:link:active, .breadcrumb .more-link a:link:active, .nav--TOC .more-link a:visited:active, .breadcrumb .more-link a:visited:active, .nav--TOC input[type="submit"]:active, .breadcrumb input[type="submit"]:active, .nav--TOC input[type="submit"]:link:active, .breadcrumb input[type="submit"]:link:active, .nav--TOC input[type="submit"]:visited:active, .breadcrumb input[type="submit"]:visited:active, .nav--TOC input[type="button"]:active, .breadcrumb input[type="button"]:active, .nav--TOC input[type="button"]:link:active, .breadcrumb input[type="button"]:link:active, .nav--TOC input[type="button"]:visited:active, .breadcrumb input[type="button"]:visited:active, .nav--TOC button:active, .breadcrumb button:active, .nav--TOC button:link:active, .breadcrumb button:link:active, .nav--TOC button:visited:active, .breadcrumb button:visited:active {
        background-color: #b51823;
        border-color: #d71921; }

.nav--ICON-TEXT, .nav--ICON, .nav--TOC, .breadcrumb, .nav--SECONDARY {
  padding-top: 0.69444em;
  padding-bottom: 0.69444em; }
  .nav--ICON-TEXT .menu .leaf, .nav--ICON .menu .leaf, .nav--TOC .menu .leaf, .breadcrumb .menu .leaf, .nav--SECONDARY .menu .leaf, .nav--ICON-TEXT .menu .expanded, .nav--ICON .menu .expanded, .nav--TOC .menu .expanded, .breadcrumb .menu .expanded, .nav--SECONDARY .menu .expanded {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    /*
      @include rem(margin-right, $base-spacing);
      &.last {
        margin-right: 0;
      }
      */ }

.nav--IMAGE .menu .leaf, .nav--IMAGE .menu .expanded {
  margin-bottom: 0.69444em;
  margin-right: 0.11719rem;
  vertical-align: middle; }
  .nav--IMAGE .menu .leaf a, .nav--IMAGE .menu .expanded a {
    display: block;
    position: relative; }

.nav--ICON-TEXT, .nav--ICON, .nav--TOC, .breadcrumb, .nav--SECONDARY {
  text-align: center; }
  .nav--ICON-TEXT .menu, .nav--ICON .menu, .nav--TOC .menu, .breadcrumb .menu, .nav--SECONDARY .menu {
    text-align: center;
    /*
    .leaf,
    .expanded,
    .leaf.last,
    .expanded.last {
      //@include rem(margin-left, $base-spacing / 2);
      //@include rem(margin-right, $base-spacing / 2);
    }
    */ }

.nav {
  /*
   * Columise menu
   */
  /*
   * Specific menu aspects
   */ }
  .nav .col {
    padding-left: 0; }
  .nav--2COL {
    clear: both;
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0; }
    .nav--2COL .col {
      width: 50%;
      float: left; }
    .nav--2COL .col2 {
      float: right;
      margin-right: 0;
      text-align: right; }
  .nav--3COL {
    clear: both;
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0; }
    .nav--3COL .col {
      width: 33.33333%;
      float: left; }
    .nav--3COL .col2 {
      text-align: center; }
    .nav--3COL .col3 {
      float: right;
      margin-right: 0;
      text-align: right; }
  .nav--4COL {
    clear: both;
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0; }
    .nav--4COL .col {
      width: 25%;
      float: left; }
    .nav--4COL .col2,
    .nav--4COL .col3 {
      text-align: center; }
    .nav--4COL .col4 {
      text-align: right; }
    .nav--4COL .col4 {
      float: right;
      margin-right: 0; }
  .nav--menu-partners .nav--title {
    margin-bottom: 0.69444em; }

.nav--ICON-TEXT, .nav--ICON {
  padding-top: 0; }

.nav--SECONDARY {
  background-color: #d71921;
  width: 100%; }
  .nav--SECONDARY a {
    font-size: 0.83333em; }
  @media (min-width: 900px) {
    .nav--SECONDARY {
      background-color: transparent;
      position: absolute;
      bottom: 0; } }

.nav--IMAGE .nav--title {
  margin-bottom: 0.69444em; }

.nav--NO-ICON .icon:before {
  content: "";
  margin: 0; }

.nav--LAST {
  margin-bottom: 1em; }

.menu--social {
  margin-right: 0.625em;
  margin-top: 0.625em; }
  @media (min-width: 600px) {
    .menu--social {
      margin-right: 1.25em;
      margin-top: 1.25em; } }
  .menu--social .menu .leaf {
    padding: 0; }
    .menu--social .menu .leaf .icon {
      margin: 0; }
      @media (min-width: 600px) {
        .menu--social .menu .leaf .icon:before {
          font-size: 1.5rem; } }

/*doc
---
title: Mega nav
name: mega-nav
category: Molecules
---

```html_example
<nav class="mega-nav">
  <a href="#" class="mega-nav__link mega-link"">Festivals</a>
  <a href="#" class="mega-nav__link mega-link"">News</a>
  <a href="#" class="mega-nav__link mega-link"">Careers</a>
  <a href="#" class="mega-nav__link mega-link"">Green policy</a>
  <a href="#" class="mega-nav__link mega-link"">Charities</a>
  <a href="#" class="mega-nav__link mega-link"">Contacts</a>
</nav>
```
*/
.mega-nav {
  background-color: white;
  padding: 0 20px; }
  @media (min-width: 600px) {
    .mega-nav {
      padding: 0 40px; } }

.navbar {
  text-transform: uppercase; }
  .navbar::after {
    clear: both;
    content: "";
    display: table; }
  .navbar .menu {
    height: 3.125rem;
    text-align: justify;
    -ms-text-justify: distribute-all-lines;
    text-justify: distribute-all-lines;
    font-size: 0.1px;
    /* IE 9/10 don't like font-size: 0; */
    width: 100%; }
    .navbar .menu:after {
      content: '';
      width: 100%;
      /* Ensures there are at least 2 lines of text, so justification works */
      display: inline-block; }
    .navbar .menu .leaf,
    .navbar .menu .expanded {
      font-family: "Roboto", "Trebuchet MS", Helvetica, sans-serif;
      font-weight: 700;
      height: 3.125rem;
      display: inline-block;
      *display: inline;
      *zoom: 1;
      list-style-image: none;
      list-style-type: none;
      margin-left: 0;
      font-size: 1em;
      line-height: 1.9;
      vertical-align: top; }
  .navbar--search {
    display: none; }
    .page-line-up-artist-search .navbar--search {
      display: block; }
  .page-information-search .navbar {
    display: none; }
    .page-information-search .navbar--search {
      display: block !important; }

.navbar--CENTER {
  margin-bottom: 1em; }
  .navbar--CENTER .menu {
    height: auto;
    text-align: center; }
    .navbar--CENTER .menu:before, .navbar--CENTER .menu:after {
      display: none; }

.navbar--BUTTONS .menu .leaf,
.navbar--BUTTONS .menu .expanded {
  height: auto; }
  .navbar--BUTTONS .menu .leaf.last a,
  .navbar--BUTTONS .menu .expanded.last a {
    margin-right: 0; }

.icon:before, .icon:after {
  position: relative;
  font-weight: normal; }

.icon-close:before {
  font-size: 0.83333em;
  top: 0; }

.icon-close .icon--text {
  display: none; }

.icon a,
a.icon {
  display: block;
  text-transform: uppercase; }
  .icon a:focus, .icon a:active,
  a.icon:focus,
  a.icon:active {
    text-decoration: none; }

.icon--INLINE:before, .icon--INLINE:after {
  top: -0.1875rem; }

.icon--BLOCK:before {
  font-size: 1.2em;
  min-height: 20px; }
  @media (min-width: 800px) {
    .icon--BLOCK:before {
      font-size: 2.0736em; } }

.icon--BLOCK .icon--text {
  font-size: 0.69444em;
  display: block;
  margin-top: 0.625rem; }
  @media (min-width: 800px) {
    .icon--BLOCK .icon--text {
      font-size: 0.83333em; } }

#info--nav .icon--BLOCK {
  padding-left: 0.375rem;
  padding-right: 0.375rem;
  width: 4.625rem;
  height: 5.875rem;
  margin: 0; }
  @media (min-width: 800px) {
    #info--nav .icon--BLOCK {
      width: 5.5rem;
      height: 7.5rem; } }

.icon.button {
  border-radius: 4px;
  padding: 0; }

.progress .bar {
  background-color: #b51823;
  border: none;
  border-radius: 0; }

html.js input.throbbing, .ajax-progress .throbber {
  background-color: transparent;
  background-image: url("../../images/throbber.gif");
  background-repeat: no-repeat; }

.progress .filled {
  background-image: none;
  background-color: #d71921;
  height: 0.5em;
  width: 5px; }

.progress .percentage {
  float: right;
  /* LTR */ }

.ajax-progress {
  display: inline-block; }

.ajax-progress .throbber {
  background-position: 0px -18px;
  float: left;
  /* LTR */
  height: 15px;
  margin: 2px;
  width: 15px; }

.ajax-progress .message {
  padding-left: 20px; }

tr .ajax-progress .throbber {
  margin: 0 2px; }

.ajax-progress-bar {
  width: 16em; }

#tabs {
  clear: both;
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0;
  padding-left: 1.25em;
  padding-right: 1.25em;
  margin-top: 1em; }

.tabs {
  max-width: 1235px;
  margin-left: auto;
  margin-right: auto;
  list-style-type: none;
  padding: 0;
  /* Primary Tabs */
  /* Secondary Tabs */ }
  .tabs::after {
    clear: both;
    content: "";
    display: table; }
  .tabs:after {
    content: " ";
    display: block;
    clear: both; }
  .tabs li {
    float: left;
    /* LTR */
    margin-right: 1em;
    /* LTR */ }
    .tabs li > a {
      display: block; }
  .tabs a {
    background-color: #eee;
    text-decoration: none; }
    .tabs a.active {
      background-color: #ccc; }
    .tabs a:hover, .tabs a:focus {
      background-color: #bbb; }
  .tabs.primary {
    margin-bottom: 1em;
    border-bottom: 1px solid #bbb; }
    .tabs.primary a {
      padding: 0.3em 0.8em; }
  .tabs.secondary a {
    padding: 0.2em 0.5em;
    margin: 0.4em 0;
    font-size: 0.9em; }

.breadcrumb {
  padding-top: 0.23257em;
  padding-bottom: 0.23257em;
  margin-bottom: 0; }
  .breadcrumb .inline {
    display: inline-block;
    *display: inline;
    *zoom: 1; }
  .breadcrumb .last {
    color: #FFFFFF; }

/*doc
---
title: Page Link
name: page-link
category: Molecules
---

Link for next/previous nodes

```html_example
<a href="#" class="page-link  page-link--prev">
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 60"><path d="M10.029 29.385L31.971 7.444 24.9.373.272 25H.029v10h.243L24.9 59.627l7.071-7.071-21.942-21.941z"></path></svg>
  Prev Article
</a>

<a href="#" class="page-link  page-link--next">
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 60"><path d="M21.971 29.385L.029 7.444 7.1.373 31.728 25h.243v10h-.243L7.1 59.627.029 52.556l21.942-21.941z"></path></svg>
  Next Article
</a>
```
*/
.page-link {
  position: absolute;
  top: 440px;
  display: none;
  width: 70px;
  font-weight: 400;
  text-align: center;
  text-transform: uppercase; }
  @media (min-width: 960px) {
    .page-link {
      display: block; } }
  .page-link--prev {
    left: 20px; }
  .page-link--next {
    right: 20px; }
  .page-link svg {
    fill: currentColor;
    width: 100%;
    height: 64px; }

/*doc
---
title: Pager
name: pager
category: Molecules
---

Pager component

```html_example
<ul class="pager">
  <li class="pager-previous"><a href="#">previous</a></li>
  <li class="pager-current">1</li>
  <li class="pager-item"><a href="#">2</a></li>
  <li class="pager-item"><a href="#">3</a></li>
  <li class="pager-item"><a href="#">4</a></li>
  <li class="pager-item"><a href="#">5</a></li>
  <li class="pager-ellipsis">…</li>
  <li class="pager-next"><a href="#">next</a></li>
</ul>
```
*/
.pager {
  list-style: none;
  margin: 0;
  padding: 0; }
  .pager li {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0; }
  .pager li {
    display: inline-block; }
  .pager-previous a,
  .pager-item a, .pager-current,
  .pager-next a, .pager-ellipsis {
    display: inline-block;
    padding: 0.6em 1em;
    color: #FFFFFF;
    font-size: 0.83333em;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    background: #b51823;
    border: 2px solid #990305; }
  .pager-previous a:hover,
  .pager-item a:hover,
  .pager-next a:hover, .pager-current {
    color: #FFFFFF;
    background: #d71921;
    border-color: #d71921; }
  .pager-top, .pager-bottom {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
    clear: both;
    text-align: center; }
  .pager-top {
    margin-bottom: 1.44em; }
    @media (min-width: 960px) {
      .pager-top {
        position: absolute;
        top: 0;
        right: 0;
        width: auto;
        margin-bottom: 0;
        text-align: right; } }
  .pager-bottom {
    margin-top: 1.44em; }

.pager-load-more .pager-next {
  width: 100%; }

/*doc
---
title: Social icons
name: social-icons
category: Molecules
---

A standard social media link.

```html_example
<div class="social-icons">
  <a href="#" class="social-icons__icon social-link">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="-280 403.9 34 34"><path d="M-265.6 430.8h4.1v-9.9h2.7l.4-3.4h-3.1v-1.7c0-.9.1-1.4 1.4-1.4h1.7V411h-2.7c-3.3 0-4.4 1.7-4.4 4.4v2.1h-2v3.4h2v9.9h-.1z"/></svg>
  </a>
  <a href="#" class="social-icons__icon social-link">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="-280 403.9 34 34"><path d="M-265.6 430.8h4.1v-9.9h2.7l.4-3.4h-3.1v-1.7c0-.9.1-1.4 1.4-1.4h1.7V411h-2.7c-3.3 0-4.4 1.7-4.4 4.4v2.1h-2v3.4h2v9.9h-.1z"/></svg>
  </a>
  <a href="#" class="social-icons__icon social-link">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="-280 403.9 34 34"><path d="M-265.6 430.8h4.1v-9.9h2.7l.4-3.4h-3.1v-1.7c0-.9.1-1.4 1.4-1.4h1.7V411h-2.7c-3.3 0-4.4 1.7-4.4 4.4v2.1h-2v3.4h2v9.9h-.1z"/></svg>
  </a>
  <a href="#" class="social-icons__icon social-link">
    <svg xmlns="http://www.w3.org/2000/svg" viewBox="-280 403.9 34 34"><path d="M-265.6 430.8h4.1v-9.9h2.7l.4-3.4h-3.1v-1.7c0-.9.1-1.4 1.4-1.4h1.7V411h-2.7c-3.3 0-4.4 1.7-4.4 4.4v2.1h-2v3.4h2v9.9h-.1z"/></svg>
  </a>
</div>
```

*/
.social-icons {
  font-size: 0; }
  .social-icons .social-icons__icon {
    margin-right: 15px; }
    .social-icons .social-icons__icon:last-of-type {
      margin-right: 0; }

.media:hover, .active.media {
  text-decoration: none; }

a.media {
  display: block; }

.media--text {
  margin-top: 0.625em; }
  .loading .media--text {
    display: none; }
  .media--text .button {
    margin-top: 0.0625rem; }

.media--title {
  font-size: 1em;
  margin-top: 0.3125em;
  margin-bottom: 0;
  text-transform: none; }

.media .media--title {
  font-size: 1em; }

.media--subtitle {
  margin: -0.5rem 0 0;
  text-transform: none; }

.media--image img {
  display: block;
  width: 100%; }

.media--INLINE, .media--INLINE .media--text {
  zoom: 1;
  overflow: hidden; }

@media (min-width: 480px) {
  .media--INLINE .media--image, .media--INLINE .media--text {
    display: table-cell;
    vertical-align: top; } }

.media--text--INLINE--MIDDLE {
  vertical-align: middle; }

.media--text--INLINE--BOTTOM {
  vertical-align: bottom; }

.media--OVERLAY, .media--BANNER {
  display: block;
  position: relative; }

.media--OVERLAY .media--text {
  background-color: transparent;
  color: #eae415;
  margin-top: 0;
  margin-bottom: 0;
  background-color: transparent;
  background-color: rgba(25, 58, 130, 0.2);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#33193A82,endColorstr=#33193A82);
  zoom: 1;
  transition: background, 0.5s;
  text-shadow: 1px 1px 1px #231f20;
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 100%; }
  .media--OVERLAY .media--text a:link, .media--OVERLAY .media--text a:visited {
    color: #eae415; }
    .media--OVERLAY .media--text a:link:hover, .media--OVERLAY .media--text a:link:active, .media--OVERLAY .media--text a:link.active, .media--OVERLAY .media--text a:link:focus, .media--OVERLAY .media--text a:visited:hover, .media--OVERLAY .media--text a:visited:active, .media--OVERLAY .media--text a:visited.active, .media--OVERLAY .media--text a:visited:focus {
      color: #eae415; }
  .media--OVERLAY .media--text a.active-trail, .media--OVERLAY .media--text a.active {
    color: #eae415; }
  .media--OVERLAY .media--text .btn, .media--OVERLAY .media--text .button, .media--OVERLAY .media--text .more-link a, .media--OVERLAY .media--text input[type="submit"], .media--OVERLAY .media--text input[type="button"], .media--OVERLAY .media--text button {
    background-color: #b51823;
    border-color: #990305; }
    .media--OVERLAY .media--text .btn, .media--OVERLAY .media--text .btn:link, .media--OVERLAY .media--text .btn:visited, .media--OVERLAY .media--text .button, .media--OVERLAY .media--text .button:link, .media--OVERLAY .media--text .button:visited, .media--OVERLAY .media--text .more-link a, .media--OVERLAY .media--text .more-link a:link, .media--OVERLAY .media--text .more-link a:visited, .media--OVERLAY .media--text input[type="submit"], .media--OVERLAY .media--text input[type="submit"]:link, .media--OVERLAY .media--text input[type="submit"]:visited, .media--OVERLAY .media--text input[type="button"], .media--OVERLAY .media--text input[type="button"]:link, .media--OVERLAY .media--text input[type="button"]:visited, .media--OVERLAY .media--text button, .media--OVERLAY .media--text button:link, .media--OVERLAY .media--text button:visited {
      color: #eae415; }
      .media--OVERLAY .media--text .btn:hover, .media--OVERLAY .media--text .btn:focus, .media--OVERLAY .media--text .btn.active, .media--OVERLAY .media--text .btn:link:hover, .media--OVERLAY .media--text .btn:link:focus, .media--OVERLAY .media--text .btn:link.active, .media--OVERLAY .media--text .btn:visited:hover, .media--OVERLAY .media--text .btn:visited:focus, .media--OVERLAY .media--text .btn:visited.active, .media--OVERLAY .media--text .button:hover, .media--OVERLAY .media--text .button:focus, .media--OVERLAY .media--text .button.active, .media--OVERLAY .media--text .button:link:hover, .media--OVERLAY .media--text .button:link:focus, .media--OVERLAY .media--text .button:link.active, .media--OVERLAY .media--text .button:visited:hover, .media--OVERLAY .media--text .button:visited:focus, .media--OVERLAY .media--text .button:visited.active, .media--OVERLAY .media--text .more-link a:hover, .media--OVERLAY .media--text .more-link a:focus, .media--OVERLAY .media--text .more-link a.active, .media--OVERLAY .media--text .more-link a:link:hover, .media--OVERLAY .media--text .more-link a:link:focus, .media--OVERLAY .media--text .more-link a:link.active, .media--OVERLAY .media--text .more-link a:visited:hover, .media--OVERLAY .media--text .more-link a:visited:focus, .media--OVERLAY .media--text .more-link a:visited.active, .media--OVERLAY .media--text input[type="submit"]:hover, .media--OVERLAY .media--text input[type="submit"]:focus, .media--OVERLAY .media--text input[type="submit"].active, .media--OVERLAY .media--text input[type="submit"]:link:hover, .media--OVERLAY .media--text input[type="submit"]:link:focus, .media--OVERLAY .media--text input[type="submit"]:link.active, .media--OVERLAY .media--text input[type="submit"]:visited:hover, .media--OVERLAY .media--text input[type="submit"]:visited:focus, .media--OVERLAY .media--text input[type="submit"]:visited.active, .media--OVERLAY .media--text input[type="button"]:hover, .media--OVERLAY .media--text input[type="button"]:focus, .media--OVERLAY .media--text input[type="button"].active, .media--OVERLAY .media--text input[type="button"]:link:hover, .media--OVERLAY .media--text input[type="button"]:link:focus, .media--OVERLAY .media--text input[type="button"]:link.active, .media--OVERLAY .media--text input[type="button"]:visited:hover, .media--OVERLAY .media--text input[type="button"]:visited:focus, .media--OVERLAY .media--text input[type="button"]:visited.active, .media--OVERLAY .media--text button:hover, .media--OVERLAY .media--text button:focus, .media--OVERLAY .media--text button.active, .media--OVERLAY .media--text button:link:hover, .media--OVERLAY .media--text button:link:focus, .media--OVERLAY .media--text button:link.active, .media--OVERLAY .media--text button:visited:hover, .media--OVERLAY .media--text button:visited:focus, .media--OVERLAY .media--text button:visited.active {
        background-color: #d71921;
        border-color: #d71921;
        color: #eae415; }
      a:hover .media--OVERLAY .media--text .btn, .media--OVERLAY a:hover .media--text .btn, a:hover .media--OVERLAY .media--text .btn:link, .media--OVERLAY a:hover .media--text .btn:link, a:hover .media--OVERLAY .media--text .btn:visited, .media--OVERLAY a:hover .media--text .btn:visited, a:hover .media--OVERLAY .media--text .button, .media--OVERLAY a:hover .media--text .button, a:hover .media--OVERLAY .media--text .button:link, .media--OVERLAY a:hover .media--text .button:link, a:hover .media--OVERLAY .media--text .button:visited, .media--OVERLAY a:hover .media--text .button:visited, a:hover .media--OVERLAY .media--text .more-link a, .media--OVERLAY a:hover .media--text .more-link a, a:hover .media--OVERLAY .media--text .more-link a:link, .media--OVERLAY a:hover .media--text .more-link a:link, a:hover .media--OVERLAY .media--text .more-link a:visited, .media--OVERLAY a:hover .media--text .more-link a:visited, a:hover .media--OVERLAY .media--text input[type="submit"], .media--OVERLAY a:hover .media--text input[type="submit"], a:hover .media--OVERLAY .media--text input[type="submit"]:link, .media--OVERLAY a:hover .media--text input[type="submit"]:link, a:hover .media--OVERLAY .media--text input[type="submit"]:visited, .media--OVERLAY a:hover .media--text input[type="submit"]:visited, a:hover .media--OVERLAY .media--text input[type="button"], .media--OVERLAY a:hover .media--text input[type="button"], a:hover .media--OVERLAY .media--text input[type="button"]:link, .media--OVERLAY a:hover .media--text input[type="button"]:link, a:hover .media--OVERLAY .media--text input[type="button"]:visited, .media--OVERLAY a:hover .media--text input[type="button"]:visited, a:hover .media--OVERLAY .media--text button, .media--OVERLAY a:hover .media--text button, a:hover .media--OVERLAY .media--text button:link, .media--OVERLAY a:hover .media--text button:link, a:hover .media--OVERLAY .media--text button:visited, .media--OVERLAY a:hover .media--text button:visited {
        background-color: #d71921;
        border-color: #d71921;
        color: #FFFFFF; }
      .media--OVERLAY .media--text .btn:active, .media--OVERLAY .media--text .btn:link:active, .media--OVERLAY .media--text .btn:visited:active, .media--OVERLAY .media--text .button:active, .media--OVERLAY .media--text .button:link:active, .media--OVERLAY .media--text .button:visited:active, .media--OVERLAY .media--text .more-link a:active, .media--OVERLAY .media--text .more-link a:link:active, .media--OVERLAY .media--text .more-link a:visited:active, .media--OVERLAY .media--text input[type="submit"]:active, .media--OVERLAY .media--text input[type="submit"]:link:active, .media--OVERLAY .media--text input[type="submit"]:visited:active, .media--OVERLAY .media--text input[type="button"]:active, .media--OVERLAY .media--text input[type="button"]:link:active, .media--OVERLAY .media--text input[type="button"]:visited:active, .media--OVERLAY .media--text button:active, .media--OVERLAY .media--text button:link:active, .media--OVERLAY .media--text button:visited:active {
        background-color: #d71921;
        border-color: #d71921; }
  .media--OVERLAY .media--text:hover {
    background: none;
    background-color: transparent;
    background-color: rgba(25, 58, 130, 0);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#00193A82,endColorstr=#00193A82);
    zoom: 1; }

.media--OVERLAY .media--title {
  font-size: 0.69444em;
  padding-top: 0.625em;
  padding-bottom: 0.3125em;
  margin-left: 0.15625rem;
  margin-right: 0.15625rem;
  border-bottom: 1px solid white;
  letter-spacing: 0.01em;
  text-transform: uppercase; }

.media--OVERLAY .media--subtitle {
  font-size: 0.83333em;
  padding: 0.03906rem;
  bottom: 0;
  margin-top: 0;
  position: absolute;
  text-transform: uppercase;
  width: 100%; }

.media--BANNER .media--image {
  margin-left: 0.1875rem;
  margin-right: 0.1875rem; }

.media--BANNER .media--text {
  position: relative; }
  @media (max-width: 704px) {
    .media--BANNER .media--text {
      margin-top: 0; } }
  @media (min-width: 704px) {
    .media--BANNER .media--text {
      position: absolute;
      bottom: 0.07812rem;
      width: 100%; } }

.media--BANNER .media--title, .media--BANNER .media--subtitle {
  margin-top: 0; }

@media (min-width: 480px) {
  .media--INLINE .media--image img {
    max-width: initial;
    width: auto; }
  .media--INLINE .media--image + .media--text {
    padding-left: 1.25em; } }

@media (min-width: 480px) {
  .media--INLINE .media--text {
    width: 10000px; }
    .media--INLINE .media--text + .media--image {
      padding-left: 1.25em; } }

.media--BANNER {
  text-align: center; }

/*doc
---
title: Media Block
name: media-block
category: Molecules
---

Image / text / link used for news articles & homepage cta blocks

```html_example
<div class="media-block">
  <div class="media-block__image">
    <img src="http://placeimg.com/600/301/animals">
  </div>

  <div class="media-block__content">
    <h3 class="media-block__title">Cupcakes!</h3>

    <div class="media-block__text">
      Cupcake ipsum dolor sit amet cake powder. Sesame snaps apple pie bonbon
      cotton candy tootsie roll. Apple pie chupa chups marzipan bonbon pastry.
      Jujubes tart cake toffee cake.
    </div>

    <div class="media-block__cta">
      <a class="button" href="#">Read More</a>
    </div>
  </div>
</div>

<div class="media-block  media-block--inverted">
  <div class="media-block__image">
    <img src="http://placeimg.com/600/301/animals">
  </div>

  <div class="media-block__content">
    <h3 class="media-block__title">Cupcakes!</h3>

    <div class="media-block__text">
      Cupcake ipsum dolor sit amet cake powder. Sesame snaps apple pie bonbon
      cotton candy tootsie roll. Apple pie chupa chups marzipan bonbon pastry.
      Jujubes tart cake toffee cake.
    </div>

    <div class="media-block__cta">
      <a class="button" href="#">Read More</a>
    </div>
  </div>
</div>
```
*/
.media-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  width: 100%;
  padding: 0;
  background: #FFFFFF;
  border: 1px solid #4d4d4d; }
  .media-block--inverted {
    background-color: #b51823;
    color: #FFFFFF;
    border: 2px solid #990305; }
    .media-block--inverted a:link, .media-block--inverted a:visited {
      color: #eae415; }
      .media-block--inverted a:link:hover, .media-block--inverted a:link:active, .media-block--inverted a:link.active, .media-block--inverted a:link:focus, .media-block--inverted a:visited:hover, .media-block--inverted a:visited:active, .media-block--inverted a:visited.active, .media-block--inverted a:visited:focus {
        color: #FFFFFF; }
    .media-block--inverted a.active-trail, .media-block--inverted a.active {
      color: #FFFFFF; }
    .media-block--inverted .btn, .media-block--inverted .button, .media-block--inverted .more-link a, .media-block--inverted input[type="submit"], .media-block--inverted input[type="button"], .media-block--inverted button {
      background-color: #b51823;
      border-color: #990305; }
      .media-block--inverted .btn, .media-block--inverted .btn:link, .media-block--inverted .btn:visited, .media-block--inverted .button, .media-block--inverted .button:link, .media-block--inverted .button:visited, .media-block--inverted .more-link a, .media-block--inverted .more-link a:link, .media-block--inverted .more-link a:visited, .media-block--inverted input[type="submit"], .media-block--inverted input[type="submit"]:link, .media-block--inverted input[type="submit"]:visited, .media-block--inverted input[type="button"], .media-block--inverted input[type="button"]:link, .media-block--inverted input[type="button"]:visited, .media-block--inverted button, .media-block--inverted button:link, .media-block--inverted button:visited {
        color: #eae415; }
        .media-block--inverted .btn:hover, .media-block--inverted .btn:focus, .media-block--inverted .btn.active, .media-block--inverted .btn:link:hover, .media-block--inverted .btn:link:focus, .media-block--inverted .btn:link.active, .media-block--inverted .btn:visited:hover, .media-block--inverted .btn:visited:focus, .media-block--inverted .btn:visited.active, .media-block--inverted .button:hover, .media-block--inverted .button:focus, .media-block--inverted .button.active, .media-block--inverted .button:link:hover, .media-block--inverted .button:link:focus, .media-block--inverted .button:link.active, .media-block--inverted .button:visited:hover, .media-block--inverted .button:visited:focus, .media-block--inverted .button:visited.active, .media-block--inverted .more-link a:hover, .media-block--inverted .more-link a:focus, .media-block--inverted .more-link a.active, .media-block--inverted .more-link a:link:hover, .media-block--inverted .more-link a:link:focus, .media-block--inverted .more-link a:link.active, .media-block--inverted .more-link a:visited:hover, .media-block--inverted .more-link a:visited:focus, .media-block--inverted .more-link a:visited.active, .media-block--inverted input[type="submit"]:hover, .media-block--inverted input[type="submit"]:focus, .media-block--inverted input[type="submit"].active, .media-block--inverted input[type="submit"]:link:hover, .media-block--inverted input[type="submit"]:link:focus, .media-block--inverted input[type="submit"]:link.active, .media-block--inverted input[type="submit"]:visited:hover, .media-block--inverted input[type="submit"]:visited:focus, .media-block--inverted input[type="submit"]:visited.active, .media-block--inverted input[type="button"]:hover, .media-block--inverted input[type="button"]:focus, .media-block--inverted input[type="button"].active, .media-block--inverted input[type="button"]:link:hover, .media-block--inverted input[type="button"]:link:focus, .media-block--inverted input[type="button"]:link.active, .media-block--inverted input[type="button"]:visited:hover, .media-block--inverted input[type="button"]:visited:focus, .media-block--inverted input[type="button"]:visited.active, .media-block--inverted button:hover, .media-block--inverted button:focus, .media-block--inverted button.active, .media-block--inverted button:link:hover, .media-block--inverted button:link:focus, .media-block--inverted button:link.active, .media-block--inverted button:visited:hover, .media-block--inverted button:visited:focus, .media-block--inverted button:visited.active {
          background-color: #d71921;
          border-color: #d71921;
          color: #eae415; }
        a:hover .media-block--inverted .btn, a:hover .media-block--inverted .btn:link, a:hover .media-block--inverted .btn:visited, a:hover .media-block--inverted .button, a:hover .media-block--inverted .button:link, a:hover .media-block--inverted .button:visited, a:hover .media-block--inverted .more-link a, a:hover .media-block--inverted .more-link a:link, a:hover .media-block--inverted .more-link a:visited, a:hover .media-block--inverted input[type="submit"], a:hover .media-block--inverted input[type="submit"]:link, a:hover .media-block--inverted input[type="submit"]:visited, a:hover .media-block--inverted input[type="button"], a:hover .media-block--inverted input[type="button"]:link, a:hover .media-block--inverted input[type="button"]:visited, a:hover .media-block--inverted button, a:hover .media-block--inverted button:link, a:hover .media-block--inverted button:visited {
          background-color: #d71921;
          border-color: #d71921;
          color: #FFFFFF; }
        .media-block--inverted .btn:active, .media-block--inverted .btn:link:active, .media-block--inverted .btn:visited:active, .media-block--inverted .button:active, .media-block--inverted .button:link:active, .media-block--inverted .button:visited:active, .media-block--inverted .more-link a:active, .media-block--inverted .more-link a:link:active, .media-block--inverted .more-link a:visited:active, .media-block--inverted input[type="submit"]:active, .media-block--inverted input[type="submit"]:link:active, .media-block--inverted input[type="submit"]:visited:active, .media-block--inverted input[type="button"]:active, .media-block--inverted input[type="button"]:link:active, .media-block--inverted input[type="button"]:visited:active, .media-block--inverted button:active, .media-block--inverted button:link:active, .media-block--inverted button:visited:active {
          background-color: #d71921;
          border-color: #d71921; }
  @media (min-width: 960px) {
    .media-block {
      margin-bottom: 0; } }
  .media-block__image img {
    display: block;
    width: 100%;
    height: auto; }
  .media-block__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    padding: 1.44em;
    text-align: center; }
  .media-block__title {
    margin-bottom: .5em;
    font-size: 14px;
    text-transform: none; }
    @media (min-width: 600px) {
      .media-block__title {
        font-size: 20px; } }
  .media-block--single .media-block__title {
    margin-bottom: 1em; }
  .media-block__date, .media-block__taxonomy {
    color: #4d4d4d;
    font-size: 0.9em;
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase; }
  .media-block__taxonomy {
    margin-bottom: 1em;
    color: #990305; }
  .media-block--single .media-block__taxonomy {
    margin-bottom: 2em; }
  .media-block__text {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto; }
  .media-block__standfirst {
    font-weight: 700;
    text-align: center; }
  .media-block__cta {
    margin-top: 1.44em; }
    .media-block__cta .button {
      margin: 0; }
  .media-block .quote {
    padding-right: 0;
    padding-left: 0; }

.field-name-field-fr-caption-headline .field-items, .field-name-field-fr-caption-subtext .field-items {
  background-color: #d71921;
  color: #FFFFFF;
  padding: 0.75rem 1.25rem 0.625rem;
  margin-bottom: 0; }
  .field-name-field-fr-caption-headline .field-items a:link, .field-name-field-fr-caption-subtext .field-items a:link, .field-name-field-fr-caption-headline .field-items a:visited, .field-name-field-fr-caption-subtext .field-items a:visited {
    color: #eae415; }
    .field-name-field-fr-caption-headline .field-items a:link:hover, .field-name-field-fr-caption-subtext .field-items a:link:hover, .field-name-field-fr-caption-headline .field-items a:link:active, .field-name-field-fr-caption-subtext .field-items a:link:active, .field-name-field-fr-caption-headline .field-items a:link.active, .field-name-field-fr-caption-subtext .field-items a:link.active, .field-name-field-fr-caption-headline .field-items a:link:focus, .field-name-field-fr-caption-subtext .field-items a:link:focus, .field-name-field-fr-caption-headline .field-items a:visited:hover, .field-name-field-fr-caption-subtext .field-items a:visited:hover, .field-name-field-fr-caption-headline .field-items a:visited:active, .field-name-field-fr-caption-subtext .field-items a:visited:active, .field-name-field-fr-caption-headline .field-items a:visited.active, .field-name-field-fr-caption-subtext .field-items a:visited.active, .field-name-field-fr-caption-headline .field-items a:visited:focus, .field-name-field-fr-caption-subtext .field-items a:visited:focus {
      color: #FFFFFF; }
  .field-name-field-fr-caption-headline .field-items a.active-trail, .field-name-field-fr-caption-subtext .field-items a.active-trail, .field-name-field-fr-caption-headline .field-items a.active, .field-name-field-fr-caption-subtext .field-items a.active {
    color: #FFFFFF; }
  .field-name-field-fr-caption-headline .field-items .btn, .field-name-field-fr-caption-subtext .field-items .btn, .field-name-field-fr-caption-headline .field-items .button, .field-name-field-fr-caption-subtext .field-items .button, .field-name-field-fr-caption-headline .field-items .more-link a, .field-name-field-fr-caption-subtext .field-items .more-link a, .field-name-field-fr-caption-headline .field-items input[type="submit"], .field-name-field-fr-caption-subtext .field-items input[type="submit"], .field-name-field-fr-caption-headline .field-items input[type="button"], .field-name-field-fr-caption-subtext .field-items input[type="button"], .field-name-field-fr-caption-headline .field-items button, .field-name-field-fr-caption-subtext .field-items button {
    background-color: #b51823;
    border-color: #990305; }
    .field-name-field-fr-caption-headline .field-items .btn, .field-name-field-fr-caption-subtext .field-items .btn, .field-name-field-fr-caption-headline .field-items .btn:link, .field-name-field-fr-caption-subtext .field-items .btn:link, .field-name-field-fr-caption-headline .field-items .btn:visited, .field-name-field-fr-caption-subtext .field-items .btn:visited, .field-name-field-fr-caption-headline .field-items .button, .field-name-field-fr-caption-subtext .field-items .button, .field-name-field-fr-caption-headline .field-items .button:link, .field-name-field-fr-caption-subtext .field-items .button:link, .field-name-field-fr-caption-headline .field-items .button:visited, .field-name-field-fr-caption-subtext .field-items .button:visited, .field-name-field-fr-caption-headline .field-items .more-link a, .field-name-field-fr-caption-subtext .field-items .more-link a, .field-name-field-fr-caption-headline .field-items .more-link a:link, .field-name-field-fr-caption-subtext .field-items .more-link a:link, .field-name-field-fr-caption-headline .field-items .more-link a:visited, .field-name-field-fr-caption-subtext .field-items .more-link a:visited, .field-name-field-fr-caption-headline .field-items input[type="submit"], .field-name-field-fr-caption-subtext .field-items input[type="submit"], .field-name-field-fr-caption-headline .field-items input[type="submit"]:link, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:link, .field-name-field-fr-caption-headline .field-items input[type="submit"]:visited, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:visited, .field-name-field-fr-caption-headline .field-items input[type="button"], .field-name-field-fr-caption-subtext .field-items input[type="button"], .field-name-field-fr-caption-headline .field-items input[type="button"]:link, .field-name-field-fr-caption-subtext .field-items input[type="button"]:link, .field-name-field-fr-caption-headline .field-items input[type="button"]:visited, .field-name-field-fr-caption-subtext .field-items input[type="button"]:visited, .field-name-field-fr-caption-headline .field-items button, .field-name-field-fr-caption-subtext .field-items button, .field-name-field-fr-caption-headline .field-items button:link, .field-name-field-fr-caption-subtext .field-items button:link, .field-name-field-fr-caption-headline .field-items button:visited, .field-name-field-fr-caption-subtext .field-items button:visited {
      color: #eae415; }
      .field-name-field-fr-caption-headline .field-items .btn:hover, .field-name-field-fr-caption-subtext .field-items .btn:hover, .field-name-field-fr-caption-headline .field-items .btn:focus, .field-name-field-fr-caption-subtext .field-items .btn:focus, .field-name-field-fr-caption-headline .field-items .btn.active, .field-name-field-fr-caption-subtext .field-items .btn.active, .field-name-field-fr-caption-headline .field-items .btn:link:hover, .field-name-field-fr-caption-subtext .field-items .btn:link:hover, .field-name-field-fr-caption-headline .field-items .btn:link:focus, .field-name-field-fr-caption-subtext .field-items .btn:link:focus, .field-name-field-fr-caption-headline .field-items .btn:link.active, .field-name-field-fr-caption-subtext .field-items .btn:link.active, .field-name-field-fr-caption-headline .field-items .btn:visited:hover, .field-name-field-fr-caption-subtext .field-items .btn:visited:hover, .field-name-field-fr-caption-headline .field-items .btn:visited:focus, .field-name-field-fr-caption-subtext .field-items .btn:visited:focus, .field-name-field-fr-caption-headline .field-items .btn:visited.active, .field-name-field-fr-caption-subtext .field-items .btn:visited.active, .field-name-field-fr-caption-headline .field-items .button:hover, .field-name-field-fr-caption-subtext .field-items .button:hover, .field-name-field-fr-caption-headline .field-items .button:focus, .field-name-field-fr-caption-subtext .field-items .button:focus, .field-name-field-fr-caption-headline .field-items .button.active, .field-name-field-fr-caption-subtext .field-items .button.active, .field-name-field-fr-caption-headline .field-items .button:link:hover, .field-name-field-fr-caption-subtext .field-items .button:link:hover, .field-name-field-fr-caption-headline .field-items .button:link:focus, .field-name-field-fr-caption-subtext .field-items .button:link:focus, .field-name-field-fr-caption-headline .field-items .button:link.active, .field-name-field-fr-caption-subtext .field-items .button:link.active, .field-name-field-fr-caption-headline .field-items .button:visited:hover, .field-name-field-fr-caption-subtext .field-items .button:visited:hover, .field-name-field-fr-caption-headline .field-items .button:visited:focus, .field-name-field-fr-caption-subtext .field-items .button:visited:focus, .field-name-field-fr-caption-headline .field-items .button:visited.active, .field-name-field-fr-caption-subtext .field-items .button:visited.active, .field-name-field-fr-caption-headline .field-items .more-link a:hover, .field-name-field-fr-caption-subtext .field-items .more-link a:hover, .field-name-field-fr-caption-headline .field-items .more-link a:focus, .field-name-field-fr-caption-subtext .field-items .more-link a:focus, .field-name-field-fr-caption-headline .field-items .more-link a.active, .field-name-field-fr-caption-subtext .field-items .more-link a.active, .field-name-field-fr-caption-headline .field-items .more-link a:link:hover, .field-name-field-fr-caption-subtext .field-items .more-link a:link:hover, .field-name-field-fr-caption-headline .field-items .more-link a:link:focus, .field-name-field-fr-caption-subtext .field-items .more-link a:link:focus, .field-name-field-fr-caption-headline .field-items .more-link a:link.active, .field-name-field-fr-caption-subtext .field-items .more-link a:link.active, .field-name-field-fr-caption-headline .field-items .more-link a:visited:hover, .field-name-field-fr-caption-subtext .field-items .more-link a:visited:hover, .field-name-field-fr-caption-headline .field-items .more-link a:visited:focus, .field-name-field-fr-caption-subtext .field-items .more-link a:visited:focus, .field-name-field-fr-caption-headline .field-items .more-link a:visited.active, .field-name-field-fr-caption-subtext .field-items .more-link a:visited.active, .field-name-field-fr-caption-headline .field-items input[type="submit"]:hover, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:hover, .field-name-field-fr-caption-headline .field-items input[type="submit"]:focus, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:focus, .field-name-field-fr-caption-headline .field-items input[type="submit"].active, .field-name-field-fr-caption-subtext .field-items input[type="submit"].active, .field-name-field-fr-caption-headline .field-items input[type="submit"]:link:hover, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:link:hover, .field-name-field-fr-caption-headline .field-items input[type="submit"]:link:focus, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:link:focus, .field-name-field-fr-caption-headline .field-items input[type="submit"]:link.active, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:link.active, .field-name-field-fr-caption-headline .field-items input[type="submit"]:visited:hover, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:visited:hover, .field-name-field-fr-caption-headline .field-items input[type="submit"]:visited:focus, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:visited:focus, .field-name-field-fr-caption-headline .field-items input[type="submit"]:visited.active, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:visited.active, .field-name-field-fr-caption-headline .field-items input[type="button"]:hover, .field-name-field-fr-caption-subtext .field-items input[type="button"]:hover, .field-name-field-fr-caption-headline .field-items input[type="button"]:focus, .field-name-field-fr-caption-subtext .field-items input[type="button"]:focus, .field-name-field-fr-caption-headline .field-items input[type="button"].active, .field-name-field-fr-caption-subtext .field-items input[type="button"].active, .field-name-field-fr-caption-headline .field-items input[type="button"]:link:hover, .field-name-field-fr-caption-subtext .field-items input[type="button"]:link:hover, .field-name-field-fr-caption-headline .field-items input[type="button"]:link:focus, .field-name-field-fr-caption-subtext .field-items input[type="button"]:link:focus, .field-name-field-fr-caption-headline .field-items input[type="button"]:link.active, .field-name-field-fr-caption-subtext .field-items input[type="button"]:link.active, .field-name-field-fr-caption-headline .field-items input[type="button"]:visited:hover, .field-name-field-fr-caption-subtext .field-items input[type="button"]:visited:hover, .field-name-field-fr-caption-headline .field-items input[type="button"]:visited:focus, .field-name-field-fr-caption-subtext .field-items input[type="button"]:visited:focus, .field-name-field-fr-caption-headline .field-items input[type="button"]:visited.active, .field-name-field-fr-caption-subtext .field-items input[type="button"]:visited.active, .field-name-field-fr-caption-headline .field-items button:hover, .field-name-field-fr-caption-subtext .field-items button:hover, .field-name-field-fr-caption-headline .field-items button:focus, .field-name-field-fr-caption-subtext .field-items button:focus, .field-name-field-fr-caption-headline .field-items button.active, .field-name-field-fr-caption-subtext .field-items button.active, .field-name-field-fr-caption-headline .field-items button:link:hover, .field-name-field-fr-caption-subtext .field-items button:link:hover, .field-name-field-fr-caption-headline .field-items button:link:focus, .field-name-field-fr-caption-subtext .field-items button:link:focus, .field-name-field-fr-caption-headline .field-items button:link.active, .field-name-field-fr-caption-subtext .field-items button:link.active, .field-name-field-fr-caption-headline .field-items button:visited:hover, .field-name-field-fr-caption-subtext .field-items button:visited:hover, .field-name-field-fr-caption-headline .field-items button:visited:focus, .field-name-field-fr-caption-subtext .field-items button:visited:focus, .field-name-field-fr-caption-headline .field-items button:visited.active, .field-name-field-fr-caption-subtext .field-items button:visited.active {
        background-color: #d71921;
        border-color: #d71921;
        color: #eae415; }
      a:hover .field-name-field-fr-caption-headline .field-items .btn, .field-name-field-fr-caption-headline a:hover .field-items .btn, a:hover .field-name-field-fr-caption-subtext .field-items .btn, .field-name-field-fr-caption-subtext a:hover .field-items .btn, a:hover .field-name-field-fr-caption-headline .field-items .btn:link, .field-name-field-fr-caption-headline a:hover .field-items .btn:link, a:hover .field-name-field-fr-caption-subtext .field-items .btn:link, .field-name-field-fr-caption-subtext a:hover .field-items .btn:link, a:hover .field-name-field-fr-caption-headline .field-items .btn:visited, .field-name-field-fr-caption-headline a:hover .field-items .btn:visited, a:hover .field-name-field-fr-caption-subtext .field-items .btn:visited, .field-name-field-fr-caption-subtext a:hover .field-items .btn:visited, a:hover .field-name-field-fr-caption-headline .field-items .button, .field-name-field-fr-caption-headline a:hover .field-items .button, a:hover .field-name-field-fr-caption-subtext .field-items .button, .field-name-field-fr-caption-subtext a:hover .field-items .button, a:hover .field-name-field-fr-caption-headline .field-items .button:link, .field-name-field-fr-caption-headline a:hover .field-items .button:link, a:hover .field-name-field-fr-caption-subtext .field-items .button:link, .field-name-field-fr-caption-subtext a:hover .field-items .button:link, a:hover .field-name-field-fr-caption-headline .field-items .button:visited, .field-name-field-fr-caption-headline a:hover .field-items .button:visited, a:hover .field-name-field-fr-caption-subtext .field-items .button:visited, .field-name-field-fr-caption-subtext a:hover .field-items .button:visited, a:hover .field-name-field-fr-caption-headline .field-items .more-link a, .field-name-field-fr-caption-headline a:hover .field-items .more-link a, a:hover .field-name-field-fr-caption-subtext .field-items .more-link a, .field-name-field-fr-caption-subtext a:hover .field-items .more-link a, a:hover .field-name-field-fr-caption-headline .field-items .more-link a:link, .field-name-field-fr-caption-headline a:hover .field-items .more-link a:link, a:hover .field-name-field-fr-caption-subtext .field-items .more-link a:link, .field-name-field-fr-caption-subtext a:hover .field-items .more-link a:link, a:hover .field-name-field-fr-caption-headline .field-items .more-link a:visited, .field-name-field-fr-caption-headline a:hover .field-items .more-link a:visited, a:hover .field-name-field-fr-caption-subtext .field-items .more-link a:visited, .field-name-field-fr-caption-subtext a:hover .field-items .more-link a:visited, a:hover .field-name-field-fr-caption-headline .field-items input[type="submit"], .field-name-field-fr-caption-headline a:hover .field-items input[type="submit"], a:hover .field-name-field-fr-caption-subtext .field-items input[type="submit"], .field-name-field-fr-caption-subtext a:hover .field-items input[type="submit"], a:hover .field-name-field-fr-caption-headline .field-items input[type="submit"]:link, .field-name-field-fr-caption-headline a:hover .field-items input[type="submit"]:link, a:hover .field-name-field-fr-caption-subtext .field-items input[type="submit"]:link, .field-name-field-fr-caption-subtext a:hover .field-items input[type="submit"]:link, a:hover .field-name-field-fr-caption-headline .field-items input[type="submit"]:visited, .field-name-field-fr-caption-headline a:hover .field-items input[type="submit"]:visited, a:hover .field-name-field-fr-caption-subtext .field-items input[type="submit"]:visited, .field-name-field-fr-caption-subtext a:hover .field-items input[type="submit"]:visited, a:hover .field-name-field-fr-caption-headline .field-items input[type="button"], .field-name-field-fr-caption-headline a:hover .field-items input[type="button"], a:hover .field-name-field-fr-caption-subtext .field-items input[type="button"], .field-name-field-fr-caption-subtext a:hover .field-items input[type="button"], a:hover .field-name-field-fr-caption-headline .field-items input[type="button"]:link, .field-name-field-fr-caption-headline a:hover .field-items input[type="button"]:link, a:hover .field-name-field-fr-caption-subtext .field-items input[type="button"]:link, .field-name-field-fr-caption-subtext a:hover .field-items input[type="button"]:link, a:hover .field-name-field-fr-caption-headline .field-items input[type="button"]:visited, .field-name-field-fr-caption-headline a:hover .field-items input[type="button"]:visited, a:hover .field-name-field-fr-caption-subtext .field-items input[type="button"]:visited, .field-name-field-fr-caption-subtext a:hover .field-items input[type="button"]:visited, a:hover .field-name-field-fr-caption-headline .field-items button, .field-name-field-fr-caption-headline a:hover .field-items button, a:hover .field-name-field-fr-caption-subtext .field-items button, .field-name-field-fr-caption-subtext a:hover .field-items button, a:hover .field-name-field-fr-caption-headline .field-items button:link, .field-name-field-fr-caption-headline a:hover .field-items button:link, a:hover .field-name-field-fr-caption-subtext .field-items button:link, .field-name-field-fr-caption-subtext a:hover .field-items button:link, a:hover .field-name-field-fr-caption-headline .field-items button:visited, .field-name-field-fr-caption-headline a:hover .field-items button:visited, a:hover .field-name-field-fr-caption-subtext .field-items button:visited, .field-name-field-fr-caption-subtext a:hover .field-items button:visited {
        background-color: #d71921;
        border-color: #d71921;
        color: #FFFFFF; }
      .field-name-field-fr-caption-headline .field-items .btn:active, .field-name-field-fr-caption-subtext .field-items .btn:active, .field-name-field-fr-caption-headline .field-items .btn:link:active, .field-name-field-fr-caption-subtext .field-items .btn:link:active, .field-name-field-fr-caption-headline .field-items .btn:visited:active, .field-name-field-fr-caption-subtext .field-items .btn:visited:active, .field-name-field-fr-caption-headline .field-items .button:active, .field-name-field-fr-caption-subtext .field-items .button:active, .field-name-field-fr-caption-headline .field-items .button:link:active, .field-name-field-fr-caption-subtext .field-items .button:link:active, .field-name-field-fr-caption-headline .field-items .button:visited:active, .field-name-field-fr-caption-subtext .field-items .button:visited:active, .field-name-field-fr-caption-headline .field-items .more-link a:active, .field-name-field-fr-caption-subtext .field-items .more-link a:active, .field-name-field-fr-caption-headline .field-items .more-link a:link:active, .field-name-field-fr-caption-subtext .field-items .more-link a:link:active, .field-name-field-fr-caption-headline .field-items .more-link a:visited:active, .field-name-field-fr-caption-subtext .field-items .more-link a:visited:active, .field-name-field-fr-caption-headline .field-items input[type="submit"]:active, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:active, .field-name-field-fr-caption-headline .field-items input[type="submit"]:link:active, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:link:active, .field-name-field-fr-caption-headline .field-items input[type="submit"]:visited:active, .field-name-field-fr-caption-subtext .field-items input[type="submit"]:visited:active, .field-name-field-fr-caption-headline .field-items input[type="button"]:active, .field-name-field-fr-caption-subtext .field-items input[type="button"]:active, .field-name-field-fr-caption-headline .field-items input[type="button"]:link:active, .field-name-field-fr-caption-subtext .field-items input[type="button"]:link:active, .field-name-field-fr-caption-headline .field-items input[type="button"]:visited:active, .field-name-field-fr-caption-subtext .field-items input[type="button"]:visited:active, .field-name-field-fr-caption-headline .field-items button:active, .field-name-field-fr-caption-subtext .field-items button:active, .field-name-field-fr-caption-headline .field-items button:link:active, .field-name-field-fr-caption-subtext .field-items button:link:active, .field-name-field-fr-caption-headline .field-items button:visited:active, .field-name-field-fr-caption-subtext .field-items button:visited:active {
        background-color: #d71921;
        border-color: #d71921; }
  @media (min-width: 600px) {
    .field-name-field-fr-caption-headline .field-items, .field-name-field-fr-caption-subtext .field-items {
      padding-left: 6.25rem;
      margin-bottom: 1.25em; } }
  @media (min-width: 900px) {
    .field-name-field-fr-caption-headline .field-items, .field-name-field-fr-caption-subtext .field-items {
      padding-left: 9.375rem; } }

.field-name-field-fr-caption-headline .field-items {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  font-size: 1.44em;
  margin: 0; }
  .field-name-field-fr-caption-headline .field-items:before {
    content: "";
    display: block;
    font-size: 1rem;
    width: 2.75em;
    height: 1.4375em;
    background-position: -48.8125em -28.625em; }
  .field-name-field-fr-caption-headline .field-items:before {
    margin-top: 0.125rem;
    margin-left: -4.5625rem;
    float: left; }
    @media (min-width: 900px) {
      .field-name-field-fr-caption-headline .field-items:before {
        margin-left: -4.5625rem; } }

.field-name-field-fr-caption-subtext .field-items {
  background-color: #231f20;
  margin-bottom: 0; }
  .field-name-field-fr-caption-subtext .field-items p {
    margin: 0; }
  @media (min-width: 600px) {
    .field-name-field-fr-caption-subtext .field-items {
      display: inline-block;
      *display: inline;
      *zoom: 1;
      margin-bottom: 2.0736em; } }

@media (min-width: 600px) {
  .field-name-field-fr-caption .field-item:last-child .field-name-field-fr-caption-subtext .field-items {
    margin-bottom: 0;
    width: 100%; } }

@media (min-width: 900px) {
  .field-name-field-fr-caption .field-item:last-child .field-name-field-fr-caption-subtext .field-items {
    margin-bottom: 2.0736em;
    width: auto; } }

/* Front page landing panel */
.field-name-field-fr-front-page-image {
  max-width: 100%;
  overflow: hidden;
  height: auto;
  width: 100%; }
  .field-name-field-fr-front-page-image img {
    margin-left: -95%;
    max-width: initial;
    width: 250%; }
    @media (min-width: 260px) {
      .field-name-field-fr-front-page-image img {
        margin-left: -25%;
        width: 150%; } }
    @media (min-width: 600px) {
      .field-name-field-fr-front-page-image img {
        margin-bottom: 3.75em; } }
    @media (min-width: 1300px) {
      .field-name-field-fr-front-page-image img {
        margin-bottom: 0; } }

@media (min-width: 900px) {
  .panel-image {
    height: 700px;
    background-repeat: no-repeat;
    background-position: center bottom; }
    #block-block-4 .panel-image {
      height: 730px; } }

@media (min-width: 1300px) {
  .panel-image {
    height: auto; } }

.panel-image img {
  display: block; }
  @media (min-width: 900px) {
    .panel-image img {
      position: absolute !important;
      clip: rect(1px 1px 1px 1px);
      /* IE6, IE7 */
      clip: rect(1px, 1px, 1px, 1px);
      overflow: hidden;
      height: 1px; } }
  @media (min-width: 1300px) {
    .panel-image img {
      position: inherit !important;
      clip: inherit;
      overflow: inherit;
      height: inherit;
      margin-left: 0;
      width: 100%; } }

/*doc
---
title: Article
name: article
category: Molecules
---

News / blog article

```html_example
<article class="article">
  <header>
    <h1 class="section-title  article__title">Article Title</h1>
  </header>

  <div class="page-content">
    <div class="article__standfirst">Topping chupa chups ice cream sugar plum macaroon jelly-o jelly-o. Dessert chupa chups marzipan chocolate bar. Caramels caramels lollipop brownie powder.</div>

    <div class="article__text">
      <p>Cupcake ipsum dolor sit amet. Dragée chocolate bar topping marzipan ice cream dessert marshmallow danish bonbon. Fruitcake chocolate bar bonbon toffee cake sweet candy.</p>
      <p>Toffee apple pie sesame snaps. Jelly-o chocolate halvah icing. Chocolate bonbon chocolate cake halvah marzipan lemon drops powder.</p>
      <p>Fruitcake tootsie roll jelly beans danish chocolate cake carrot cake chocolate cake gummies. Marzipan chupa chups lollipop dessert liquorice liquorice danish carrot cake sesame snaps. Jujubes croissant gummies.</p>
      <p>Cheesecake marshmallow gummies pudding wafer tootsie roll dragée. Fruitcake candy carrot cake cupcake gummies gummi bears ice cream. Candy ice cream pastry jelly-o. Lemon drops caramels apple pie cake jelly sweet halvah.</p>
      <p>Cake chocolate bar cookie pastry icing sugar plum. Candy canes donut sugar plum. Macaroon apple pie carrot cake cotton candy cupcake pudding. Pie chocolate bar cotton candy jelly beans dessert.</p>
    </div>
  </div>
</article>
```
*/
.article__standfirst {
  margin-bottom: 1.2em;
  font-size: 1.2em;
  font-weight: 700; }

.article .media_embed iframe {
  max-width: 100%; }

.article-cta {
  position: relative;
  top: 0;
  right: 0;
  margin-top: 2.0736em;
  text-align: center; }
  @media (min-width: 960px) {
    .article-cta {
      position: absolute;
      top: 130px;
      right: 20px; } }
  .article-cta .button {
    margin: 0; }

.parallax-video {
  box-sizing: border-box;
  position: relative;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  margin-bottom: -78px;
  border: 5px solid #FFFFFF;
  border-top-width: 83px; }
  @media (min-width: 1120px) {
    .parallax-video {
      position: fixed;
      top: 0;
      left: 0;
      border-width: 40px;
      border-top-width: 118px; }
      .parallax-video-container {
        padding-top: 100vh; } }
  .parallax-video:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.4);
    pointer-events: none; }
  .parallax-video__placeholder, .parallax-video__video {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    max-width: none; }
  .parallax-video__placeholder {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%; }
  .parallax-video__video {
    display: none;
    width: 100%;
    height: 100%; }
    @media (min-width: 1120px) {
      .parallax-video__video {
        display: block; } }
    @media (min-aspect-ratio: 16 / 9) {
      .parallax-video__video {
        height: 300%; } }
    @media (max-aspect-ratio: 16 / 9) {
      .parallax-video__video {
        width: 300%; } }
  .parallax-video__placeholder {
    display: block;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover; }
    @media (min-width: 1120px) {
      .parallax-video__placeholder {
        display: none; } }
  .parallax-video__logo {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    z-index: 1;
    width: 355px;
    height: 110px;
    max-width: 80%;
    pointer-events: none; }
  .parallax-video__arrow {
    position: absolute;
    bottom: 5%;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    z-index: 1;
    width: 60px;
    height: 80px;
    margin: 0;
    padding: 0;
    cursor: pointer; }
    .parallax-video__arrow svg {
      fill: #d71921; }
    .parallax-video__arrow.active, .parallax-video__arrow:hover, .parallax-video__arrow:active, .parallax-video__arrow:focus {
      background: transparent; }

.site-header {
  -ms-flex-align: center;
      align-items: center;
  background-color: #FFFFFF;
  border-bottom: 1px solid #4d4d4d;
  display: -ms-flexbox;
  display: flex;
  height: 78px;
  -ms-flex-pack: justify;
      justify-content: space-between;
  padding: 10px 20px;
  position: fixed;
  top: 0;
  transition: all 0.3s ease-out;
  width: 100%;
  will-change: transform, height;
  z-index: 10; }
  .site-header.site-header--pinned {
    height: 58px; }
    .site-header.site-header--pinned .site-logo {
      width: 70px; }
      @media (min-width: 600px) {
        .site-header.site-header--pinned .site-logo {
          width: 70px; } }
  .site-header .site-logo {
    width: 100px; }
    @media (min-width: 600px) {
      .site-header .site-logo {
        width: 150px; } }
  .site-header .social-icons {
    display: none;
    margin-right: 50px; }
    @media (min-width: 600px) {
      .site-header .social-icons {
        display: block; } }

.secondary-site-header {
  margin-top: 50px; }

.site-header__right {
  display: -ms-flexbox;
  display: flex; }

.site-footer {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  padding: 2.98598em 1em; }
  .site-footer:after {
    content: " ";
    display: block;
    clear: both; }
  @media (min-width: 800px) {
    .site-footer {
      padding-left: 0;
      padding-right: 0; }
      .site-footer__links {
        width: 66.10169%;
        float: left;
        margin-right: 1.69492%; }
      .site-footer__newsletter {
        width: 32.20339%;
        float: left;
        margin-right: 1.69492%;
        float: right;
        margin-right: 0; }
      .site-footer__address--first {
        width: 40.67797%;
        float: left;
        margin-right: 1.69492%; }
      .site-footer__address--last {
        width: 57.62712%;
        float: left;
        margin-right: 1.69492%;
        float: right;
        margin-right: 0; } }
  .site-footer-wrap {
    background-color: #b51823;
    color: #FFFFFF; }
    .site-footer-wrap a:link, .site-footer-wrap a:visited {
      color: #eae415; }
      .site-footer-wrap a:link:hover, .site-footer-wrap a:link:active, .site-footer-wrap a:link.active, .site-footer-wrap a:link:focus, .site-footer-wrap a:visited:hover, .site-footer-wrap a:visited:active, .site-footer-wrap a:visited.active, .site-footer-wrap a:visited:focus {
        color: #FFFFFF; }
    .site-footer-wrap a.active-trail, .site-footer-wrap a.active {
      color: #FFFFFF; }
    .site-footer-wrap .btn, .site-footer-wrap .button, .site-footer-wrap .more-link a, .site-footer-wrap input[type="submit"], .site-footer-wrap input[type="button"], .site-footer-wrap button {
      background-color: #b51823;
      border-color: #990305; }
      .site-footer-wrap .btn, .site-footer-wrap .btn:link, .site-footer-wrap .btn:visited, .site-footer-wrap .button, .site-footer-wrap .button:link, .site-footer-wrap .button:visited, .site-footer-wrap .more-link a, .site-footer-wrap .more-link a:link, .site-footer-wrap .more-link a:visited, .site-footer-wrap input[type="submit"], .site-footer-wrap input[type="submit"]:link, .site-footer-wrap input[type="submit"]:visited, .site-footer-wrap input[type="button"], .site-footer-wrap input[type="button"]:link, .site-footer-wrap input[type="button"]:visited, .site-footer-wrap button, .site-footer-wrap button:link, .site-footer-wrap button:visited {
        color: #eae415; }
        .site-footer-wrap .btn:hover, .site-footer-wrap .btn:focus, .site-footer-wrap .btn.active, .site-footer-wrap .btn:link:hover, .site-footer-wrap .btn:link:focus, .site-footer-wrap .btn:link.active, .site-footer-wrap .btn:visited:hover, .site-footer-wrap .btn:visited:focus, .site-footer-wrap .btn:visited.active, .site-footer-wrap .button:hover, .site-footer-wrap .button:focus, .site-footer-wrap .button.active, .site-footer-wrap .button:link:hover, .site-footer-wrap .button:link:focus, .site-footer-wrap .button:link.active, .site-footer-wrap .button:visited:hover, .site-footer-wrap .button:visited:focus, .site-footer-wrap .button:visited.active, .site-footer-wrap .more-link a:hover, .site-footer-wrap .more-link a:focus, .site-footer-wrap .more-link a.active, .site-footer-wrap .more-link a:link:hover, .site-footer-wrap .more-link a:link:focus, .site-footer-wrap .more-link a:link.active, .site-footer-wrap .more-link a:visited:hover, .site-footer-wrap .more-link a:visited:focus, .site-footer-wrap .more-link a:visited.active, .site-footer-wrap input[type="submit"]:hover, .site-footer-wrap input[type="submit"]:focus, .site-footer-wrap input[type="submit"].active, .site-footer-wrap input[type="submit"]:link:hover, .site-footer-wrap input[type="submit"]:link:focus, .site-footer-wrap input[type="submit"]:link.active, .site-footer-wrap input[type="submit"]:visited:hover, .site-footer-wrap input[type="submit"]:visited:focus, .site-footer-wrap input[type="submit"]:visited.active, .site-footer-wrap input[type="button"]:hover, .site-footer-wrap input[type="button"]:focus, .site-footer-wrap input[type="button"].active, .site-footer-wrap input[type="button"]:link:hover, .site-footer-wrap input[type="button"]:link:focus, .site-footer-wrap input[type="button"]:link.active, .site-footer-wrap input[type="button"]:visited:hover, .site-footer-wrap input[type="button"]:visited:focus, .site-footer-wrap input[type="button"]:visited.active, .site-footer-wrap button:hover, .site-footer-wrap button:focus, .site-footer-wrap button.active, .site-footer-wrap button:link:hover, .site-footer-wrap button:link:focus, .site-footer-wrap button:link.active, .site-footer-wrap button:visited:hover, .site-footer-wrap button:visited:focus, .site-footer-wrap button:visited.active {
          background-color: #d71921;
          border-color: #d71921;
          color: #eae415; }
        a:hover .site-footer-wrap .btn, a:hover .site-footer-wrap .btn:link, a:hover .site-footer-wrap .btn:visited, a:hover .site-footer-wrap .button, a:hover .site-footer-wrap .button:link, a:hover .site-footer-wrap .button:visited, a:hover .site-footer-wrap .more-link a, a:hover .site-footer-wrap .more-link a:link, a:hover .site-footer-wrap .more-link a:visited, a:hover .site-footer-wrap input[type="submit"], a:hover .site-footer-wrap input[type="submit"]:link, a:hover .site-footer-wrap input[type="submit"]:visited, a:hover .site-footer-wrap input[type="button"], a:hover .site-footer-wrap input[type="button"]:link, a:hover .site-footer-wrap input[type="button"]:visited, a:hover .site-footer-wrap button, a:hover .site-footer-wrap button:link, a:hover .site-footer-wrap button:visited {
          background-color: #d71921;
          border-color: #d71921;
          color: #FFFFFF; }
        .site-footer-wrap .btn:active, .site-footer-wrap .btn:link:active, .site-footer-wrap .btn:visited:active, .site-footer-wrap .button:active, .site-footer-wrap .button:link:active, .site-footer-wrap .button:visited:active, .site-footer-wrap .more-link a:active, .site-footer-wrap .more-link a:link:active, .site-footer-wrap .more-link a:visited:active, .site-footer-wrap input[type="submit"]:active, .site-footer-wrap input[type="submit"]:link:active, .site-footer-wrap input[type="submit"]:visited:active, .site-footer-wrap input[type="button"]:active, .site-footer-wrap input[type="button"]:link:active, .site-footer-wrap input[type="button"]:visited:active, .site-footer-wrap button:active, .site-footer-wrap button:link:active, .site-footer-wrap button:visited:active {
          background-color: #d71921;
          border-color: #d71921; }
  .site-footer__row {
    position: relative;
    margin-bottom: 1.728em;
    padding-left: 40px; }
    .site-footer__row::after {
      clear: both;
      content: "";
      display: table; }
    @media (min-width: 800px) {
      .site-footer__row {
        margin-bottom: 2.98598em; } }
  .site-footer__column {
    margin-bottom: 1.728em; }
    .site-footer__column:last-child {
      margin-bottom: 0; }
    @media (min-width: 800px) {
      .site-footer__column {
        margin-bottom: 0; } }
  .site-footer__icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    margin-top: -5px; }
    .site-footer__icon--newsletter {
      top: auto; }
      @media (min-width: 800px) {
        .site-footer__icon--newsletter {
          position: relative; } }
    .site-footer__icon svg {
      fill: #FFFFFF; }
  .site-footer__logo {
    width: 130px;
    height: 40px;
    margin: 0 auto 1.2em;
    text-align: center; }
    .site-footer__logo svg {
      fill: #FFFFFF; }
  .site-footer__title {
    text-transform: none; }
  .site-footer__contacts-title, .site-footer__contacts-content {
    display: inline-block; }
  .site-footer__contacts-title {
    font-weight: 700; }
    .site-footer__contacts-title:after {
      content: ':'; }
  .site-footer__contacts-content {
    margin-right: 1.2em; }
  .site-footer__bottom {
    text-align: center; }
    .site-footer__bottom p:last-child {
      margin-bottom: 0; }
  .site-footer .menu {
    margin: 0;
    padding: 0;
    list-style: none; }
    .site-footer .menu li {
      display: inline-block;
      margin: 0 1.2em 0 0;
      padding: 0; }

@media (min-width: 800px) {
  .site-footer__newsletter {
    text-align: right; } }

.site-footer__newsletter .site-footer__icon,
.site-footer__newsletter .button {
  display: inline-block;
  vertical-align: middle; }

.site-footer__newsletter .button {
  margin: 0 0 0 0.83333em; }

.block-carousel {
  padding: 0 60px; }
  @media (min-width: 600px) {
    .block-carousel {
      padding: 0; } }
  .block-carousel .slick-slide {
    margin-bottom: 0; }
  .block-carousel .carousel-pagination {
    margin-top: 1.2em; }
  @media (min-width: 600px) {
    .block-carousel ~ .carousel-navigation-arrow {
      display: none; } }

.event-banner {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-size: cover;
  background-position: center; }
  .event-banner__summary {
    width: 500px;
    max-width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 20px;
    text-align: center; }
    @media (min-width: 1120px) {
      .event-banner__summary {
        height: auto;
        margin: 0;
        padding-top: 50px;
        padding-left: 50px; } }
  .event-banner__details {
    position: absolute;
    top: 2px;
    right: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    overflow-y: auto;
    padding: 50px 10px 10px;
    background: #FFFFFF; }
    @media (min-width: 1120px) {
      .event-banner__details {
        width: 498px;
        padding: 40px; } }
    .event-banner__details-close {
      position: absolute;
      top: 30px;
      right: 30px;
      width: 30px;
      height: 30px;
      margin: 0;
      padding: 0;
      background: transparent;
      border: none; }
      .event-banner__details-close svg {
        fill: #b51823; }
      .event-banner__details-close.active, .event-banner__details-close:hover, .event-banner__details-close:active, .event-banner__details-close:focus {
        background: transparent; }
        .event-banner__details-close.active svg, .event-banner__details-close:hover svg, .event-banner__details-close:active svg, .event-banner__details-close:focus svg {
          fill: #d71921; }
  .event-banner__logo img {
    max-height: 120px;
    margin: 0 auto; }
  .event-banner__date {
    display: block;
    margin: 0 0 1.2em;
    color: #4d4d4d;
    font-size: 1.2em;
    font-weight: 700;
    text-transform: uppercase; }
    .event-banner__date--alt {
      margin: 0.40188em 0 0;
      color: #FFFFFF; }
  .event-banner__cta {
    position: absolute;
    bottom: 50px;
    left: 50%;
    -ms-transform: translateX(-50%);
        transform: translateX(-50%);
    margin: 1.44em 0 0; }
    @media (min-width: 1120px) {
      .event-banner__cta {
        position: relative;
        bottom: auto;
        left: auto;
        -ms-transform: none;
            transform: none; } }
  .event-banner__title {
    margin-bottom: 0;
    font-size: 25px; }
    @media (min-width: 600px) {
      .event-banner__title {
        font-size: 28px; } }
  .event-banner__body {
    color: #4d4d4d; }
  .event-banner__subtitle,
  .event-banner h3 {
    margin: 1em 0;
    color: #231f20;
    font-size: 1.2em; }
  .event-banner__link {
    margin: 2.48832em 0 0; }

.event-banner-carousel {
  position: relative;
  width: 100%;
  height: calc(100vh - 78px);
  overflow: visible;
  border: 5px solid #FFFFFF;
  border-bottom-width: 40px; }
  @media (min-width: 1120px) {
    .event-banner-carousel {
      border-width: 40px; } }
  .event-banner-carousel .carousel-pagination {
    position: absolute;
    bottom: -40px;
    line-height: 40px; }
  .event-banner-carousel .carousel-navigation-arrow {
    display: none; }
    @media (min-width: 1120px) {
      .event-banner-carousel .carousel-navigation-arrow {
        display: block; } }
  .event-banner-carousel .js-will-fade-out {
    opacity: 1;
    transition: opacity 0.25s ease-out; }
    .event-banner-carousel .js-will-fade-out.is-hidden {
      opacity: 0; }
  .event-banner-carousel .js-will-slide-in {
    -ms-transform: translateX(100%) translateX(2px);
        transform: translateX(100%) translateX(2px);
    transition: transform 0.25s ease-out; }
    .event-banner-carousel .js-will-slide-in.is-visible {
      -ms-transform: translateX(0);
          transform: translateX(0); }

.js-event-carousel,
.js-event-carousel-slide,
.js-event-carousel .slick-list,
.js-event-carousel .slick-track,
.event-banner .contextual-links-region {
  height: 100%; }

#alert {
  position: relative;
  top: 79px;
  width: 100%;
  box-sizing: border-box;
  padding: 0 50px 0 20px;
  margin: 0;
  background: #b51924;
  color: #fff;
  overflow: hidden;
  min-height: 100px;
  display: none;
  z-index: 1; }
  #alert .close {
    position: absolute;
    right: 15px;
    top: 25px;
    width: 20px;
    height: 20px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: transparent url(../../icons/close.svg) center center no-repeat;
    background-size: 20px;
    cursor: pointer; }
  #alert .logo_title_wrapper {
    float: left; }
  @media screen and (min-width: 1400px) {
    #alert.m-alert .logo_title_wrapper {
      margin-left: -235px; } }
  @media screen and (min-width: 767px) {
    #alert.alert-info .logo_title_wrapper {
      margin-top: -10px; } }
  @media screen and (max-width: 767px) {
    #alert .logo_title_wrapper {
      width: 215px;
      margin: 0 auto;
      float: none; }
      #alert .logo_title_wrapper .alert-title {
        top: -10px;
        margin: 0 auto;
        text-align: left; } }
  #alert .alert-title {
    color: #fff;
    padding-left: 102px;
    font-size: 28px;
    line-height: 30px;
    padding-top: 10px;
    text-transform: inherit;
    font-weight: normal;
    margin: -40px 0 0 0;
    position: relative;
    top: 28px;
    text-align: left; }
  #alert .alert-info {
    height: 100%;
    padding-top: 23px; }
    @media screen and (max-width: 768px) {
      #alert .alert-info {
        text-align: center; } }
    @media screen and (min-width: 1400px) {
      #alert .alert-info .alert-link {
        max-width: 950px;
        position: relative;
        display: block;
        margin: 0 auto;
        height: 70px; } }
  #alert .alert-icon {
    width: 105px;
    min-height: 78px;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background: url(../../icons/alert-yellow.svg) center center no-repeat;
    float: left;
    position: relative;
    top: -10px; }
  #alert .alert_body {
    color: #fff;
    padding: 5px 185px 10px 270px;
    font-weight: normal;
    text-align: left; }
    @media screen and (max-width: 767px) {
      #alert .alert_body {
        margin: 0;
        padding: 0;
        padding-bottom: 15px;
        display: inline-block;
        text-align: center; } }
    #alert .alert_body p {
      color: #fff;
      padding: 0;
      margin: 0; }
      #alert .alert_body p a, #alert .alert_body p a:visited {
        font-weight: 700;
        text-decoration: none;
        transition: all 100ms linear; }
    #alert .alert_body h1, #alert .alert_body h2, #alert .alert_body h3, #alert .alert_body h4, #alert .alert_body h5, #alert .alert_body h6 {
      margin: 0;
      padding: 0 0 5px;
      color: #fff; }
  #alert a {
    color: #fff;
    text-decoration: none; }
    #alert a:visited {
      color: #fff; }
    #alert a:hover {
      color: #39c; }
    #alert a:active {
      color: #39c; }
    #alert a.alert-button, #alert a.alert-button:visited {
      float: right;
      margin-right: 70px;
      background: #eae415;
      border: 0;
      outline: 0;
      padding: 0 20px;
      min-height: 30px;
      display: block;
      color: #030335;
      border-radius: 2px;
      line-height: 30px; }
      @media screen and (max-width: 767px) {
        #alert a.alert-button, #alert a.alert-button:visited {
          margin: 20px 0;
          display: inline-block;
          float: none; } }
    #alert a.alert-button:hover, #alert a.alert-button:visited:hover {
      text-decoration: none;
      opacity: .9; }
  @media screen and (min-width: 1400px) {
    #alert.m-alert .alert_body {
      padding: 0 105px 0 20px;
      position: absolute;
      top: 42%;
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
      max-width: none; } }
  @media screen and (min-width: 767px) {
    #alert a.alert-button, #alert a.alert-button:visited {
      position: absolute;
      right: 0;
      top: 35px; } }
  @media screen and (min-width: 1050px) {
    #alert.m-alert a.alert-button, #alert.m-alert a.alert-button:visited {
      margin: 0;
      right: 65px;
      top: 35px; } }
  @media screen and (min-width: 1400px) {
    #alert.m-alert a.alert-button, #alert.m-alert a.alert-button:visited {
      right: 50%;
      top: 35px;
      margin-right: -475px; } }

._scroll {
  overflow-x: hidden;
  position: relative; }
  ._scroll ._header {
    position: relative;
    width: 100%;
    z-index: 1; }
    @media (min-width: 260px) {
      ._scroll ._header {
        position: absolute;
        top: 0; } }
  ._scroll .menu--social {
    float: right; }
  ._scroll .node-fr-ct-front-page {
    background-color: #000000;
    position: relative;
    z-index: 0; }
    ._scroll .node-fr-ct-front-page .field-collection-container {
      margin-top: -3.125em;
      position: relative;
      z-index: 1;
      width: 100%; }
      @media (min-width: 600px) {
        ._scroll .node-fr-ct-front-page .field-collection-container {
          bottom: 0;
          margin-top: 0;
          position: absolute; } }
  ._scroll--panel {
    border-top: 1px solid #990305;
    position: relative; }
    ._scroll--panel--image {
      overflow: hidden; }
      ._scroll--panel--image img {
        margin-bottom: 0;
        margin-top: -11%;
        margin-left: -20%;
        max-width: 140%;
        width: 140%; }
        #block-block-4 ._scroll--panel--image img {
          margin-bottom: 0;
          margin-top: 0; }
        @media (min-width: 704px) {
          ._scroll--panel--image img {
            margin-left: 0;
            max-width: 100%;
            width: 100% !important; } }
    ._scroll--panel--logo {
      margin: 0.625em;
      position: absolute;
      left: 0;
      top: 0;
      width: 130px;
      max-width: 268px; }
      @media (min-width: 600px) {
        ._scroll--panel--logo {
          width: 192px; } }
      @media (min-width: 900px) {
        ._scroll--panel--logo {
          margin: 1.875em;
          width: 268px; } }
    ._scroll--panel--textbox {
      position: relative;
      right: 0;
      top: 0; }
      ._scroll--panel--textbox p {
        margin: 0; }
      @media (min-width: 900px) {
        ._scroll--panel--textbox {
          margin: 1.875em;
          max-width: 500px;
          position: absolute; } }
    ._scroll--panel--date {
      font-size: 1.2em;
      margin-bottom: 0.3125em; }
    ._scroll--panel--text {
      padding: 1.875em; }
      @media (min-width: 900px) {
        ._scroll--panel--text {
          opacity: 0.9;
          filter: alpha(opacity=90);
          /* For IE8 and earlier */ } }
      #block-block-4 ._scroll--panel--text {
        padding-top: 0; }
        @media (min-width: 900px) {
          #block-block-4 ._scroll--panel--text {
            padding-top: 1.875em; } }
    ._scroll--panel--buttons {
      margin: 0.25rem; }
      @media (min-width: 900px) {
        ._scroll--panel--buttons {
          margin-left: 0;
          margin-right: 0; } }
  ._scroll #_evh-ric,
  ._scroll #_evh-button {
    display: none !important;
    visibility: hidden !important; }
  @media (min-width: 800px) {
    ._scroll .lt-ie9 {
      min-width: 800px; } }

._default ._header,
._default ._main {
  max-width: 1235px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25em;
  padding-right: 1.25em;
  margin: 0 auto; }
  ._default ._header:after,
  ._default ._main:after {
    content: " ";
    display: block;
    clear: both; }

._default ._main {
  position: static;
  padding-top: 50px;
  padding-bottom: 5.15978em; }
  @media (min-width: 960px) {
    ._default ._main {
      padding-top: 78px; } }

._main-prefix {
  padding-top: 78px; }
  ._main-prefix--pinned {
    padding-top: 58px; }

._main {
  position: relative; }

._main,
.page-bottom-wrapper {
  padding-left: 5px;
  padding-right: 5px; }
  @media (min-width: 1120px) {
    ._main,
    .page-bottom-wrapper {
      padding-left: 40px;
      padding-right: 40px; } }

.view-display-id-page {
  position: relative; }

._main .mega-nav {
  position: fixed;
  height: 200%;
  padding-top: 103px;
  right: 0;
  top: 0;
  transition: all 0.3s ease-out;
  -ms-transform: translateX(100%);
      transform: translateX(100%);
  will-change: transform;
  z-index: 1; }
  ._main .mega-nav .mega-link:first-of-type {
    margin-top: -14px; }
  ._main .mega-nav .mega-link:last-of-type {
    margin-bottom: -14px; }
  .no-js ._main .mega-nav {
    position: relative;
    top: 0; }
  @media (min-width: 1120px) {
    ._main .mega-nav {
      padding-top: 118px; } }
  ._main .mega-nav.is-active {
    -ms-transform: translateX(0);
        transform: translateX(0); }
    ._main .mega-nav.is-active.mega-nav--pinned {
      -ms-transform: translate(0, -0px);
          transform: translate(0, -0px); }
  ._main .mega-nav.mega-nav--pinned {
    -ms-transform: translate(100%, -0px);
        transform: translate(100%, -0px); }

.page-slice {
  position: relative;
  margin-top: 2.98598em; }
  @media (min-width: 600px) {
    .page-slice {
      margin-top: 5.15978em; } }
  .page-slice--last {
    margin-bottom: 2.98598em; }
    @media (min-width: 960px) {
      .page-slice--last {
        margin-bottom: 5.15978em; } }
  .page-slice__cta {
    margin-top: 1.2em;
    text-align: center; }
    @media (min-width: 600px) {
      .page-slice__cta {
        margin-top: 2.0736em; } }
    .page-slice__cta .button {
      margin: 0; }

.page-bottom {
  max-width: 1235px;
  margin-left: auto;
  margin-right: auto; }
  .page-bottom:after {
    content: " ";
    display: block;
    clear: both; }
  .page-bottom .block {
    margin-top: 30px; }
  @media (min-width: 960px) {
    .page-bottom {
      display: -ms-flexbox;
      display: flex; }
      .page-bottom .block {
        width: 49.15254%;
        float: left;
        margin-right: 1.69492%;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        margin-top: 0; }
        .page-bottom .block:nth-child(even) {
          float: right;
          margin-right: 0; }
      .page-bottom .media-block {
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; } }

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

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

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -2.5px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 35px;
    height: 5px;
    background-color: #b51823;
    border-radius: 0;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -10px; }
  .hamburger-inner::after {
    bottom: -10px; }

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

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

.hamburger--3dx.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(180deg); }
  .hamburger--3dx.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dx.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

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

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

.hamburger--3dx-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateY(-180deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dx-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

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

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

.hamburger--3dy.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(-180deg); }
  .hamburger--3dy.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dy.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

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

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

.hamburger--3dy-r.is-active .hamburger-inner {
  background-color: transparent;
  transform: rotateX(180deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::before {
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--3dy-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -10px, 0) rotate(-45deg); }

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

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

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

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

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

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

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

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

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

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

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

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

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

.hamburger--boring.is-active .hamburger-inner {
  -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
  .hamburger--boring.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--boring.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg); }

/*
   * Collapse
   */
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.15s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse .hamburger-inner::after {
    top: -20px;
    transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse .hamburger-inner::before {
    transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.32s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; }
  .hamburger--collapse.is-active .hamburger-inner::before {
    top: 0;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg);
    transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Collapse Reverse
   */
.hamburger--collapse-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.15s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--collapse-r .hamburger-inner::after {
    top: -20px;
    transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; }
  .hamburger--collapse-r .hamburger-inner::before {
    transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--collapse-r.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(45deg);
  transition-delay: 0.32s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--collapse-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; }
  .hamburger--collapse-r.is-active .hamburger-inner::before {
    top: 0;
    -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Elastic
   */
.hamburger--elastic .hamburger-inner {
  top: 2.5px;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.15s 0.4s ease; }
  .hamburger--elastic .hamburger-inner::after {
    top: 20px;
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(135deg);
  transition-delay: 0.1s; }
  .hamburger--elastic.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-270deg);
    transition-delay: 0.1s; }

/*
   * Elastic Reverse
   */
.hamburger--elastic-r .hamburger-inner {
  top: 2.5px;
  transition-duration: 0.4s;
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }
  .hamburger--elastic-r .hamburger-inner::before {
    top: 10px;
    transition: opacity 0.15s 0.4s ease; }
  .hamburger--elastic-r .hamburger-inner::after {
    top: 20px;
    transition: transform 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55); }

.hamburger--elastic-r.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(-135deg);
  transition-delay: 0.1s; }
  .hamburger--elastic-r.is-active .hamburger-inner::before {
    transition-delay: 0s;
    opacity: 0; }
  .hamburger--elastic-r.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(270deg);
    transition-delay: 0.1s; }

/*
   * Emphatic
   */
.hamburger--emphatic {
  overflow: hidden; }
  .hamburger--emphatic .hamburger-inner {
    transition: background-color 0.2s 0.25s ease-in; }
    .hamburger--emphatic .hamburger-inner::before {
      left: 0;
      transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in; }
    .hamburger--emphatic .hamburger-inner::after {
      top: 10px;
      right: 0;
      transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in; }
  .hamburger--emphatic.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent; }
    .hamburger--emphatic.is-active .hamburger-inner::before {
      left: -70px;
      top: -70px;
      transform: translate3d(70px, 70px, 0) rotate(45deg);
      transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic.is-active .hamburger-inner::after {
      right: -70px;
      top: -70px;
      transform: translate3d(-70px, 70px, 0) rotate(-45deg);
      transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Emphatic Reverse
   */
.hamburger--emphatic-r {
  overflow: hidden; }
  .hamburger--emphatic-r .hamburger-inner {
    transition: background-color 0.2s 0.25s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::before {
      left: 0;
      transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, left 0.2s 0.25s ease-in; }
    .hamburger--emphatic-r .hamburger-inner::after {
      top: 10px;
      right: 0;
      transition: transform 0.2s cubic-bezier(0.6, 0.04, 0.98, 0.335), top 0.05s 0.2s linear, right 0.2s 0.25s ease-in; }
  .hamburger--emphatic-r.is-active .hamburger-inner {
    transition-delay: 0s;
    transition-timing-function: ease-out;
    background-color: transparent; }
    .hamburger--emphatic-r.is-active .hamburger-inner::before {
      left: -70px;
      top: 70px;
      transform: translate3d(70px, -70px, 0) rotate(-45deg);
      transition: left 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); }
    .hamburger--emphatic-r.is-active .hamburger-inner::after {
      right: -70px;
      top: 70px;
      transform: translate3d(-70px, -70px, 0) rotate(45deg);
      transition: right 0.2s ease-out, top 0.05s 0.2s linear, transform 0.2s 0.25s cubic-bezier(0.075, 0.82, 0.165, 1); }

/*
   * Slider
   */
.hamburger--slider .hamburger-inner {
  top: 2.5px; }
  .hamburger--slider .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.2s; }
  .hamburger--slider .hamburger-inner::after {
    top: 20px; }

.hamburger--slider.is-active .hamburger-inner {
  transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--slider.is-active .hamburger-inner::before {
    transform: rotate(-45deg) translate3d(-5px, -5px, 0);
    opacity: 0; }
  .hamburger--slider.is-active .hamburger-inner::after {
    transform: translate3d(0, -20px, 0) rotate(-90deg); }

/*
   * Slider Reverse
   */
.hamburger--slider-r .hamburger-inner {
  top: 2.5px; }
  .hamburger--slider-r .hamburger-inner::before {
    top: 10px;
    transition-property: transform, opacity;
    transition-timing-function: ease;
    transition-duration: 0.2s; }
  .hamburger--slider-r .hamburger-inner::after {
    top: 20px; }

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

/*
   * Spring
   */
.hamburger--spring .hamburger-inner {
  top: 2.5px;
  transition: background-color 0s 0.15s linear; }
  .hamburger--spring .hamburger-inner::before {
    top: 10px;
    transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring .hamburger-inner::after {
    top: 20px;
    transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring.is-active .hamburger-inner {
  transition-delay: 0.32s;
  background-color: transparent; }
  .hamburger--spring.is-active .hamburger-inner::before {
    top: 0;
    transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(45deg); }
  .hamburger--spring.is-active .hamburger-inner::after {
    top: 0;
    transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 10px, 0) rotate(-45deg); }

/*
   * Spring Reverse
   */
.hamburger--spring-r .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.15s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spring-r .hamburger-inner::after {
    top: -20px;
    transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0s linear; }
  .hamburger--spring-r .hamburger-inner::before {
    transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spring-r.is-active .hamburger-inner {
  transform: translate3d(0, -10px, 0) rotate(-45deg);
  transition-delay: 0.32s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spring-r.is-active .hamburger-inner::after {
    top: 0;
    opacity: 0;
    transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0s 0.32s linear; }
  .hamburger--spring-r.is-active .hamburger-inner::before {
    top: 0;
    -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.32s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand
   */
.hamburger--stand .hamburger-inner {
  transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear; }
  .hamburger--stand .hamburger-inner::before {
    transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand .hamburger-inner::after {
    transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand.is-active .hamburger-inner {
  -ms-transform: rotate(90deg);
      transform: rotate(90deg);
  background-color: transparent;
  transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear; }
  .hamburger--stand.is-active .hamburger-inner::before {
    top: 0;
    -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Stand Reverse
   */
.hamburger--stand-r .hamburger-inner {
  transition: transform 0.1s 0.22s cubic-bezier(0.55, 0.055, 0.675, 0.19), background-color 0s 0.1s linear; }
  .hamburger--stand-r .hamburger-inner::before {
    transition: top 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--stand-r .hamburger-inner::after {
    transition: bottom 0.1s 0.1s ease-in, transform 0.1s 0s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--stand-r.is-active .hamburger-inner {
  -ms-transform: rotate(-90deg);
      transform: rotate(-90deg);
  background-color: transparent;
  transition: transform 0.1s 0s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0s 0.22s linear; }
  .hamburger--stand-r.is-active .hamburger-inner::before {
    top: 0;
    -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    transition: top 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--stand-r.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    transition: bottom 0.1s 0.12s ease-out, transform 0.1s 0.22s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin
   */
.hamburger--spin .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin .hamburger-inner::before {
    transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin .hamburger-inner::after {
    transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
  -ms-transform: rotate(225deg);
      transform: rotate(225deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; }
  .hamburger--spin.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Spin Reverse
   */
.hamburger--spin-r .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--spin-r .hamburger-inner::before {
    transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; }
  .hamburger--spin-r .hamburger-inner::after {
    transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin-r.is-active .hamburger-inner {
  -ms-transform: rotate(-225deg);
      transform: rotate(-225deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--spin-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; }
  .hamburger--spin-r.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg);
    transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.1s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.1s 0.14s ease, opacity 0.1s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease, opacity 0.1s 0.14s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg);
    transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); }

/*
   * Vortex
   */
.hamburger--vortex .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex .hamburger-inner::before, .hamburger--vortex .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex.is-active .hamburger-inner {
  -ms-transform: rotate(765deg);
      transform: rotate(765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex.is-active .hamburger-inner::before, .hamburger--vortex.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(90deg);
        transform: rotate(90deg); }

/*
   * Vortex Reverse
   */
.hamburger--vortex-r .hamburger-inner {
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r .hamburger-inner::before, .hamburger--vortex-r .hamburger-inner::after {
    transition-duration: 0s;
    transition-delay: 0.1s;
    transition-timing-function: linear; }
  .hamburger--vortex-r .hamburger-inner::before {
    transition-property: top, opacity; }
  .hamburger--vortex-r .hamburger-inner::after {
    transition-property: bottom, transform; }

.hamburger--vortex-r.is-active .hamburger-inner {
  -ms-transform: rotate(-765deg);
      transform: rotate(-765deg);
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }
  .hamburger--vortex-r.is-active .hamburger-inner::before, .hamburger--vortex-r.is-active .hamburger-inner::after {
    transition-delay: 0s; }
  .hamburger--vortex-r.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0; }
  .hamburger--vortex-r.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsIi4uLy4uL2xpYnJhcmllcy9zYXNzLXRvb2xraXQvc3R5bGVzaGVldHMvdG9vbGtpdC9fcmVzZXQuc2NzcyIsIi4uLy4uL2xpYnJhcmllcy9zYXNzLXRvb2xraXQvc3R5bGVzaGVldHMvdG9vbGtpdC9fa2lja3N0YXJ0LnNjc3MiLCIuLi8uLi9saWJyYXJpZXMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsInBhcnRpYWxzL3V0aWxpdGllcy92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwicGFydGlhbHMvdXRpbGl0aWVzL3ZhcmlhYmxlcy9fZ3JpZC5zY3NzIiwicGFydGlhbHMvdXRpbGl0aWVzL21peGlucy9fY2xlYXJmaXgtbWUuc2NzcyIsInBhcnRpYWxzL3V0aWxpdGllcy9taXhpbnMvX2NvbG9ycy5zY3NzIiwicGFydGlhbHMvdXRpbGl0aWVzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwicGFydGlhbHMvdXRpbGl0aWVzL21peGlucy9faW5saW5lLWJsb2NrLWZpeC5zY3NzIiwicGFydGlhbHMvdXRpbGl0aWVzL21peGlucy9fcmVtLnNjc3MiLCJwYXJ0aWFscy91dGlsaXRpZXMvZXh0ZW5kcy9fdGV4dEFsaWduLnNjc3MiLCJwYXJ0aWFscy91dGlsaXRpZXMvZXh0ZW5kcy9fc3ByaXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsInBhcnRpYWxzL3V0aWxpdGllcy9fY2xhc3Nlcy5zY3NzIiwicGFydGlhbHMvYXRvbXMvdHlwb2dyYXBoeS9fdmFyaWFibGVzLnNjc3MiLCJwYXJ0aWFscy9hdG9tcy90eXBvZ3JhcGh5L19taXhpbnMuc2NzcyIsInBhcnRpYWxzL2F0b21zL3R5cG9ncmFwaHkvX2V4dGVuZHMuc2NzcyIsInBhcnRpYWxzL2F0b21zL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fbW9kdWxhci1zY2FsZS5zY3NzIiwiLi4vLi4vbGlicmFyaWVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdGludC5zY3NzIiwicGFydGlhbHMvYXRvbXMvX2Jhc2Uuc2NzcyIsInBhcnRpYWxzL2F0b21zL2Jhc2UvX2V4dGVuZHMuc2NzcyIsInBhcnRpYWxzL2F0b21zL19tZWRpYS5zY3NzIiwicGFydGlhbHMvYXRvbXMvbWVkaWEvX2V4dGVuZHMuc2NzcyIsInBhcnRpYWxzL2F0b21zL2J1dHRvbi9fZXh0ZW5kcy5zY3NzIiwicGFydGlhbHMvYXRvbXMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vbGlicmFyaWVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL2xpYnJhcmllcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19zcGFuLnNjc3MiLCIuLi8uLi9saWJyYXJpZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fZGlyZWN0aW9uLnNjc3MiLCJwYXJ0aWFscy9hdG9tcy9mb3JtL192YXJpYWJsZXMuc2NzcyIsInBhcnRpYWxzL2F0b21zL19mb3JtLnNjc3MiLCJwYXJ0aWFscy9hdG9tcy9mb3JtL19leHRlbmRzLnNjc3MiLCJwYXJ0aWFscy91dGlsaXRpZXMvbWl4aW5zL19idWxsZXRzLnNjc3MiLCJwYXJ0aWFscy9hdG9tcy9fZ3JpZC5zY3NzIiwiLi4vLi4vbGlicmFyaWVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbGlicmFyaWVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vbGlicmFyaWVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL2xpYnJhcmllcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19yb3dzLnNjc3MiLCJwYXJ0aWFscy9hdG9tcy90eXBvZ3JhcGh5L19saW5rcy5zY3NzIiwicGFydGlhbHMvdXRpbGl0aWVzL21peGlucy9fb24tZXZlbnQuc2NzcyIsInBhcnRpYWxzL2F0b21zL19oYW1idXJnZXIuc2NzcyIsInBhcnRpYWxzL2F0b21zL19zb2NpYWwtaWNvbi5zY3NzIiwicGFydGlhbHMvYXRvbXMvX3NpdGUtbG9nby5zY3NzIiwicGFydGlhbHMvYXRvbXMvX3RhYmxlLnNjc3MiLCJwYXJ0aWFscy9hdG9tcy90YWJsZS9fZXh0ZW5kcy5zY3NzIiwicGFydGlhbHMvYXRvbXMvX3RhZ3Muc2NzcyIsInBhcnRpYWxzL2F0b21zL19jYXJvdXNlbC1wYWdpbmF0aW9uLnNjc3MiLCJwYXJ0aWFscy9hdG9tcy9fY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdy5zY3NzIiwicGFydGlhbHMvYXRvbXMvX3F1b3RlLnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvX2FkbWluLnNjc3MiLCJwYXJ0aWFscy91dGlsaXRpZXMvbWl4aW5zL19zcGFjaW5nLnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvX2ZpZWxkLWNvbGxlY3Rpb24uc2NzcyIsInBhcnRpYWxzL21vbGVjdWxlcy9fbmF2LnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvbmF2L19leHRlbmRzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvbmF2L19tZWdhLWxpbmstbmF2LnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvX25hdmJhci5zY3NzIiwicGFydGlhbHMvbW9sZWN1bGVzL25hdmJhci9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInBhcnRpYWxzL21vbGVjdWxlcy9faWNvbi5zY3NzIiwicGFydGlhbHMvbW9sZWN1bGVzL19wcm9ncmVzcy5zY3NzIiwicGFydGlhbHMvbW9sZWN1bGVzL3Byb2dyZXNzL19leHRlbmRzLnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvX3RhYnMuc2NzcyIsInBhcnRpYWxzL21vbGVjdWxlcy9fYnJlYWRjcnVtYi5zY3NzIiwicGFydGlhbHMvbW9sZWN1bGVzL19wYWdlLWxpbmsuc2NzcyIsInBhcnRpYWxzL21vbGVjdWxlcy9fcGFnZXIuc2NzcyIsInBhcnRpYWxzL21vbGVjdWxlcy9fc29jaWFsLWljb25zLnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvX21lZGlhLnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvbWVkaWEvX2V4dGVuZHMuc2NzcyIsInBhcnRpYWxzL3V0aWxpdGllcy9taXhpbnMvX3RyYW5zcGFyZW50LnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvX21lZGlhLWJsb2NrLnNjc3MiLCJwYXJ0aWFscy9tb2xlY3VsZXMvX2NhcHRpb24uc2NzcyIsInBhcnRpYWxzL21vbGVjdWxlcy9jYXB0aW9uL19leHRlbmRzLnNjc3MiLCJwYXJ0aWFscy91dGlsaXRpZXMvbWl4aW5zL19zcHJpdGUuc2NzcyIsInBhcnRpYWxzL21vbGVjdWxlcy9fcGFuZWwuc2NzcyIsInBhcnRpYWxzL21vbGVjdWxlcy9fYXJ0aWNsZS5zY3NzIiwicGFydGlhbHMvbW9sZWN1bGVzL19wYXJhbGxheC12aWRlby5zY3NzIiwicGFydGlhbHMvb3JnYW5pc21zL19oZWFkZXIuc2NzcyIsInBhcnRpYWxzL29yZ2FuaXNtcy9fZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9vcmdhbmlzbXMvX2Jsb2NrLWNhcm91c2VsLnNjc3MiLCJwYXJ0aWFscy9vcmdhbmlzbXMvX2V2ZW50LWJhbm5lci5zY3NzIiwicGFydGlhbHMvb3JnYW5pc21zL19zZWN1cml0eS1hbGVydC5zY3NzIiwicGFydGlhbHMvdGVtcGxhdGVzL19zY3JvbGwuc2NzcyIsInBhcnRpYWxzL3RlbXBsYXRlcy9fZGVmYXVsdC5zY3NzIiwicGFydGlhbHMvdGVtcGxhdGVzL19tYWluLW5hdi5zY3NzIiwicGFydGlhbHMvdGVtcGxhdGVzL19wYWdlLXNsaWNlLnNjc3MiLCJwYXJ0aWFscy90ZW1wbGF0ZXMvX3BhZ2UtYm90dG9tLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL2hhbWJ1cmdlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R4LXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvXzNkeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fM2R5LXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX2Fycm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvdy1yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19hcnJvd2FsdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3dhbHQtci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYm9yaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fY29sbGFwc2Utci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZWxhc3RpYy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZWxhc3RpYy1yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19lbXBoYXRpYy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fZW1waGF0aWMtci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc2xpZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zbGlkZXItci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3ByaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL19zcHJpbmctci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3RhbmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3N0YW5kLXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwaW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvdHlwZXMvX3NwaW4tci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fc3F1ZWV6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fdm9ydGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaGFtYnVyZ2Vycy9fc2Fzcy9oYW1idXJnZXJzL3R5cGVzL192b3J0ZXgtci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7O0VBTUU7QUFLRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXNFRSx3QkFBd0I7RUFDeEIsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixVQUFVO0VBQ1YsV0FBVztFQUNYLFdBQVc7RUFDWCx5QkFBeUIsRUFDMUI7O0FBTUQ7RUFDRSwyQkFBMkI7RUFDM0IsK0JBQStCLEVBQ2hDOztBQU1EO0VBQ0UsZUFBZSxFQUNoQjs7QUFhRDs7Ozs7Ozs7Ozs7OztFQWFFLGVBQWUsRUFDaEI7O0FBT0Q7Ozs7RUFJRSxzQkFBc0I7RUFDdEIseUJBQXlCLEVBQzFCOztBQU9EO0VBQ0UsY0FB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LDZERGpCb0Q7RUNrQnBELGlCRGJhLEVFSmQ7O0FDNEJEOztFRkhFLDZERDFCb0Q7RUMyQnBELGlCRHZCZ0IsRUVBakI7O0FDQ0Q7O0VET0UsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixpQkZOdUI7RUVPdkIsb0JBQXlCO0VBQ3pCLDBCQUEwQixFQUMzQjs7QUNSRDtFRFdFLGdCQUFnQjtFQUNoQix5QkV5Q2UsRUZwQ2hCO0VHa0NHO0lGbkRKO01EZUksZ0JBQWdCLEVBRW5CLEVBQUE7O0FDYkQ7RURnQkUsZ0JBQWdCO0VBQ2hCLHlCRWdDZSxFRjNCaEI7RUd5Qkc7SUYvQ0o7TURvQkksZ0JBQWdCLEVBRW5CLEVBQUE7O0FDZEQ7RURpQkUsZ0JBQWdCO0VBQ2hCLHdCRXVCZSxFRmxCaEI7RUdnQkc7SUZ2Q0o7TURxQkksZ0JBQWdCLEVBRW5CLEVBQUE7O0FDUEQ7O0VEdUJFLGViMUNnQjtFYTJDaEIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtFQUNqQixtQkFBbUI7RUFDbkIsMEJBQTBCLEVBSzNCO0VHVEc7SUZ2Qko7O01EOEJJLGdCQUFnQixFQUVuQixFQUFBOztBQUVEOztFQUNFLFdBQVc7RUFDWCxzQkFBc0I7RUlqQmQsMkJKbUMwQjtFSzVDNUIsMkJMNkM0QjtFSzdDNUIsbUNMOENvQztFSzlDcEMsb0JMK0NxQjtFRDdFM0IsNkREakJvRDtFQ2tCcEQsaUJEYmEsRUU2RmQ7RUEzQkQ7SUFNTSxnQkFBZ0I7SUFDaEIsc0JBQXNCLEVBQ3ZCO0VBUkw7SUFVTSxjQUFjLEVBQ2Y7RUFYTDtJQWVJLHNCQUFzQixFQUN2QjtFQWhCSDtJQWtCSSx5Q0FBaUMsRUFDbEM7RUFuQkg7SVZoRUksZUhHYSxFR0lkO0lVeURIO01WM0RNLGVIVmEsRUdXZDtFVTBETDtJVnRESSxlSGZlLEVHZ0JoQjs7QVcyQkg7RUR3REUsbUJBQW1CO0VBQ25CLG9CQUF5QixFQUMxQjs7QUMvQ0Q7RURrREUsb0JBQW9CLEVBQ3JCOztBQzlERDtFRGlFRSxpQkFBaUIsRUFDbEI7O0FDbEVEO0VEc0VFLGdCQUFnQixFQUtqQjtFQzNFRDtJRHdFSSxnQkFBZ0I7SUFDaEIsaUJBQWlCLEVBQ2xCOztBQzFFSDtFRCtFRSxhQUFhO0VBQ2IsZ0JBQWdCLEVBQ2pCOztBQ2pFRDtFRG9FRSxtQkFBbUIsRUFDcEI7O0FDbEVEOztFRHlFRSx3QkFBd0IsRUFDekI7O0FDckVEOztFRHdFRSx3QkFBd0IsRUFDekI7O0FDMUREO0VENkRFLG1CQUFtQixFQUNwQjs7QUN0RUQ7RUQ2RUUsc0JBQXlCLEVBQzFCOztBQzlERDtFRGtFRSxpQkFBaUI7RUFJakIsbUJBQW1CLEVBS3BCO0VDM0VEO0lEeUVJLGNBQWMsRUFDZjs7QUN0RUg7RUQwRUUsZ0JBQWdCLEVBS2pCO0VHbkhHO0lGb0NKO01ENkVJLGdCQUFnQixFQUVuQixFQUFBOztBQ2xFRDtFRHFFRSxpREZoTHdDLEVFaUx6Qzs7QUN2R0Q7RUQwR0Usa0NiOUtpQixFYStLbEI7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsYUFBYTtFQUNiLGVicExpQixFYTZMbEI7RUd6SUc7SUg2SEo7TUFRTSxtQkFBbUIsRUFFcEIsRUFBQTs7QUFRTDtFQUNFLDBCQUEwQixFQUMzQjs7QWpCeWNEO0VrQnBuQkUsZUFBZSxFQUNoQjs7QUFpRUQ7RUFDRSxzQkxuRmU7RUtvRmYsb0JBQXlCO0VBQ3pCLFVBQVU7RUFDVixVQUFVO0VBQ1YsOEJkbEZZO0VjbUZaLG9CQUFvQixFQUNyQjs7QUs1RUc7RUxtRkYsMEJNaEdXO0VOaUdYLGtCQUFrQixFS2xGZjs7QUFFRDtFTCtFRiwwQk1oR1c7RU5pR1gsa0JBQWtCLEVLOUVmOztBTGlGTDtFVnBIRSxjQUFjLEVVc0hmOztBT3JIRDtFQ0ZFLGdCWFNZO0VXUlo7Ozs7S0FJRyxFQU1KO0VEVEQ7SUNNTSxjQUFjLEVBQ2Y7O0FESEw7RVRtQkUsNkREMUJvRDtFQzJCcEQsaUJEdkJnQjtFV1loQixldEJRYTtFc0JQYixnQkFBZ0I7RUFDaEIsbUJBQW1CO0VBQ25CLGlCWFpvQixFV2lCckI7RU5vQ0c7SUtyREo7TUNlSSxnQkFBZ0IsRUFFbkIsRUFBQTs7QURiRDtFQUNJLHlDQUFnQyxF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TUdrQ2IsZUhYUyxFR1lWO0lBQ1E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFDUCwwQkhyQ2E7TUdzQ2Isc0JIdENhO01HdUNiLGVIaEJTLEVHaUJWO0l1QmpDTDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNdkJtQ00sMEJIMUNhO01HMkNiLHNCSDNDYSxFRzRDZDs7QXVCNUJMO0VEdURFLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLFVBQVU7RUFDVixtQkFBbUI7RUFDbkIsWUFBWSxFQUNiOztBQzdERDtFRGlFRSxXQUFXLEVBQ1o7O0FDbEVEO0VDSEksV0N3SW9CO0VEeElwQixZRUE0RDtFSnlFOUQsZ0NBQThCLEVBQy9COztBQ3ZFRDtFQ0hJLFdDd0lvQjtFRHhJcEIsYUVBdUU7RUZBdkUsZ0JDa0ZvQixFSEx2Qjs7QUMxRUQ7RUNISSxpQkN3SW9CO0VEeElwQixZRUE0RDtFSmlGOUQsZ0NBQThCO0VBRTlCLFlBQVksRUFDYjs7QUNqRkQ7RUNISSxpQkN3SW9CO0VEeElwQixZRUE0RDtFSnVGOUQsZ0NBQThCO0VBRTlCLFlBQVksRUFDYjs7QUN2RkQ7RUNISSxpQkN3SW9CO0VEeElwQixhRUF1RTtFRkF2RSxnQkNrRm9CLEVIWXZCOztBQzNGRDtFRDhGRSx5QkFBeUI7RUFDekIsbUJBQW1CO0VBQ25CLHFCQUFxQjtFQUNyQixhQUFhO0VBQ2IscUJBQXFCO0VBQ3JCLG9CQUFvQixFQUNyQjs7QUNwR0Q7RUR1R0UsZWQ3R3NCLEVjOEd2Qjs7QUN4R0Q7RUQyR0UsVUFBVSxFQUNYOztBQzVHRDtFRGdIRSwwQnpCeEVtQixFeUJ5RXBCOztBQ2pIRDtFRG9IRSw4QkFBOEI7RUFDOUIsc0J6QmpGbUI7RXlCa0ZuQixrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLGV6QnBGbUIsRXlCMkZwQjtFQy9IRDtJRDJISSxzQnpCM0VpQjtJeUI0RWpCLDhCQUE4QjtJQUM5QixlekI3RWlCLEV5QjhFbEI7O0FDOUhIO0VEa0lFLDBCekIxSGEsRXlCOEhkO0VDdElEO0lEb0lJLDBCQUF3QixFQUN6Qjs7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VjtNQThCRDtRQTVCRSwwQkhsQ1c7UUdtQ1gsc0JIM0NhLEVHNENkOztBa0RtQkw7RUNqQ0UsdUJ2QzhCZTtFdUM3QmYsMEJ2QzZCZSxFdUNoQmhCO0VEbUJEO0loRDNERSxzQkFBc0I7S0FDdEIsZ0JBQWlCO0tBQ2pCLFFBQVM7SWlEOEJMOzs7OztRQUtFLEVBQ0g7O0FEMERMO0VDbERNLHlCdkNVVztFVHRDYix5QmlESmE7RURrQ1gsdUJBQXVCLEVBS3hCO0VEMkNMO0lDOUNRLGVBQWU7SUFDZixtQkFBbUIsRUFDcEI7O0FET1A7RUNlRSxtQkFBbUIsRUFhcEI7RUQ1QkQ7SUNpQkksbUJBQW1CO0lBQ25COzs7Ozs7OztNQVFFLEVBQ0g7O0FEekZIO0VBTUU7O0tBRUc7RUE0Q0g7O0tBRUcsRUFNSjtFQTVERDtJQVVJLGdCQUFnQixFQUNqQjtFQVhIO0kxQllJLFlXWjBCO0lYWTFCLFlDeUhrRTtJRHpIbEUsWUVBNEQ7SUZBNUQsZUMrRXFCO0lEL0VyQixnQkNrRm9CLEV5QnpFckI7SUFyQkg7TTFCWUksV0N3SW9CO01EeElwQixZRUE0RCxFd0JJM0Q7SUFoQkw7TTFCWUksYUVBdUU7TUZBdkUsZ0JXaURzQztNZTFDcEMsa0JBQWtCLEVBQ25CO0VBcEJMO0kxQllJLFlXWjBCO0lYWTFCLFlDeUhrRTtJRHpIbEUsWUVBNEQ7SUZBNUQsZUMrRXFCO0lEL0VyQixnQkNrRm9CLEV5QjVEckI7SUFsQ0g7TTFCWUksaUJDd0lvQjtNRHhJcEIsWUVBNEQsRXdCYzNEO0lBMUJMO01BNEJNLG1CQUFtQixFQUNwQjtJQTdCTDtNMUJZSSxhRUF1RTtNRkF2RSxnQldpRHNDO01lN0JwQyxrQkFBa0IsRUFDbkI7RUFqQ0w7STFCWUksWVdaMEI7SVhZMUIsWUN5SGtFO0lEekhsRSxZRUE0RDtJRkE1RCxlQytFcUI7SUQvRXJCLGdCQ2tGb0IsRXlCNUNyQjtJQWxESDtNMUJZSSxXQ3dJb0I7TUR4SXBCLFlFQTRELEV3QjJCM0Q7SUF2Q0w7O01BMENNLG1CQUFtQixFQUNwQjtJQTNDTDtNQTZDTSxrQkFBa0IsRUFDbkI7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MEJIZmU7SUdnQmYsc0JIUmdCLEVHd0RiO0lBRkQ7TUExQ0EsZUhmaUIsRUdrQ2xCO01BdUJDO1FBdENFLDBCSGhDYTtRR2lDYixzQkhqQ2E7UUdrQ2IsZUhyQmUsRUdzQmhCO01BQ1E7UUFDUCwwQkhyQ2E7UUdzQ2Isc0JIdENhO1FHdUNiLGVIaEJTLEVHaUJWO01BOEJEO1FBNUJFLDBCSDFDYTtRRzJDYixzQkgzQ2EsRUc0Q2Q7RWlFMEJMO0lDb0NJLGlCQUFpQjtJQzdHbkIsOEJBQThCO0lBQzlCLHVDdEV3RG1CO0lzRXZEbkIsa0dBQTBHO0lBQzFHLFFBQVEsRUQ0R1A7O0FEdENIO0VDMENFLHFCdERwRGU7RXNEcURmLHFCQUEwQjtFQUMxQix5QkFBNkI7RS9ENUYzQix3QmlESmE7RWpESWIseUJpREphO0VjbUdmLCtCQUErQjtFQUMvQix1QkFBdUI7RUFDdkIsMEJBQTBCLEVBQzNCOztBRGxERDtFQ3FERSxxQnREL0RlO0VUdENiLG9CaURKYTtFYzJHZixVQUFVO0VBQ1YsY0FBYztFQUNkLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsWUFBWSxFQUNiOztBRDVDRDtFOURoRUksdUJpREphO0VqREliLHdCaURKYSxFY3VIaEI7O0FEbkREO0VDc0RFLG1CQUFtQixFQVNwQjtFckQzRkc7SW9ENEJKO01Dd0RJLGNBQWMsRUFPakIsRUFBQTtFckQzRkc7SW9ENEJKO01DMkRJLG1CQUFtQjtNL0QzSG5CLG1CaURKYTtNY2lJYixZQUFZLEVBRWYsRUFBQTs7QUQvREQ7RUNrRUUsY0FBYyxFQUNmOztBckQvRkc7RW9EbEJKO0lBUVEsbUJBQW1CO0lBQ25CLFlBQVksRUFDYjtFQVZQO0lBWVEscUIzRHBDUyxFMkRxQ1YsRUFBQTs7QXBES0g7RW9EbEJKO0lBc0JNLGVBQWUsRUFLbEI7SUEzQkg7TUF3QlEscUIzRGhEUyxFMkRpRFYsRUFBQTs7QUFxQlA7RUFDRSxtQkFBbUIsRUFvQnBCOztBR2pIRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFrREU7QUFFRjtFQUNFLHFCQUFjO0VBQWQsY0FBYztFQUNkLDJCQUF1QjtNQUF2Qix1QkFBdUI7RUFDdkIsWUFBWTtFQUNaLFdBQVc7RUFDWCxvQnZFNUJhO0V1RTZCYiwwQnZFY21CLEV1RW9FcEI7RUF4RkQ7SXBFbUJJLDBCSHpEYTtJRzBEYixlSDNDVztJdUVpQ1gsMEJ2RXhDYyxFdUV5Q2Y7SXBFVUM7TUE5REEsZUhRaUIsRUdEbEI7TUF1REM7UUF6REUsZUhhUyxFR1pWO0lBd0REO01BcERBLGVIUVcsRUdQWjtJQXNEQztNQS9DRiwwQkhmZTtNR2dCZixzQkhSZ0IsRUd3RGI7TUFGRDtRQTFDQSxlSGZpQixFR2tDbEI7UUF1QkM7VUF0Q0UsMEJIaENhO1VHaUNiLHNCSGpDYTtVR2tDYixlSHJCZSxFR3NCaEI7UUFDUTtVQUNQLDBCSHJDYTtVR3NDYixzQkh0Q2E7VUd1Q2IsZUhoQlMsRUdpQlY7UUE4QkQ7VUE1QkUsMEJIMUNhO1VHMkNiLHNCSDNDYSxFRzRDZDtFYWNEO0l1RFpKO01BY0ksaUJBQWlCLEVBMEVwQixFQUFBO0VBeEZEO0lBbUJNLGVBQWU7SUFDZixZQUFZO0lBQ1osYUFBYSxFQUNkO0VBdEJMO0lBMEJJLHFCQUFjO0lBQWQsY0FBYztJQUNkLDJCQUF1QjtRQUF2Qix1QkFBdUI7SUFDdkIsbUJBQWU7UUFBZixlQUFlO0lBQ2YsZ0J4RGhDYTtJd0RpQ2IsbUJBQW1CLEVBQ3BCO0VBL0JIO0lBa0NJLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIscUJBQXFCLEVBTXRCO0l2RDlCQztNdURaSjtRQXdDTSxnQkFBZ0IsRUFFbkIsRUFBQTtFQTFDSDtJQTZDSSxtQkFBbUIsRUFDcEI7RUE5Q0g7SUFrREksZXZFOUJpQjtJdUUrQmpCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLDBCQUEwQixFQUMzQjtFQXZESDtJQTBESSxtQkFBbUI7SUFDbkIsZXZFekZjLEV1RTBGZjtFQTVESDtJQStESSxtQkFBbUIsRUFDcEI7RUFoRUg7SUFtRUksbUJBQWU7UUFBZixlQUFlLEVBQ2hCO0VBcEVIO0lBd0VJLGlCQUFpQjtJQUNqQixtQkFBbUIsRUFDcEI7RUExRUg7SUE2RUksbUJ4RGhGYSxFd0RxRmQ7SUFsRkg7TUFnRk0sVUFBVSxFQUNYO0VBakZMO0lBcUZJLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFDakI7O0FDdEhIO0VyRWtESSwwQkhqRWU7RUdrRWYsZUgzQ1c7RU1nQlgsa0NpRHJCYTtFa0JqQmYsaUJBQWlCLEVBUWxCO0V0RTBERztJQTlEQSxlSFFpQixFR0RsQjtJQXVEQztNQXpERSxlSGFTLEVHWlY7RUF3REQ7SUFwREEsZUhRVyxFR1BaO0VBc0RDO0lBL0NGLDBCSGZlO0lHZ0JmLHNCSFJnQixFR3dEYjtJQUZEO01BMUNBLGVIZmlCLEVHa0NsQjtNQXVCQztRQXRDRSwwQkhoQ2E7UUdpQ2Isc0JIakNhO1FHa0NiLGVIckJlLEVHc0JoQjtNQUNRO1FBQ1AsMEJIckNhO1FHc0NiLHNCSHRDYTtRR3VDYixlSGhCUyxFR2lCVjtNQThCRDtRQTVCRSwwQkgxQ2E7UUcyQ2Isc0JIM0NhLEVHNENkO0VhY0Q7SXdEM0NKO01sRU9JLHNCaURKYTtNa0JkYixzQmhFWWEsRWdFUGhCLEVBQUE7RXpEaURHO0l3RDNDSjtNbEVPSSx1QmlESmEsRWtCVGhCLEVBQUE7O0FETUQ7RW5FWEUsc0JBQXNCO0dBQ3RCLGdCQUFpQjtHQUNqQixRQUFTO0VvRVFULGtCMUQ2QmU7RTBENUJmLFVBQVUsRUFVWDtFRFZEO0lFMkVHLFlBQVk7SUFDWixlQUFlO0lwRXJFZCxnQmlESmE7SW1CZ0ZkLGNqRWxGYztJaUVtRmQsaUJqRW5GYztJaUV3RmQsMENqRXhGYyxFaUU2RmY7RUY5RkY7SWxFT0kscUJpREphO0lqREliLHdCaURKYTtJa0JFYixZQUFZLEVBSWI7SXpEa0NDO013RDNDSjtRbEVPSSx3QmlESmEsRWtCTWQsRUFBQTs7QURGSDtFQ01FLDBCekVOYTtFeUVPYixpQkFBaUIsRUFRbEI7RURmRDtJQ1NJLFVBQVUsRUFDWDtFekQwQkM7SXdEcENKO01uRWxCRSxzQkFBc0I7T0FDdEIsZ0JBQWlCO09B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LFlFQTREO1FGQTVELHVCVTREd0I7UVY1RHhCLGFFQXVFO1FGQXZFLGdCV2lEc0MsRXlDOUNyQztNQWZMO1FwRFlJLGlCQ3dJb0I7UUR4SXBCLFlFQTREO1FGQTVELHVCVTREd0IsRTBDcERyQjtNQXBCUDtRcERZSSxpQkN3SW9CO1FEeElwQixZRUE0RDtRRkE1RCx1QlU0RHdCO1FWNUR4QixhRUF1RTtRRkF2RSxnQldpRHNDLEV5Q3BDbkMsRUFBQTtFQXpCUDtJNUVnRUksMEJIekRhO0lHMERiLGVIM0NXLEUrRVNaO0k1RW1DQztNQTlEQSxlSFFpQixFR0RsQjtNQXVEQztRQXpERSxlSGFTLEVHWlY7SUF3REQ7TUFwREEsZUhRVyxFR1BaO0lBc0RDO01BL0NGLDBCSGZlO01HZ0JmLHNCSFJnQixFR3dEYjtNQUZEO1FBMUNBLGVIZmlCLEVHa0NsQjtRQXVCQztVQXRDRSwwQkhoQ2E7VUdpQ2Isc0JIakNhO1VHa0NiLGVIckJlLEVHc0JoQjtRQUNRO1VBQ1AsMEJIckNhO1VHc0NiLHNCSHRDYTtVR3VDYixlSGhCUyxFR2lCVjtRQThCRDtVQTVCRSwwQkgxQ2E7VUcyQ2Isc0JIM0NhLEVHNENkO0U0RTNDTDtJQW1DSSxtQkFBbUI7SUFDbkIsdUJoRU1hO0lnRUxiLG1CQUFtQixFQUtwQjtJQTFDSDtNcEJhSSxZQUFZO01BQ1osWUFBWTtNQUNaLGVBQWUsRUFDaEI7STNDeUNDO00rRHpESjtRQXdDTSx5QmhFRVcsRWdFQWQsRUFBQTtFQTFDSDtJQTZDSSx1QmhFSGEsRWdFWWQ7SUF0REg7TUFnRE0saUJBQWlCLEVBQ2xCO0kvRFFEO00rRHpESjtRQW9ETSxpQkFDRCxFQUNGLEVBQUE7RUF0REg7SUF5REksbUJBQW1CO0lBQ25CLE9BQU87SUFDUCxRQUFRO0lBQ1IsWUFBWTtJQUNaLGFBQWE7SUFDYixpQkFBaUIsRUFhbEI7SUEzRUg7TUFpRU0sVUFBVSxFQUtYO00vRGJEO1ErRHpESjtVQW9FUSxtQkFBbUIsRUFFdEIsRUFBQTtJQXRFTDtNQXlFTSxjL0VuRFMsRStFb0RWO0VBMUVMO0lBOEVJLGFBQWE7SUFDYixhQUFhO0lBQ2IscUJoRXRDYTtJZ0V1Q2IsbUJBQW1CLEVBS3BCO0lBdEZIO01Bb0ZNLGMvRTlEUyxFK0UrRFY7RUFyRkw7SUF5RkkscUJBQXFCLEVBQ3RCO0VBMUZIO0lBK0ZNLHNCQUFzQixFQUN2QjtFQWhHTDtJQW1HTSxpQkFBaUIsRUFLbEI7SUF4R0w7TUFzR1EsYUFBYSxFQUNkO0VBdkdQO0lBMkdNLG9CaEVqRVcsRWdFa0VaO0VBNUdMO0lBZ0hJLG1CQUFtQixFQUtwQjtJQXJISDtNQW1ITSxpQkFBaUIsRUFDbEI7RUFwSEw7SUF3SEksVUFBVTtJQUNWLFdBQVc7SUFDWCxpQkFBaUIsRUFPbEI7SUFqSUg7TUE2SE0sc0JBQXNCO01BQ3RCLG9CQUE4QjtNQUM5QixXQUFXLEVBQ1o7O0EvRHZFRDtFK0QyRUo7SUFFSSxrQkFBa0IsRUFZckIsRUFBQTs7QUFkRDs7RUFPSSxzQkFBc0I7RUFDdEIsdUJBQXVCLEVBQ3hCOztBQVRIO0VBWUksd0JoRXJGYSxFZ0VzRmQ7O0FDeEpIO0VBQ0UsZ0JBQWdCLEVBbUJqQjtFaEU0Q0c7SWdFaEVKO01BSUksV0FBVyxFQWdCZCxFQUFBO0VBcEJEO0lBUUksaUJBQWlCLEVBQ2xCO0VBVEg7SUFZSSxrQmpFcUNhLEVpRXBDZDtFaEVtREM7SWdFaEVKO01BaUJNLGNBQWMsRUFFakIsRUFBQTs7QUNaSDtFQUNFLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osYUFBYTtFQUNiLGlCQUFpQjtFQUNqQix1QkFBdUI7RUFDdkIsNEJBQTRCLEVBcUg3QjtFQTNIRDtJQVNJLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsYUFBYTtJQUNiLGVBQWU7SUFDZixjQUFjO0lBQ2QsbUJBQW1CLEVBUXBCO0lqRW1DQztNaUV6REo7UUFpQk0sYUFBYTtRQUNiLFVBQVU7UUFDVixrQkFBa0I7UUFDbEIsbUJBQW1CLEVBRXRCLEVBQUE7RUF0Qkg7SUF5QkksbUJBQW1CO0lBQ25CLFNBQVM7SUFDVCxXQUFXO0lBQ1gsd0JBQVc7SUFDWCx5QkFBWTtJQUNaLGlCQUFpQjtJQUNqQix3QkFBd0I7SUFDeEIsb0JqRlZXLEVpRndDWjtJakVMQztNaUV6REo7UUFtQ00sYUFBYTtRQUNiLGNBQWMsRUEwQmpCLEVBQUE7SUE5REg7TUF3Q00sbUJBQW1CO01BQ25CLFVBQVU7TUFDVixZQUFZO01BQ1osWUFBWTtNQUNaLGFBQWE7TUFDYixVQUFVO01BQ1YsV0FBVztNQUNYLHdCQUF3QjtNQUN4QixhQUFhLEVBYWQ7TUE3REw7UUFtRFEsY2pGNUNTLEVpRjZDVjtNQXBEUDtRQXVEUSx3QkFBd0IsRXpDdEMzQjtReUNqQkw7VUEwRFUsY2pGM0RTLEVpRjREVjtFQTNEVDtJQWtFTSxrQkFBa0I7SUFDbEIsZUFBZSxFQUNoQjtFQXBFTDtJQXdFSSxlQUFlO0lBQ2Ysa0JsRS9CYTtJa0VnQ2IsZWpGVGlCO0lpRlVqQixpQmxFakNhO0lrRWtDYixpQkFBaUI7SUFDakIsMEJBQTBCLEVBTTNCO0lBbkZIO01BZ0ZNLHNCQUE2QjtNQUM3QixlakYzRFMsRWlGNERWO0VBbEZMO0lBc0ZJLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2IsVUFBVTtJQUNWLGdDQUFxQjtRQUFyQiw0QkFBcUI7SUFDckIsbUJBQTRCLEVBUTdCO0lqRXpDQztNaUV6REo7UUE2Rk0sbUJBQW1CO1FBQ25CLGFBQWE7UUFDYixXQUFXO1FBQ1gsb0JBQWdCO1lBQWhCLGdCQUFnQixFQUVuQixFQUFBO0VBbEdIO0lBcUdJLGlCQUFpQjtJQUNqQixnQkFBZ0IsRUFLakI7SWpFbERDO01pRXpESjtRQXlHTSxnQkFBZ0IsRUFFbkIsRUFBQTtFQTNHSDtJQThHSSxlakY3Q2lCLEVpRjhDbEI7RUEvR0g7O0lBbUhJLGNBQTBCO0lBQzFCLGVqRi9GVztJaUZnR1gsaUJsRTNFYSxFa0U0RWQ7RUF0SEg7SUF5SEksc0JBQTRCLEVBQzdCOztBQUdIO0VBQ0UsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWiwyQkFBWTtFQUNaLGtCQUFrQjtFQUNsQiwwQmpGNUdhO0VpRjZHYiwwQkFBMEIsRUFzQzNCO0VqRWhIRztJaUVvRUo7TUFTSSxtQkFBbUIsRUFtQ3RCLEVBQUE7RUE1Q0Q7SUFhSSxtQkFBbUI7SUFDbkIsY0FBYztJQUNkLGtCQUFrQixFQUNuQjtFQWhCSDtJQW1CSSxjQUFjLEVBS2Y7SWpFNUZDO01pRW9FSjtRQXNCTSxlQUFlLEVBRWxCLEVBQUE7RUF4Qkg7SUEyQkksV0FBVztJQUNYLG1DQUFtQyxFQUtwQztJQWpDSDtNQStCTSxXQUFXLEVBQ1o7RUFoQ0w7SUFxQ0ksZ0RBQXNDO1FBQXRDLDRDQUFzQztJQUN0QyxxQ0FBcUMsRUFLdEM7SUEzQ0g7TUF5Q00sNkJBQXFCO1VBQXJCLHlCQUFxQixFQUN0Qjs7QUFJTDs7Ozs7RUFLRSxhQUFhLEVBQ2Q7O0FDdkxEO0VBQ0UsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixZQUFZO0VBR1osdUJBQXVCO0VBQ3ZCLHVCQUF1QjtFQUN2QixVQUFVO0VBQ1Ysb0JBQW9CO0VBQ3BCLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxXQUFXLEVBaUxaO0VBL0xEO0lBZ0JJLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osVUFBVTtJQUNWLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsMkVBQTBFO0lBQzFFLHNCQUFzQjtJQUN0QixnQkFBZ0IsRUFDakI7RUEzQkg7SUE2QkksWUFBWSxFQUNiO0VBQ0Q7SUEvQkY7TUFpQ00sb0JBQW9CLEVBQ3JCLEVBQUE7RUFFSDtJQXBDRjtNQXNDTSxrQkFBa0IsRUFDbkIsRUFBQTtFQUVIO0lBekNGO01BMkNNLGFBQWE7TUFDYixlQUFlO01BQ2YsWUFBWSxFQU1iO01BbkRMO1FBK0NRLFdBQVc7UUFDWCxlQUFlO1FBQ2YsaUJBQWlCLEVBQ2xCLEVBQUE7RUFsRFA7SUFzREksWUFBWTtJQUNaLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLGlCQUFpQixFQUNsQjtFQWpFSDtJQW1FSSxhQUFhO0lBQ2Isa0JBQWtCLEVBYW5CO0lBWkM7TUFyRUo7UUFzRU0sbUJBQW1CLEVBV3RCLEVBQUE7SUFSRztNQXpFTjtRQTBFTSxpQkFBaUI7UUFDakIsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYSxFQUVkLEVBQUE7RUFoRkw7SUFtRkksYUFBYTtJQUNiLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixzRUFBcUU7SUFDckUsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixXQUFXLEVBQ1o7RUE1Rkg7SUE4RkksWUFBWTtJQUNaLDhCQUE4QjtJQUM5QixvQkFBb0I7SUFDcEIsaUJBQWlCLEVBMEJsQjtJQXpCQztNQWxHSjtRQW1HTSxVQUFVO1FBQ1YsV0FBVztRQUNYLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIsbUJBQW1CLEVBb0J0QixFQUFBO0lBM0hIO01BMEdNLFlBQVk7TUFDWixXQUFXO01BQ1gsVUFBVSxFQVNYO01BckhMO1FBOEdRLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFJdEIsNkJBQ0QsRUFBQztJQXBIUjtNQXVITSxVQUFVO01BQ1YsaUJBQWlCO01BQ2pCLFlBQ0QsRUFBQztFQTFITjtJQTZISSxZQUFZO0lBQ1osc0JBQXNCLEVBa0N2QjtJQWhLSDtNQWdJTSxZQUFZLEVBQ2I7SUFqSUw7TUFtSU0sWUFBWSxFQUNiO0lBcElMO01Bc0lNLFlBQVksRUFDYjtJQXZJTDtNQTBJTSxhQUFhO01BQ2IsbUJBQW1CO01BQ25CLG9CQUFvQjtNQUNwQixVQUFVO01BQ1YsV0FBVztNQUNYLGdCQUFnQjtNQUNoQixpQkFBaUI7TUFDakIsZUFBZTtNQUNmLGVBQWU7TUFDZixtQkFBbUI7TUFDbkIsa0JBQWtCLEVBTW5CO01BTEM7UUFySk47VUFzSlEsZUFBZTtVQUNmLHNCQUFzQjtVQUN0QixZQUFZLEVBRWYsRUFBQTtJQTFKTDtNQTZKTSxzQkFBc0I7TUFDdEIsWUFDRCxFQUFDO0VBRUo7SUFqS0Y7TUFtS00sd0JBQXdCO01BQ3hCLG1CQUFtQjtNQUNuQixTQUFTO01BQ1QsZ0NBQXFCO1VBQXJCLDRCQUFxQjtNQUNyQixnQkFBZ0IsRUFDakIsRUFBQTtFQUVIO0lBMUtGO01BNEtNLG1CQUFtQjtNQUNuQixTQUFTO01BQ1QsVUFBVSxFQUNYLEVBQUE7RUFFSDtJQWpMRjtNQW1MTSxVQUFVO01BQ1YsWUFBWTtNQUNaLFVBQVUsRUFDWCxFQUFBO0VBRUg7SUF4TEY7TUEwTE0sV0FBVztNQUNYLFVBQVU7TUFDVixxQkFBcUIsRUFDckIsRUFBQTs7QUN0S047RUFDRSxtQkFBbUI7RUFDbkIsbUJBQW1CLEVBZ0lwQjtFQWxJRDtJQUtJLG1CQUFtQjtJQUtuQixZQUFZO0lBQ1osV0FBVyxFQUNaO0luRTRCQztNbUV4Q0o7UUFPTSxtQkFBbUI7UUFDbkIsT0FBTyxFQUlWLEVBQUE7RUFaSDtJQWVJLGFBQWEsRUFDZDtFQWhCSDtJQW1CSSwwQm5GWmtCO0ltRmFsQixtQkFBbUI7SUFDbkIsV0FBVyxFQVlaO0lBakNIO01BdUJNLHFCMUV6Qlc7TTBFMEJYLG1CQUFtQjtNQUNuQixXQUFXO01BTVgsWUFBWSxFQUNiO01uRVFEO1FtRXhDSjtVQTJCUSxVQUFVO1VBQ1YsY0FBYztVQUNkLG1CQUFtQixFQUd0QixFQUFBO0VBaENMO0lBb0NJLDhCbkZ0Q2M7SW1GdUNkLG1CQUFtQixFQStFcEI7SUFwSEg7TUF1Q00saUJBQWlCLEVBaUJsQjtNQXhETDtRQXlDUSxpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixnQkFBZ0I7UUFDaEIsWUFBWSxFQVViO1FBZkQ7VUFPSSxpQkFBaUI7VUFDakIsY0FBYyxFQUNmO1FuRVRMO1VtRXhDSjtZQW1EVSxlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLHVCQUF1QixFQUUxQixFQUFBO0lBdkRQO01BNkRNLGdCQUFxQjtNQUNyQixtQkFBbUI7TUFDbkIsUUFBUTtNQUNSLE9BQU87TUFDUCxhQUFhO01BQ2IsaUJBQWlCLEVBUWxCO01uRWxDRDtRbUV4Q0o7VUFvRVEsYUFBYSxFQU1oQixFQUFBO01uRWxDRDtRbUV4Q0o7VUF1RVEsZ0JBQXFCO1VBQ3JCLGFBQWEsRUFFaEIsRUFBQTtJQTFFTDtNQTRFTSxtQkFBbUI7TUFDbkIsU0FBUztNQUNULE9BQU8sRUFZUjtNQTFGTDtRQWdGUSxVQUFVLEVBQ1g7TW5FekNIO1FtRXhDSjtVQXNGUSxnQkFBcUI7VUFDckIsaUJBQWlCO1VBQ2pCLG1CQUFtQixFQUV0QixFQUFBO0lBMUZMO01BNkZNLGlCcEVwRVc7TW9FcUVYLHdCQUE0QixFQUM3QjtJQS9GTDtNQWlHTSxpQkFBc0IsRUFXdkI7TW5FcEVEO1FtRXhDSjtVQW1HUSxhQUFZO1VBQ1osMEJBQVk7VUFBYyx5QkFBeUIsRUFRdEQsRUFBQTtNQTVHTDtRQXVHUSxlQUFlLEVBSWhCO1FuRW5FSDtVbUV4Q0o7WUF5R1UscUJBQTBCLEVBRTdCLEVBQUE7SUEzR1A7TTdFSUksZ0JpREphLEU0Qm1IWjtNbkUzRUQ7UW1FeENKO1VBZ0hRLGVBQWU7VUFDZixnQkFBZ0IsRUFFbkIsRUFBQTtFQW5ITDs7SUF3SEkseUJBQXlCO0lBQ3pCLDhCQUE4QixFQUMvQjtFbkVsRkM7SW1FeENKO01BOEhNLGlCbEYxSFEsRWtGMkhULEVBQUE7O0FDL0hMOztFekRMSSxrQjFCNEJlO0UwQjVCZixrQlFxRG9DO0VSckRwQyxtQlFxRG1FO0VnQnZFckUscUIxQ3FCZTtFMENwQmYsc0IxQ29CZTtFMkVPYixlQUFlLEVBQ2hCO0VBTkg7O0loRFpNLGFBQWE7SUFDYixlQUFlO0lBQ2YsWUFBWSxFQUNiOztBZ0RTTDtFQVNJLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsMEJyRWNhLEVxRVRkO0VwRXdCQztJb0V4Q0o7TUFjTSxrQm5GaUJlLEVtRmZsQixFQUFBOztBQUdIO0VBQ0Usa0JuRldtQixFbUZOcEI7RUFORDtJQUlJLGtCQUFrQixFQUNuQjs7QUFHSDtFQUVFLG1CQUFtQixFQUVwQjs7QUFFRDs7RUFFRSxrQkFBa0I7RUFDbEIsbUJBQW1CLEVBTXBCO0VwRUZHO0lvRVBKOztNQU1JLG1CQUFtQjtNQUNuQixvQkFBb0IsRUFFdkIsRUFBQTs7QUFHRDtFQUNFLG1CQUFtQixFQUNwQjs7QUNuRUQ7RUFxQkUsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYixtQkFBd0M7RUFDeEMsU0FBUztFQUNULE9BQU87RUFDUCw4QkFBOEI7RUFDOUIsZ0NBQXFCO01BQXJCLDRCQUFxQjtFQUNyQix1QkFBdUI7RUFDdkIsV0FBVyxFQXdCWjtFQXJERDtJQU9NLGtCQUF1QyxFQUN4QztFQVJMO0lBV00scUJBQTBDLEVBQzNDO0VBWkU7SUFpQkgsbUJBQW1CO0lBQ25CLE9BQU8sRUFDUjtFckV5Q0M7SXFFNURKO01BZ0NJLG1CQUF3QyxFQXFCM0MsRUFBQTtFQXJERDtJQXFDSSw2QkFBcUI7UUFBckIseUJBQXFCLEVBUXRCO0lBN0NIO01BeUNNLGtDQUFvQjtVQUFwQiw4QkFBb0IsRUFFckI7RUEzQ0w7SUFpREkscUNBQW9CO1FBQXBCLGlDQUFvQixFQUVyQjs7QUN2REg7RUFDRSxtQkFBbUI7RUFDbkIsc0J2RStDZSxFdUVyQmhCO0V0RW9DRztJc0VoRUo7TUFLSSxzQnZFNENhLEV1RXJCaEIsRUFBQTtFQTVCRDtJQVNJLHlCdkV3Q2EsRXVFbkNkO0l0RWtEQztNc0VoRUo7UUFZTSx5QnZFcUNXLEV1RW5DZCxFQUFBO0VBZEg7SUFpQkksa0J2RWdDYTtJdUUvQmIsbUJBQW1CLEVBU3BCO0l0RXFDQztNc0VoRUo7UUFxQk0scUJ2RTRCVyxFdUV0QmQsRUFBQTtJQTNCSDtNQXlCTSxVQUFVLEVBQ1g7O0FDMUJMO0U1RG1CSSxrQjFCNEJlO0UwQjVCZixrQlFxRG9DO0VSckRwQyxtQlFxRG1FLEVvRC9DdEU7RUF6QkQ7SW5EWU0sYUFBYTtJQUNiLGVBQWU7SUFDZixZQUFZLEVBQ2I7RW1EZkw7SUFJSSxpQkFBaUIsRUFDbEI7RXZFMkRDO0l1RWhFSjtNQVFJLHFCQUFjO01BQWQsY0FBYyxFQWlCakI7TUF6QkQ7UTVEbUJJLGlCQ3dJb0I7UUR4SXBCLFlFQTREO1FGQTVELHVCVTREd0I7UWtEbkV0QixxQkFBYztRQUFkLGNBQWM7UUFDZCwyQkFBdUI7WUFBdkIsdUJBQXVCO1FBQ3ZCLGNBQWMsRUFLZjtRQW5CTDtVNURtQkksYUVBdUU7VUZBdkUsZ0JXaURzQyxFaURsRG5DO01BbEJQO1FBc0JNLG1CQUFlO1lBQWYsZUFBZSxFQUNoQixFQUFBOztBQ3ZCTDs7Ozs7O0dBTUc7QUNKSDtFQUNFLGFoRDhCNEM7RWdEN0I1QyxzQkFBc0I7RUFDdEIsZ0JBQWdCO0VBRWhCLHFDQUFxQztFQUNyQywyQmhEaUNnRDtFZ0RoQ2hELG1DaERpQ2lEO0VnRDlCakQsY0FBYztFQUNkLGVBQWU7RUFDZixxQkFBcUI7RUFDckIsOEJBQThCO0VBQzlCLFVBQVU7RUFDVixVQUFVO0VBQ1Ysa0JBQWtCLEVBVW5CO0VBMUJEO0lBdUJNLFdoRGV3QyxFZ0RiM0M7O0FBR0g7RUFDRSxZaERJK0M7RWdESC9DLGFBQStCO0VBQy9CLHNCQUFzQjtFQUN0QixtQkFBbUIsRUFDcEI7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsU0FBUztFQUNULG1CQUFtQyxFQTRCcEM7RUEvQkQ7SUFRSSxZaERWNkM7SWdEVzdDLFloRFY0QztJZ0RXNUMsMEJ6RmpDYTtJeUZrQ2IsaUJoRFQwQztJZ0RVMUMsbUJBQW1CO0lBQ25CLCtCQUErQjtJQUMvQiwyQkFBMkI7SUFDM0IsaUNBQWlDLEVBQ2xDO0VBaEJIO0lBb0JJLFlBQVk7SUFDWixlQUFlLEVBQ2hCO0VBdEJIO0lBeUJJLFdBQThCLEVBQy9CO0VBMUJIO0lBNkJJLGNBQWlDLEVBQ2xDOztBQ2xFRDs7S0FFRztBQUNIO0VBRUksa0JBQW1DLEVBQ3BDOztBQUhIO0VBTUksK0hBQ2lELEVBTWxEO0VBYkg7SUFXTSxtRUFBMEMsRUFDM0M7O0FBWkw7RUFpQk0sOEJBQThCO0VBQzlCLDJCQUFrQixFQVNuQjtFQTNCTDtJQXFCUSxpREFBdUYsRUFDeEY7RUF0QlA7SUF5QlEsbURBQThGLEVBQy9GOztBQzdCUDs7S0FFRztBQUNIO0VBRUksa0JBQW1DLEVBQ3BDOztBQUhIO0VBTUksK0hBQ2lELEVBTWxEO0VBYkg7SUFXTSxtRUFBMEMsRUFDM0M7O0FBWkw7RUFpQk0sOEJBQThCO0VBQzlCLDRCQUFrQixFQVNuQjtFQTNCTDtJQXFCUSxpREFBdUYsRUFDeEY7RUF0QlA7SUF5QlEsbURBQThGLEVBQy9GOztBQzdCUDs7S0FFRztBQUNIO0VBRUksa0JBQW1DLEVBQ3BDOztBQUhIO0VBTUksK0hBQ2lELEVBTWxEO0VBYkg7SUFXTSxtRUFBMEMsRUFDM0M7O0FBWkw7RUFpQk0sOEJBQThCO0VBQzlCLDRCQUFrQixFQVNuQjtFQTNCTDtJQXFCUSxpREFBdUYsRUFDeEY7RUF0QlA7SUF5QlEsbURBQThGLEVBQy9GOztBQzdCUDs7S0FFRztBQUNIO0VBRUksa0JBQW1DLEVBQ3BDOztBQUhIO0VBTUksK0hBQ2lELEVBTWxEO0VBYkg7SUFXTSxtRUFBMEMsRUFDM0M7O0FBWkw7RUFpQk0sOEJBQThCO0VBQzlCLDJCQUFrQixFQVNuQjtFQTNCTDtJQXFCUSxpREFBdUYsRUFDeEY7RUF0QlA7SUF5QlEsbURBQThGLEVBQy9GOztBQzdCUDs7S0FFRztBQUNIO0VBR00sZ0VBQWdGLEVBQ2pGOztBQUpMO0VBT00sK0RBQStFLEVBQ2hGOztBQ1hMOztLQUVHO0FBQ0g7RUFHTSw4REFBOEUsRUFDL0U7O0FBSkw7RUFPTSwrREFBK0UsRUFDaEY7O0FDWEw7O0tBRUc7QUFDSDtFQUdNLG9GQUN3QyxFQUN6Qzs7QUFMTDtFQVFNLHVGQUN3QyxFQUN6Qzs7QUFWTDtFQWdCUSxPQUFPO0VBQ1Asc0VBQTZHO0VBQzdHLHVGQUM2QyxFQUM5Qzs7QUFwQlA7RUF1QlEsVUFBVTtFQUNWLG9FQUEyRztFQUMzRywwRkFDNkMsRUFDOUM7O0FDOUJQOztLQUVHO0FBQ0g7RUFHTSxvRkFDd0MsRUFDekM7O0FBTEw7RUFRTSx1RkFDd0MsRUFDekM7O0FBVkw7RUFnQlEsT0FBTztFQUNQLG9FQUEyRztFQUMzRyx1RkFDNkMsRUFDOUM7O0FBcEJQO0VBdUJRLFVBQVU7RUFDVixvRUFBMkc7RUFDM0csMEZBQzZDLEVBQzlDOztBQzlCUDs7S0FFRztBQUNIO0VBS00sMEJBQTBCLEVBQzNCOztBQU5MO0VBV00sNkJBQWlCO01BQWpCLHlCQUFpQixFQVdsQjtFQXRCTDtJQWNRLE9BQU87SUFDUCxXQUFXLEVBQ1o7RUFoQlA7SUFtQlEsVUFBVTtJQUNWLDhCQUFpQjtRQUFqQiwwQkFBaUIsRUFDbEI7O0FDeEJQOztLQUVHO0FBQ0g7RUFFSSxVQUFVO0VBQ1YsVUFBVTtFQUNWLDJCQUEyQjtFQUMzQix3QkFBd0I7RUFDeEIsbUVBQXdDLEVBWXpDO0VBbEJIO0lBU00sV0FBOEI7SUFDOUIsMEZBQytCLEVBQ2hDO0VBWkw7SUFlTSw4SEFDd0MsRUFDekM7O0FBakJMO0VBc0JNLG1EQUE4RjtFQUM5Rix3QkFBd0I7RUFDeEIsZ0VBQXdDLEVBZXpDO0VBdkNMO0lBMkJRLE9BQU87SUFDUCxXQUFXO0lBQ1gsMkZBQ3FDLEVBQ3RDO0VBL0JQO0lBa0NRLE9BQU87SUFDUCw4QkFBaUI7UUFBakIsMEJBQWlCO0lBQ2pCLGtJQUM4QyxFQUMvQzs7QUN6Q1A7O0tBRUc7QUFDSDtFQUVJLFVBQVU7RUFDVixVQUFVO0VBQ1YsMkJBQTJCO0VBQzNCLHdCQUF3QjtFQUN4QixtRUFBd0MsRUFZekM7RUFsQkg7SUFTTSxXQUE4QjtJQUM5QiwwRkFDK0IsRUFDaEM7RUFaTDtJQWVNLDhIQUN3QyxFQUN6Qzs7QUFqQkw7RUFzQk0sa0RBQThGO0VBQzlGLHdCQUF3QjtFQUN4QixnRUFBd0MsRUFlekM7RUF2Q0w7SUEyQlEsT0FBTztJQUNQLFdBQVc7SUFDWCwyRkFDcUMsRUFDdEM7RUEvQlA7SUFrQ1EsT0FBTztJQUNQLDZCQUFpQjtRQUFqQix5QkFBaUI7SUFDakIsa0lBQzhDLEVBQy9DOztBQ3pDUDs7S0FFRztBQUNIO0VBRUksV0FBNEI7RUFDNUIsMEJBQTBCO0VBQzFCLG1FQUF3QyxFQVd6QztFQWZIO0lBT00sVUFBNEI7SUFDNUIsb0NBQW9DLEVBQ3JDO0VBVEw7SUFZTSxVQUE2QjtJQUM3QixrRUFBdUMsRUFDeEM7O0FBZEw7RUFxQk0sa0RBQThDO0VBQzlDLHVCQUF1QixFQVd4QjtFQWpDTDtJQXlCUSxxQkFBcUI7SUFDckIsV0FBVyxFQUNaO0VBM0JQO0lBOEJRLG9EQUFtRDtJQUNuRCx1QkFBdUIsRUFDeEI7O0FDbkNQOztLQUVHO0FBQ0g7RUFFSSxXQUE0QjtFQUM1QiwwQkFBMEI7RUFDMUIsbUVBQXdDLEVBV3pDO0VBZkg7SUFPTSxVQUE0QjtJQUM1QixvQ0FBb0MsRUFDckM7RUFUTDtJQVlNLFVBQTZCO0lBQzdCLGtFQUF1QyxFQUN4Qzs7QUFkTDtFQXFCTSxtREFBOEM7RUFDOUMsdUJBQXVCLEVBV3hCO0VBakNMO0lBeUJRLHFCQUFxQjtJQUNyQixXQUFXLEVBQ1o7RUEzQlA7SUE4QlEsbURBQW1EO0lBQ25ELHVCQUF1QixFQUN4Qjs7QUNuQ1A7O0tBRUc7QUFDSDtFQUNFLGlCQUFpQixFQThDbEI7RUEvQ0Q7SUFJSSxnREFBZ0QsRUFnQmpEO0lBcEJIO01BT00sUUFBUTtNQUNSLGdIQUVtQyxFQUNwQztJQVhMO01BY00sVUFBNkI7TUFDN0IsU0FBUztNQUNULGlIQUVvQyxFQUNyQztFQW5CTDtJQXdCTSxxQkFBcUI7SUFDckIscUNBQXFDO0lBQ3JDLDhCQUE4QixFQW1CL0I7SUE3Q0w7TUE2QlEsWUFBNEI7TUFDNUIsV0FBMkI7TUFDM0Isb0RBQXdGO01BQ3hGLGdIQUU2QyxFQUM5QztJQW5DUDtNQXNDUSxhQUE2QjtNQUM3QixXQUEyQjtNQUMzQixzREFBeUY7TUFDekYsaUhBRTZDLEVBQzlDOztBQy9DUDs7S0FFRztBQUNIO0VBQ0UsaUJBQWlCLEVBOENsQjtFQS9DRDtJQUlJLGdEQUFnRCxFQWdCakQ7SUFwQkg7TUFPTSxRQUFRO01BQ1IsZ0hBRW1DLEVBQ3BDO0lBWEw7TUFjTSxVQUE2QjtNQUM3QixTQUFTO01BQ1QsaUhBRW9DLEVBQ3JDO0VBbkJMO0lBd0JNLHFCQUFxQjtJQUNyQixxQ0FBcUM7SUFDckMsOEJBQThCLEVBbUIvQjtJQTdDTDtNQTZCUSxZQUE0QjtNQUM1QixVQUEyQjtNQUMzQixzREFBeUY7TUFDekYsZ0hBRTZDLEVBQzlDO0lBbkNQO01Bc0NRLGFBQTZCO01BQzdCLFVBQTJCO01BQzNCLHNEQUEwRjtNQUMxRixpSEFFNkMsRUFDOUM7O0FDL0NQOztLQUVHO0FBQ0g7RUFFSSxXQUE0QixFQVk3QjtFQWRIO0lBS00sVUFBNEI7SUFDNUIsd0NBQXdDO0lBQ3hDLGlDQUFpQztJQUNqQywwQkFBMEIsRUFDM0I7RUFUTDtJQVlNLFVBQTZCLEVBQzlCOztBQWJMO0VBb0JNLGlEQUE4QyxFQVUvQztFQTlCTDtJQXVCUSxxREFBcUM7SUFDckMsV0FBVyxFQUNaO0VBekJQO0lBNEJRLG1EQUFtRCxFQUNwRDs7QUNoQ1A7O0tBRUc7QUFDSDtFQUVJLFdBQTRCLEVBWTdCO0VBZEg7SUFLTSxVQUE0QjtJQUM1Qix3Q0FBd0M7SUFDeEMsaUNBQWlDO0lBQ2pDLDBCQUEwQixFQUMzQjtFQVRMO0lBWU0sVUFBNkIsRUFDOUI7O0FBYkw7RUFvQk0sa0RBQThDLEVBVS9DO0VBOUJMO0lBdUJRLG1EQUFvQztJQUNwQyxXQUFXLEVBQ1o7RUF6QlA7SUE0QlEsa0RBQW1ELEVBQ3BEOztBQ2hDUDs7S0FFRztBQUNIO0VBRUksV0FBNEI7RUFDNUIsNkNBQTZDLEVBYTlDO0VBaEJIO0lBTU0sVUFBNEI7SUFDNUIsOEhBQ3dDLEVBQ3pDO0VBVEw7SUFZTSxVQUE2QjtJQUM3Qiw2SEFDd0MsRUFDekM7O0FBZkw7RUFvQk0sd0JBQXdCO0VBQ3hCLDhCQUE4QixFQWUvQjtFQXBDTDtJQXdCUSxPQUFPO0lBQ1Asa0lBQzhDO0lBQzlDLGlEQUF1RixFQUN4RjtFQTVCUDtJQStCUSxPQUFPO0lBQ1AsMkhBQzhDO0lBQzlDLGtEQUF1RixFQUN4Rjs7QUN0Q1A7O0tBRUc7QUFDSDtFQUVJLFVBQVU7RUFDVixVQUFVO0VBQ1YsMkJBQTJCO0VBQzNCLHFCQUFxQjtFQUNyQixtRUFBd0MsRUFZekM7RUFsQkg7SUFTTSxXQUE4QjtJQUM5Qix3RkFDNkIsRUFDOUI7RUFaTDtJQWVNLDhIQUN3QyxFQUN6Qzs7QUFqQkw7RUFzQk0sbURBQThGO0VBQzlGLHdCQUF3QjtFQUN4QixnRUFBd0MsRUFlekM7RUF2Q0w7SUEyQlEsT0FBTztJQUNQLFdBQVc7SUFDWCx5RkFDbUMsRUFDcEM7RUEvQlA7SUFrQ1EsT0FBTztJQUNQLDZCQUFpQjtRQUFqQix5QkFBaUI7SUFDakIsa0lBQzhDLEVBQy9DOztBQ3pDUDs7S0FFRztBQUNIO0VBRUkseUdBQzJDLEVBVzVDO0VBZEg7SUFNTSw0RkFDMEMsRUFDM0M7RUFSTDtJQVdNLCtGQUMwQyxFQUMzQzs7QUFiTDtFQWtCTSw2QkFBaUI7TUFBakIseUJBQWlCO0VBQ2pCLDhCQUE4QjtFQUU5QixvR0FDNEMsRUFlN0M7RUFyQ0w7SUF5QlEsT0FBTztJQUNQLDhCQUFpQjtRQUFqQiwwQkFBaUI7SUFDakIsOEZBQzZDLEVBQzlDO0VBN0JQO0lBZ0NRLFVBQVU7SUFDViw2QkFBaUI7UUFBakIseUJBQWlCO0lBQ2pCLGlHQUM2QyxFQUM5Qzs7QUN2Q1A7O0tBRUc7QUFDSDtFQUVJLHlHQUMyQyxFQVc1QztFQWRIO0lBTU0sNEZBQzBDLEVBQzNDO0VBUkw7SUFXTSwrRkFDMEMsRUFDM0M7O0FBYkw7RUFrQk0sOEJBQWlCO01BQWpCLDBCQUFpQjtFQUNqQiw4QkFBOEI7RUFFOUIsb0dBQzRDLEVBZTdDO0VBckNMO0lBeUJRLE9BQU87SUFDUCw4QkFBaUI7UUFBakIsMEJBQWlCO0lBQ2pCLDhGQUM2QyxFQUM5QztFQTdCUDtJQWdDUSxVQUFVO0lBQ1YsNkJBQWlCO1FBQWpCLHlCQUFpQjtJQUNqQixpR0FDNkMsRUFDOUM7O0FDdkNQOztLQUVHO0FBQ0g7RUFFSSwwQkFBMEI7RUFDMUIsbUVBQXdDLEVBV3pDO0VBZEg7SUFNTSx5REFDaUMsRUFDbEM7RUFSTDtJQVdNLDZGQUN1QyxFQUN4Qzs7QUFiTDtFQWtCTSw4QkFBaUI7TUFBakIsMEJBQWlCO0VBQ2pCLHdCQUF3QjtFQUN4QixnRUFBd0MsRUFlekM7RUFuQ0w7SUF1QlEsT0FBTztJQUNQLFdBQVc7SUFDWCwyREFDd0MsRUFDekM7RUEzQlA7SUE4QlEsVUFBVTtJQUNWLDhCQUFpQjtRQUFqQiwwQkFBaUI7SUFDakIsMkZBQzZDLEVBQzlDOztBQ3JDUDs7S0FFRztBQUNIO0VBRUksMEJBQTBCO0VBQzFCLG1FQUF3QyxFQVd6QztFQWRIO0lBTU0seURBQ2lDLEVBQ2xDO0VBUkw7SUFXTSw2RkFDdUMsRUFDeEM7O0FBYkw7RUFrQk0sK0JBQWlCO01BQWpCLDJCQUFpQjtFQUNqQix3QkFBd0I7RUFDeEIsZ0VBQXdDLEVBZXpDO0VBbkNMO0lBdUJRLE9BQU87SUFDUCxXQUFXO0lBQ1gsMkRBQ3dDLEVBQ3pDO0VBM0JQO0lBOEJRLFVBQVU7SUFDViw4QkFBaUI7UUFBakIsMEJBQWlCO0lBQ2pCLDJGQUM2QyxFQUM5Qzs7QUNyQ1A7O0tBRUc7QUFDSDtFQUVJLDBCQUEwQjtFQUMxQixtRUFBd0MsRUFXekM7RUFkSDtJQU1NLG1EQUM4QixFQUMvQjtFQVJMO0lBV00sMEZBQ3VDLEVBQ3hDOztBQWJMO0VBa0JNLDZCQUFpQjtNQUFqQix5QkFBaUI7RUFDakIsd0JBQXdCO0VBQ3hCLGdFQUF3QyxFQWV6QztFQW5DTDtJQXVCUSxPQUFPO0lBQ1AsV0FBVztJQUNYLG1EQUNvQyxFQUNyQztFQTNCUDtJQThCUSxVQUFVO0lBQ1YsOEJBQWlCO1FBQWpCLDBCQUFpQjtJQUNqQix1RkFDNkMsRUFDOUM7O0FDckNQOztLQUVHO0FBQ0g7RUFFSSwwQkFBMEI7RUFDMUIsMkRBQXdDLEVBZ0J6QztFQW5CSDtJQU9NLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsbUNBQW1DLEVBQ3BDO0VBVkw7SUFhTSxrQ0FBa0MsRUFDbkM7RUFkTDtJQWlCTSx1Q0FBdUMsRUFDeEM7O0FBbEJMO0VBdUJNLDhCQUFpQjtNQUFqQiwwQkFBaUI7RUFDakIsMkRBQXdDLEVBZ0J6QztFQXhDTDtJQTRCUSxxQkFBcUIsRUFDdEI7RUE3QlA7SUFnQ1EsT0FBTztJQUNQLFdBQVcsRUFDWjtFQWxDUDtJQXFDUSxVQUFVO0lBQ1YsNkJBQWlCO1FBQWpCLHlCQUFpQixFQUNsQjs7QUMxQ1A7O0tBRUc7QUFDSDtFQUVJLDBCQUEwQjtFQUMxQiwyREFBd0MsRUFnQnpDO0VBbkJIO0lBT00sd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUN2QixtQ0FBbUMsRUFDcEM7RUFWTDtJQWFNLGtDQUFrQyxFQUNuQztFQWRMO0lBaUJNLHVDQUF1QyxFQUN4Qzs7QUFsQkw7RUF1Qk0sK0JBQWlCO01BQWpCLDJCQUFpQjtFQUNqQiwyREFBd0MsRUFnQnpDO0VBeENMO0lBNEJRLHFCQUFxQixFQUN0QjtFQTdCUDtJQWdDUSxPQUFPO0lBQ1AsV0FBVyxFQUNaO0VBbENQO0lBcUNRLFVBQVU7SUFDViw4QkFBaUI7UUFBakIsMEJBQWlCLEVBQ2xCIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qISBSZXNldC9ub3JtYWxpemUgaHlicmlkIHdpdGggbWFqb3IgY29udHJpYnV0aW9ucyBmcm9tIG5vcm1hbGl6ZS5jc3MsIGh0bWw1ZG9jdG9yLmNvbSBSZXNldCBTdHlsZXNoZWV0LCBhbmQgaHR0cDovL2h0bWw1cmVzZXQub3JnL1xuXG4qIFNhbSBSaWNoYXJkIC0gaHR0cDovL3NudWd1Zy5jb20vXG4qIE5pY2hvbGFzIEdhbGxhZ2hlciwgSm9uYXRoYW4gTmVhbCAtIGh0dHA6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xuKiBSaWNoYXJkIENsYXJrIC0gaHR0cDovL3JpY2hjbGFya2Rlc2lnbi5jb21cbiogVGltIE11cnRhdWdoIC0gaHR0cDovL21vbmtleWRvLmJpei9cbiovXG5hYmJyLFxuYWRkcmVzcyxcbmFydGljbGUsXG5hc2lkZSxcbmF1ZGlvLFxuYixcbmJsb2NrcXVvdGUsXG5ib2R5LFxuY2FudmFzLFxuY2FwdGlvbixcbmNpdGUsXG5jb2RlLFxuZGQsXG5kZWwsXG5kZXRhaWxzLFxuZGZuLFxuZGl2LFxuZGwsXG5kdCxcbmVtLFxuZmllbGRzZXQsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuZm9ybSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbmhlYWRlcixcbmhncm91cCxcbmh0bWwsXG5pLFxuaWZyYW1lLFxuaW1nLFxuaW5zLFxua2JkLFxubGFiZWwsXG5sZWdlbmQsXG5saSxcbm1hcmssXG5tYWluLFxubWVudSxcbm5hdixcbm9iamVjdCxcbm9sLFxucCxcbnByZSxcbnEsXG5zYW1wLFxuc2VjdGlvbixcbnNtYWxsLFxuc3BhbixcbnN0cm9uZyxcbnN1YixcbnN1bW1hcnksXG5zdXAsXG50YWJsZSxcbnRib2R5LFxudGQsXG50Zm9vdCxcbnRoLFxudGhlYWQsXG50aW1lLFxudHIsXG51bCxcbnZhcixcbnZpZGVvIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5odG1sIHtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG5ib2R5IHtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbmFiYnJbdGl0bGVdLFxuZGZuW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5pbnMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuZGVsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuYmxvY2txdW90ZSxcbnEge1xuICBxdW90ZXM6IG5vbmU7IH1cblxuYmxvY2txdW90ZTpiZWZvcmUsXG5ibG9ja3F1b3RlOmFmdGVyLFxucTpiZWZvcmUsXG5xOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGNvbnRlbnQ6IG5vbmU7IH1cblxudWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2Fucy1zZXJpZjsgfVxuXG5ociB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cImZpbGVcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuaW5wdXQsXG5zZWxlY3Qge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuaHRtbCB7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuZW1iZWQsXG5pbWcsXG5vYmplY3QsXG52aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIExpZ2h0XG4gKi9cbi8qXG4gKiBNaWRcbiAqL1xuLypcbiAqIERhcmtcbiAqL1xuLypcbiAqIEJhc2UgY29sb3Vyc1xuICovXG4vKlxuICogU29jaWFsXG4gKi9cbi8qXG4gKiBGb3JtIENvbG91cnNcbiAqL1xuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cbi8qIEJyZWFrcyBhdWRpdFxuMjQwcHg6MVxuMjYwcHg6XG4zNDBweDoxXG4zNjBweDozIDIyLjUwMGVtXG4zODBweDoxXG4zNTJweDoxICgkbW9iLXNtYWxsOjIyZW07KVxuNTgwcHg6MVxuNzYwcHg6MVxuNzgwcHg6MVxuOTAwcHg6MVxuOTIwcHg6MlxuMTQwMHB4OjFcbjE1NTBweDoxXG4xNjAwcHg6MVxuMTgwMHB4OjFcbiovXG4vKiBcbiAqIGNsZWFyZml4ICAgICB1c2VkIHByb2plY3Qgd2lkZSB0byBjbGVhciBmbG9hdHMgYW5kIGNyZWF0ZSBhIG5ldyBmb3JtYXR0aW5nIGNvbnRleHRcbiAqIHVzYWdlICAgICAgQGluY2x1ZGUgY2xlYXJmaXgtbWUoPGVtcHR5fG92ZXJmbG93fGZhY2Vib29rfG1pY3JvfHN0dWJib3JuPilcbiAqICRjbGVhcmZpeC1tZXRob2Qgc2V0cyBkZWZhdWx0IG1ldGhvZFxuICovXG4ubWVkaWEge1xuICB6b29tOiAxOyB9XG4gIC5tZWRpYTpiZWZvcmUsIC5tZWRpYTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm1lZGlhOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVmZXJlbmNlOlxuICogbGluay1jb2xvcnMoJG5vcm1hbCwgJGhvdmVyLCAkYWN0aXZlLCAkdmlzaXRlZCwgJGZvY3VzKVxuICovXG4vKlxuICogTElOSyBWQVJJQVRJT05TXG4gKi9cbi8qXG4gKiBCVVRUT04gVkFSSUFUSU9OU1xuICovXG4vKlxuICogSU5WRVJURUQgTUlYSU5cbiAqL1xuLmVsZW1lbnQtaGlkZGVuLCAubHQtaWUxMCBbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZWxlbWVudC1pbnZpc2libGUsIC5uYXYtLUlDT04gLmljb24tLXRleHQsIC5uYXYtLU5PLUlDT04gLmljb24gZGl2LFxuLm5hdi0tTk8tSUNPTiAuaWNvbiBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDFweDsgfVxuXG4uZWxlbWVudC1pbnZpc2libGUuZWxlbWVudC1mb2N1c2FibGU6YWN0aXZlLFxuLmVsZW1lbnQtaW52aXNpYmxlLmVsZW1lbnQtZm9jdXNhYmxlOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICogTWFrZSBlbGVtZW50cyBpbnRvIGlubGluZS1ibG9jayB3aXRoIElFNyBmaXguIFVzZSBpdCBvbmx5IHdoZW4geW91IG5lZWQgdG8gbWFrZSBhXG4gKiBibG9jayBsZXZlbCBlbGVtZW50IGlubGluZS1ibG9jay4gRWxlbWVudHMgdGhhdCBhcmUgaW5saW5lIGJ5IGRlZmF1bHQgd29uJ3QgbmVlZCB0aGVcbiAqIElFNyBmaXguXG4gKlxuICogVXNhZ2UgICAgICAgICAgICBAZXh0ZW5kICVpbmxpbmUtYmxvY2stZml4O1xuICpcbiAqL1xuLyoqKioqKioqKioqXG4gKlxuICogU2FtcGxlIGlucHV0OlxuICpcbiAqIC5lbGVtZW50IHtcbiAqICAgQGluY2x1ZGUgcmVtKHBhZGRpbmcsIDEwcHggMCAycHggNXB4KTtcbiAqICAgQGluY2x1ZGUgcmVtKGJvcmRlci1ib3R0b20sIDFweCBzb2xpZCAjMDAwMDAwKTtcbiAqIH1cbiAqXG4gKlxuICogU2FtcGxlIG91dHB1dDpcbiAqXG4gKiAuZWxlbWVudCB7XG4gKiAgIHBhZGRpbmc6IDEwcHggMCAycHggNXB4O1xuICogICBwYWRkaW5nOiAxcmVtIDAgMC4ycmVtIDAuNXJlbTtcbiAqIH1cbiAqXG4gKioqKioqKioqKioqL1xuLyoqXG4qIEBkZXNjICAgICAgICAgQWxpZ25pbmcgdGV4dFxuKiBAbmFtZSAgICAgICAgIHRleHRBbGlnblxuKiBAYXV0aG9yICAgICAgIFxuKiBAdGVzdGVkICAgICAgIFxuKiBAcmVxdWlyZXMgICAgIFxuKi9cbi50eHRDIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50eHRMIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udHh0UiB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50eHRUIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4udHh0QiB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLnR4dE0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Nwcml0ZS5zdmc/PTE3MDI5OTZ1OTgzYWRjZjZcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTA2LjM3NWVtIDYyLjI1ZW07IH1cblxuLnNyLW9ubHksIC5wYWdlci1maXJzdCwgLnBhZ2VyLWxhc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi8qIENvbG91cnMgKi9cbi8qIEZvbnQgZm9udCBzdHlsZXMgKi9cbi5idG4sXG4uYnV0dG9uLFxuLm1vcmUtbGluayBhLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5idXR0b24sIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGEsXG4ubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiVHJlYnVjaGV0IE1TXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAucGFnZS10aXRsZSxcbi5zZWN0aW9uLXRpdGxlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcywgc3Ryb25nLCBiLCBsYWJlbCwgbGVnZW5kLCAudmlldy1lbXB0eSAubm8tcmVzdWx0cy1tZXNzYWdlLCB0aCwgLm5hdiwgLm5hdi0tSUNPTi1URVhULCAubmF2LS1JQ09OLCAubmF2LS1UT0MsIC5icmVhZGNydW1iLCAubmF2LS1TRUNPTkRBUlksIC5pY29uIGEsXG5hLmljb24sIC5fc2Nyb2xsLS1wYW5lbC0tZGF0ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIlRyZWJ1Y2hldCBNU1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuaDYsIC5mb250LWxpZ2h0LCBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcblt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsLCAubWVkaWEtLXRpdGxlLCAubWVkaWEtLXN1YnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiVHJlYnVjaGV0IE1TXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAucGFnZS10aXRsZSxcbi5zZWN0aW9uLXRpdGxlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMCAwIDAuNjI1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaDEge1xuICBmb250LXNpemU6IDI1cHg7XG4gIG1hcmdpbi1ib3R0b206IDAuMjMyNTdlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDQwcHg7IH0gfVxuXG5oMiwgLm5vZGUtdHlwZS1saXN0IGR0IHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiAwLjI3OTA4ZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgaDIsIC5ub2RlLXR5cGUtbGlzdCBkdCB7XG4gICAgICBmb250LXNpemU6IDI1cHg7IH0gfVxuXG5oNCwgaDUsIC5uYXYtLXRpdGxlLCBoNiwgaDMge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbi1ib3R0b206IDAuMzM0OWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIGg0LCBoNSwgLm5hdi0tdGl0bGUsIGg2LCBoMyB7XG4gICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuXG4ucGFnZS10aXRsZSxcbi5zZWN0aW9uLXRpdGxlIHtcbiAgY29sb3I6ICM5OTAzMDU7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5wYWdlLXRpdGxlLFxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDsgfSB9XG5cbmEsXG4udWktd2lkZ2V0LWNvbnRlbnQgYSB7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3I7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG4gIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwO1xuICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDA7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIlRyZWJ1Y2hldCBNU1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgYTpsaW5rOmhvdmVyLCBhOnZpc2l0ZWQ6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpsaW5rOmZvY3VzLCBhOnZpc2l0ZWQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGE6YnV0dG9uIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogI2I1MTgyMzsgfVxuICAgIGE6bGluazpob3ZlciwgYTpsaW5rOmFjdGl2ZSwgYTpsaW5rLmFjdGl2ZSwgYTpsaW5rOmZvY3VzLCBhOnZpc2l0ZWQ6aG92ZXIsIGE6dmlzaXRlZDphY3RpdmUsIGE6dmlzaXRlZC5hY3RpdmUsIGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICBjb2xvcjogI2Q3MTkyMTsgfVxuICBhLmFjdGl2ZS10cmFpbCwgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjZDcxOTIxOyB9XG5cbnVsLCBvbCB7XG4gIHBhZGRpbmctbGVmdDogMjdweDtcbiAgbWFyZ2luOiAwIDAgMC42MjVlbTsgfVxuXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cblxudWwge1xuICBsaXN0LXN0eWxlOiBkaXNjOyB9XG5cbnVsLmlubGluZSB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICB1bC5pbmxpbmUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nOiAwIDAuNWVtOyB9XG5cbnVsLm1lbnUge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG5saSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG5vbCB1bCxcbnVsIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBjaXJjbGU7IH1cblxub2wgdWwgdWwsXG51bCB1bCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlOyB9XG5cbmVtIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbnAsIC5tZWRpYS1ibG9ja19fc3RhbmRmaXJzdCB7XG4gIG1hcmdpbjogMCAwIDAuODMzMzNlbTsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMCAxLjVlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIGJsb2NrcXVvdGUgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDEzcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxMHB4OyB9IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkx1Y2lkYSBDb25zb2xlXCIsIE1vbmFjbywgbW9ub3NwYWNlOyB9XG5cbnAgY29kZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNTIsIDg5LCA4OSwgMC4yKTsgfVxuXG5hLmRlZXAtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjMzQ1OTU5OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIGgxIGEuZGVlcC1saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMThweDsgfSB9XG5cbi5sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbj4gaDI6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG5ociB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbiAgbWFyZ2luLXRvcDogMS44NzVlbTtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMjkzRjcyO1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmMjhhO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWYyOGE7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbi5ub2RlLWZyLWN0LXN0YW5kYXJkIC5maWVsZC1sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgLyoqXG4gICAqIG1vZHVsZXMvc3lzdGVtL3N5c3RlbS5iYXNlLmNzc1xuICAgKiBGb3IgYW55dGhpbmcgeW91IHdhbnQgdG8gaGlkZSBvbiBwYWdlIGxvYWQgd2hlbiBKUyBpcyBlbmFibGVkLCBzb1xuICAgKiB0aGF0IHlvdSBjYW4gdXNlIHRoZSBKUyB0byBjb250cm9sIHZpc2liaWxpdHkgYW5kIGF2b2lkIGZsaWNrZXIuXG4gICAqLyB9XG4gIGh0bWwuanMgLmpzLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIlRyZWJ1Y2hldCBNU1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjMjMxZjIwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbioge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi51aS1idG4tYWN0aXZlIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMCAwIHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogU1RBTkRBUkQgUEFHRSBDT05URU5UXG4gKi9cbi5zZWN0aW9uLXRpdGxlLFxuLnBhZ2UtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5zZWN0aW9uLXRpdGxlLFxuICAgIC5wYWdlLWNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNGQ0ZDRkOyB9IH1cblxuLyoqXG4gKiAkRklMVEVSLVRJUFNcbiAqL1xuLmZpbHRlci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4vKipcbiAqICRQQVNTV09SRC1DT05GSVJNXG4gKi9cbmRpdi5wYXNzd29yZC1pbmRpY2F0b3IsXG5kaXYucGFzc3dvcmQtY29uZmlybSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuZGl2LnBhc3N3b3JkLWluZGljYXRvciB7XG4gIG1hcmdpbi1ib3R0b206IDAuNGVtOyB9XG5cbi8qKlxuICogJFBBU1NXT1JELUlORElDQVRPUlxuICovXG4ucGFzc3dvcmQtaW5kaWNhdG9yIHtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QyZDNkNTsgfVxuICAucGFzc3dvcmQtaW5kaWNhdG9yIC5pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNlZmE0N2I7IH1cblxuLnBhc3N3b3JkLXN0cmVuZ3RoLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4yZW07IH1cblxuLyoqXG4gKiAkU0VBUkNILUZPUk1cbiAqL1xuLnNlYXJjaC1ibG9jay1mb3JtIC5mb3JtLXRleHQge1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMC40ZW07IH1cblxuLyoqXG4gKiBDbGFzc2VzXG4gKi9cbi5zbWFsbC10ZXh0IHtcbiAgZm9udC1zaXplOiB4eC1zbWFsbDsgfVxuXG4uZ29vZ2xlLWNvbnZlcnNpb24tZnJhbWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBGcm9tIG1vZHVsZXMvc3lzdGVtL3N5c3RlbS5iYXNlLmNzc1xuICovXG4vKlxuICogSGlkZSBlbGVtZW50cyBmcm9tIGFsbCB1c2Vycy5cbiAqXG4gKiBVc2VkIGZvciBlbGVtZW50cyB3aGljaCBzaG91bGQgbm90IGJlIGltbWVkaWF0ZWx5IGRpc3BsYXllZCB0byBhbnkgdXNlci4gQW5cbiAqIGV4YW1wbGUgd291bGQgYmUgYSBjb2xsYXBzaWJsZSBmaWVsZHNldCB0aGF0IHdpbGwgYmUgZXhwYW5kZWQgd2l0aCBhIGNsaWNrXG4gKiBmcm9tIGEgdXNlci4gVGhlIGVmZmVjdCBvZiB0aGlzIGNsYXNzIGNhbiBiZSB0b2dnbGVkIHdpdGggdGhlIGpRdWVyeSBzaG93KClcbiAqIGFuZCBoaWRlKCkgZnVuY3Rpb25zLlxuICovXG4vKlxuICogSGlkZSBlbGVtZW50cyB2aXN1YWxseSwgYnV0IGtlZXAgdGhlbSBhdmFpbGFibGUgZm9yIHNjcmVlbi1yZWFkZXJzLlxuICpcbiAqIFVzZWQgZm9yIGluZm9ybWF0aW9uIHJlcXVpcmVkIGZvciBzY3JlZW4tcmVhZGVyIHVzZXJzIHRvIHVuZGVyc3RhbmQgYW5kIHVzZVxuICogdGhlIHNpdGUgd2hlcmUgdmlzdWFsIGRpc3BsYXkgaXMgdW5kZXNpcmFibGUuIEluZm9ybWF0aW9uIHByb3ZpZGVkIGluIHRoaXNcbiAqIG1hbm5lciBzaG91bGQgYmUga2VwdCBjb25jaXNlLCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBidXJkZW4gb24gdGhlIHVzZXIuXG4gKiBcIiFpbXBvcnRhbnRcIiBpcyB1c2VkIHRvIHByZXZlbnQgdW5pbnRlbnRpb25hbCBvdmVycmlkZXMuXG4gKi9cbi8qXG4gKiBUaGUgLmVsZW1lbnQtZm9jdXNhYmxlIGNsYXNzIGV4dGVuZHMgdGhlIC5lbGVtZW50LWludmlzaWJsZSBjbGFzcyB0byBhbGxvd1xuICogdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNhYmxlIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQuXG4gKi9cbi8qXG4gKiBQcmV2ZW50IHRleHQgd3JhcHBpbmcuXG4gKi9cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qKlxuICogSW5saW5lIGl0ZW1zLlxuICovXG4uY29udGFpbmVyLWlubGluZSBkaXYsXG4uY29udGFpbmVyLWlubGluZSBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uY29udGFpbmVyLWlubGluZSAuZmllbGRzZXQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogTWFya3VwIGZyZWUgY2xlYXJpbmcuXG4gKlxuICogQHNlZSBodHRwOi8vcGVyaXNoYWJsZXByZXNzLmNvbS9wcmVzcy8yMDA5LzEyLzA2L25ldy1jbGVhcmZpeC1oYWNrXG4gKi9cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIElFNiAqL1xuKiBodG1sIC5jbGVhcmZpeCB7XG4gIGhlaWdodDogMSU7IH1cblxuLyogSUU3ICovXG4qOmZpcnN0LWNoaWxkICsgaHRtbCAuY2xlYXJmaXgge1xuICBtaW4taGVpZ2h0OiAxJTsgfVxuXG5pbWcge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IH1cblxuLm1lZGlhLS1pbWFnZSBpbWcge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjUxODIzOyB9XG5cbmE6aG92ZXIgLm1lZGlhLS1pbWFnZSBpbWcsXG5hOmFjdGl2ZSAubWVkaWEtLWltYWdlIGltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNzE5MjE7IH1cblxuLmVtYmVkZGVkLXZpZGVvIC5wbGF5ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZW1iZWRkZWQtdmlkZW8gLnBsYXllciBpZnJhbWUsIC5lbWJlZGRlZC12aWRlbyAucGxheWVyIG9iamVjdCwgLmVtYmVkZGVkLXZpZGVvIC5wbGF5ZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3cge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7IH1cblxuLmJ0bixcbi5idXR0b24sXG4ubW9yZS1saW5rIGEsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmJ1dHRvbiwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGUsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYSxcbi5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGEsIC5wYXJhbGxheC12aWRlb19fYXJyb3cge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7IH1cbiAgLmJ0bjpmb2N1cyxcbiAgLmJ1dHRvbjpmb2N1cyxcbiAgLm1vcmUtbGluayBhOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuICBidXR0b246Zm9jdXMsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOmZvY3VzLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6Zm9jdXMsXG4gIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6Zm9jdXMsIC5wYXJhbGxheC12aWRlb19fYXJyb3c6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxMWYyYzsgfVxuXG4uYnRuLFxuLmJ1dHRvbixcbi5tb3JlLWxpbmsgYSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuYnV0dG9uLCBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZSwgLm5hdmJhci0tQlVUVE9OUyAubWVudSAubGVhZiBhLFxuLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxMHB4IDEwcHggMTBweCAwO1xuICBwYWRkaW5nOiA5cHggMjBweDtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDBlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZCwgY29sb3IsIGJvcmRlci1jb2xvcjtcbiAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLCBjb2xvciwgYm9yZGVyLWNvbG9yO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLCBjb2xvciwgYm9yZGVyLWNvbG9yO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMDtcbiAgLW1vei10cmFuc2l0aW9uLWRlbGF5OiAwO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjUxODIzO1xuICBib3JkZXItY29sb3I6ICM5OTAzMDU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgLmJ0bixcbiAgICAuYnV0dG9uLFxuICAgIC5tb3JlLWxpbmsgYSxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gICAgYnV0dG9uLCBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZSwgLm5hdmJhci0tQlVUVE9OUyAubWVudSAubGVhZiBhLFxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGEge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgcGFkZGluZzogOXB4IDI1cHg7IH0gfVxuICAuYnRuLFxuICAuYnV0dG9uLFxuICAubW9yZS1saW5rIGEsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG4gIGJ1dHRvbiwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGUsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYSxcbiAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYSwgLmJ0bjpob3ZlcixcbiAgLmJ1dHRvbjpob3ZlcixcbiAgLm1vcmUtbGluayBhOmhvdmVyLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuICBidXR0b246aG92ZXIsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOmhvdmVyLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6aG92ZXIsXG4gIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6aG92ZXIsIC5idG46YWN0aXZlLFxuICAuYnV0dG9uOmFjdGl2ZSxcbiAgLm1vcmUtbGluayBhOmFjdGl2ZSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuICBidXR0b246YWN0aXZlLCBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZTphY3RpdmUsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTphY3RpdmUsXG4gIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6YWN0aXZlLCAuYnRuOmZvY3VzLFxuICAuYnV0dG9uOmZvY3VzLFxuICAubW9yZS1saW5rIGE6Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXG4gIGJ1dHRvbjpmb2N1cywgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGU6Zm9jdXMsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTpmb2N1cyxcbiAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYTpmb2N1cywgLmJ0bjp2aXNpdGVkLFxuICAuYnV0dG9uOnZpc2l0ZWQsXG4gIC5tb3JlLWxpbmsgYTp2aXNpdGVkLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCxcbiAgYnV0dG9uOnZpc2l0ZWQsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOnZpc2l0ZWQsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTp2aXNpdGVkLFxuICAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuOmFjdGl2ZSxcbiAgLmJ1dHRvbjphY3RpdmUsXG4gIC5tb3JlLWxpbmsgYTphY3RpdmUsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSxcbiAgYnV0dG9uOmFjdGl2ZSwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGU6YWN0aXZlLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6YWN0aXZlLFxuICAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhOmFjdGl2ZSwgLmJ0bjpmb2N1cyxcbiAgLmJ1dHRvbjpmb2N1cyxcbiAgLm1vcmUtbGluayBhOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuICBidXR0b246Zm9jdXMsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOmZvY3VzLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6Zm9jdXMsXG4gIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmFjdGl2ZS5idG4sXG4gIC5hY3RpdmUuYnV0dG9uLFxuICAubW9yZS1saW5rIGEuYWN0aXZlLFxuICBpbnB1dC5hY3RpdmVbdHlwZT1cInN1Ym1pdFwiXSxcbiAgaW5wdXQuYWN0aXZlW3R5cGU9XCJidXR0b25cIl0sXG4gIGJ1dHRvbi5hY3RpdmUsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmFjdGl2ZS5maWVsZHNldC10aXRsZSwgLm5hdmJhci0tQlVUVE9OUyAubWVudSAubGVhZiBhLmFjdGl2ZSxcbiAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYS5hY3RpdmUge1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAuYnRuOjotbW96LWZvY3VzLWlubmVyLFxuICAuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICAubW9yZS1saW5rIGE6Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGU6Oi1tb3otZm9jdXMtaW5uZXIsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTo6LW1vei1mb2N1cy1pbm5lcixcbiAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmJ0bixcbiAgLmJ1dHRvbixcbiAgLm1vcmUtbGluayBhLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICBidXR0b24sIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGEsXG4gIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGEsIC5idG46bGluayxcbiAgLmJ1dHRvbjpsaW5rLFxuICAubW9yZS1saW5rIGE6bGluayxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmssXG4gIGJ1dHRvbjpsaW5rLCBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZTpsaW5rLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6bGluayxcbiAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYTpsaW5rLCAuYnRuOnZpc2l0ZWQsXG4gIC5idXR0b246dmlzaXRlZCxcbiAgLm1vcmUtbGluayBhOnZpc2l0ZWQsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZCxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLFxuICBidXR0b246dmlzaXRlZCwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGU6dmlzaXRlZCwgLm5hdmJhci0tQlVUVE9OUyAubWVudSAubGVhZiBhOnZpc2l0ZWQsXG4gIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAuYnRuOmhvdmVyLFxuICAgIC5idXR0b246aG92ZXIsXG4gICAgLm1vcmUtbGluayBhOmhvdmVyLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlcixcbiAgICBidXR0b246aG92ZXIsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOmhvdmVyLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6aG92ZXIsXG4gICAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYTpob3ZlciwgLmJ0bjpmb2N1cyxcbiAgICAuYnV0dG9uOmZvY3VzLFxuICAgIC5tb3JlLWxpbmsgYTpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuICAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsXG4gICAgYnV0dG9uOmZvY3VzLCBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZTpmb2N1cywgLm5hdmJhci0tQlVUVE9OUyAubWVudSAubGVhZiBhOmZvY3VzLFxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6Zm9jdXMsIC5hY3RpdmUuYnRuLFxuICAgIC5hY3RpdmUuYnV0dG9uLFxuICAgIC5tb3JlLWxpbmsgYS5hY3RpdmUsXG4gICAgaW5wdXQuYWN0aXZlW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgaW5wdXQuYWN0aXZlW3R5cGU9XCJidXR0b25cIl0sXG4gICAgYnV0dG9uLmFjdGl2ZSwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuYWN0aXZlLmZpZWxkc2V0LXRpdGxlLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGEuYWN0aXZlLFxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGEuYWN0aXZlLCAuYnRuOmxpbms6aG92ZXIsXG4gICAgLmJ1dHRvbjpsaW5rOmhvdmVyLFxuICAgIC5tb3JlLWxpbmsgYTpsaW5rOmhvdmVyLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluazpob3ZlcixcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6aG92ZXIsXG4gICAgYnV0dG9uOmxpbms6aG92ZXIsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOmxpbms6aG92ZXIsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTpsaW5rOmhvdmVyLFxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6bGluazpob3ZlciwgLmJ0bjpsaW5rOmZvY3VzLFxuICAgIC5idXR0b246bGluazpmb2N1cyxcbiAgICAubW9yZS1saW5rIGE6bGluazpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmZvY3VzLFxuICAgIGJ1dHRvbjpsaW5rOmZvY3VzLCBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZTpsaW5rOmZvY3VzLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6bGluazpmb2N1cyxcbiAgICAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhOmxpbms6Zm9jdXMsIC5idG46bGluay5hY3RpdmUsXG4gICAgLmJ1dHRvbjpsaW5rLmFjdGl2ZSxcbiAgICAubW9yZS1saW5rIGE6bGluay5hY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rLmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmsuYWN0aXZlLFxuICAgIGJ1dHRvbjpsaW5rLmFjdGl2ZSwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGU6bGluay5hY3RpdmUsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTpsaW5rLmFjdGl2ZSxcbiAgICAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhOmxpbmsuYWN0aXZlLCAuYnRuOnZpc2l0ZWQ6aG92ZXIsXG4gICAgLmJ1dHRvbjp2aXNpdGVkOmhvdmVyLFxuICAgIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmhvdmVyLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDpob3ZlcixcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQ6aG92ZXIsXG4gICAgYnV0dG9uOnZpc2l0ZWQ6aG92ZXIsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOnZpc2l0ZWQ6aG92ZXIsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTp2aXNpdGVkOmhvdmVyLFxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6dmlzaXRlZDpob3ZlciwgLmJ0bjp2aXNpdGVkOmZvY3VzLFxuICAgIC5idXR0b246dmlzaXRlZDpmb2N1cyxcbiAgICAubW9yZS1saW5rIGE6dmlzaXRlZDpmb2N1cyxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQ6Zm9jdXMsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkOmZvY3VzLFxuICAgIGJ1dHRvbjp2aXNpdGVkOmZvY3VzLCBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZTp2aXNpdGVkOmZvY3VzLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6dmlzaXRlZDpmb2N1cyxcbiAgICAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhOnZpc2l0ZWQ6Zm9jdXMsIC5idG46dmlzaXRlZC5hY3RpdmUsXG4gICAgLmJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSxcbiAgICAubW9yZS1saW5rIGE6dmlzaXRlZC5hY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQuYWN0aXZlLFxuICAgIGJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGU6dmlzaXRlZC5hY3RpdmUsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTp2aXNpdGVkLmFjdGl2ZSxcbiAgICAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhOnZpc2l0ZWQuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNzE5MjE7XG4gICAgICBib3JkZXItY29sb3I6ICNkNzE5MjE7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIGE6aG92ZXIgLmJ0biwgYTpob3ZlclxuICAgIC5idXR0b24sIGE6aG92ZXJcbiAgICAubW9yZS1saW5rIGEsXG4gICAgLm1vcmUtbGluayBhOmhvdmVyIGEsIGE6aG92ZXJcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBhOmhvdmVyXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgYTpob3ZlclxuICAgIGJ1dHRvbiwgYTpob3ZlciBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZSwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSBhOmhvdmVyIC5maWVsZHNldC10aXRsZSwgYTpob3ZlciAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGEsIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTpob3ZlciBhLCBhOmhvdmVyXG4gICAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYSxcbiAgICAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhOmhvdmVyIGEsIGE6aG92ZXIgLmJ0bjpsaW5rLCBhOmhvdmVyXG4gICAgLmJ1dHRvbjpsaW5rLCBhOmhvdmVyXG4gICAgLm1vcmUtbGluayBhOmxpbmssXG4gICAgLm1vcmUtbGluayBhOmhvdmVyIGE6bGluaywgYTpob3ZlclxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluaywgYTpob3ZlclxuICAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluaywgYTpob3ZlclxuICAgIGJ1dHRvbjpsaW5rLCBhOmhvdmVyIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOmxpbmssIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgYTpob3ZlciAuZmllbGRzZXQtdGl0bGU6bGluaywgYTpob3ZlciAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6bGluaywgLm5hdmJhci0tQlVUVE9OUyAubWVudSAubGVhZiBhOmhvdmVyIGE6bGluaywgYTpob3ZlclxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6bGluayxcbiAgICAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5leHBhbmRlZCBhOmhvdmVyIGE6bGluaywgYTpob3ZlciAuYnRuOnZpc2l0ZWQsIGE6aG92ZXJcbiAgICAuYnV0dG9uOnZpc2l0ZWQsIGE6aG92ZXJcbiAgICAubW9yZS1saW5rIGE6dmlzaXRlZCxcbiAgICAubW9yZS1saW5rIGE6aG92ZXIgYTp2aXNpdGVkLCBhOmhvdmVyXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCBhOmhvdmVyXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLCBhOmhvdmVyXG4gICAgYnV0dG9uOnZpc2l0ZWQsIGE6aG92ZXIgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGU6dmlzaXRlZCwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSBhOmhvdmVyIC5maWVsZHNldC10aXRsZTp2aXNpdGVkLCBhOmhvdmVyIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmxlYWYgYTp2aXNpdGVkLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6aG92ZXIgYTp2aXNpdGVkLCBhOmhvdmVyXG4gICAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYTp2aXNpdGVkLFxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6aG92ZXIgYTp2aXNpdGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNzE5MjE7XG4gICAgICBib3JkZXItY29sb3I6ICNkNzE5MjE7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5idG46YWN0aXZlLFxuICAgIC5idXR0b246YWN0aXZlLFxuICAgIC5tb3JlLWxpbmsgYTphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsXG4gICAgYnV0dG9uOmFjdGl2ZSwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGU6YWN0aXZlLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6YWN0aXZlLFxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6YWN0aXZlLCAuYnRuOmxpbms6YWN0aXZlLFxuICAgIC5idXR0b246bGluazphY3RpdmUsXG4gICAgLm1vcmUtbGluayBhOmxpbms6YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluazphY3RpdmUsXG4gICAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmFjdGl2ZSxcbiAgICBidXR0b246bGluazphY3RpdmUsIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXRpdGxlOmxpbms6YWN0aXZlLCAubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmIGE6bGluazphY3RpdmUsXG4gICAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQgYTpsaW5rOmFjdGl2ZSwgLmJ0bjp2aXNpdGVkOmFjdGl2ZSxcbiAgICAuYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlLFxuICAgIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmFjdGl2ZSxcbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQ6YWN0aXZlLFxuICAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDphY3RpdmUsXG4gICAgYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlLCBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC10aXRsZTp2aXNpdGVkOmFjdGl2ZSwgLm5hdmJhci0tQlVUVE9OUyAubWVudSAubGVhZiBhOnZpc2l0ZWQ6YWN0aXZlLFxuICAgIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkIGE6dmlzaXRlZDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q3MTkyMTsgfVxuXG4uYnV0dG9uLS1IQUxGLCAuYnV0dG9uLS1GSVJTVCwgLmJ1dHRvbi0tU0VDT05ELCAuYnV0dG9uLS1USElSRCwgLmJ1dHRvbi0tRlVMTCwgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGUsIC5wYWdlci1sb2FkLW1vcmUgLnBhZ2VyLW5leHQgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYnV0dG9uLS1IQUxGIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uYnV0dG9uLS1MRUZUIHtcbiAgd2lkdGg6IDUwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1yaWdodDogM3B4ICNGRkZGRkYgc29saWQ7IH1cblxuLmJ1dHRvbi0tUklHSFQge1xuICB3aWR0aDogNTAlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uYnV0dG9uLS1GSVJTVCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXItcmlnaHQ6IDNweCAjRkZGRkZGIHNvbGlkO1xuICBjbGVhcjogbm9uZTsgfVxuXG4uYnV0dG9uLS1TRUNPTkQge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBmbG9hdDogbGVmdDtcbiAgYm9yZGVyLXJpZ2h0OiAzcHggI0ZGRkZGRiBzb2xpZDtcbiAgY2xlYXI6IG5vbmU7IH1cblxuLmJ1dHRvbi0tVEhJUkQge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uYnV0dG9uLS1OQVRVUkFMIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtOyB9XG5cbi5idXR0b24tLVRBTEwge1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4uYnV0dG9uLS1JTlNFVCB7XG4gIG1hcmdpbjogMDsgfVxuXG4uYnV0dG9uLS1QUklNQVJZIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0NjIxYzsgfVxuXG4uYnV0dG9uLS1TRUNPTkRBUlkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjMzU4ZmFmO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY29sb3I6ICMzNThmYWY7IH1cbiAgLmJ1dHRvbi0tU0VDT05EQVJZOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2YTcwNzY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM2YTcwNzY7IH1cblxuLmJ1dHRvbi0tUE9TSVRJVkUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzJBREI5OyB9XG4gIC5idXR0b24tLVBPU0lUSVZFOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTI5OGE2OyB9XG5cbi5idXR0b24tLU5FR0FUSVZFIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2I1MTgyMzsgfVxuICAuYnV0dG9uLS1ORUdBVElWRTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg4MTIxYTsgfVxuXG4uYnV0dG9uLS1ESVNBQkxFRCwgLmJ1dHRvbi0tRElTQUJMRUQ6aG92ZXIsIC5idXR0b24tLURJU0FCTEVEOmFjdGl2ZSwgLmJ1dHRvbi0tRElTQUJMRUQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICBjb2xvcjogIzc3NztcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5tb3JlLWxpbmsgYSB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBSZXNldHMgYnV0dG9uIHN0eWxlICovXG4vKiBCYXNlIEJ1dHRvbiAqL1xuLmJ1dHRvbiB7XG4gIC8qIEZpbGwgd2lkdGggb2YgY29udGFpbmVyICovXG4gIC8qIEhhbGYgd2lkdGggb2YgY29udGFpbmVyICovXG4gIC8qIEZsb2F0cyAqL1xuICAvKiBJbmhlcml0IHNpemluZyBmcm9tIHBhcmVudCAqL1xuICAvKiBFeHRyYSBoZWlnaHQgYnV0dG9uICovXG4gIC8qIEJ1dHRvbiB3aXRob3V0IG1hcmdpbnMgKi9cbiAgLyogQnV0dG9uIEZ1bmN0aW9ucyAqL1xuICAvKiBBZGphY2VudCBidXR0b25zIHNob3VsZCBoYXZlIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGVtLiAqL1xuICAvKiBBZGphY2VudCBidXR0b25zIHNob3VsZCBoYXZlIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGVtLiAqLyB9XG4gIC5idXR0b24tLUZVTEwge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24gKyAuYnV0dG9uLFxuICAuYnV0dG9uICsgYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLS1GVUxMICsgLmJ1dHRvbi0tRlVMTCxcbiAgLmJ1dHRvbi0tSEFMRiArIC5idXR0b24tLUhBTEYsXG4gIC5idXR0b24tLUhBTEYgKyAuYnV0dG9uLS1GVUxMLFxuICAuYnV0dG9uLS1GVUxMICsgLmJ1dHRvbi0tSEFMRiAuYnV0dG9uLS1IQUxGICsgLmJ1dHRvbi0tRklSU1QsXG4gIC5idXR0b24tLUZVTEwgKyAuYnV0dG9uLS1GSVJTVCxcbiAgLmJ1dHRvbi0tRklSU1QgKyAuYnV0dG9uLS1TRUNPTkQsXG4gIC5idXR0b24tLVNFQ09ORCArIC5idXR0b24tLVRISVJEIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuYnV0dG9uLS1GVUxMICsgLmJ1dHRvbi0tRlVMTCxcbiAgLmJ1dHRvbi0tRlVMTCArIC5idXR0b24tLUhBTEYsXG4gIC5idXR0b24tLUZVTEwgKyAuYnV0dG9uLS1IQUxGICsgLmJ1dHRvbi0tSEFMRixcbiAgLmJ1dHRvbi0tRlVMTCArIC5idXR0b24tLUZJUlNULFxuICAuYnV0dG9uLS1GVUxMICsgLmJ1dHRvbi0tRklSU1QgKyAuYnV0dG9uLS1TRUNPTkQsXG4gIC5idXR0b24tLUZVTEwgKyAuYnV0dG9uLS1GSVJTVCArIC5idXR0b24tLVNFQ09ORCArIC5idXR0b24tLVRISVJELFxuICAuYnV0dG9uLS1IQUxGICsgLmJ1dHRvbi0tRlVMTCxcbiAgLmJ1dHRvbi0tSEFMRiArIC5idXR0b24tLUhBTEYgKyAuYnV0dG9uLS1IQUxGLFxuICAuYnV0dG9uLS1IQUxGICsgLmJ1dHRvbi0tSEFMRiArIC5idXR0b24tLUhBTEYgKyAuYnV0dG9uLS1IQUxGLFxuICAuYnV0dG9uLS1IQUxGICsgLmJ1dHRvbi0tRklSU1QsXG4gIC5idXR0b24tLUhBTEYgKyAuYnV0dG9uLS1GSVJTVCArIC5idXR0b24tLVNFQ09ORCxcbiAgLmJ1dHRvbi0tSEFMRiArIC5idXR0b24tLUZJUlNUICsgLmJ1dHRvbi0tU0VDT05EICsgLmJ1dHRvbi0tVEhJUkQsXG4gIC5idXR0b24tLVRISVJEICsgLmJ1dHRvbi0tRlVMTCxcbiAgLmJ1dHRvbi0tVEhJUkQgKyAuYnV0dG9uLS1IQUxGLFxuICAuYnV0dG9uLS1USElSRCArIC5idXR0b24tLUhBTEYgKyAuYnV0dG9uLS1IQUxGLFxuICAuYnV0dG9uLS1USElSRCArIC5idXR0b24tLUZJUlNULFxuICAuYnV0dG9uLS1USElSRCArIC5idXR0b24tLUZJUlNUICsgLmJ1dHRvbi0tU0VDT05ELFxuICAuYnV0dG9uLS1USElSRCArIC5idXR0b24tLUZJUlNUICsgLmJ1dHRvbi0tU0VDT05EICsgLmJ1dHRvbi0tVEhJUkQge1xuICAgIG1hcmdpbi10b3A6IDNweDsgfVxuXG4vKiBCdXR0b24gdGhlbWluZyBvdmVycmlkZXMgKi9cbi8qIENvbG91cnMgKi9cbmZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuc2VsZWN0LFxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG4gIHNlbGVjdDpmb2N1cyxcbiAgaW5wdXQ6Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCAjNGM0MzQ1OyB9XG5cbmxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjgzMzMzZW07XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiNhdXRvY29tcGxldGUge1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDA7IH1cbiAgI2F1dG9jb21wbGV0ZSB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAuNjI1ZW0gMCAwLjYyNWVtOyB9XG4gICNhdXRvY29tcGxldGUgbGkge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHpvb206IDE7XG4gICAgLyogSUU3ICovIH1cbiAgICAjYXV0b2NvbXBsZXRlIGxpOmhvdmVyLCAjYXV0b2NvbXBsZXRlIGxpOmZvY3VzLCAjYXV0b2NvbXBsZXRlIGxpLnNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbmh0bWwuanMgaW5wdXQudGhyb2JiaW5nIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxNHB4O1xuICAvKiBMVFIgKi8gfVxuXG5odG1sLmpzIGlucHV0LmZvcm0tYXV0b2NvbXBsZXRlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMjZweDtcbiAgLyogTFRSICovIH1cblxuZmllbGRzZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwLjYyNWVtIDEuMjVlbSAxLjI1ZW0gMS4yNWVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNkY2RjU7IH1cbiAgZmllbGRzZXQgZmllbGRzZXQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7IH1cblxubGVnZW5kIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmc6IDlweCAxLjI1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNCMkIyQjI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbmh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIGxlZ2VuZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDsgfVxuICBodG1sLmpzIGZpZWxkc2V0LmNvbGxhcHNpYmxlIC5maWVsZHNldC1sZWdlbmQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LWxlZ2VuZCAuc3VtbWFyeSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH1cbiAgaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzaWJsZSAuZmllbGRzZXQtdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2libGUgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDEuMjVlbSAxLjI1ZW07IH1cblxuaHRtbC5qcyBmaWVsZHNldC5jb2xsYXBzZWQge1xuICBoZWlnaHQ6IDMuN2VtO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBoZWlnaHQ6IDEuNGVtOyB9XG4gIGh0bWwuanMgZmllbGRzZXQuY29sbGFwc2VkIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdLCBpbnB1dFt0eXBlPXJhbmdlXSArIC50aHVtYiwgLm5vLXNlbGVjdCB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5kcm9wZG93bi1jb250ZW50IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbjogMHB4O1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICB6LWluZGV4OiAxMDAwO1xuICBtYXgtaGVpZ2h0OiA3MCU7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgd2lsbC1jaGFuZ2U6IHdpZHRoLCBoZWlnaHQ7IH1cbiAgLmRyb3Bkb3duLWNvbnRlbnQgbGkge1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi1jb250ZW50IGxpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZHJvcGRvd24tY29udGVudCBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG4gICAgLmRyb3Bkb3duLWNvbnRlbnQgbGkgPiBhLCAuZHJvcGRvd24tY29udGVudCBsaSA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxLjI1ZW07IH1cbiAgLmx0LWllOSAuZHJvcGRvd24tY29udGVudCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU0NDY0MzsgfVxuXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5zZWxlY3Qge1xuICBtYXJnaW4tdG9wOiAwLjgzMzMzZW07XG4gIG1hcmdpbi1ib3R0b206IDAuODMzMzNlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjYyNWVtO1xuICBib3JkZXItY29sb3I6ICMyMzFmMjA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbiAgb3V0bGluZTogMXB4IHNvbGlkICMyMzFmMjA7IH1cbiAgc2VsZWN0W211bHRpcGxlPW11bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44MzMzM2VtOyB9XG5cbi8qIFJlbW92ZSBGb2N1cyBCb3hlcyAqL1xuc2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkICM0YzQzNDU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUZXh0IElucHV0c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5mb3JtLXR5cGUtdGV4dGZpZWxkLFxuLndlYmZvcm0tY29tcG9uZW50LXRleHRmaWVsZCxcbi53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAubm8tanMgLmZvcm0tdHlwZS10ZXh0ZmllbGQgbGFiZWwsXG4gIGxhYmVsLmFjdGl2ZSwgLm5vLWpzXG4gIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgbGFiZWwsIC5uby1qc1xuICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwgbGFiZWwge1xuICAgIGNvbG9yOiAjOTkwMzA1OyB9XG4gIC5mb3JtLXR5cGUtdGV4dGZpZWxkIGlucHV0W3R5cGU9dGV4dF0udmFsaWQsXG4gIC5mb3JtLXR5cGUtdGV4dGZpZWxkIGlucHV0W3R5cGU9cGFzc3dvcmRdLnZhbGlkLFxuICAuZm9ybS10eXBlLXRleHRmaWVsZCBpbnB1dFt0eXBlPWVtYWlsXS52YWxpZCxcbiAgLmZvcm0tdHlwZS10ZXh0ZmllbGQgaW5wdXRbdHlwZT11cmxdLnZhbGlkLFxuICAuZm9ybS10eXBlLXRleHRmaWVsZCBpbnB1dFt0eXBlPWRhdGVdLnZhbGlkLFxuICAuZm9ybS10eXBlLXRleHRmaWVsZCBpbnB1dFt0eXBlPXRlbF0udmFsaWQsXG4gIC5mb3JtLXR5cGUtdGV4dGZpZWxkIGlucHV0W3R5cGU9bnVtYmVyXS52YWxpZCxcbiAgLmZvcm0tdHlwZS10ZXh0ZmllbGQgaW5wdXRbdHlwZT1zZWFyY2hdLnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIGlucHV0W3R5cGU9dGV4dF0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgaW5wdXRbdHlwZT1wYXNzd29yZF0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgaW5wdXRbdHlwZT1lbWFpbF0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgaW5wdXRbdHlwZT11cmxdLnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIGlucHV0W3R5cGU9ZGF0ZV0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgaW5wdXRbdHlwZT10ZWxdLnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIGlucHV0W3R5cGU9bnVtYmVyXS52YWxpZCxcbiAgLndlYmZvcm0tY29tcG9uZW50LXRleHRmaWVsZCBpbnB1dFt0eXBlPXNlYXJjaF0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCBpbnB1dFt0eXBlPXRleHRdLnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwgaW5wdXRbdHlwZT1wYXNzd29yZF0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCBpbnB1dFt0eXBlPWVtYWlsXS52YWxpZCxcbiAgLndlYmZvcm0tY29tcG9uZW50LWVtYWlsIGlucHV0W3R5cGU9dXJsXS52YWxpZCxcbiAgLndlYmZvcm0tY29tcG9uZW50LWVtYWlsIGlucHV0W3R5cGU9ZGF0ZV0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCBpbnB1dFt0eXBlPXRlbF0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCBpbnB1dFt0eXBlPW51bWJlcl0udmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCBpbnB1dFt0eXBlPXNlYXJjaF0udmFsaWQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzQ1OTU5O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmZvcm0tdHlwZS10ZXh0ZmllbGQgaW5wdXRbdHlwZT10ZXh0XS5pbnZhbGlkLFxuICAuZm9ybS10eXBlLXRleHRmaWVsZCBpbnB1dFt0eXBlPXBhc3N3b3JkXS5pbnZhbGlkLFxuICAuZm9ybS10eXBlLXRleHRmaWVsZCBpbnB1dFt0eXBlPWVtYWlsXS5pbnZhbGlkLFxuICAuZm9ybS10eXBlLXRleHRmaWVsZCBpbnB1dFt0eXBlPXVybF0uaW52YWxpZCxcbiAgLmZvcm0tdHlwZS10ZXh0ZmllbGQgaW5wdXRbdHlwZT1kYXRlXS5pbnZhbGlkLFxuICAuZm9ybS10eXBlLXRleHRmaWVsZCBpbnB1dFt0eXBlPXRlbF0uaW52YWxpZCxcbiAgLmZvcm0tdHlwZS10ZXh0ZmllbGQgaW5wdXRbdHlwZT1udW1iZXJdLmludmFsaWQsXG4gIC5mb3JtLXR5cGUtdGV4dGZpZWxkIGlucHV0W3R5cGU9c2VhcmNoXS5pbnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIGlucHV0W3R5cGU9dGV4dF0uaW52YWxpZCxcbiAgLndlYmZvcm0tY29tcG9uZW50LXRleHRmaWVsZCBpbnB1dFt0eXBlPXBhc3N3b3JkXS5pbnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIGlucHV0W3R5cGU9ZW1haWxdLmludmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgaW5wdXRbdHlwZT11cmxdLmludmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgaW5wdXRbdHlwZT1kYXRlXS5pbnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIGlucHV0W3R5cGU9dGVsXS5pbnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIGlucHV0W3R5cGU9bnVtYmVyXS5pbnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIGlucHV0W3R5cGU9c2VhcmNoXS5pbnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwgaW5wdXRbdHlwZT10ZXh0XS5pbnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwgaW5wdXRbdHlwZT1wYXNzd29yZF0uaW52YWxpZCxcbiAgLndlYmZvcm0tY29tcG9uZW50LWVtYWlsIGlucHV0W3R5cGU9ZW1haWxdLmludmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCBpbnB1dFt0eXBlPXVybF0uaW52YWxpZCxcbiAgLndlYmZvcm0tY29tcG9uZW50LWVtYWlsIGlucHV0W3R5cGU9ZGF0ZV0uaW52YWxpZCxcbiAgLndlYmZvcm0tY29tcG9uZW50LWVtYWlsIGlucHV0W3R5cGU9dGVsXS5pbnZhbGlkLFxuICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwgaW5wdXRbdHlwZT1udW1iZXJdLmludmFsaWQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCBpbnB1dFt0eXBlPXNlYXJjaF0uaW52YWxpZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiNTE4MjM7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuZm9ybS10eXBlLXRleHRmaWVsZCAucHJlZml4LFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIC5wcmVmaXgsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCAucHJlZml4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIuNWVtO1xuICAgIGZvbnQtc2l6ZTogMS43MjhlbTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgLW1vei10cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7IH1cbiAgICAuZm9ybS10eXBlLXRleHRmaWVsZCAucHJlZml4LmFjdGl2ZSxcbiAgICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIC5wcmVmaXguYWN0aXZlLFxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCAucHJlZml4LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzk5MDMwNTsgfVxuICAuZm9ybS10eXBlLXRleHRmaWVsZCAucHJlZml4IH4gaW5wdXQsXG4gIC5mb3JtLXR5cGUtdGV4dGZpZWxkIC5wcmVmaXggfiB0ZXh0YXJlYSxcbiAgLndlYmZvcm0tY29tcG9uZW50LXRleHRmaWVsZCAucHJlZml4IH4gaW5wdXQsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgLnByZWZpeCB+IHRleHRhcmVhLFxuICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwgLnByZWZpeCB+IGlucHV0LFxuICAud2ViZm9ybS1jb21wb25lbnQtZW1haWwgLnByZWZpeCB+IHRleHRhcmVhIHtcbiAgICBtYXJnaW4tbGVmdDogNTJweDtcbiAgICB3aWR0aDogOTIlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MnB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7IH1cbiAgLmZvcm0tdHlwZS10ZXh0ZmllbGQgLnByZWZpeCB+IHRleHRhcmVhLFxuICAud2ViZm9ybS1jb21wb25lbnQtdGV4dGZpZWxkIC5wcmVmaXggfiB0ZXh0YXJlYSxcbiAgLndlYmZvcm0tY29tcG9uZW50LWVtYWlsIC5wcmVmaXggfiB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6IC44cmVtOyB9XG4gIC5mb3JtLXR5cGUtdGV4dGZpZWxkIC5wcmVmaXggfiBsYWJlbCxcbiAgLndlYmZvcm0tY29tcG9uZW50LXRleHRmaWVsZCAucHJlZml4IH4gbGFiZWwsXG4gIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCAucHJlZml4IH4gbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAyLjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzA0cHgpIHtcbiAgICAuZm9ybS10eXBlLXRleHRmaWVsZCAucHJlZml4IH4gaW5wdXQsXG4gICAgLndlYmZvcm0tY29tcG9uZW50LXRleHRmaWVsZCAucHJlZml4IH4gaW5wdXQsXG4gICAgLndlYmZvcm0tY29tcG9uZW50LWVtYWlsIC5wcmVmaXggfiBpbnB1dCB7XG4gICAgICB3aWR0aDogODYlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUycHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLmZvcm0tdHlwZS10ZXh0ZmllbGQgLnByZWZpeCB+IGlucHV0LFxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC10ZXh0ZmllbGQgLnByZWZpeCB+IGlucHV0LFxuICAgIC53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCAucHJlZml4IH4gaW5wdXQge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MnB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTsgfSB9XG5cbiNhZG1pbi1tZW51IC5hZG1pbi1tZW51LXNlYXJjaCAuZm9ybS1pdGVtIHtcbiAgcG9zaXRpb246IGluaGVyaXQ7IH1cblxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyMzFmMjA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuICAubHQtaWU5IGlucHV0W3R5cGU9XCJjb2xvclwiXSwgLmx0LWllOVxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXSwgLmx0LWllOVxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sIC5sdC1pZTlcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLCAubHQtaWU5XG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgLmx0LWllOVxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0sIC5sdC1pZTlcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSwgLmx0LWllOVxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIC5sdC1pZTlcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgLmx0LWllOVxuICBpbnB1dFt0eXBlPVwidGVsXCJdLCAubHQtaWU5XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAubHQtaWU5XG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCAubHQtaWU5XG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0sIC5sdC1pZTlcbiAgaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMDsgfVxuXG5pbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4uc2VsZWN0LXdyYXBwZXIgLnNlbGVjdC1kcm9wZG93bjpmb2N1cyxcbmlucHV0W3R5cGU9XCJjb2xvclwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwidGltZVwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi5zZWxlY3Qtd3JhcHBlciAuc2VsZWN0LWRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5OTAzMDU7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGV4dGFyZWFcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IDEuMjVlbSAwO1xuICBwYWRkaW5nOiAxLjI1ZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMyMzFmMjA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICByZXNpemU6IG5vbmU7IH1cbiAgdGV4dGFyZWEudmFsaWQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNDU5NTk7IH1cbiAgdGV4dGFyZWEuaW52YWxpZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2I1MTgyMzsgfVxuICB0ZXh0YXJlYTpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5MDMwNTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3R0b206IDFweCBzb2xpZCAjOTkwMzA1O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgLmx0LWllOSB0ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMCAwOyB9XG5cbi5yZXNpemFibGUtdGV4dGFyZWEgdGV4dGFyZWEge1xuICBtYXJnaW46IDAuNjI1ZW0gMCAwOyB9XG5cbi5yZXNpemFibGUtdGV4dGFyZWEgLmdyaXBwaWUge1xuICBiYWNrZ3JvdW5kOiAjZWVlIHVybChcIi4uLy4uL2ltYWdlcy9ncmlwcGllLnBuZ1wiKSBuby1yZXBlYXQgY2VudGVyIDJweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgY3Vyc29yOiBzLXJlc2l6ZTtcbiAgaGVpZ2h0OiA5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDIuNWVtOyB9XG5cbi5oaWRkZW5kaXYge1xuICBkaXNwbGF5OiBub25lO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgLyogZnV0dXJlIHZlcnNpb24gb2YgZGVwcmVjYXRlZCAnd29yZC13cmFwJyAqL1xuICBwYWRkaW5nLXRvcDogMS40NGVtO1xuICAvKiBwcmV2ZW50cyB0ZXh0IGp1bXAgb24gRW50ZXIga2V5cHJlc3MgKi8gfVxuXG4vKioqKioqKioqKioqKioqXG4gIFJhZGlvIEJ1dHRvbnNcbioqKioqKioqKioqKioqKi9cbi5mb3JtLXJhZGlvcyB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBSYWRpbyBCdXR0b25zICovXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7IH1cbiAgI2RpZmYtbm9kZS1yZXZpc2lvbnMgW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpLCAjZGlmZi1ub2RlLXJldmlzaW9uc1xuICBbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogaW5pdGlhbDsgfVxuXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IDFlbTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjI4cyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IDAuMjhzIGVhc2U7XG4gIHRyYW5zaXRpb246IDAuMjhzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIHdlYmtpdCAoc2FmYXJpLCBjaHJvbWUpIGJyb3dzZXJzICovXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIG1vemlsbGEgYnJvd3NlcnMgKi9cbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAvKiB3ZWJraXQgKGtvbnF1ZXJvcikgYnJvd3NlcnMgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAvKiBJRTEwKyAqLyB9XG5cblt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDpiZWZvcmUsXG5bdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogMHB4O1xuICBtYXJnaW46IDRweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjI4cyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IDAuMjhzIGVhc2U7XG4gIHRyYW5zaXRpb246IDAuMjhzIGVhc2U7IH1cblxuLyogVW5jaGVja2VkIHN0eWxlcyAqL1xuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMjMxZjIwOyB9XG5cblt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMjMxZjIwO1xuICB6LWluZGV4OiAtMTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDApO1xuICAtby10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG5cbi8qIENoZWNrZWQgc3R5bGVzICovXG5bdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjE1LCAyNSwgMzMsIDAuNCk7IH1cblxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkNzE5MjE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNzE5MjE7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfVxuXG4vKiBSYWRpbyBXaXRoIGdhcCAqL1xuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDcxOTIxOyB9XG5cblt0eXBlPVwicmFkaW9cIl0ud2l0aC1nYXA6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDcxOTIxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDcxOTIxO1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOyB9XG5cbi8qIERpc2FibGVkIHN0eWxlICovXG5bdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG5bdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWNvbG9yOiAjZDJkM2Q1OyB9XG5cblt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gIGNvbG9yOiAjZDJkM2Q1OyB9XG5cblt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQ6bm90KDpjaGVja2VkKSArIGxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2QyZDNkNTsgfVxuXG4vKioqKioqKioqKioqKioqXG4gICBDaGVja2JveGVzXG4qKioqKioqKioqKioqKiovXG4uZm9ybS1jaGVja2JveGVzIHtcbiAgbWFyZ2luLXRvcDogMC44MzMzM2VtOyB9XG5cbi8qIENVU1RPTSBDU1MgQ0hFQ0tCT1hFUyAqL1xuZm9ybSBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC44MzMzM2VtO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbmZvcm0gcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi8qIFJlbW92ZSBkZWZhdWx0IGNoZWNrYm94ICovXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7IH1cbiAgLmx0LWllMTAgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpLCAubHQtaWUxMFxuICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsLFxuW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIHdlYmtpdCAoc2FmYXJpLCBjaHJvbWUpIGJyb3dzZXJzICovXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIG1vemlsbGEgYnJvd3NlcnMgKi9cbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAvKiB3ZWJraXQgKGtvbnF1ZXJvcikgYnJvd3NlcnMgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAvKiBJRTEwKyAqLyB9XG4gIC5sdC1pZTEwIFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsLCAubHQtaWUxMFxuICBbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4OyB9XG5cbi8qIGNoZWNrYm94IGFzcGVjdCAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi10b3A6IDAuMjMyNTdlbTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuMnM7XG4gIC1tb3otdHJhbnNpdGlvbjogMC4ycztcbiAgdHJhbnNpdGlvbjogMC4yczsgfVxuXG4vKiBVbmNoZWNrZWQgc3R5bGVzICovXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzIzMWYyMDsgfVxuXG4vKiBDaGVja2VkIHN0eWxlcyAqL1xuW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgbGVmdDogLTRweDtcbiAgdG9wOiAtNHB4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNkNzE5MjE7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDcxOTIxO1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWig0MGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGVaKDQwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlWig0MGRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlWig0MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWig0MGRlZyk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlOyB9XG5cbi8qIGRpc2FibGVkIGNoZWNrYm94ICovXG5bdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMmQzZDU7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkMmQzZDU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xuICAtbW96LXRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgbGVmdDogLTNweDtcbiAgdG9wOiAtNHB4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNkMmQzZDU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDJkM2Q1O1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWig0MGRlZyk7XG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGVaKDQwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlWig0MGRlZyk7XG4gIC1vLXRyYW5zZm9ybTogcm90YXRlWig0MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlWig0MGRlZyk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgY29sb3I6ICNkMmQzZDU7IH1cblxuW3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6aG92ZXI6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDJkM2Q1OyB9XG5cbi8qIFN3aXRjaCAqL1xuLnN3aXRjaCxcbi5zd2l0Y2ggKiB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uc3dpdGNoIGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2l0Y2ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Zmlyc3QtY2hpbGQge1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi5zd2l0Y2ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Zmlyc3QtY2hpbGQ6Y2hlY2tlZCArIC5sZXZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3YmM1YmU7IH1cblxuLnN3aXRjaCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpmaXJzdC1jaGlsZDpjaGVja2VkICsgLmxldmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTU4NzsgfVxuXG4uc3dpdGNoIGxhYmVsIC5sZXZlcixcbi5zd2l0Y2ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdOmZpcnN0LWNoaWxkICsgLmxldmVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODE4MTgxO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5zd2l0Y2ggbGFiZWwgLmxldmVyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGMUYxO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBsZWZ0OiAtNXB4O1xuICB0b3A6IC0ycHg7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLCBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7IH1cblxuLnN3aXRjaCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XVtkaXNhYmxlZF06Zmlyc3QtY2hpbGQgKyAubGV2ZXI6YWZ0ZXIsXG4uc3dpdGNoIGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpjaGVja2VkOmZpcnN0LWNoaWxkICsgLmxldmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JEQkRCRDsgfVxuXG5pbnB1dFt0eXBlPWNoZWNrYm94XTpmaXJzdC1jaGlsZDpjaGVja2VkIH4gLmxldmVyOmFjdGl2ZTphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpLCAwIDAgMCAxNXB4IHJnYmEoMCwgMTQ5LCAxMzUsIDAuMSk7IH1cblxuaW5wdXRbdHlwZT1jaGVja2JveF06Zmlyc3QtY2hpbGQgfiAubGV2ZXI6YWN0aXZlOmFmdGVyLFxuaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdOmZpcnN0LWNoaWxkIH4gLmxldmVyOmFjdGl2ZTphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpLCAwIDAgMCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpdGNoIGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdOmZpcnN0LWNoaWxkOmNoZWNrZWQgKyAubGV2ZXI6YWZ0ZXIge1xuICBsZWZ0OiAzMHB4OyB9XG5cbi8qKioqKioqKioqKioqKipcbiAgU2VsZWN0IEZpZWxkXG4qKioqKioqKioqKioqKiovXG4uc2VsZWN0LXdyYXBwZXIgc3Bhbi5zZWxlY3QtZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICM0NDQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjMxZjIwO1xuICBvdXRsaW5lOiBub25lO1xuICBoZWlnaHQ6IDIuNWVtO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjVlbTtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VsZWN0LXdyYXBwZXIgc3Bhbi5zZWxlY3QtZHJvcGRvd246YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMiU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoXCIuLi8uLi9pbWFnZXMvYXJyb3dfb3Blbi5wbmdcIikgbGVmdCB0b3Agbm8tcmVwZWF0O1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiAxMHB4OyB9XG4gIC5jb250YWluZXItaW5saW5lIC5zZWxlY3Qtd3JhcHBlciBzcGFuLnNlbGVjdC1kcm9wZG93biB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zZWxlY3Qtd3JhcHBlciBzZWxlY3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnNlbGVjdC5icm93c2VyLWRlZmF1bHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5zZWxlY3Q6ZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi5zZWxlY3Qtd3JhcHBlciBzcGFuLnNlbGVjdC1kcm9wZG93bi5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnNlbGVjdC1kcm9wZG93biBsaS5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cbiAgLnNlbGVjdC1kcm9wZG93biBsaS5kaXNhYmxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqKioqKioqKioqKioqKlxuICBSYW5nZVxuKioqKioqKioqKioqKioqL1xuLnJhbmdlLWZpZWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdLCBpbnB1dFt0eXBlPXJhbmdlXSArIC50aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTVweCAwcHg7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV0gKyAudGh1bWIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDcxOTIxO1xuICB0b3A6IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtNnB4O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIC1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICBpbnB1dFt0eXBlPXJhbmdlXSArIC50aHVtYiAudmFsdWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2Q3MTkyMTtcbiAgICBmb250LXNpemU6IDBweDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgaW5wdXRbdHlwZT1yYW5nZV0gKyAudGh1bWIuYWN0aXZlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgNTAlIDUwJSAwOyB9XG4gICAgaW5wdXRbdHlwZT1yYW5nZV0gKyAudGh1bWIuYWN0aXZlIC52YWx1ZSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgICAgbWFyZ2luLXRvcDogMC42OTQ0NGVtO1xuICAgICAgZm9udC1zaXplOiAwLjY5NDQ0ZW07IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjYzJjMGMyO1xuICBib3JkZXI6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgbWFyZ2luOiAtNXB4IDAgMCAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDAuM3M7XG4gIC1tb3otdHJhbnNpdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbjogMC4zczsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjY2NjOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLyogZml4IGZvciBGRiB1bmFibGUgdG8gYXBwbHkgZm9jdXMgc3R5bGUgYnVnICAqL1xuICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgLypyZXF1aXJlZCBmb3IgcHJvcGVyIHRyYWNrIHNpemluZyBpbiBGRiovIH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2RkZDtcbiAgYm9yZGVyOiBub25lOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNkNzE5MjE7XG4gIG1hcmdpbi10b3A6IC01cHg7IH1cblxuLypoaWRlIHRoZSBvdXRsaW5lIGJlaGluZCB0aGUgYm9yZGVyKi9cbmlucHV0W3R5cGU9cmFuZ2VdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHdoaXRlO1xuICBvdXRsaW5lLW9mZnNldDogLTFweDsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpmb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNjY2M7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIGhlaWdodDogM3B4O1xuICAvKnJlbW92ZSBiZyBjb2xvdXIgZnJvbSB0aGUgdHJhY2ssIHdlJ2xsIHVzZSBtcy1maWxsLWxvd2VyIGFuZCBtcy1maWxsLXVwcGVyIGluc3RlYWQgKi9cbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC8qbGVhdmUgcm9vbSBmb3IgdGhlIGxhcmdlciB0aHVtYiB0byBvdmVyZmxvdyB3aXRoIGEgdHJhbnNwYXJlbnQgYm9yZGVyICovXG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogNnB4IDA7XG4gIC8qcmVtb3ZlIGRlZmF1bHQgdGljayBtYXJrcyovXG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXIge1xuICBiYWNrZ3JvdW5kOiAjNzc3OyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6ICNkZGQ7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZDcxOTIxOyB9XG5cbmlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzOjotbXMtZmlsbC1sb3dlciB7XG4gIGJhY2tncm91bmQ6ICM4ODg7IH1cblxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgYmFja2dyb3VuZDogI2NjYzsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICBUZXh0IElucHV0cyArIFRleHRhcmVhXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmNvbnRhaW5lci1pbmxpbmUgLmZvcm0tc2VsZWN0LFxuLmNvbnRhaW5lci1pbmxpbmUgLmZvcm0tdGV4dCxcbi5jb250YWluZXItaW5saW5lIC5mb3JtLXRleHRhcmVhIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgIEZpbGUgZmllbGRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZm9ybS1pdGVtLndlYmZvcm0tY29tcG9uZW50LWZpbGUsIC5mb3JtLWl0ZW0uZm9ybS10eXBlLW1hbmFnZWQtZmlsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNWVtOyB9XG5cbi5mb3JtLW1hbmFnZWQtZmlsZSB7XG4gIG1hcmdpbjogMC42MjVlbSAwOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICBQcm9ncmVzcyBiYXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ud2ViZm9ybS1wcm9ncmVzc2JhciB7XG4gIG1hcmdpbi10b3A6IDEuNDRlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgIEZpZWxkIE11bHRpcGxlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuZm9ybSAuZmllbGQtbXVsdGlwbGUtdGFibGUgdGguZmllbGQtbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICBEcm9wZG93blxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgIEZpZWxzZXRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmZvcm0td3JhcHBlcixcbi5mb3JtLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gIG1hcmdpbi10b3A6IDEuMjVlbTsgfVxuXG4uZmllbGRzZXQtZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtO1xuICBjb2xvcjogIzZhNzA3NjtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi52ZXJ0aWNhbC10YWJzIGZpZWxkc2V0LnZlcnRpY2FsLXRhYnMtcGFuZSB7XG4gIHBhZGRpbmc6IDEuMjVlbSAxLjI1ZW07IH1cblxuZGl2LnZlcnRpY2FsLXRhYnMge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgZGl2LnZlcnRpY2FsLXRhYnMgdWwudmVydGljYWwtdGFicy1saXN0IGxpLnNlbGVjdGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGNkY1OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICBWaWV3cyBleHBvc2VkIGZvcm1zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnZpZXdzLWV4cG9zZWQtZm9ybSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudmlld3MtZXhwb3NlZC1mb3JtIC52aWV3cy1leHBvc2VkLXdpZGdldHMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICp6b29tOiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudmlld3MtZXhwb3NlZC1mb3JtIC52aWV3cy1leHBvc2VkLXdpZGdldHMgLnZpZXdzLWV4cG9zZWQtd2lkZ2V0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnZpZXdzLWV4cG9zZWQtZm9ybSAudmlld3MtZXhwb3NlZC13aWRnZXRzIC52aWV3cy1leHBvc2VkLXdpZGdldCBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gICAgICAgIC8qIElFNiwgSUU3ICovXG4gICAgICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgaGVpZ2h0OiAxcHg7IH1cbiAgICAgIC52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXdzLWV4cG9zZWQtd2lkZ2V0cyAudmlld3MtZXhwb3NlZC13aWRnZXQgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAudmlld3MtZXhwb3NlZC1mb3JtIC52aWV3cy1leHBvc2VkLXdpZGdldHMge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIC52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXdzLWV4cG9zZWQtd2lkZ2V0cyAudmlld3MtZXhwb3NlZC13aWRnZXQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC52aWV3cy1leHBvc2VkLWZvcm0gLnZpZXdzLWV4cG9zZWQtd2lkZ2V0cyAuZm9ybS1zdWJtaXQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjI1ZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVlbTsgfSB9XG5cbi52aWV3LWVtcHR5IC5uby1yZXN1bHRzLW1lc3NhZ2Uge1xuICBmb250LXNpemU6IDEuNDRlbTtcbiAgcGFkZGluZy10b3A6IDFlbTtcbiAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0LCBpbnB1dC5ja2VfZGlhbG9nX3VpX2lucHV0X3Bhc3N3b3JkLCB0ZXh0YXJlYS5ja2VfZGlhbG9nX3VpX2lucHV0X3RleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgU3Vic2NyaWJlIGZvcm0uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnNlY3Rpb24tbmV3c2xldHRlcnMgLm5ld3NsZXR0ZXItbGlua3Mge1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwNHB4KSB7XG4gICAgLnNlY3Rpb24tbmV3c2xldHRlcnMgLm5ld3NsZXR0ZXItbGlua3Mge1xuICAgICAgbWFyZ2luOiAwIDAgMCAyNTVweDtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLnNlY3Rpb24tbmV3c2xldHRlcnMgLnRpdGxlLWJhcnMtcHJvY2Vzc2VkIHNwYW4ge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNlY3Rpb24tbmV3c2xldHRlcnMgLmFsZXJ0ZGlhbG9nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3MDRweCkge1xuICAgIC5zZWN0aW9uLW5ld3NsZXR0ZXJzIC5hbGVydGRpYWxvZyB7XG4gICAgICB3aWR0aDogMzcuNWVtOyB9IH1cblxuLnNlY3Rpb24tbmV3c2xldHRlcnMgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDcwNHB4KSB7XG4gICAgLnNlY3Rpb24tbmV3c2xldHRlcnMgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0ge1xuICAgICAgd2lkdGg6IDM3LjVlbTsgfSB9XG4gIC5zZWN0aW9uLW5ld3NsZXR0ZXJzIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWN0aW9uLW5ld3NsZXR0ZXJzIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtIC5mb3JtLWNoZWNrYm94ZXMge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1ZW07IH1cbiAgICAuc2VjdGlvbi1uZXdzbGV0dGVycyAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybSAuZm9ybS1jaGVja2JveGVzIGRpdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNWVtO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMi4zNzVlbTsgfVxuICAgICAgLnNlY3Rpb24tbmV3c2xldHRlcnMgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0gLmZvcm0tY2hlY2tib3hlcyBkaXYgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMuNzVlbTtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAuc2VjdGlvbi1uZXdzbGV0dGVycyAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybSAuZm9ybS1jaGVja2JveGVzIGRpdiBsYWJlbC5yZXF1aXJlZCB7XG4gICAgICAgICAgY29sb3I6IHJlZDsgfVxuICAgICAgICAgIC5zZWN0aW9uLW5ld3NsZXR0ZXJzIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtIC5mb3JtLWNoZWNrYm94ZXMgZGl2IGxhYmVsLnJlcXVpcmVkOmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHJlZDsgfVxuICAgICAgICAuc2VjdGlvbi1uZXdzbGV0dGVycyAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybSAuZm9ybS1jaGVja2JveGVzIGRpdiBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiAwLjkzNzVlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuODc1ZW07XG4gICAgICAgICAgbGVmdDogMC4zMTI1ZW07IH1cbiAgICAgIC5zZWN0aW9uLW5ld3NsZXR0ZXJzIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtIC5mb3JtLWNoZWNrYm94ZXMgZGl2LmZvcm0taXRlbS1tYWlsY2hpbXAtbGlzdHMtaW50ZXJlc3QtZ3JvdXBzLWQ5ODRkZjVhM2EtMDNjMGRkMTJjNyBsYWJlbDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgICAgY29sb3I6IHJlZDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwNHB4KSB7XG4gICAgICAgIC5zZWN0aW9uLW5ld3NsZXR0ZXJzIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtIC5mb3JtLWNoZWNrYm94ZXMgZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgICAuc2VjdGlvbi1uZXdzbGV0dGVycyAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybSAuZm9ybS1jaGVja2JveGVzIGRpdiBsYWJlbCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNWVtOyB9XG4gICAgICAgICAgICAuc2VjdGlvbi1uZXdzbGV0dGVycyAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybSAuZm9ybS1jaGVja2JveGVzIGRpdiBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICBsZWZ0OiAtMC4yMjIyMmVtO1xuICAgICAgICAgICAgICB3aWR0aDogMC42NjY2N2VtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEuMjIyMjJlbTsgfSB9XG4gICAgICAuc2VjdGlvbi1uZXdzbGV0dGVycyAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybSAuZm9ybS1jaGVja2JveGVzIGRpdi5mb3JtLWl0ZW0tbWFpbGNoaW1wLWxpc3RzLWludGVyZXN0LWdyb3Vwcy1kOTg0ZGY1YTNhLTQ1MzViMTYyMDMsIC5zZWN0aW9uLW5ld3NsZXR0ZXJzIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtIC5mb3JtLWNoZWNrYm94ZXMgZGl2LmZvcm0taXRlbS1tYWlsY2hpbXAtbGlzdHMtaW50ZXJlc3QtZ3JvdXBzLWQ5ODRkZjVhM2EtOWNiMzJmMjY3NCwgLnNlY3Rpb24tbmV3c2xldHRlcnMgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0gLmZvcm0tY2hlY2tib3hlcyBkaXYuZm9ybS1pdGVtLW1haWxjaGltcC1saXN0cy1pbnRlcmVzdC1ncm91cHMtYmNlOTAwYzcyZi02MjI1YjFmMWE5LCAuc2VjdGlvbi1uZXdzbGV0dGVycyAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybSAuZm9ybS1jaGVja2JveGVzIGRpdi5mb3JtLWl0ZW0tbWFpbGNoaW1wLWxpc3RzLWludGVyZXN0LWdyb3Vwcy1iY2U5MDBjNzJmLWU2MDBlZWM1Y2Mge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNlY3Rpb24tbmV3c2xldHRlcnMgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0gLmZvcm0tY2hlY2tib3hlcyBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgd2lkdGg6IDIuNWVtO1xuICAgICAgaGVpZ2h0OiAyLjVlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwNHB4KSB7XG4gICAgICAgIC5zZWN0aW9uLW5ld3NsZXR0ZXJzIC5tYWlsY2hpbXAtc2lnbnVwLXN1YnNjcmliZS1mb3JtIC5mb3JtLWNoZWNrYm94ZXMgW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMS4xMjVlbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuMTI1ZW07IH0gfVxuICAuc2VjdGlvbi1uZXdzbGV0dGVycyAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybSAuZm9ybS1pdGVtLW1lcmdldmFycy1GTkFNRTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcqIGluZGljYXRlcyByZXF1aXJlZCc7XG4gICAgY29sb3I6IHJlZDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAwLjgzMzMzZW07IH1cbiAgLnNlY3Rpb24tbmV3c2xldHRlcnMgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0gLmZvcm0tcmVxdWlyZWQge1xuICAgIGNvbG9yOiByZWQ7IH1cbiAgLnNlY3Rpb24tbmV3c2xldHRlcnMgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0gLmZvcm0tc3VibWl0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MDRweCkge1xuICAgICAgLnNlY3Rpb24tbmV3c2xldHRlcnMgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0gLmZvcm0tc3VibWl0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IGluaXRpYWw7IH0gfVxuXG4vKmRvY1xuLS0tXG50aXRsZTogR3JpZFxubmFtZTogZ3JpZFxuY2F0ZWdvcnk6IEF0b21zXG4tLS1cblxuRmxleGJveCBncmlkIHdoZXJlIGl0ZW1zIHdpbGwgYWx3YXlzIGJlIHRoZSBzYW1lIGhlaWdodFxuXG5gYGBodG1sX2V4YW1wbGVcbjxkaXYgY2xhc3M9XCJncmlkICBncmlkLS00XCI+XG4gIDxkaXYgY2xhc3M9XCJncmlkX19pdGVtXCI+Q29sdW1uPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJncmlkX19pdGVtXCI+Q29sdW1uPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJncmlkX19pdGVtXCI+Q29sdW1uPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJncmlkX19pdGVtXCI+Q29sdW1uPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cbi5ncmlkIHtcbiAgbWF4LXdpZHRoOiAxMjM1cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGNsZWFyOiBib3RoOyB9XG4gIC5ncmlkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuZ3JpZCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgLmdyaWRfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMDczNmVtOyB9XG4gICAgLmdyaWRfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAuZ3JpZF9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA5NTlweCkge1xuICAgIC5ncmlkLS00ID4gLmdyaWRfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjY5NDkyJTsgfVxuICAgICAgLmdyaWQtLTQgPiAuZ3JpZF9faXRlbTpudGgtY2hpbGQoMm4rMikge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmdyaWQtLTQgPiAuZ3JpZF9faXRlbTpudGgtY2hpbGQoMm4rMSk6bnRoLWxhc3QtY2hpbGQoLW4rMiksXG4gICAgICAuZ3JpZC0tNCA+IC5ncmlkX19pdGVtOm50aC1jaGlsZCgybisxKTpudGgtbGFzdC1jaGlsZCgtbisyKSB+IC5ncmlkX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAgIC5ncmlkLS00ID4gLmdyaWRfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDIzLjcyODgxJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjY5NDkyJTsgfVxuICAgICAgLmdyaWQtLTQgPiAuZ3JpZF9faXRlbTpudGgtY2hpbGQoNG4rNCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLmdyaWQtLTQgPiAuZ3JpZF9faXRlbTpudGgtY2hpbGQoNG4rMSk6bnRoLWxhc3QtY2hpbGQoLW4rNCksXG4gICAgICAuZ3JpZC0tNCA+IC5ncmlkX19pdGVtOm50aC1jaGlsZCg0bisxKTpudGgtbGFzdC1jaGlsZCgtbis0KSB+IC5ncmlkX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi8qKlxuICogQ09OVEVOVFNcbiAqXG4gKiBHbG9iYWwgICAgICAgICAgIC0gI0dMT0JBTFxuICogTGFyZ2UgbGlua3MgICAgICAtICNMQVJHRVxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgI0dMT0JBTFxuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAjTEFSR0VcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKmRvY1xuLS0tXG50aXRsZTogTWVnYSBsaW5rc1xubmFtZTogbWVnYS1saW5rc1xuY2F0ZWdvcnk6IEF0b21zXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG48YSBocmVmPVwiI1wiIGNsYXNzPVwibWVnYS1saW5rXCJcIj5NZWdhIGxpbms8L2E+XG5gYGBcbiovXG4ubWVnYS1saW5rIHtcbiAgY29sb3I6ICNiNTE4MjM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuNDRlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLm1lZ2EtbGluay5hY3RpdmUsIC5tZWdhLWxpbms6aG92ZXIsIC5tZWdhLWxpbms6YWN0aXZlLCAubWVnYS1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogI2Q3MTkyMTsgfVxuXG4vKmRvY1xuLS0tXG50aXRsZTogSnVtcCBBbmNob3Jcbm5hbWU6IGp1bXAtYW5jaG9yXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbjxhIGhyZWY9XCIjc29tZS1pZFwiIGNsYXNzPVwianVtcC1hbmNob3JcIj48L2E+XG5gYGBcbiovXG4uanVtcC1hbmNob3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE1MHB4OyB9XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBIYW1idXJnZXJcbm5hbWU6IGhhbWJ1cmdlclxuY2F0ZWdvcnk6IEF0b21zXG4tLS1cblxuQSBiYXNpYyBIYW1idXJnZXIgaWNvbi5cblxuYGBgaHRtbF9leGFtcGxlXG48YnV0dG9uIGNsYXNzPVwiaGFtYnVyZ2VyIGhhbWJ1cmdlci0tc2xpZGVyXCIgdHlwZT1cImJ1dHRvblwiPlxuICA8c3BhbiBjbGFzcz1cImhhbWJ1cmdlci1ib3hcIj5cbiAgICA8c3BhbiBjbGFzcz1cImhhbWJ1cmdlci1pbm5lclwiPjwvc3Bhbj5cbiAgPC9zcGFuPlxuPC9idXR0b24+XG5gYGBcblxuV2hlbiBhY3RpdmUsIGl0IGFuaW1hdGVzIGludG8gYSBjcm9zcy5cblxuYGBgaHRtbF9leGFtcGxlXG48YnV0dG9uIGNsYXNzPVwiaGFtYnVyZ2VyIGhhbWJ1cmdlci0tc2xpZGVyIGlzLWFjdGl2ZVwiIHR5cGU9XCJidXR0b25cIj5cbiAgPHNwYW4gY2xhc3M9XCJoYW1idXJnZXItYm94XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJoYW1idXJnZXItaW5uZXJcIj48L3NwYW4+XG4gIDwvc3Bhbj5cbjwvYnV0dG9uPlxuYGBgXG5cbiovXG4uaGFtYnVyZ2VyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuaGFtYnVyZ2VyLmFjdGl2ZSwgLmhhbWJ1cmdlcjpob3ZlciwgLmhhbWJ1cmdlcjphY3RpdmUsIC5oYW1idXJnZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIG1hcmdpbi10b3A6IDdweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFNvY2lhbCBpY29uXG5uYW1lOiBzb2NpYWwtaWNvblxuY2F0ZWdvcnk6IEF0b21zXG4tLS1cblxuQSBzdGFuZGFyZCBzb2NpYWwgbWVkaWEgbGluay5cblxuYGBgaHRtbF9leGFtcGxlXG48YSBocmVmPVwiI1wiIGNsYXNzPVwic29jaWFsLWxpbmtcIj5cbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIi0yODAgNDAzLjkgMzQgMzRcIj48cGF0aCBkPVwiTS0yNjUuNiA0MzAuOGg0LjF2LTkuOWgyLjdsLjQtMy40aC0zLjF2LTEuN2MwLS45LjEtMS40IDEuNC0xLjRoMS43VjQxMWgtMi43Yy0zLjMgMC00LjQgMS43LTQuNCA0LjR2Mi4xaC0ydjMuNGgydjkuOWgtLjF6XCIvPjwvc3ZnPlxuPC9hPlxuYGBgXG5cbiovXG4uc29jaWFsLWxpbmsge1xuICBjb2xvcjogI2I1MTgyMztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDI1cHg7XG4gIHdpZHRoOiAyNXB4OyB9XG4gIC5zb2NpYWwtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNkNzE5MjE7IH1cbiAgLnNvY2lhbC1saW5rIHN2ZyB7XG4gICAgZmlsbDogI2I1MTgyMztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc29jaWFsLWxpbmsgc3ZnOmhvdmVyIHtcbiAgICAgIGZpbGw6ICNkNzE5MjE7IH1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFNpdGUgbG9nb1xubmFtZTogc2l0ZS1sb2dvXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5CYXNpYyBzaXRlIGxvZ28sIHVzdWFsbHkgZGlzcGxheWVkIGFzIGEgbGluay5cblxuYGBgaHRtbF9leGFtcGxlXG48YSBocmVmPVwiI1wiIGNsYXNzPVwic2l0ZS1sb2dvXCI+XG4gIDxpbWcgc3JjPVwic3JjL2ltZy9mci1sb2dvLnN2Z1wiIHRpdGxlPVwiRmVzdGl2YWwgUmVwdWJsaWMgbG9nb1wiPlxuPC9hPlxuYGBgXG4qL1xuLnNpdGUtbG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5zaXRlLWxvZ28ge1xuICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgLnNpdGUtbG9nbyBzdmcge1xuICAgIGZpbGw6ICNiNTE4MjM7IH1cblxudGFibGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlIC5zdGlja3ktaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgdGFibGUuaG92ZXJhYmxlIHRib2R5IHRyIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2U7IH1cbiAgICB0YWJsZS5ob3ZlcmFibGUgdGJvZHkgdHI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIHRhYmxlLmNlbnRlcmVkIHRoZWFkIHRyIHRoLCB0YWJsZS5jZW50ZXJlZCB0Ym9keSB0ciB0ZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8qIHNvcnQgb3V0IGJvcmRlcnMgKi8gfVxuICAgICAgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0aCwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0ZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGhlYWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0aGVhZCB0ciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfVxuICAgICAgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgICB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdHIge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAgIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGhlYWQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNCMkIyQjI7IH0gfVxuXG50aCB7XG4gIHBhZGRpbmc6IDlweCAxOHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIHRoIGEgaW1nLCB0aCBhLmFjdGl2ZSBpbWcge1xuICAgIG1hcmdpbjogMnB4IDNweDsgfVxuXG50ciB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNCMkIyQjI7IH1cbiAgdGhlYWQgdHIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM1NDQ2NDM7IH1cbiAgdHIub2RkIHtcbiAgICBiYWNrZ3JvdW5kOiAjRjZGNkY1OyB9XG4gIHRyLmV2ZW4ge1xuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7IH1cblxudGQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIC8qIFRhYmxlZHJhZyBIYW5kbGUgKi8gfVxuICB0ZCAudGFibGVkcmFnLWhhbmRsZSAuaGFuZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvZHJhZ2dhYmxlLnBuZ1wiKSBuby1yZXBlYXQgNnB4IDlweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgbWFyZ2luOiAtMC40ZW0gMC41ZW07XG4gICAgLyogTFRSICovXG4gICAgcGFkZGluZzogMC40MmVtIDAuNWVtO1xuICAgIC8qIExUUiAqL1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDZweCA2cHg7IH1cbiAgdGQgLnRhYmxlZHJhZy1oYW5kbGU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG50YWJsZSwgdGgsIHRkIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFRhYmxlRHJhZyBiZWhhdmlvci5cbiAqIEBzZWUgdGFibGVkcmFnLmpzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuYm9keS5kcmFnIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5kcmFnZ2FibGUgYS50YWJsZWRyYWctaGFuZGxlIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBmbG9hdDogbGVmdDtcbiAgLyogTFRSICovXG4gIGhlaWdodDogMS43ZW07XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAvKiBMVFIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmEudGFibGVkcmFnLWhhbmRsZTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hLnRhYmxlZHJhZy1oYW5kbGUgLmhhbmRsZSB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uL2ltYWdlcy9kcmFnZ2FibGUucG5nXCIpIG5vLXJlcGVhdCA2cHggOXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbjogLTAuNGVtIDAuNWVtO1xuICAvKiBMVFIgKi9cbiAgcGFkZGluZzogMC40MmVtIDAuNWVtO1xuICAvKiBMVFIgKi9cbiAgd2lkdGg6IDI1cHg7IH1cblxuYS50YWJsZWRyYWctaGFuZGxlLWhvdmVyIC5oYW5kbGUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2cHggLTExcHg7IH1cblxuZGl2LmluZGVudGF0aW9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIC8qIExUUiAqL1xuICBoZWlnaHQ6IDEuN2VtO1xuICBtYXJnaW46IC0wLjRlbSAwLjJlbSAtMC40ZW0gLTAuNGVtO1xuICAvKiBMVFIgKi9cbiAgcGFkZGluZzogMC40MmVtIDAgMC40MmVtIDAuNmVtO1xuICAvKiBMVFIgKi9cbiAgd2lkdGg6IDIwcHg7IH1cblxuZGl2LnRyZWUtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvdHJlZS5wbmdcIikgbm8tcmVwZWF0IDExcHggY2VudGVyO1xuICAvKiBMVFIgKi8gfVxuXG5kaXYudHJlZS1jaGlsZC1sYXN0IHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vaW1hZ2VzL3RyZWUtYm90dG9tLnBuZ1wiKSBuby1yZXBlYXQgMTFweCBjZW50ZXI7XG4gIC8qIExUUiAqLyB9XG5cbmRpdi50cmVlLWNoaWxkLWhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvdHJlZS5wbmdcIikgbm8tcmVwZWF0IC0xMXB4IGNlbnRlcjsgfVxuXG4udGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQtd3JhcHBlciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICAvKiBMVFIgKi8gfVxuXG4uZ29vZ2xlLWNvbnZlcnNpb24tZnJhbWUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiN0ZWNvbnNlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07IH1cbiAgI3RlY29uc2VudCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBDYXJvdXNlbCBQYWdpbmF0aW9uXG5uYW1lOiBjYXJvdXNlbC1wYWdpbmF0aW9uXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5QYWdpbmF0aW9uIGZvciBjYXJvdXNlbHMsIGhhcyBzb21lIGRlcGVuZGVuY3kgb24gc2xpY2sgZm9yIGFjdGl2ZSBjbGFzcyAmIGFyaWEgcm9sZXNcblxuYGBgaHRtbF9leGFtcGxlXG48dWwgY2xhc3M9XCJjYXJvdXNlbC1wYWdpbmF0aW9uXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgPGxpIGNsYXNzPVwic2xpY2stYWN0aXZlXCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBhcmlhLXNlbGVjdGVkPVwidHJ1ZVwiIGFyaWEtY29udHJvbHM9XCIjXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1yb2xlPVwibm9uZVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjBcIj4xPC9idXR0b24+XG4gIDwvbGk+XG5cbiAgPGxpIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCIgYXJpYS1jb250cm9scz1cIiNcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLXJvbGU9XCJub25lXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMVwiPjI8L2J1dHRvbj5cbiAgPC9saT5cblxuICA8bGkgYXJpYS1oaWRkZW49XCJmYWxzZVwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBhcmlhLXNlbGVjdGVkPVwiZmFsc2VcIiBhcmlhLWNvbnRyb2xzPVwiI1wiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtcm9sZT1cIm5vbmVcIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIyXCI+MzwvYnV0dG9uPlxuICA8L2xpPlxuPC91bD5cbmBgYFxuKi9cbi5jYXJvdXNlbC1wYWdpbmF0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYXJvdXNlbC1wYWdpbmF0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmNhcm91c2VsLXBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luOiAwIDcuNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjYjUxODIzO1xuICAgIGJvcmRlci1jb2xvcjogI2I1MTgyMztcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgLmNhcm91c2VsLXBhZ2luYXRpb24gYnV0dG9uLmFjdGl2ZSwgLmNhcm91c2VsLXBhZ2luYXRpb24gYnV0dG9uOmhvdmVyLCAuY2Fyb3VzZWwtcGFnaW5hdGlvbiBidXR0b246YWN0aXZlLCAuY2Fyb3VzZWwtcGFnaW5hdGlvbiBidXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2Q3MTkyMTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2Q3MTkyMTsgfVxuICAuY2Fyb3VzZWwtcGFnaW5hdGlvbiAuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXItY29sb3I6ICNiNTE4MjM7IH1cblxuLypkb2Ncbi0tLVxudGl0bGU6IENhcm91c2VsIE5hdmlnYXRpb24gQXJyb3dcbm5hbWU6IGNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3dcbmNhdGVnb3J5OiBBdG9tc1xuLS0tXG5cbkNhcm91c2VsIG5hdmlnYXRpb24gYXJyb3dzIGZvciBuZXh0IC8gcHJldmlvdXMgc2xpZGVzLiBIYXMgc29tZSBkZXBlbmRlbmN5IG9uIHNsaWNrXG5mb3Igc3RhdGUgaGFuZGxpbmcgYW5kIGFyaWEgcm9sZXMuXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJbIGNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3cgIGNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3ctLXByZXYgXSAganMtZXZlbnQtY2Fyb3VzZWwtcHJldlwiPlxuICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5QcmV2aW91czwvc3Bhbj5cbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiA2MFwiPjxwYXRoIGQ9XCJNMTAuMDI5IDI5LjM4NUwzMS45NzEgNy40NDQgMjQuOS4zNzMuMjcyIDI1SC4wMjl2MTBoLjI0M0wyNC45IDU5LjYyN2w3LjA3MS03LjA3MS0yMS45NDItMjEuOTQxelwiPjwvcGF0aD48L3N2Zz5cbjwvYnV0dG9uPlxuXG48YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIlsgY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdyAgY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdy0tbmV4dCBdICBqcy1ldmVudC1jYXJvdXNlbC1uZXh0XCI+XG4gIDxzcGFuIGNsYXNzPVwic3Itb25seVwiPk5leHQ8L3NwYW4+XG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgNjBcIj48cGF0aCBkPVwiTTIxLjk3MSAyOS4zODVMLjAyOSA3LjQ0NCA3LjEuMzczIDMxLjcyOCAyNWguMjQzdjEwaC0uMjQzTDcuMSA1OS42MjcuMDI5IDUyLjU1NmwyMS45NDItMjEuOTQxelwiPjwvcGF0aD48L3N2Zz5cbjwvYnV0dG9uPlxuYGBgXG4qL1xuLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDExMjBweCkge1xuICAgIC5jYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93IHtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3ctLXByZXYge1xuICAgIGxlZnQ6IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG4gICAgICAuY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdy0tcHJldiB7XG4gICAgICAgIGxlZnQ6IDUwcHg7IH0gfVxuICAuY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdy0tbmV4dCB7XG4gICAgcmlnaHQ6IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG4gICAgICAuY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdy0tbmV4dCB7XG4gICAgICAgIHJpZ2h0OiA1MHB4OyB9IH1cbiAgLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3cgc3ZnIHtcbiAgICBmaWxsOiAjYjUxODIzOyB9XG4gIC5jYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93LmFjdGl2ZSwgLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3c6aG92ZXIsIC5jYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93OmFjdGl2ZSwgLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3c6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3cuYWN0aXZlIHN2ZywgLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3c6aG92ZXIgc3ZnLCAuY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdzphY3RpdmUgc3ZnLCAuY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdzpmb2N1cyBzdmcge1xuICAgICAgZmlsbDogI2Q3MTkyMTsgfVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUXVvdGVcbm5hbWU6IHF1b3RlXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5RdW90ZSB3aXRoIGNpdGF0aW9uXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGJsb2NrcXVvdGUgY2xhc3M9XCJxdW90ZVwiPlxuICA8c3BhbiBjbGFzcz1cInF1b3RlX190ZXh0XCI+VGVzdGltb255IGFib3V0IGhvdyBncmVhdCBGZXN0aXZhbCBSZXB1YmxpYyBpczwvc3Bhbj5cbiAgPGNpdGUgY2xhc3M9XCJxdW90ZV9fY2l0ZVwiPkFub255bW91czwvY2l0ZT5cbjwvYmxvY2txdW90ZT5cbmBgYFxuKi9cbi5xdW90ZSB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucXVvdGUgKyAucXVvdGUge1xuICAgIG1hcmdpbi10b3A6IDIuMDczNmVtOyB9XG4gIC5xdW90ZV9fdGV4dDpiZWZvcmUsIC5xdW90ZV9fdGV4dDphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5xdW90ZV9fdGV4dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCcXCI7IH1cbiAgLnF1b3RlX190ZXh0OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIuKAnVwiOyB9XG4gIC5xdW90ZV9fY2l0ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLnF1b3RlIC5maWVsZCxcbiAgLnF1b3RlIC5maWVsZC1pdGVtcyxcbiAgLnF1b3RlIC5maWVsZC1pdGVtLFxuICAucXVvdGUgcCB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG5cbi5ub2RlLWZvcm0ge1xuICBtYXgtd2lkdGg6IDEyMzVweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxLjI1ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVlbTsgfVxuICAubm9kZS1mb3JtOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ucGFnZS1hZG1pbiAucGFnZS10aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwOyB9XG5cbi5wYWdlLWFkbWluIC5icmVhZGNydW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMjMxZjIwOyB9XG5cbi5ub2RlLXR5cGUtbGlzdCB7XG4gIGJvcmRlcjogM3B4IGRvdWJsZSAjMUEzNjM3O1xuICBwYWRkaW5nOiAxZW07XG4gIG1heC13aWR0aDogNjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDJlbTsgfVxuXG4uY2tlX2VkaXRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgcGFkZGluZzogMTRweCAyMHB4OyB9XG5cbi5ub2RlLWZyX2N0X3N0YW5kYXJkLWZvcm0gLmZpZWxkLW5hbWUtZmllbGQtZnItYmFja2dyb3VuZC1jb2xvcixcbi5ub2RlLWZyX2N0X3N0YW5kYXJkLWZvcm0gLmZpZWxkLW5hbWUtZmllbGQtZnItZm9yZWdyb3VuZC10ZXh0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jYWRtaW4tbWVudSAuYWRtaW4tbWVudS1zZWFyY2ggaW5wdXQge1xuICBoZWlnaHQ6IDEuNWVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG5cbi5maWVsZC13aWRnZXQtY29sb3ItZmllbGQtc3BlY3RydW0td2lkZ2V0IC5mb3JtLXR5cGUtdGV4dGZpZWxkIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIG1hcmdpbi1yaWdodDogMS4yNWVtOyB9XG4gIC5maWVsZC13aWRnZXQtY29sb3ItZmllbGQtc3BlY3RydW0td2lkZ2V0IC5mb3JtLXR5cGUtdGV4dGZpZWxkIGxhYmVsLmFjdGl2ZSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgY29sb3I6ICMyMzFmMjA7IH1cblxuI3dvcmtiZW5jaC1tb2RlcmF0aW9uLW1vZGVyYXRlLWZvcm0gLnNlbGVjdC13cmFwcGVyID4gc3Bhbi5zZWxlY3QtZHJvcGRvd24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiN3b3JrYmVuY2gtbW9kZXJhdGlvbi1tb2RlcmF0ZS1mb3JtIC5zZWxlY3Qtd3JhcHBlciA+IC5zZWxlY3Qtd3JhcHBlciA+IHNwYW4uc2VsZWN0LWRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnBhZ2UtYWRtaW4tYXBwZWFyYW5jZS1zdHlsZWd1aWRlICNtYWluIHtcbiAgbWF4LXdpZHRoOiAxMjM1cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMS4yNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1ZW07IH1cbiAgLnBhZ2UtYWRtaW4tYXBwZWFyYW5jZS1zdHlsZWd1aWRlICNtYWluOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uZmllbGQtY29sbGVjdGlvbi1jb250YWluZXIge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuZmllbGQtY29sbGVjdGlvbi1jb250YWluZXIgLmZpZWxkLWl0ZW1zIC5maWVsZC1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5maWVsZC1jb2xsZWN0aW9uLXZpZXcge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uZmllbGQtY29sbGVjdGlvbi12aWV3LWxpbmtzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDFweDsgfVxuXG4ubmF2LCAubmF2LS1JQ09OLVRFWFQsIC5uYXYtLUlDT04sIC5uYXYtLVRPQywgLmJyZWFkY3J1bWIsIC5uYXYtLVNFQ09OREFSWSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLm5hdiAubWVudSAubGVhZi5hY3RpdmUtdHJhaWwgYSwgLm5hdi0tSUNPTi1URVhUIC5tZW51IC5sZWFmLmFjdGl2ZS10cmFpbCBhLCAubmF2LS1JQ09OIC5tZW51IC5sZWFmLmFjdGl2ZS10cmFpbCBhLCAubmF2LS1UT0MgLm1lbnUgLmxlYWYuYWN0aXZlLXRyYWlsIGEsIC5icmVhZGNydW1iIC5tZW51IC5sZWFmLmFjdGl2ZS10cmFpbCBhLCAubmF2LS1TRUNPTkRBUlkgLm1lbnUgLmxlYWYuYWN0aXZlLXRyYWlsIGEsIC5uYXYgLm1lbnUgLmxlYWYuYWN0aXZlLXRyYWlsIGE6bGluaywgLm5hdi0tSUNPTi1URVhUIC5tZW51IC5sZWFmLmFjdGl2ZS10cmFpbCBhOmxpbmssIC5uYXYtLUlDT04gLm1lbnUgLmxlYWYuYWN0aXZlLXRyYWlsIGE6bGluaywgLm5hdi0tVE9DIC5tZW51IC5sZWFmLmFjdGl2ZS10cmFpbCBhOmxpbmssIC5icmVhZGNydW1iIC5tZW51IC5sZWFmLmFjdGl2ZS10cmFpbCBhOmxpbmssIC5uYXYtLVNFQ09OREFSWSAubWVudSAubGVhZi5hY3RpdmUtdHJhaWwgYTpsaW5rLCAubmF2IC5tZW51IC5sZWFmLmFjdGl2ZS10cmFpbCBhOnZpc2l0ZWQsIC5uYXYtLUlDT04tVEVYVCAubWVudSAubGVhZi5hY3RpdmUtdHJhaWwgYTp2aXNpdGVkLCAubmF2LS1JQ09OIC5tZW51IC5sZWFmLmFjdGl2ZS10cmFpbCBhOnZpc2l0ZWQsIC5uYXYtLVRPQyAubWVudSAubGVhZi5hY3RpdmUtdHJhaWwgYTp2aXNpdGVkLCAuYnJlYWRjcnVtYiAubWVudSAubGVhZi5hY3RpdmUtdHJhaWwgYTp2aXNpdGVkLCAubmF2LS1TRUNPTkRBUlkgLm1lbnUgLmxlYWYuYWN0aXZlLXRyYWlsIGE6dmlzaXRlZCwgLm5hdiAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGEsIC5uYXYtLUlDT04tVEVYVCAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGEsIC5uYXYtLUlDT04gLm1lbnUgLmV4cGFuZGVkLmFjdGl2ZS10cmFpbCBhLCAubmF2LS1UT0MgLm1lbnUgLmV4cGFuZGVkLmFjdGl2ZS10cmFpbCBhLCAuYnJlYWRjcnVtYiAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGEsIC5uYXYtLVNFQ09OREFSWSAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGEsIC5uYXYgLm1lbnUgLmV4cGFuZGVkLmFjdGl2ZS10cmFpbCBhOmxpbmssIC5uYXYtLUlDT04tVEVYVCAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGE6bGluaywgLm5hdi0tSUNPTiAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGE6bGluaywgLm5hdi0tVE9DIC5tZW51IC5leHBhbmRlZC5hY3RpdmUtdHJhaWwgYTpsaW5rLCAuYnJlYWRjcnVtYiAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGE6bGluaywgLm5hdi0tU0VDT05EQVJZIC5tZW51IC5leHBhbmRlZC5hY3RpdmUtdHJhaWwgYTpsaW5rLCAubmF2IC5tZW51IC5leHBhbmRlZC5hY3RpdmUtdHJhaWwgYTp2aXNpdGVkLCAubmF2LS1JQ09OLVRFWFQgLm1lbnUgLmV4cGFuZGVkLmFjdGl2ZS10cmFpbCBhOnZpc2l0ZWQsIC5uYXYtLUlDT04gLm1lbnUgLmV4cGFuZGVkLmFjdGl2ZS10cmFpbCBhOnZpc2l0ZWQsIC5uYXYtLVRPQyAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGE6dmlzaXRlZCwgLmJyZWFkY3J1bWIgLm1lbnUgLmV4cGFuZGVkLmFjdGl2ZS10cmFpbCBhOnZpc2l0ZWQsIC5uYXYtLVNFQ09OREFSWSAubWVudSAuZXhwYW5kZWQuYWN0aXZlLXRyYWlsIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNGRkZGRkY7IH1cblxuLm5hdi0tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5uYXYtLVRPQywgLmJyZWFkY3J1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkzRjcyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAwLjgzMzMzZW07IH1cbiAgLm5hdi0tVE9DIGE6bGluaywgLmJyZWFkY3J1bWIgYTpsaW5rLCAubmF2LS1UT0MgYTp2aXNpdGVkLCAuYnJlYWRjcnVtYiBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgLm5hdi0tVE9DIGE6bGluazpob3ZlciwgLmJyZWFkY3J1bWIgYTpsaW5rOmhvdmVyLCAubmF2LS1UT0MgYTpsaW5rOmFjdGl2ZSwgLmJyZWFkY3J1bWIgYTpsaW5rOmFjdGl2ZSwgLm5hdi0tVE9DIGE6bGluay5hY3RpdmUsIC5icmVhZGNydW1iIGE6bGluay5hY3RpdmUsIC5uYXYtLVRPQyBhOmxpbms6Zm9jdXMsIC5icmVhZGNydW1iIGE6bGluazpmb2N1cywgLm5hdi0tVE9DIGE6dmlzaXRlZDpob3ZlciwgLmJyZWFkY3J1bWIgYTp2aXNpdGVkOmhvdmVyLCAubmF2LS1UT0MgYTp2aXNpdGVkOmFjdGl2ZSwgLmJyZWFkY3J1bWIgYTp2aXNpdGVkOmFjdGl2ZSwgLm5hdi0tVE9DIGE6dmlzaXRlZC5hY3RpdmUsIC5icmVhZGNydW1iIGE6dmlzaXRlZC5hY3RpdmUsIC5uYXYtLVRPQyBhOnZpc2l0ZWQ6Zm9jdXMsIC5icmVhZGNydW1iIGE6dmlzaXRlZDpmb2N1cyB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubmF2LS1UT0MgYS5hY3RpdmUtdHJhaWwsIC5icmVhZGNydW1iIGEuYWN0aXZlLXRyYWlsLCAubmF2LS1UT0MgYS5hY3RpdmUsIC5icmVhZGNydW1iIGEuYWN0aXZlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAubmF2LS1UT0MgLmJ0biwgLmJyZWFkY3J1bWIgLmJ0biwgLm5hdi0tVE9DIC5idXR0b24sIC5icmVhZGNydW1iIC5idXR0b24sIC5uYXYtLVRPQyAubW9yZS1saW5rIGEsIC5icmVhZGNydW1iIC5tb3JlLWxpbmsgYSwgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuYnJlYWRjcnVtYiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAubmF2LS1UT0MgYnV0dG9uLCAuYnJlYWRjcnVtYiBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNTE4MjM7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTkwMzA1OyB9XG4gICAgLm5hdi0tVE9DIC5idG4sIC5icmVhZGNydW1iIC5idG4sIC5uYXYtLVRPQyAuYnRuOmxpbmssIC5icmVhZGNydW1iIC5idG46bGluaywgLm5hdi0tVE9DIC5idG46dmlzaXRlZCwgLmJyZWFkY3J1bWIgLmJ0bjp2aXNpdGVkLCAubmF2LS1UT0MgLmJ1dHRvbiwgLmJyZWFkY3J1bWIgLmJ1dHRvbiwgLm5hdi0tVE9DIC5idXR0b246bGluaywgLmJyZWFkY3J1bWIgLmJ1dHRvbjpsaW5rLCAubmF2LS1UT0MgLmJ1dHRvbjp2aXNpdGVkLCAuYnJlYWRjcnVtYiAuYnV0dG9uOnZpc2l0ZWQsIC5uYXYtLVRPQyAubW9yZS1saW5rIGEsIC5icmVhZGNydW1iIC5tb3JlLWxpbmsgYSwgLm5hdi0tVE9DIC5tb3JlLWxpbmsgYTpsaW5rLCAuYnJlYWRjcnVtYiAubW9yZS1saW5rIGE6bGluaywgLm5hdi0tVE9DIC5tb3JlLWxpbmsgYTp2aXNpdGVkLCAuYnJlYWRjcnVtYiAubW9yZS1saW5rIGE6dmlzaXRlZCwgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbmssIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluaywgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZCwgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluaywgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLCAuYnJlYWRjcnVtYiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQsIC5uYXYtLVRPQyBidXR0b24sIC5icmVhZGNydW1iIGJ1dHRvbiwgLm5hdi0tVE9DIGJ1dHRvbjpsaW5rLCAuYnJlYWRjcnVtYiBidXR0b246bGluaywgLm5hdi0tVE9DIGJ1dHRvbjp2aXNpdGVkLCAuYnJlYWRjcnVtYiBidXR0b246dmlzaXRlZCB7XG4gICAgICBjb2xvcjogI2VhZTQxNTsgfVxuICAgICAgLm5hdi0tVE9DIC5idG46aG92ZXIsIC5icmVhZGNydW1iIC5idG46aG92ZXIsIC5uYXYtLVRPQyAuYnRuOmZvY3VzLCAuYnJlYWRjcnVtYiAuYnRuOmZvY3VzLCAubmF2LS1UT0MgLmJ0bi5hY3RpdmUsIC5icmVhZGNydW1iIC5idG4uYWN0aXZlLCAubmF2LS1UT0MgLmJ0bjpsaW5rOmhvdmVyLCAuYnJlYWRjcnVtYiAuYnRuOmxpbms6aG92ZXIsIC5uYXYtLVRPQyAuYnRuOmxpbms6Zm9jdXMsIC5icmVhZGNydW1iIC5idG46bGluazpmb2N1cywgLm5hdi0tVE9DIC5idG46bGluay5hY3RpdmUsIC5icmVhZGNydW1iIC5idG46bGluay5hY3RpdmUsIC5uYXYtLVRPQyAuYnRuOnZpc2l0ZWQ6aG92ZXIsIC5icmVhZGNydW1iIC5idG46dmlzaXRlZDpob3ZlciwgLm5hdi0tVE9DIC5idG46dmlzaXRlZDpmb2N1cywgLmJyZWFkY3J1bWIgLmJ0bjp2aXNpdGVkOmZvY3VzLCAubmF2LS1UT0MgLmJ0bjp2aXNpdGVkLmFjdGl2ZSwgLmJyZWFkY3J1bWIgLmJ0bjp2aXNpdGVkLmFjdGl2ZSwgLm5hdi0tVE9DIC5idXR0b246aG92ZXIsIC5icmVhZGNydW1iIC5idXR0b246aG92ZXIsIC5uYXYtLVRPQyAuYnV0dG9uOmZvY3VzLCAuYnJlYWRjcnVtYiAuYnV0dG9uOmZvY3VzLCAubmF2LS1UT0MgLmJ1dHRvbi5hY3RpdmUsIC5icmVhZGNydW1iIC5idXR0b24uYWN0aXZlLCAubmF2LS1UT0MgLmJ1dHRvbjpsaW5rOmhvdmVyLCAuYnJlYWRjcnVtYiAuYnV0dG9uOmxpbms6aG92ZXIsIC5uYXYtLVRPQyAuYnV0dG9uOmxpbms6Zm9jdXMsIC5icmVhZGNydW1iIC5idXR0b246bGluazpmb2N1cywgLm5hdi0tVE9DIC5idXR0b246bGluay5hY3RpdmUsIC5icmVhZGNydW1iIC5idXR0b246bGluay5hY3RpdmUsIC5uYXYtLVRPQyAuYnV0dG9uOnZpc2l0ZWQ6aG92ZXIsIC5icmVhZGNydW1iIC5idXR0b246dmlzaXRlZDpob3ZlciwgLm5hdi0tVE9DIC5idXR0b246dmlzaXRlZDpmb2N1cywgLmJyZWFkY3J1bWIgLmJ1dHRvbjp2aXNpdGVkOmZvY3VzLCAubmF2LS1UT0MgLmJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSwgLmJyZWFkY3J1bWIgLmJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSwgLm5hdi0tVE9DIC5tb3JlLWxpbmsgYTpob3ZlciwgLmJyZWFkY3J1bWIgLm1vcmUtbGluayBhOmhvdmVyLCAubmF2LS1UT0MgLm1vcmUtbGluayBhOmZvY3VzLCAuYnJlYWRjcnVtYiAubW9yZS1saW5rIGE6Zm9jdXMsIC5uYXYtLVRPQyAubW9yZS1saW5rIGEuYWN0aXZlLCAuYnJlYWRjcnVtYiAubW9yZS1saW5rIGEuYWN0aXZlLCAubmF2LS1UT0MgLm1vcmUtbGluayBhOmxpbms6aG92ZXIsIC5icmVhZGNydW1iIC5tb3JlLWxpbmsgYTpsaW5rOmhvdmVyLCAubmF2LS1UT0MgLm1vcmUtbGluayBhOmxpbms6Zm9jdXMsIC5icmVhZGNydW1iIC5tb3JlLWxpbmsgYTpsaW5rOmZvY3VzLCAubmF2LS1UT0MgLm1vcmUtbGluayBhOmxpbmsuYWN0aXZlLCAuYnJlYWRjcnVtYiAubW9yZS1saW5rIGE6bGluay5hY3RpdmUsIC5uYXYtLVRPQyAubW9yZS1saW5rIGE6dmlzaXRlZDpob3ZlciwgLmJyZWFkY3J1bWIgLm1vcmUtbGluayBhOnZpc2l0ZWQ6aG92ZXIsIC5uYXYtLVRPQyAubW9yZS1saW5rIGE6dmlzaXRlZDpmb2N1cywgLmJyZWFkY3J1bWIgLm1vcmUtbGluayBhOnZpc2l0ZWQ6Zm9jdXMsIC5uYXYtLVRPQyAubW9yZS1saW5rIGE6dmlzaXRlZC5hY3RpdmUsIC5icmVhZGNydW1iIC5tb3JlLWxpbmsgYTp2aXNpdGVkLmFjdGl2ZSwgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06aG92ZXIsIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuYnJlYWRjcnVtYiBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5hY3RpdmUsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYWN0aXZlLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmhvdmVyLCAuYnJlYWRjcnVtYiBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6aG92ZXIsIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6Zm9jdXMsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluazpmb2N1cywgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluay5hY3RpdmUsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluay5hY3RpdmUsIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQ6aG92ZXIsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDpob3ZlciwgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDpmb2N1cywgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkOmZvY3VzLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLmFjdGl2ZSwgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLmFjdGl2ZSwgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLCAuYnJlYWRjcnVtYiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5hY3RpdmUsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYWN0aXZlLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmhvdmVyLCAuYnJlYWRjcnVtYiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6aG92ZXIsIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6Zm9jdXMsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluazpmb2N1cywgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluay5hY3RpdmUsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluay5hY3RpdmUsIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQ6aG92ZXIsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDpob3ZlciwgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDpmb2N1cywgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkOmZvY3VzLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLmFjdGl2ZSwgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLmFjdGl2ZSwgLm5hdi0tVE9DIGJ1dHRvbjpob3ZlciwgLmJyZWFkY3J1bWIgYnV0dG9uOmhvdmVyLCAubmF2LS1UT0MgYnV0dG9uOmZvY3VzLCAuYnJlYWRjcnVtYiBidXR0b246Zm9jdXMsIC5uYXYtLVRPQyBidXR0b24uYWN0aXZlLCAuYnJlYWRjcnVtYiBidXR0b24uYWN0aXZlLCAubmF2LS1UT0MgYnV0dG9uOmxpbms6aG92ZXIsIC5icmVhZGNydW1iIGJ1dHRvbjpsaW5rOmhvdmVyLCAubmF2LS1UT0MgYnV0dG9uOmxpbms6Zm9jdXMsIC5icmVhZGNydW1iIGJ1dHRvbjpsaW5rOmZvY3VzLCAubmF2LS1UT0MgYnV0dG9uOmxpbmsuYWN0aXZlLCAuYnJlYWRjcnVtYiBidXR0b246bGluay5hY3RpdmUsIC5uYXYtLVRPQyBidXR0b246dmlzaXRlZDpob3ZlciwgLmJyZWFkY3J1bWIgYnV0dG9uOnZpc2l0ZWQ6aG92ZXIsIC5uYXYtLVRPQyBidXR0b246dmlzaXRlZDpmb2N1cywgLmJyZWFkY3J1bWIgYnV0dG9uOnZpc2l0ZWQ6Zm9jdXMsIC5uYXYtLVRPQyBidXR0b246dmlzaXRlZC5hY3RpdmUsIC5icmVhZGNydW1iIGJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiNTE4MjM7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgY29sb3I6ICNlYWU0MTU7IH1cbiAgICAgIGE6aG92ZXIgLm5hdi0tVE9DIC5idG4sIGE6aG92ZXIgLmJyZWFkY3J1bWIgLmJ0biwgYTpob3ZlciAubmF2LS1UT0MgLmJ0bjpsaW5rLCBhOmhvdmVyIC5icmVhZGNydW1iIC5idG46bGluaywgYTpob3ZlciAubmF2LS1UT0MgLmJ0bjp2aXNpdGVkLCBhOmhvdmVyIC5icmVhZGNydW1iIC5idG46dmlzaXRlZCwgYTpob3ZlciAubmF2LS1UT0MgLmJ1dHRvbiwgYTpob3ZlciAuYnJlYWRjcnVtYiAuYnV0dG9uLCBhOmhvdmVyIC5uYXYtLVRPQyAuYnV0dG9uOmxpbmssIGE6aG92ZXIgLmJyZWFkY3J1bWIgLmJ1dHRvbjpsaW5rLCBhOmhvdmVyIC5uYXYtLVRPQyAuYnV0dG9uOnZpc2l0ZWQsIGE6aG92ZXIgLmJyZWFkY3J1bWIgLmJ1dHRvbjp2aXNpdGVkLCBhOmhvdmVyIC5uYXYtLVRPQyAubW9yZS1saW5rIGEsIGE6aG92ZXIgLmJyZWFkY3J1bWIgLm1vcmUtbGluayBhLCBhOmhvdmVyIC5uYXYtLVRPQyAubW9yZS1saW5rIGE6bGluaywgYTpob3ZlciAuYnJlYWRjcnVtYiAubW9yZS1saW5rIGE6bGluaywgYTpob3ZlciAubmF2LS1UT0MgLm1vcmUtbGluayBhOnZpc2l0ZWQsIGE6aG92ZXIgLmJyZWFkY3J1bWIgLm1vcmUtbGluayBhOnZpc2l0ZWQsIGE6aG92ZXIgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGE6aG92ZXIgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgYTpob3ZlciAubmF2LS1UT0MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rLCBhOmhvdmVyIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluaywgYTpob3ZlciAubmF2LS1UT0MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCBhOmhvdmVyIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZCwgYTpob3ZlciAubmF2LS1UT0MgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgYTpob3ZlciAuYnJlYWRjcnVtYiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCBhOmhvdmVyIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmssIGE6aG92ZXIgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rLCBhOmhvdmVyIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQsIGE6aG92ZXIgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLCBhOmhvdmVyIC5uYXYtLVRPQyBidXR0b24sIGE6aG92ZXIgLmJyZWFkY3J1bWIgYnV0dG9uLCBhOmhvdmVyIC5uYXYtLVRPQyBidXR0b246bGluaywgYTpob3ZlciAuYnJlYWRjcnVtYiBidXR0b246bGluaywgYTpob3ZlciAubmF2LS1UT0MgYnV0dG9uOnZpc2l0ZWQsIGE6aG92ZXIgLmJyZWFkY3J1bWIgYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjUxODIzO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkNzE5MjE7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAubmF2LS1UT0MgLmJ0bjphY3RpdmUsIC5icmVhZGNydW1iIC5idG46YWN0aXZlLCAubmF2LS1UT0MgLmJ0bjpsaW5rOmFjdGl2ZSwgLmJyZWFkY3J1bWIgLmJ0bjpsaW5rOmFjdGl2ZSwgLm5hdi0tVE9DIC5idG46dmlzaXRlZDphY3RpdmUsIC5icmVhZGNydW1iIC5idG46dmlzaXRlZDphY3RpdmUsIC5uYXYtLVRPQyAuYnV0dG9uOmFjdGl2ZSwgLmJyZWFkY3J1bWIgLmJ1dHRvbjphY3RpdmUsIC5uYXYtLVRPQyAuYnV0dG9uOmxpbms6YWN0aXZlLCAuYnJlYWRjcnVtYiAuYnV0dG9uOmxpbms6YWN0aXZlLCAubmF2LS1UT0MgLmJ1dHRvbjp2aXNpdGVkOmFjdGl2ZSwgLmJyZWFkY3J1bWIgLmJ1dHRvbjp2aXNpdGVkOmFjdGl2ZSwgLm5hdi0tVE9DIC5tb3JlLWxpbmsgYTphY3RpdmUsIC5icmVhZGNydW1iIC5tb3JlLWxpbmsgYTphY3RpdmUsIC5uYXYtLVRPQyAubW9yZS1saW5rIGE6bGluazphY3RpdmUsIC5icmVhZGNydW1iIC5tb3JlLWxpbmsgYTpsaW5rOmFjdGl2ZSwgLm5hdi0tVE9DIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmFjdGl2ZSwgLmJyZWFkY3J1bWIgLm1vcmUtbGluayBhOnZpc2l0ZWQ6YWN0aXZlLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTphY3RpdmUsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmFjdGl2ZSwgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmFjdGl2ZSwgLm5hdi0tVE9DIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDphY3RpdmUsIC5icmVhZGNydW1iIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDphY3RpdmUsIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmFjdGl2ZSwgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsIC5uYXYtLVRPQyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6YWN0aXZlLCAuYnJlYWRjcnVtYiBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6YWN0aXZlLCAubmF2LS1UT0MgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkOmFjdGl2ZSwgLmJyZWFkY3J1bWIgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkOmFjdGl2ZSwgLm5hdi0tVE9DIGJ1dHRvbjphY3RpdmUsIC5icmVhZGNydW1iIGJ1dHRvbjphY3RpdmUsIC5uYXYtLVRPQyBidXR0b246bGluazphY3RpdmUsIC5icmVhZGNydW1iIGJ1dHRvbjpsaW5rOmFjdGl2ZSwgLm5hdi0tVE9DIGJ1dHRvbjp2aXNpdGVkOmFjdGl2ZSwgLmJyZWFkY3J1bWIgYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I1MTgyMztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDcxOTIxOyB9XG5cbi5uYXYtLUlDT04tVEVYVCwgLm5hdi0tSUNPTiwgLm5hdi0tVE9DLCAuYnJlYWRjcnVtYiwgLm5hdi0tU0VDT05EQVJZIHtcbiAgcGFkZGluZy10b3A6IDAuNjk0NDRlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNjk0NDRlbTsgfVxuICAubmF2LS1JQ09OLVRFWFQgLm1lbnUgLmxlYWYsIC5uYXYtLUlDT04gLm1lbnUgLmxlYWYsIC5uYXYtLVRPQyAubWVudSAubGVhZiwgLmJyZWFkY3J1bWIgLm1lbnUgLmxlYWYsIC5uYXYtLVNFQ09OREFSWSAubWVudSAubGVhZiwgLm5hdi0tSUNPTi1URVhUIC5tZW51IC5leHBhbmRlZCwgLm5hdi0tSUNPTiAubWVudSAuZXhwYW5kZWQsIC5uYXYtLVRPQyAubWVudSAuZXhwYW5kZWQsIC5icmVhZGNydW1iIC5tZW51IC5leHBhbmRlZCwgLm5hdi0tU0VDT05EQVJZIC5tZW51IC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgKnpvb206IDE7XG4gICAgLypcbiAgICAgIEBpbmNsdWRlIHJlbShtYXJnaW4tcmlnaHQsICRiYXNlLXNwYWNpbmcpO1xuICAgICAgJi5sYXN0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgKi8gfVxuXG4ubmF2LS1JTUFHRSAubWVudSAubGVhZiwgLm5hdi0tSU1BR0UgLm1lbnUgLmV4cGFuZGVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42OTQ0NGVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTE3MTlyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm5hdi0tSU1BR0UgLm1lbnUgLmxlYWYgYSwgLm5hdi0tSU1BR0UgLm1lbnUgLmV4cGFuZGVkIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubmF2LS1JQ09OLVRFWFQsIC5uYXYtLUlDT04sIC5uYXYtLVRPQywgLmJyZWFkY3J1bWIsIC5uYXYtLVNFQ09OREFSWSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubmF2LS1JQ09OLVRFWFQgLm1lbnUsIC5uYXYtLUlDT04gLm1lbnUsIC5uYXYtLVRPQyAubWVudSwgLmJyZWFkY3J1bWIgLm1lbnUsIC5uYXYtLVNFQ09OREFSWSAubWVudSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qXG4gICAgLmxlYWYsXG4gICAgLmV4cGFuZGVkLFxuICAgIC5sZWFmLmxhc3QsXG4gICAgLmV4cGFuZGVkLmxhc3Qge1xuICAgICAgLy9AaW5jbHVkZSByZW0obWFyZ2luLWxlZnQsICRiYXNlLXNwYWNpbmcgLyAyKTtcbiAgICAgIC8vQGluY2x1ZGUgcmVtKG1hcmdpbi1yaWdodCwgJGJhc2Utc3BhY2luZyAvIDIpO1xuICAgIH1cbiAgICAqLyB9XG5cbi5uYXYge1xuICAvKlxuICAgKiBDb2x1bWlzZSBtZW51XG4gICAqL1xuICAvKlxuICAgKiBTcGVjaWZpYyBtZW51IGFzcGVjdHNcbiAgICovIH1cbiAgLm5hdiAuY29sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLm5hdi0tMkNPTCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLm5hdi0tMkNPTCAuY29sIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5uYXYtLTJDT0wgLmNvbDIge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm5hdi0tM0NPTCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLm5hdi0tM0NPTCAuY29sIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5uYXYtLTNDT0wgLmNvbDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm5hdi0tM0NPTCAuY29sMyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubmF2LS00Q09MIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAubmF2LS00Q09MIC5jb2wge1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm5hdi0tNENPTCAuY29sMixcbiAgICAubmF2LS00Q09MIC5jb2wzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5uYXYtLTRDT0wgLmNvbDQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubmF2LS00Q09MIC5jb2w0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubmF2LS1tZW51LXBhcnRuZXJzIC5uYXYtLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjY5NDQ0ZW07IH1cblxuLm5hdi0tSUNPTi1URVhULCAubmF2LS1JQ09OIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLm5hdi0tU0VDT05EQVJZIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm5hdi0tU0VDT05EQVJZIGEge1xuICAgIGZvbnQtc2l6ZTogMC44MzMzM2VtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5uYXYtLVNFQ09OREFSWSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDsgfSB9XG5cbi5uYXYtLUlNQUdFIC5uYXYtLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42OTQ0NGVtOyB9XG5cbi5uYXYtLU5PLUlDT04gLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgbWFyZ2luOiAwOyB9XG5cbi5uYXYtLUxBU1Qge1xuICBtYXJnaW4tYm90dG9tOiAxZW07IH1cblxuLm1lbnUtLXNvY2lhbCB7XG4gIG1hcmdpbi1yaWdodDogMC42MjVlbTtcbiAgbWFyZ2luLXRvcDogMC42MjVlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAubWVudS0tc29jaWFsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4yNWVtO1xuICAgICAgbWFyZ2luLXRvcDogMS4yNWVtOyB9IH1cbiAgLm1lbnUtLXNvY2lhbCAubWVudSAubGVhZiB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5tZW51LS1zb2NpYWwgLm1lbnUgLmxlYWYgLmljb24ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLm1lbnUtLXNvY2lhbCAubWVudSAubGVhZiAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuLypkb2Ncbi0tLVxudGl0bGU6IE1lZ2EgbmF2XG5uYW1lOiBtZWdhLW5hdlxuY2F0ZWdvcnk6IE1vbGVjdWxlc1xuLS0tXG5cbmBgYGh0bWxfZXhhbXBsZVxuPG5hdiBjbGFzcz1cIm1lZ2EtbmF2XCI+XG4gIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJtZWdhLW5hdl9fbGluayBtZWdhLWxpbmtcIlwiPkZlc3RpdmFsczwvYT5cbiAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cIm1lZ2EtbmF2X19saW5rIG1lZ2EtbGlua1wiXCI+TmV3czwvYT5cbiAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cIm1lZ2EtbmF2X19saW5rIG1lZ2EtbGlua1wiXCI+Q2FyZWVyczwvYT5cbiAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cIm1lZ2EtbmF2X19saW5rIG1lZ2EtbGlua1wiXCI+R3JlZW4gcG9saWN5PC9hPlxuICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibWVnYS1uYXZfX2xpbmsgbWVnYS1saW5rXCJcIj5DaGFyaXRpZXM8L2E+XG4gIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJtZWdhLW5hdl9fbGluayBtZWdhLWxpbmtcIlwiPkNvbnRhY3RzPC9hPlxuPC9uYXY+XG5gYGBcbiovXG4ubWVnYS1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5tZWdhLW5hdiB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7IH0gfVxuXG4ubmF2YmFyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubmF2YmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAubmF2YmFyIC5tZW51IHtcbiAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgLW1zLXRleHQtanVzdGlmeTogZGlzdHJpYnV0ZS1hbGwtbGluZXM7XG4gICAgdGV4dC1qdXN0aWZ5OiBkaXN0cmlidXRlLWFsbC1saW5lcztcbiAgICBmb250LXNpemU6IDAuMXB4O1xuICAgIC8qIElFIDkvMTAgZG9uJ3QgbGlrZSBmb250LXNpemU6IDA7ICovXG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubmF2YmFyIC5tZW51OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAvKiBFbnN1cmVzIHRoZXJlIGFyZSBhdCBsZWFzdCAyIGxpbmVzIG9mIHRleHQsIHNvIGp1c3RpZmljYXRpb24gd29ya3MgKi9cbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5uYXZiYXIgLm1lbnUgLmxlYWYsXG4gICAgLm5hdmJhciAubWVudSAuZXhwYW5kZWQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiVHJlYnVjaGV0IE1TXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAgICp6b29tOiAxO1xuICAgICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICBsaW5lLWhlaWdodDogMS45O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubmF2YmFyLS1zZWFyY2gge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnZS1saW5lLXVwLWFydGlzdC1zZWFyY2ggLm5hdmJhci0tc2VhcmNoIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wYWdlLWluZm9ybWF0aW9uLXNlYXJjaCAubmF2YmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2UtaW5mb3JtYXRpb24tc2VhcmNoIC5uYXZiYXItLXNlYXJjaCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5uYXZiYXItLUNFTlRFUiB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAubmF2YmFyLS1DRU5URVIgLm1lbnUge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubmF2YmFyLS1DRU5URVIgLm1lbnU6YmVmb3JlLCAubmF2YmFyLS1DRU5URVIgLm1lbnU6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubmF2YmFyLS1CVVRUT05TIC5tZW51IC5sZWFmLFxuLm5hdmJhci0tQlVUVE9OUyAubWVudSAuZXhwYW5kZWQge1xuICBoZWlnaHQ6IGF1dG87IH1cbiAgLm5hdmJhci0tQlVUVE9OUyAubWVudSAubGVhZi5sYXN0IGEsXG4gIC5uYXZiYXItLUJVVFRPTlMgLm1lbnUgLmV4cGFuZGVkLmxhc3QgYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5pY29uOmJlZm9yZSwgLmljb246YWZ0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmljb24tY2xvc2U6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAwLjgzMzMzZW07XG4gIHRvcDogMDsgfVxuXG4uaWNvbi1jbG9zZSAuaWNvbi0tdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmljb24gYSxcbmEuaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5pY29uIGE6Zm9jdXMsIC5pY29uIGE6YWN0aXZlLFxuICBhLmljb246Zm9jdXMsXG4gIGEuaWNvbjphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uaWNvbi0tSU5MSU5FOmJlZm9yZSwgLmljb24tLUlOTElORTphZnRlciB7XG4gIHRvcDogLTAuMTg3NXJlbTsgfVxuXG4uaWNvbi0tQkxPQ0s6YmVmb3JlIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbWluLWhlaWdodDogMjBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAuaWNvbi0tQkxPQ0s6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4wNzM2ZW07IH0gfVxuXG4uaWNvbi0tQkxPQ0sgLmljb24tLXRleHQge1xuICBmb250LXNpemU6IDAuNjk0NDRlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIC5pY29uLS1CTE9DSyAuaWNvbi0tdGV4dCB7XG4gICAgICBmb250LXNpemU6IDAuODMzMzNlbTsgfSB9XG5cbiNpbmZvLS1uYXYgLmljb24tLUJMT0NLIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjM3NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07XG4gIHdpZHRoOiA0LjYyNXJlbTtcbiAgaGVpZ2h0OiA1Ljg3NXJlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICNpbmZvLS1uYXYgLmljb24tLUJMT0NLIHtcbiAgICAgIHdpZHRoOiA1LjVyZW07XG4gICAgICBoZWlnaHQ6IDcuNXJlbTsgfSB9XG5cbi5pY29uLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMDsgfVxuXG4ucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiNTE4MjM7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5odG1sLmpzIGlucHV0LnRocm9iYmluZywgLmFqYXgtcHJvZ3Jlc3MgLnRocm9iYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy90aHJvYmJlci5naWZcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLnByb2dyZXNzIC5maWxsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDcxOTIxO1xuICBoZWlnaHQ6IDAuNWVtO1xuICB3aWR0aDogNXB4OyB9XG5cbi5wcm9ncmVzcyAucGVyY2VudGFnZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgLyogTFRSICovIH1cblxuLmFqYXgtcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmFqYXgtcHJvZ3Jlc3MgLnRocm9iYmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xOHB4O1xuICBmbG9hdDogbGVmdDtcbiAgLyogTFRSICovXG4gIGhlaWdodDogMTVweDtcbiAgbWFyZ2luOiAycHg7XG4gIHdpZHRoOiAxNXB4OyB9XG5cbi5hamF4LXByb2dyZXNzIC5tZXNzYWdlIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG5cbnRyIC5hamF4LXByb2dyZXNzIC50aHJvYmJlciB7XG4gIG1hcmdpbjogMCAycHg7IH1cblxuLmFqYXgtcHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDE2ZW07IH1cblxuI3RhYnMge1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTtcbiAgcGFkZGluZy1yaWdodDogMS4yNWVtO1xuICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLnRhYnMge1xuICBtYXgtd2lkdGg6IDEyMzVweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBQcmltYXJ5IFRhYnMgKi9cbiAgLyogU2Vjb25kYXJ5IFRhYnMgKi8gfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRhYnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50YWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvKiBMVFIgKi9cbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICAvKiBMVFIgKi8gfVxuICAgIC50YWJzIGxpID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAudGFicyBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC50YWJzIGEuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cbiAgICAudGFicyBhOmhvdmVyLCAudGFicyBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7IH1cbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiOyB9XG4gICAgLnRhYnMucHJpbWFyeSBhIHtcbiAgICAgIHBhZGRpbmc6IDAuM2VtIDAuOGVtOyB9XG4gIC50YWJzLnNlY29uZGFyeSBhIHtcbiAgICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgICBtYXJnaW46IDAuNGVtIDA7XG4gICAgZm9udC1zaXplOiAwLjllbTsgfVxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmctdG9wOiAwLjIzMjU3ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjIzMjU3ZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmJyZWFkY3J1bWIgLmlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgKnpvb206IDE7IH1cbiAgLmJyZWFkY3J1bWIgLmxhc3Qge1xuICAgIGNvbG9yOiAjRkZGRkZGOyB9XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBQYWdlIExpbmtcbm5hbWU6IHBhZ2UtbGlua1xuY2F0ZWdvcnk6IE1vbGVjdWxlc1xuLS0tXG5cbkxpbmsgZm9yIG5leHQvcHJldmlvdXMgbm9kZXNcblxuYGBgaHRtbF9leGFtcGxlXG48YSBocmVmPVwiI1wiIGNsYXNzPVwicGFnZS1saW5rICBwYWdlLWxpbmstLXByZXZcIj5cbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMiA2MFwiPjxwYXRoIGQ9XCJNMTAuMDI5IDI5LjM4NUwzMS45NzEgNy40NDQgMjQuOS4zNzMuMjcyIDI1SC4wMjl2MTBoLjI0M0wyNC45IDU5LjYyN2w3LjA3MS03LjA3MS0yMS45NDItMjEuOTQxelwiPjwvcGF0aD48L3N2Zz5cbiAgUHJldiBBcnRpY2xlXG48L2E+XG5cbjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwYWdlLWxpbmsgIHBhZ2UtbGluay0tbmV4dFwiPlxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDYwXCI+PHBhdGggZD1cIk0yMS45NzEgMjkuMzg1TC4wMjkgNy40NDQgNy4xLjM3MyAzMS43MjggMjVoLjI0M3YxMGgtLjI0M0w3LjEgNTkuNjI3LjAyOSA1Mi41NTZsMjEuOTQyLTIxLjk0MXpcIj48L3BhdGg+PC9zdmc+XG4gIE5leHQgQXJ0aWNsZVxuPC9hPlxuYGBgXG4qL1xuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA0NDBweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDcwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAucGFnZS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnBhZ2UtbGluay0tcHJldiB7XG4gICAgbGVmdDogMjBweDsgfVxuICAucGFnZS1saW5rLS1uZXh0IHtcbiAgICByaWdodDogMjBweDsgfVxuICAucGFnZS1saW5rIHN2ZyB7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjRweDsgfVxuXG4vKmRvY1xuLS0tXG50aXRsZTogUGFnZXJcbm5hbWU6IHBhZ2VyXG5jYXRlZ29yeTogTW9sZWN1bGVzXG4tLS1cblxuUGFnZXIgY29tcG9uZW50XG5cbmBgYGh0bWxfZXhhbXBsZVxuPHVsIGNsYXNzPVwicGFnZXJcIj5cbiAgPGxpIGNsYXNzPVwicGFnZXItcHJldmlvdXNcIj48YSBocmVmPVwiI1wiPnByZXZpb3VzPC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cInBhZ2VyLWN1cnJlbnRcIj4xPC9saT5cbiAgPGxpIGNsYXNzPVwicGFnZXItaXRlbVwiPjxhIGhyZWY9XCIjXCI+MjwvYT48L2xpPlxuICA8bGkgY2xhc3M9XCJwYWdlci1pdGVtXCI+PGEgaHJlZj1cIiNcIj4zPC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cInBhZ2VyLWl0ZW1cIj48YSBocmVmPVwiI1wiPjQ8L2E+PC9saT5cbiAgPGxpIGNsYXNzPVwicGFnZXItaXRlbVwiPjxhIGhyZWY9XCIjXCI+NTwvYT48L2xpPlxuICA8bGkgY2xhc3M9XCJwYWdlci1lbGxpcHNpc1wiPuKApjwvbGk+XG4gIDxsaSBjbGFzcz1cInBhZ2VyLW5leHRcIj48YSBocmVmPVwiI1wiPm5leHQ8L2E+PC9saT5cbjwvdWw+XG5gYGBcbiovXG4ucGFnZXIge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnBhZ2VyIGxpIHtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAucGFnZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAucGFnZXItcHJldmlvdXMgYSxcbiAgLnBhZ2VyLWl0ZW0gYSwgLnBhZ2VyLWN1cnJlbnQsXG4gIC5wYWdlci1uZXh0IGEsIC5wYWdlci1lbGxpcHNpcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNmVtIDFlbTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBmb250LXNpemU6IDAuODMzMzNlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJhY2tncm91bmQ6ICNiNTE4MjM7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzk5MDMwNTsgfVxuICAucGFnZXItcHJldmlvdXMgYTpob3ZlcixcbiAgLnBhZ2VyLWl0ZW0gYTpob3ZlcixcbiAgLnBhZ2VyLW5leHQgYTpob3ZlciwgLnBhZ2VyLWN1cnJlbnQge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJhY2tncm91bmQ6ICNkNzE5MjE7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDcxOTIxOyB9XG4gIC5wYWdlci10b3AsIC5wYWdlci1ib3R0b20ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhZ2VyLXRvcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS40NGVtOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAucGFnZXItdG9wIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAucGFnZXItYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxLjQ0ZW07IH1cblxuLnBhZ2VyLWxvYWQtbW9yZSAucGFnZXItbmV4dCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBTb2NpYWwgaWNvbnNcbm5hbWU6IHNvY2lhbC1pY29uc1xuY2F0ZWdvcnk6IE1vbGVjdWxlc1xuLS0tXG5cbkEgc3RhbmRhcmQgc29jaWFsIG1lZGlhIGxpbmsuXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cInNvY2lhbC1pY29uc1wiPlxuICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic29jaWFsLWljb25zX19pY29uIHNvY2lhbC1saW5rXCI+XG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIi0yODAgNDAzLjkgMzQgMzRcIj48cGF0aCBkPVwiTS0yNjUuNiA0MzAuOGg0LjF2LTkuOWgyLjdsLjQtMy40aC0zLjF2LTEuN2MwLS45LjEtMS40IDEuNC0xLjRoMS43VjQxMWgtMi43Yy0zLjMgMC00LjQgMS43LTQuNCA0LjR2Mi4xaC0ydjMuNGgydjkuOWgtLjF6XCIvPjwvc3ZnPlxuICA8L2E+XG4gIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzb2NpYWwtaWNvbnNfX2ljb24gc29jaWFsLWxpbmtcIj5cbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiLTI4MCA0MDMuOSAzNCAzNFwiPjxwYXRoIGQ9XCJNLTI2NS42IDQzMC44aDQuMXYtOS45aDIuN2wuNC0zLjRoLTMuMXYtMS43YzAtLjkuMS0xLjQgMS40LTEuNGgxLjdWNDExaC0yLjdjLTMuMyAwLTQuNCAxLjctNC40IDQuNHYyLjFoLTJ2My40aDJ2OS45aC0uMXpcIi8+PC9zdmc+XG4gIDwvYT5cbiAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInNvY2lhbC1pY29uc19faWNvbiBzb2NpYWwtbGlua1wiPlxuICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCItMjgwIDQwMy45IDM0IDM0XCI+PHBhdGggZD1cIk0tMjY1LjYgNDMwLjhoNC4xdi05LjloMi43bC40LTMuNGgtMy4xdi0xLjdjMC0uOS4xLTEuNCAxLjQtMS40aDEuN1Y0MTFoLTIuN2MtMy4zIDAtNC40IDEuNy00LjQgNC40djIuMWgtMnYzLjRoMnY5LjloLS4xelwiLz48L3N2Zz5cbiAgPC9hPlxuICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic29jaWFsLWljb25zX19pY29uIHNvY2lhbC1saW5rXCI+XG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIi0yODAgNDAzLjkgMzQgMzRcIj48cGF0aCBkPVwiTS0yNjUuNiA0MzAuOGg0LjF2LTkuOWgyLjdsLjQtMy40aC0zLjF2LTEuN2MwLS45LjEtMS40IDEuNC0xLjRoMS43VjQxMWgtMi43Yy0zLjMgMC00LjQgMS43LTQuNCA0LjR2Mi4xaC0ydjMuNGgydjkuOWgtLjF6XCIvPjwvc3ZnPlxuICA8L2E+XG48L2Rpdj5cbmBgYFxuXG4qL1xuLnNvY2lhbC1pY29ucyB7XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAuc29jaWFsLWljb25zIC5zb2NpYWwtaWNvbnNfX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgIC5zb2NpYWwtaWNvbnMgLnNvY2lhbC1pY29uc19faWNvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5tZWRpYTpob3ZlciwgLmFjdGl2ZS5tZWRpYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5hLm1lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1lZGlhLS10ZXh0IHtcbiAgbWFyZ2luLXRvcDogMC42MjVlbTsgfVxuICAubG9hZGluZyAubWVkaWEtLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lZGlhLS10ZXh0IC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDAuMDYyNXJlbTsgfVxuXG4ubWVkaWEtLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1hcmdpbi10b3A6IDAuMzEyNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4ubWVkaWEgLm1lZGlhLS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5tZWRpYS0tc3VidGl0bGUge1xuICBtYXJnaW46IC0wLjVyZW0gMCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4ubWVkaWEtLWltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWVkaWEtLUlOTElORSwgLm1lZGlhLS1JTkxJTkUgLm1lZGlhLS10ZXh0IHtcbiAgem9vbTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1lZGlhLS1JTkxJTkUgLm1lZGlhLS1pbWFnZSwgLm1lZGlhLS1JTkxJTkUgLm1lZGlhLS10ZXh0IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH0gfVxuXG4ubWVkaWEtLXRleHQtLUlOTElORS0tTUlERExFIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWVkaWEtLXRleHQtLUlOTElORS0tQk9UVE9NIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4ubWVkaWEtLU9WRVJMQVksIC5tZWRpYS0tQkFOTkVSIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZWFlNDE1O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNSwgNTgsIDEzMCwgMC4yKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jMzMxOTNBODIsZW5kQ29sb3JzdHI9IzMzMTkzQTgyKTtcbiAgem9vbTogMTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLCAwLjVzO1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQsIDAuNXM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQsIDAuNXM7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMjMxZjIwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYTpsaW5rLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNlYWU0MTU7IH1cbiAgICAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGE6bGluazpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBhOmxpbms6YWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGE6bGluay5hY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYTpsaW5rOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGE6dmlzaXRlZDpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBhOnZpc2l0ZWQ6YWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGE6dmlzaXRlZC5hY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYTp2aXNpdGVkOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZWFlNDE1OyB9XG4gIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYS5hY3RpdmUtdHJhaWwsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjZWFlNDE1OyB9XG4gIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ0biwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnV0dG9uLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjUxODIzO1xuICAgIGJvcmRlci1jb2xvcjogIzk5MDMwNTsgfVxuICAgIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ0biwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnRuOmxpbmssIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ0bjp2aXNpdGVkLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idXR0b24sIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ1dHRvbjpsaW5rLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idXR0b246dmlzaXRlZCwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAubW9yZS1saW5rIGEsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLm1vcmUtbGluayBhOmxpbmssIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLm1vcmUtbGluayBhOnZpc2l0ZWQsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbmssIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBidXR0b24sIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYnV0dG9uOmxpbmssIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICNlYWU0MTU7IH1cbiAgICAgIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ0bjpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnRuOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idG4uYWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idG46bGluazpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnRuOmxpbms6Zm9jdXMsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ0bjpsaW5rLmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnRuOnZpc2l0ZWQ6aG92ZXIsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ0bjp2aXNpdGVkOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idG46dmlzaXRlZC5hY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ1dHRvbjpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnV0dG9uOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idXR0b24uYWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idXR0b246bGluazpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnV0dG9uOmxpbms6Zm9jdXMsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ1dHRvbjpsaW5rLmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnV0dG9uOnZpc2l0ZWQ6aG92ZXIsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ1dHRvbjp2aXNpdGVkOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idXR0b246dmlzaXRlZC5hY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLm1vcmUtbGluayBhOmhvdmVyLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYTpmb2N1cywgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAubW9yZS1saW5rIGEuYWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYTpsaW5rOmhvdmVyLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYTpsaW5rOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYTpsaW5rLmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAubW9yZS1saW5rIGE6dmlzaXRlZDpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAubW9yZS1saW5rIGE6dmlzaXRlZDpmb2N1cywgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAubW9yZS1saW5rIGE6dmlzaXRlZC5hY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluazpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6Zm9jdXMsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rLmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQ6aG92ZXIsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZC5hY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl0uYWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluazpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6Zm9jdXMsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rLmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQ6aG92ZXIsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZC5hY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYnV0dG9uOmhvdmVyLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGJ1dHRvbjpmb2N1cywgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBidXR0b24uYWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGJ1dHRvbjpsaW5rOmhvdmVyLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGJ1dHRvbjpsaW5rOmZvY3VzLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGJ1dHRvbjpsaW5rLmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBidXR0b246dmlzaXRlZDpob3ZlciwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBidXR0b246dmlzaXRlZDpmb2N1cywgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBidXR0b246dmlzaXRlZC5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDcxOTIxO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkNzE5MjE7XG4gICAgICAgIGNvbG9yOiAjZWFlNDE1OyB9XG4gICAgICBhOmhvdmVyIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ0biwgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IC5idG4sIGE6aG92ZXIgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnRuOmxpbmssIC5tZWRpYS0tT1ZFUkxBWSBhOmhvdmVyIC5tZWRpYS0tdGV4dCAuYnRuOmxpbmssIGE6aG92ZXIgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnRuOnZpc2l0ZWQsIC5tZWRpYS0tT1ZFUkxBWSBhOmhvdmVyIC5tZWRpYS0tdGV4dCAuYnRuOnZpc2l0ZWQsIGE6aG92ZXIgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnV0dG9uLCAubWVkaWEtLU9WRVJMQVkgYTpob3ZlciAubWVkaWEtLXRleHQgLmJ1dHRvbiwgYTpob3ZlciAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idXR0b246bGluaywgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IC5idXR0b246bGluaywgYTpob3ZlciAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idXR0b246dmlzaXRlZCwgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IC5idXR0b246dmlzaXRlZCwgYTpob3ZlciAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYSwgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYSwgYTpob3ZlciAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYTpsaW5rLCAubWVkaWEtLU9WRVJMQVkgYTpob3ZlciAubWVkaWEtLXRleHQgLm1vcmUtbGluayBhOmxpbmssIGE6aG92ZXIgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAubW9yZS1saW5rIGE6dmlzaXRlZCwgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYTp2aXNpdGVkLCBhOmhvdmVyIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGE6aG92ZXIgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbmssIC5tZWRpYS0tT1ZFUkxBWSBhOmhvdmVyIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbmssIGE6aG92ZXIgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQsIC5tZWRpYS0tT1ZFUkxBWSBhOmhvdmVyIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQsIGE6aG92ZXIgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAubWVkaWEtLU9WRVJMQVkgYTpob3ZlciAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgYTpob3ZlciAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluaywgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluaywgYTpob3ZlciAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCwgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCwgYTpob3ZlciAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGJ1dHRvbiwgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IGJ1dHRvbiwgYTpob3ZlciAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGJ1dHRvbjpsaW5rLCAubWVkaWEtLU9WRVJMQVkgYTpob3ZlciAubWVkaWEtLXRleHQgYnV0dG9uOmxpbmssIGE6aG92ZXIgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBidXR0b246dmlzaXRlZCwgLm1lZGlhLS1PVkVSTEFZIGE6aG92ZXIgLm1lZGlhLS10ZXh0IGJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDcxOTIxO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnRuOmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnRuOmxpbms6YWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5idG46dmlzaXRlZDphY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ1dHRvbjphY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLmJ1dHRvbjpsaW5rOmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCAuYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYTphY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgLm1vcmUtbGluayBhOmxpbms6YWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IC5tb3JlLWxpbmsgYTp2aXNpdGVkOmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6YWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDphY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmFjdGl2ZSwgLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tdGV4dCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQ6YWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGJ1dHRvbjphY3RpdmUsIC5tZWRpYS0tT1ZFUkxBWSAubWVkaWEtLXRleHQgYnV0dG9uOmxpbms6YWN0aXZlLCAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0IGJ1dHRvbjp2aXNpdGVkOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNzE5MjE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Q3MTkyMTsgfVxuICAubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10ZXh0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjUsIDU4LCAxMzAsIDApO1xuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IzAwMTkzQTgyLGVuZENvbG9yc3RyPSMwMDE5M0E4Mik7XG4gICAgem9vbTogMTsgfVxuXG4ubWVkaWEtLU9WRVJMQVkgLm1lZGlhLS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMC42OTQ0NGVtO1xuICBwYWRkaW5nLXRvcDogMC42MjVlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMzEyNWVtO1xuICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjE1NjI1cmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLm1lZGlhLS1PVkVSTEFZIC5tZWRpYS0tc3VidGl0bGUge1xuICBmb250LXNpemU6IDAuODMzMzNlbTtcbiAgcGFkZGluZzogMC4wMzkwNnJlbTtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZWRpYS0tQkFOTkVSIC5tZWRpYS0taW1hZ2Uge1xuICBtYXJnaW4tbGVmdDogMC4xODc1cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMTg3NXJlbTsgfVxuXG4ubWVkaWEtLUJBTk5FUiAubWVkaWEtLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDcwNHB4KSB7XG4gICAgLm1lZGlhLS1CQU5ORVIgLm1lZGlhLS10ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzA0cHgpIHtcbiAgICAubWVkaWEtLUJBTk5FUiAubWVkaWEtLXRleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwLjA3ODEycmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtLUJBTk5FUiAubWVkaWEtLXRpdGxlLCAubWVkaWEtLUJBTk5FUiAubWVkaWEtLXN1YnRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1lZGlhLS1JTkxJTkUgLm1lZGlhLS1pbWFnZSBpbWcge1xuICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAubWVkaWEtLUlOTElORSAubWVkaWEtLWltYWdlICsgLm1lZGlhLS10ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWVkaWEtLUlOTElORSAubWVkaWEtLXRleHQge1xuICAgIHdpZHRoOiAxMDAwMHB4OyB9XG4gICAgLm1lZGlhLS1JTkxJTkUgLm1lZGlhLS10ZXh0ICsgLm1lZGlhLS1pbWFnZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVlbTsgfSB9XG5cbi5tZWRpYS0tQkFOTkVSIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBNZWRpYSBCbG9ja1xubmFtZTogbWVkaWEtYmxvY2tcbmNhdGVnb3J5OiBNb2xlY3VsZXNcbi0tLVxuXG5JbWFnZSAvIHRleHQgLyBsaW5rIHVzZWQgZm9yIG5ld3MgYXJ0aWNsZXMgJiBob21lcGFnZSBjdGEgYmxvY2tzXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cIm1lZGlhLWJsb2NrXCI+XG4gIDxkaXYgY2xhc3M9XCJtZWRpYS1ibG9ja19faW1hZ2VcIj5cbiAgICA8aW1nIHNyYz1cImh0dHA6Ly9wbGFjZWltZy5jb20vNjAwLzMwMS9hbmltYWxzXCI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtZWRpYS1ibG9ja19fY29udGVudFwiPlxuICAgIDxoMyBjbGFzcz1cIm1lZGlhLWJsb2NrX190aXRsZVwiPkN1cGNha2VzITwvaDM+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWVkaWEtYmxvY2tfX3RleHRcIj5cbiAgICAgIEN1cGNha2UgaXBzdW0gZG9sb3Igc2l0IGFtZXQgY2FrZSBwb3dkZXIuIFNlc2FtZSBzbmFwcyBhcHBsZSBwaWUgYm9uYm9uXG4gICAgICBjb3R0b24gY2FuZHkgdG9vdHNpZSByb2xsLiBBcHBsZSBwaWUgY2h1cGEgY2h1cHMgbWFyemlwYW4gYm9uYm9uIHBhc3RyeS5cbiAgICAgIEp1anViZXMgdGFydCBjYWtlIHRvZmZlZSBjYWtlLlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1lZGlhLWJsb2NrX19jdGFcIj5cbiAgICAgIDxhIGNsYXNzPVwiYnV0dG9uXCIgaHJlZj1cIiNcIj5SZWFkIE1vcmU8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJtZWRpYS1ibG9jayAgbWVkaWEtYmxvY2stLWludmVydGVkXCI+XG4gIDxkaXYgY2xhc3M9XCJtZWRpYS1ibG9ja19faW1hZ2VcIj5cbiAgICA8aW1nIHNyYz1cImh0dHA6Ly9wbGFjZWltZy5jb20vNjAwLzMwMS9hbmltYWxzXCI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtZWRpYS1ibG9ja19fY29udGVudFwiPlxuICAgIDxoMyBjbGFzcz1cIm1lZGlhLWJsb2NrX190aXRsZVwiPkN1cGNha2VzITwvaDM+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWVkaWEtYmxvY2tfX3RleHRcIj5cbiAgICAgIEN1cGNha2UgaXBzdW0gZG9sb3Igc2l0IGFtZXQgY2FrZSBwb3dkZXIuIFNlc2FtZSBzbmFwcyBhcHBsZSBwaWUgYm9uYm9uXG4gICAgICBjb3R0b24gY2FuZHkgdG9vdHNpZSByb2xsLiBBcHBsZSBwaWUgY2h1cGEgY2h1cHMgbWFyemlwYW4gYm9uYm9uIHBhc3RyeS5cbiAgICAgIEp1anViZXMgdGFydCBjYWtlIHRvZmZlZSBjYWtlLlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1lZGlhLWJsb2NrX19jdGFcIj5cbiAgICAgIDxhIGNsYXNzPVwiYnV0dG9uXCIgaHJlZj1cIiNcIj5SZWFkIE1vcmU8L2E+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5gYGBcbiovXG4ubWVkaWEtYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzRkNGQ0ZDsgfVxuICAubWVkaWEtYmxvY2stLWludmVydGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjUxODIzO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM5OTAzMDU7IH1cbiAgICAubWVkaWEtYmxvY2stLWludmVydGVkIGE6bGluaywgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICNlYWU0MTU7IH1cbiAgICAgIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYTpsaW5rOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIGE6bGluazphY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYTpsaW5rLmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBhOmxpbms6Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYTp2aXNpdGVkOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIGE6dmlzaXRlZDphY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYTp2aXNpdGVkLmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBhOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYS5hY3RpdmUtdHJhaWwsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYS5hY3RpdmUge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAubWVkaWEtYmxvY2stLWludmVydGVkIC5idG4sIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ1dHRvbiwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAubW9yZS1saW5rIGEsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjUxODIzO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjOTkwMzA1OyB9XG4gICAgICAubWVkaWEtYmxvY2stLWludmVydGVkIC5idG4sIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ0bjpsaW5rLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idG46dmlzaXRlZCwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnV0dG9uLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idXR0b246bGluaywgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnV0dG9uOnZpc2l0ZWQsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLm1vcmUtbGluayBhLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5tb3JlLWxpbmsgYTpsaW5rLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5tb3JlLWxpbmsgYTp2aXNpdGVkLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZCwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluaywgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYnV0dG9uLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbjpsaW5rLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICNlYWU0MTU7IH1cbiAgICAgICAgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnRuOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idG46Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ0bi5hY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ0bjpsaW5rOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idG46bGluazpmb2N1cywgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnRuOmxpbmsuYWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idG46dmlzaXRlZDpob3ZlciwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnRuOnZpc2l0ZWQ6Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ0bjp2aXNpdGVkLmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnV0dG9uOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idXR0b246Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ1dHRvbi5hY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ1dHRvbjpsaW5rOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idXR0b246bGluazpmb2N1cywgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnV0dG9uOmxpbmsuYWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idXR0b246dmlzaXRlZDpob3ZlciwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnV0dG9uOnZpc2l0ZWQ6Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAubW9yZS1saW5rIGE6aG92ZXIsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLm1vcmUtbGluayBhOmZvY3VzLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5tb3JlLWxpbmsgYS5hY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLm1vcmUtbGluayBhOmxpbms6aG92ZXIsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLm1vcmUtbGluayBhOmxpbms6Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLm1vcmUtbGluayBhOmxpbmsuYWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmZvY3VzLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5tb3JlLWxpbmsgYTp2aXNpdGVkLmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5hY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluazpmb2N1cywgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbmsuYWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDpob3ZlciwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQ6Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5hY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluazpmb2N1cywgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmsuYWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDpob3ZlciwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQ6Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBidXR0b246aG92ZXIsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYnV0dG9uOmZvY3VzLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbi5hY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYnV0dG9uOmxpbms6aG92ZXIsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYnV0dG9uOmxpbms6Zm9jdXMsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYnV0dG9uOmxpbmsuYWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbjp2aXNpdGVkOmhvdmVyLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbjp2aXNpdGVkOmZvY3VzLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNkNzE5MjE7XG4gICAgICAgICAgY29sb3I6ICNlYWU0MTU7IH1cbiAgICAgICAgYTpob3ZlciAubWVkaWEtYmxvY2stLWludmVydGVkIC5idG4sIGE6aG92ZXIgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnRuOmxpbmssIGE6aG92ZXIgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnRuOnZpc2l0ZWQsIGE6aG92ZXIgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnV0dG9uLCBhOmhvdmVyIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ1dHRvbjpsaW5rLCBhOmhvdmVyIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ1dHRvbjp2aXNpdGVkLCBhOmhvdmVyIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLm1vcmUtbGluayBhLCBhOmhvdmVyIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLm1vcmUtbGluayBhOmxpbmssIGE6aG92ZXIgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAubW9yZS1saW5rIGE6dmlzaXRlZCwgYTpob3ZlciAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGE6aG92ZXIgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbmssIGE6aG92ZXIgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQsIGE6aG92ZXIgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCBhOmhvdmVyIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rLCBhOmhvdmVyIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLCBhOmhvdmVyIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYnV0dG9uLCBhOmhvdmVyIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYnV0dG9uOmxpbmssIGE6aG92ZXIgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBidXR0b246dmlzaXRlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNkNzE5MjE7XG4gICAgICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgICAgICAgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnRuOmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnRuOmxpbms6YWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5idG46dmlzaXRlZDphY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ1dHRvbjphY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLmJ1dHRvbjpsaW5rOmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCAuYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5tb3JlLWxpbmsgYTphY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgLm1vcmUtbGluayBhOmxpbms6YWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6YWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDphY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmFjdGl2ZSwgLm1lZGlhLWJsb2NrLS1pbnZlcnRlZCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQ6YWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbjphY3RpdmUsIC5tZWRpYS1ibG9jay0taW52ZXJ0ZWQgYnV0dG9uOmxpbms6YWN0aXZlLCAubWVkaWEtYmxvY2stLWludmVydGVkIGJ1dHRvbjp2aXNpdGVkOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNkNzE5MjE7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLm1lZGlhLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAubWVkaWEtYmxvY2tfX2ltYWdlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5tZWRpYS1ibG9ja19fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDEuNDRlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lZGlhLWJsb2NrX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5tZWRpYS1ibG9ja19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAubWVkaWEtYmxvY2stLXNpbmdsZSAubWVkaWEtYmxvY2tfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgLm1lZGlhLWJsb2NrX19kYXRlLCAubWVkaWEtYmxvY2tfX3RheG9ub215IHtcbiAgICBjb2xvcjogIzRkNGQ0ZDtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5tZWRpYS1ibG9ja19fdGF4b25vbXkge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICBjb2xvcjogIzk5MDMwNTsgfVxuICAubWVkaWEtYmxvY2stLXNpbmdsZSAubWVkaWEtYmxvY2tfX3RheG9ub215IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07IH1cbiAgLm1lZGlhLWJsb2NrX190ZXh0IHtcbiAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAubWVkaWEtYmxvY2tfX3N0YW5kZmlyc3Qge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpYS1ibG9ja19fY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAxLjQ0ZW07IH1cbiAgICAubWVkaWEtYmxvY2tfX2N0YSAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAubWVkaWEtYmxvY2sgLnF1b3RlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNzE5MjE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW0gMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYTpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGE6bGluaywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYTp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNlYWU0MTU7IH1cbiAgICAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBhOmxpbms6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgYTpsaW5rOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBhOmxpbms6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGE6bGluazphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGE6bGluay5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgYTpsaW5rLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYTpsaW5rOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGE6bGluazpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYTp2aXNpdGVkOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGE6dmlzaXRlZDpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYTp2aXNpdGVkOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBhOnZpc2l0ZWQ6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBhOnZpc2l0ZWQuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGE6dmlzaXRlZC5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGE6dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBhOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICNGRkZGRkY7IH1cbiAgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYS5hY3RpdmUtdHJhaWwsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgYS5hY3RpdmUtdHJhaWwsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGEuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGEuYWN0aXZlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idG4sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b24sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ1dHRvbiwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGJ1dHRvbiwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNTE4MjM7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTkwMzA1OyB9XG4gICAgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLmJ0biwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnRuLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOmxpbmssIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ0bjpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOnZpc2l0ZWQsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ0bjp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnV0dG9uLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idXR0b24sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b246bGluaywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnV0dG9uOmxpbmssIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b246dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnV0dG9uOnZpc2l0ZWQsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGEsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbmssIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluaywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmssIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGJ1dHRvbiwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBidXR0b24sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGJ1dHRvbjpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGJ1dHRvbjpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBidXR0b246dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBidXR0b246dmlzaXRlZCB7XG4gICAgICBjb2xvcjogI2VhZTQxNTsgfVxuICAgICAgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLmJ0bjpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnRuOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idG46Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idG4uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idG4uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOmxpbms6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ0bjpsaW5rOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOmxpbms6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ0bjpsaW5rOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOmxpbmsuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idG46bGluay5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idG46dmlzaXRlZDpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnRuOnZpc2l0ZWQ6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idG46dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnRuOnZpc2l0ZWQ6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idG46dmlzaXRlZC5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ0bjp2aXNpdGVkLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLmJ1dHRvbjpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnV0dG9uOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnV0dG9uOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idXR0b246Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b24uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idXR0b24uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnV0dG9uOmxpbms6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ1dHRvbjpsaW5rOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnV0dG9uOmxpbms6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ1dHRvbjpsaW5rOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnV0dG9uOmxpbmsuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idXR0b246bGluay5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b246dmlzaXRlZDpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnV0dG9uOnZpc2l0ZWQ6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b246dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnV0dG9uOnZpc2l0ZWQ6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b246dmlzaXRlZC5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGEuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6bGluazpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6bGluazpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOmxpbms6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOmxpbms6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTpsaW5rLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6bGluay5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOnZpc2l0ZWQuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTp2aXNpdGVkLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbmsuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluay5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQ6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQ6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZC5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl0uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmsuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluay5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQ6aG92ZXIsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQ6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZC5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYnV0dG9uOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGJ1dHRvbjpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYnV0dG9uOmZvY3VzLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGJ1dHRvbjpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYnV0dG9uLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBidXR0b24uYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBidXR0b246bGluazpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBidXR0b246bGluazpob3ZlciwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYnV0dG9uOmxpbms6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgYnV0dG9uOmxpbms6Zm9jdXMsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGJ1dHRvbjpsaW5rLmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBidXR0b246bGluay5hY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGJ1dHRvbjp2aXNpdGVkOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGJ1dHRvbjp2aXNpdGVkOmhvdmVyLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBidXR0b246dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBidXR0b246dmlzaXRlZDpmb2N1cywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYnV0dG9uOnZpc2l0ZWQuYWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGJ1dHRvbjp2aXNpdGVkLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkNzE5MjE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgY29sb3I6ICNlYWU0MTU7IH1cbiAgICAgIGE6aG92ZXIgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLmJ0biwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSBhOmhvdmVyIC5maWVsZC1pdGVtcyAuYnRuLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ0biwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IGE6aG92ZXIgLmZpZWxkLWl0ZW1zIC5idG4sIGE6aG92ZXIgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLmJ0bjpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIGE6aG92ZXIgLmZpZWxkLWl0ZW1zIC5idG46bGluaywgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idG46bGluaywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IGE6aG92ZXIgLmZpZWxkLWl0ZW1zIC5idG46bGluaywgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOnZpc2l0ZWQsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgYTpob3ZlciAuZmllbGQtaXRlbXMgLmJ0bjp2aXNpdGVkLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ0bjp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgYTpob3ZlciAuZmllbGQtaXRlbXMgLmJ0bjp2aXNpdGVkLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b24sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgYTpob3ZlciAuZmllbGQtaXRlbXMgLmJ1dHRvbiwgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idXR0b24sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCBhOmhvdmVyIC5maWVsZC1pdGVtcyAuYnV0dG9uLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b246bGluaywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSBhOmhvdmVyIC5maWVsZC1pdGVtcyAuYnV0dG9uOmxpbmssIGE6aG92ZXIgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnV0dG9uOmxpbmssIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCBhOmhvdmVyIC5maWVsZC1pdGVtcyAuYnV0dG9uOmxpbmssIGE6aG92ZXIgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLmJ1dHRvbjp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIGE6aG92ZXIgLmZpZWxkLWl0ZW1zIC5idXR0b246dmlzaXRlZCwgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idXR0b246dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IGE6aG92ZXIgLmZpZWxkLWl0ZW1zIC5idXR0b246dmlzaXRlZCwgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGEsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgYTpob3ZlciAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgYTpob3ZlciAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIGE6aG92ZXIgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTpsaW5rLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOmxpbmssIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCBhOmhvdmVyIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6bGluaywgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSBhOmhvdmVyIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6dmlzaXRlZCwgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5tb3JlLWxpbmsgYTp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgYTpob3ZlciAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOnZpc2l0ZWQsIGE6aG92ZXIgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSBhOmhvdmVyIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IGE6aG92ZXIgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGE6aG92ZXIgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIGE6aG92ZXIgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluaywgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluaywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IGE6aG92ZXIgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluaywgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgYTpob3ZlciAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgYTpob3ZlciAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgYTpob3ZlciAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCBhOmhvdmVyIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluaywgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSBhOmhvdmVyIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmssIGE6aG92ZXIgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmssIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCBhOmhvdmVyIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmssIGE6aG92ZXIgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIGE6aG92ZXIgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCwgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IGE6aG92ZXIgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCwgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBidXR0b24sIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgYTpob3ZlciAuZmllbGQtaXRlbXMgYnV0dG9uLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgYnV0dG9uLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgYTpob3ZlciAuZmllbGQtaXRlbXMgYnV0dG9uLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGJ1dHRvbjpsaW5rLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIGE6aG92ZXIgLmZpZWxkLWl0ZW1zIGJ1dHRvbjpsaW5rLCBhOmhvdmVyIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgYnV0dG9uOmxpbmssIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCBhOmhvdmVyIC5maWVsZC1pdGVtcyBidXR0b246bGluaywgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBidXR0b246dmlzaXRlZCwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSBhOmhvdmVyIC5maWVsZC1pdGVtcyBidXR0b246dmlzaXRlZCwgYTpob3ZlciAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGJ1dHRvbjp2aXNpdGVkLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgYTpob3ZlciAuZmllbGQtaXRlbXMgYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDcxOTIxO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkNzE5MjE7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnRuOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLmJ0bjpsaW5rOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAuYnRuOmxpbms6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnRuOnZpc2l0ZWQ6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idG46dmlzaXRlZDphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b246YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idXR0b246YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAuYnV0dG9uOmxpbms6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIC5idXR0b246bGluazphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIC5idXR0b246dmlzaXRlZDphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLmJ1dHRvbjp2aXNpdGVkOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6bGluazphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOmxpbms6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyAubW9yZS1saW5rIGE6dmlzaXRlZDphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgLm1vcmUtbGluayBhOnZpc2l0ZWQ6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQ6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluazphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXMgYnV0dG9uOmFjdGl2ZSwgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IC5maWVsZC1pdGVtcyBidXR0b246YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBidXR0b246bGluazphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgYnV0dG9uOmxpbms6YWN0aXZlLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyBidXR0b246dmlzaXRlZDphY3RpdmUsIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24tc3VidGV4dCAuZmllbGQtaXRlbXMgYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDcxOTIxOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNi4yNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUgLmZpZWxkLWl0ZW1zLCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogOS4zNzVyZW07IH0gfVxuXG4uZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLWhlYWRsaW5lIC5maWVsZC1pdGVtcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgKmRpc3BsYXk6IGlubGluZTtcbiAgKnpvb206IDE7XG4gIGZvbnQtc2l6ZTogMS40NGVtO1xuICBtYXJnaW46IDA7IH1cbiAgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB3aWR0aDogMi43NWVtO1xuICAgIGhlaWdodDogMS40Mzc1ZW07XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4LjgxMjVlbSAtMjguNjI1ZW07IH1cbiAgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXM6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTQuNTYyNXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1oZWFkbGluZSAuZmllbGQtaXRlbXM6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00LjU2MjVyZW07IH0gfVxuXG4uZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMWYyMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAqem9vbTogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMDczNmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24gLmZpZWxkLWl0ZW06bGFzdC1jaGlsZCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24gLmZpZWxkLWl0ZW06bGFzdC1jaGlsZCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjA3MzZlbTtcbiAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi8qIEZyb250IHBhZ2UgbGFuZGluZyBwYW5lbCAqL1xuLmZpZWxkLW5hbWUtZmllbGQtZnItZnJvbnQtcGFnZS1pbWFnZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZmllbGQtbmFtZS1maWVsZC1mci1mcm9udC1wYWdlLWltYWdlIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IC05NSU7XG4gICAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICAgIHdpZHRoOiAyNTAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDI2MHB4KSB7XG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1mci1mcm9udC1wYWdlLWltYWdlIGltZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUlO1xuICAgICAgICB3aWR0aDogMTUwJTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAuZmllbGQtbmFtZS1maWVsZC1mci1mcm9udC1wYWdlLWltYWdlIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVlbTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzMDBweCkge1xuICAgICAgLmZpZWxkLW5hbWUtZmllbGQtZnItZnJvbnQtcGFnZS1pbWFnZSBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5wYW5lbC1pbWFnZSB7XG4gICAgaGVpZ2h0OiA3MDBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207IH1cbiAgICAjYmxvY2stYmxvY2stNCAucGFuZWwtaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiA3MzBweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAwcHgpIHtcbiAgLnBhbmVsLWltYWdlIHtcbiAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4ucGFuZWwtaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnBhbmVsLWltYWdlIGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgICAgIC8qIElFNiwgSUU3ICovXG4gICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAxcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTMwMHB4KSB7XG4gICAgLnBhbmVsLWltYWdlIGltZyB7XG4gICAgICBwb3NpdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgY2xpcDogaW5oZXJpdDtcbiAgICAgIG92ZXJmbG93OiBpbmhlcml0O1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBBcnRpY2xlXG5uYW1lOiBhcnRpY2xlXG5jYXRlZ29yeTogTW9sZWN1bGVzXG4tLS1cblxuTmV3cyAvIGJsb2cgYXJ0aWNsZVxuXG5gYGBodG1sX2V4YW1wbGVcbjxhcnRpY2xlIGNsYXNzPVwiYXJ0aWNsZVwiPlxuICA8aGVhZGVyPlxuICAgIDxoMSBjbGFzcz1cInNlY3Rpb24tdGl0bGUgIGFydGljbGVfX3RpdGxlXCI+QXJ0aWNsZSBUaXRsZTwvaDE+XG4gIDwvaGVhZGVyPlxuXG4gIDxkaXYgY2xhc3M9XCJwYWdlLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXJ0aWNsZV9fc3RhbmRmaXJzdFwiPlRvcHBpbmcgY2h1cGEgY2h1cHMgaWNlIGNyZWFtIHN1Z2FyIHBsdW0gbWFjYXJvb24gamVsbHktbyBqZWxseS1vLiBEZXNzZXJ0IGNodXBhIGNodXBzIG1hcnppcGFuIGNob2NvbGF0ZSBiYXIuIENhcmFtZWxzIGNhcmFtZWxzIGxvbGxpcG9wIGJyb3duaWUgcG93ZGVyLjwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImFydGljbGVfX3RleHRcIj5cbiAgICAgIDxwPkN1cGNha2UgaXBzdW0gZG9sb3Igc2l0IGFtZXQuIERyYWfDqWUgY2hvY29sYXRlIGJhciB0b3BwaW5nIG1hcnppcGFuIGljZSBjcmVhbSBkZXNzZXJ0IG1hcnNobWFsbG93IGRhbmlzaCBib25ib24uIEZydWl0Y2FrZSBjaG9jb2xhdGUgYmFyIGJvbmJvbiB0b2ZmZWUgY2FrZSBzd2VldCBjYW5keS48L3A+XG4gICAgICA8cD5Ub2ZmZWUgYXBwbGUgcGllIHNlc2FtZSBzbmFwcy4gSmVsbHktbyBjaG9jb2xhdGUgaGFsdmFoIGljaW5nLiBDaG9jb2xhdGUgYm9uYm9uIGNob2NvbGF0ZSBjYWtlIGhhbHZhaCBtYXJ6aXBhbiBsZW1vbiBkcm9wcyBwb3dkZXIuPC9wPlxuICAgICAgPHA+RnJ1aXRjYWtlIHRvb3RzaWUgcm9sbCBqZWxseSBiZWFucyBkYW5pc2ggY2hvY29sYXRlIGNha2UgY2Fycm90IGNha2UgY2hvY29sYXRlIGNha2UgZ3VtbWllcy4gTWFyemlwYW4gY2h1cGEgY2h1cHMgbG9sbGlwb3AgZGVzc2VydCBsaXF1b3JpY2UgbGlxdW9yaWNlIGRhbmlzaCBjYXJyb3QgY2FrZSBzZXNhbWUgc25hcHMuIEp1anViZXMgY3JvaXNzYW50IGd1bW1pZXMuPC9wPlxuICAgICAgPHA+Q2hlZXNlY2FrZSBtYXJzaG1hbGxvdyBndW1taWVzIHB1ZGRpbmcgd2FmZXIgdG9vdHNpZSByb2xsIGRyYWfDqWUuIEZydWl0Y2FrZSBjYW5keSBjYXJyb3QgY2FrZSBjdXBjYWtlIGd1bW1pZXMgZ3VtbWkgYmVhcnMgaWNlIGNyZWFtLiBDYW5keSBpY2UgY3JlYW0gcGFzdHJ5IGplbGx5LW8uIExlbW9uIGRyb3BzIGNhcmFtZWxzIGFwcGxlIHBpZSBjYWtlIGplbGx5IHN3ZWV0IGhhbHZhaC48L3A+XG4gICAgICA8cD5DYWtlIGNob2NvbGF0ZSBiYXIgY29va2llIHBhc3RyeSBpY2luZyBzdWdhciBwbHVtLiBDYW5keSBjYW5lcyBkb251dCBzdWdhciBwbHVtLiBNYWNhcm9vbiBhcHBsZSBwaWUgY2Fycm90IGNha2UgY290dG9uIGNhbmR5IGN1cGNha2UgcHVkZGluZy4gUGllIGNob2NvbGF0ZSBiYXIgY290dG9uIGNhbmR5IGplbGx5IGJlYW5zIGRlc3NlcnQuPC9wPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvYXJ0aWNsZT5cbmBgYFxuKi9cbi5hcnRpY2xlX19zdGFuZGZpcnN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yZW07XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmFydGljbGUgLm1lZGlhX2VtYmVkIGlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYXJ0aWNsZS1jdGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IDIuMDczNmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLmFydGljbGUtY3RhIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTMwcHg7XG4gICAgICByaWdodDogMjBweDsgfSB9XG4gIC5hcnRpY2xlLWN0YSAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnBhcmFsbGF4LXZpZGVvIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogLTc4cHg7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNGRkZGRkY7XG4gIGJvcmRlci10b3Atd2lkdGg6IDgzcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDExMjBweCkge1xuICAgIC5wYXJhbGxheC12aWRlbyB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiA0MHB4O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMTE4cHg7IH1cbiAgICAgIC5wYXJhbGxheC12aWRlby1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwdmg7IH0gfVxuICAucGFyYWxsYXgtdmlkZW86YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5wYXJhbGxheC12aWRlb19fcGxhY2Vob2xkZXIsIC5wYXJhbGxheC12aWRlb19fdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5wYXJhbGxheC12aWRlb19fcGxhY2Vob2xkZXIge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAucGFyYWxsYXgtdmlkZW9fX3ZpZGVvIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTIwcHgpIHtcbiAgICAgIC5wYXJhbGxheC12aWRlb19fdmlkZW8ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiAxNiAvIDkpIHtcbiAgICAgIC5wYXJhbGxheC12aWRlb19fdmlkZW8ge1xuICAgICAgICBoZWlnaHQ6IDMwMCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogMTYgLyA5KSB7XG4gICAgICAucGFyYWxsYXgtdmlkZW9fX3ZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDMwMCU7IH0gfVxuICAucGFyYWxsYXgtdmlkZW9fX3BsYWNlaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDExMjBweCkge1xuICAgICAgLnBhcmFsbGF4LXZpZGVvX19wbGFjZWhvbGRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGFyYWxsYXgtdmlkZW9fX2xvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMzU1cHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAucGFyYWxsYXgtdmlkZW9fX2Fycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5wYXJhbGxheC12aWRlb19fYXJyb3cgc3ZnIHtcbiAgICAgIGZpbGw6ICNkNzE5MjE7IH1cbiAgICAucGFyYWxsYXgtdmlkZW9fX2Fycm93LmFjdGl2ZSwgLnBhcmFsbGF4LXZpZGVvX19hcnJvdzpob3ZlciwgLnBhcmFsbGF4LXZpZGVvX19hcnJvdzphY3RpdmUsIC5wYXJhbGxheC12aWRlb19fYXJyb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0ZDRkNGQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNzhweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgei1pbmRleDogMTA7IH1cbiAgLnNpdGUtaGVhZGVyLnNpdGUtaGVhZGVyLS1waW5uZWQge1xuICAgIGhlaWdodDogNThweDsgfVxuICAgIC5zaXRlLWhlYWRlci5zaXRlLWhlYWRlci0tcGlubmVkIC5zaXRlLWxvZ28ge1xuICAgICAgd2lkdGg6IDcwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIuc2l0ZS1oZWFkZXItLXBpbm5lZCAuc2l0ZS1sb2dvIHtcbiAgICAgICAgICB3aWR0aDogNzBweDsgfSB9XG4gIC5zaXRlLWhlYWRlciAuc2l0ZS1sb2dvIHtcbiAgICB3aWR0aDogMTAwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5zaXRlLWhlYWRlciAuc2l0ZS1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDE1MHB4OyB9IH1cbiAgLnNpdGUtaGVhZGVyIC5zb2NpYWwtaWNvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAuc2l0ZS1oZWFkZXIgLnNvY2lhbC1pY29ucyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNlY29uZGFyeS1zaXRlLWhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLnNpdGUtaGVhZGVyX19yaWdodCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnNpdGUtZm9vdGVyIHtcbiAgbWF4LXdpZHRoOiA4NjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZzogMi45ODU5OGVtIDFlbTsgfVxuICAuc2l0ZS1mb290ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgIC5zaXRlLWZvb3RlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAuc2l0ZS1mb290ZXJfX2xpbmtzIHtcbiAgICAgICAgd2lkdGg6IDY2LjEwMTY5JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7IH1cbiAgICAgIC5zaXRlLWZvb3Rlcl9fbmV3c2xldHRlciB7XG4gICAgICAgIHdpZHRoOiAzMi4yMDMzOSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLnNpdGUtZm9vdGVyX19hZGRyZXNzLS1maXJzdCB7XG4gICAgICAgIHdpZHRoOiA0MC42Nzc5NyU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNjk0OTIlOyB9XG4gICAgICAuc2l0ZS1mb290ZXJfX2FkZHJlc3MtLWxhc3Qge1xuICAgICAgICB3aWR0aDogNTcuNjI3MTIlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjY5NDkyJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAuc2l0ZS1mb290ZXItd3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I1MTgyMztcbiAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5zaXRlLWZvb3Rlci13cmFwIGE6bGluaywgLnNpdGUtZm9vdGVyLXdyYXAgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjZWFlNDE1OyB9XG4gICAgICAuc2l0ZS1mb290ZXItd3JhcCBhOmxpbms6aG92ZXIsIC5zaXRlLWZvb3Rlci13cmFwIGE6bGluazphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGE6bGluay5hY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGE6bGluazpmb2N1cywgLnNpdGUtZm9vdGVyLXdyYXAgYTp2aXNpdGVkOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCBhOnZpc2l0ZWQ6YWN0aXZlLCAuc2l0ZS1mb290ZXItd3JhcCBhOnZpc2l0ZWQuYWN0aXZlLCAuc2l0ZS1mb290ZXItd3JhcCBhOnZpc2l0ZWQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5zaXRlLWZvb3Rlci13cmFwIGEuYWN0aXZlLXRyYWlsLCAuc2l0ZS1mb290ZXItd3JhcCBhLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgIC5zaXRlLWZvb3Rlci13cmFwIC5idG4sIC5zaXRlLWZvb3Rlci13cmFwIC5idXR0b24sIC5zaXRlLWZvb3Rlci13cmFwIC5tb3JlLWxpbmsgYSwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLnNpdGUtZm9vdGVyLXdyYXAgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiNTE4MjM7XG4gICAgICBib3JkZXItY29sb3I6ICM5OTAzMDU7IH1cbiAgICAgIC5zaXRlLWZvb3Rlci13cmFwIC5idG4sIC5zaXRlLWZvb3Rlci13cmFwIC5idG46bGluaywgLnNpdGUtZm9vdGVyLXdyYXAgLmJ0bjp2aXNpdGVkLCAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uLCAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uOmxpbmssIC5zaXRlLWZvb3Rlci13cmFwIC5idXR0b246dmlzaXRlZCwgLnNpdGUtZm9vdGVyLXdyYXAgLm1vcmUtbGluayBhLCAuc2l0ZS1mb290ZXItd3JhcCAubW9yZS1saW5rIGE6bGluaywgLnNpdGUtZm9vdGVyLXdyYXAgLm1vcmUtbGluayBhOnZpc2l0ZWQsIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluaywgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbmssIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZCwgLnNpdGUtZm9vdGVyLXdyYXAgYnV0dG9uLCAuc2l0ZS1mb290ZXItd3JhcCBidXR0b246bGluaywgLnNpdGUtZm9vdGVyLXdyYXAgYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI2VhZTQxNTsgfVxuICAgICAgICAuc2l0ZS1mb290ZXItd3JhcCAuYnRuOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCAuYnRuOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCAuYnRuLmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgLmJ0bjpsaW5rOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCAuYnRuOmxpbms6Zm9jdXMsIC5zaXRlLWZvb3Rlci13cmFwIC5idG46bGluay5hY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIC5idG46dmlzaXRlZDpob3ZlciwgLnNpdGUtZm9vdGVyLXdyYXAgLmJ0bjp2aXNpdGVkOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCAuYnRuOnZpc2l0ZWQuYWN0aXZlLCAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uLmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgLmJ1dHRvbjpsaW5rOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uOmxpbms6Zm9jdXMsIC5zaXRlLWZvb3Rlci13cmFwIC5idXR0b246bGluay5hY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIC5idXR0b246dmlzaXRlZDpob3ZlciwgLnNpdGUtZm9vdGVyLXdyYXAgLmJ1dHRvbjp2aXNpdGVkOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uOnZpc2l0ZWQuYWN0aXZlLCAuc2l0ZS1mb290ZXItd3JhcCAubW9yZS1saW5rIGE6aG92ZXIsIC5zaXRlLWZvb3Rlci13cmFwIC5tb3JlLWxpbmsgYTpmb2N1cywgLnNpdGUtZm9vdGVyLXdyYXAgLm1vcmUtbGluayBhLmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgLm1vcmUtbGluayBhOmxpbms6aG92ZXIsIC5zaXRlLWZvb3Rlci13cmFwIC5tb3JlLWxpbmsgYTpsaW5rOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCAubW9yZS1saW5rIGE6bGluay5hY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIC5tb3JlLWxpbmsgYTp2aXNpdGVkOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCAubW9yZS1saW5rIGE6dmlzaXRlZDpmb2N1cywgLnNpdGUtZm9vdGVyLXdyYXAgLm1vcmUtbGluayBhOnZpc2l0ZWQuYWN0aXZlLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmxpbms6Zm9jdXMsIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06bGluay5hY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZDpob3ZlciwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOnZpc2l0ZWQuYWN0aXZlLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpsaW5rOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmxpbms6Zm9jdXMsIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluay5hY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDpob3ZlciwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTp2aXNpdGVkOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQuYWN0aXZlLCAuc2l0ZS1mb290ZXItd3JhcCBidXR0b246aG92ZXIsIC5zaXRlLWZvb3Rlci13cmFwIGJ1dHRvbjpmb2N1cywgLnNpdGUtZm9vdGVyLXdyYXAgYnV0dG9uLmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgYnV0dG9uOmxpbms6aG92ZXIsIC5zaXRlLWZvb3Rlci13cmFwIGJ1dHRvbjpsaW5rOmZvY3VzLCAuc2l0ZS1mb290ZXItd3JhcCBidXR0b246bGluay5hY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGJ1dHRvbjp2aXNpdGVkOmhvdmVyLCAuc2l0ZS1mb290ZXItd3JhcCBidXR0b246dmlzaXRlZDpmb2N1cywgLnNpdGUtZm9vdGVyLXdyYXAgYnV0dG9uOnZpc2l0ZWQuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDcxOTIxO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgICBjb2xvcjogI2VhZTQxNTsgfVxuICAgICAgICBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIC5idG4sIGE6aG92ZXIgLnNpdGUtZm9vdGVyLXdyYXAgLmJ0bjpsaW5rLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIC5idG46dmlzaXRlZCwgYTpob3ZlciAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIC5idXR0b246bGluaywgYTpob3ZlciAuc2l0ZS1mb290ZXItd3JhcCAuYnV0dG9uOnZpc2l0ZWQsIGE6aG92ZXIgLnNpdGUtZm9vdGVyLXdyYXAgLm1vcmUtbGluayBhLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIC5tb3JlLWxpbmsgYTpsaW5rLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIC5tb3JlLWxpbmsgYTp2aXNpdGVkLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGE6aG92ZXIgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06dmlzaXRlZCwgYTpob3ZlciAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluaywgYTpob3ZlciAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOnZpc2l0ZWQsIGE6aG92ZXIgLnNpdGUtZm9vdGVyLXdyYXAgYnV0dG9uLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIGJ1dHRvbjpsaW5rLCBhOmhvdmVyIC5zaXRlLWZvb3Rlci13cmFwIGJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDcxOTIxO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Q3MTkyMTtcbiAgICAgICAgICBjb2xvcjogI0ZGRkZGRjsgfVxuICAgICAgICAuc2l0ZS1mb290ZXItd3JhcCAuYnRuOmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgLmJ0bjpsaW5rOmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgLmJ0bjp2aXNpdGVkOmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgLmJ1dHRvbjphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIC5idXR0b246bGluazphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIC5idXR0b246dmlzaXRlZDphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIC5tb3JlLWxpbmsgYTphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIC5tb3JlLWxpbmsgYTpsaW5rOmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgLm1vcmUtbGluayBhOnZpc2l0ZWQ6YWN0aXZlLCAuc2l0ZS1mb290ZXItd3JhcCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpsaW5rOmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTp2aXNpdGVkOmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJidXR0b25cIl06bGluazphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGlucHV0W3R5cGU9XCJidXR0b25cIl06dmlzaXRlZDphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGJ1dHRvbjphY3RpdmUsIC5zaXRlLWZvb3Rlci13cmFwIGJ1dHRvbjpsaW5rOmFjdGl2ZSwgLnNpdGUtZm9vdGVyLXdyYXAgYnV0dG9uOnZpc2l0ZWQ6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDcxOTIxO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2Q3MTkyMTsgfVxuICAuc2l0ZS1mb290ZXJfX3JvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzI4ZW07XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gICAgLnNpdGUtZm9vdGVyX19yb3c6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICAuc2l0ZS1mb290ZXJfX3JvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuOTg1OThlbTsgfSB9XG4gIC5zaXRlLWZvb3Rlcl9fY29sdW1uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjcyOGVtOyB9XG4gICAgLnNpdGUtZm9vdGVyX19jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gICAgICAuc2l0ZS1mb290ZXJfX2NvbHVtbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuc2l0ZS1mb290ZXJfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogLTVweDsgfVxuICAgIC5zaXRlLWZvb3Rlcl9faWNvbi0tbmV3c2xldHRlciB7XG4gICAgICB0b3A6IGF1dG87IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAgICAgICAuc2l0ZS1mb290ZXJfX2ljb24tLW5ld3NsZXR0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgLnNpdGUtZm9vdGVyX19pY29uIHN2ZyB7XG4gICAgICBmaWxsOiAjRkZGRkZGOyB9XG4gIC5zaXRlLWZvb3Rlcl9fbG9nbyB7XG4gICAgd2lkdGg6IDEzMHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgYXV0byAxLjJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZS1mb290ZXJfX2xvZ28gc3ZnIHtcbiAgICAgIGZpbGw6ICNGRkZGRkY7IH1cbiAgLnNpdGUtZm9vdGVyX190aXRsZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnNpdGUtZm9vdGVyX19jb250YWN0cy10aXRsZSwgLnNpdGUtZm9vdGVyX19jb250YWN0cy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNpdGUtZm9vdGVyX19jb250YWN0cy10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zaXRlLWZvb3Rlcl9fY29udGFjdHMtdGl0bGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJzonOyB9XG4gIC5zaXRlLWZvb3Rlcl9fY29udGFjdHMtY29udGVudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjJlbTsgfVxuICAuc2l0ZS1mb290ZXJfX2JvdHRvbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNpdGUtZm9vdGVyX19ib3R0b20gcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNpdGUtZm9vdGVyIC5tZW51IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnNpdGUtZm9vdGVyIC5tZW51IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAxLjJlbSAwIDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MDBweCkge1xuICAuc2l0ZS1mb290ZXJfX25ld3NsZXR0ZXIge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLnNpdGUtZm9vdGVyX19uZXdzbGV0dGVyIC5zaXRlLWZvb3Rlcl9faWNvbixcbi5zaXRlLWZvb3Rlcl9fbmV3c2xldHRlciAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5zaXRlLWZvb3Rlcl9fbmV3c2xldHRlciAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAgMCAwLjgzMzMzZW07IH1cblxuLmJsb2NrLWNhcm91c2VsIHtcbiAgcGFkZGluZzogMCA2MHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5ibG9jay1jYXJvdXNlbCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmJsb2NrLWNhcm91c2VsIC5zbGljay1zbGlkZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYmxvY2stY2Fyb3VzZWwgLmNhcm91c2VsLXBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDEuMmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5ibG9jay1jYXJvdXNlbCB+IC5jYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZXZlbnQtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgLmV2ZW50LWJhbm5lcl9fc3VtbWFyeSB7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG4gICAgICAuZXZlbnQtYmFubmVyX19zdW1tYXJ5IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IH0gfVxuICAuZXZlbnQtYmFubmVyX19kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNHB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA1MHB4IDEwcHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDExMjBweCkge1xuICAgICAgLmV2ZW50LWJhbm5lcl9fZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiA0OThweDtcbiAgICAgICAgcGFkZGluZzogNDBweDsgfSB9XG4gICAgLmV2ZW50LWJhbm5lcl9fZGV0YWlscy1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAuZXZlbnQtYmFubmVyX19kZXRhaWxzLWNsb3NlIHN2ZyB7XG4gICAgICAgIGZpbGw6ICNiNTE4MjM7IH1cbiAgICAgIC5ldmVudC1iYW5uZXJfX2RldGFpbHMtY2xvc2UuYWN0aXZlLCAuZXZlbnQtYmFubmVyX19kZXRhaWxzLWNsb3NlOmhvdmVyLCAuZXZlbnQtYmFubmVyX19kZXRhaWxzLWNsb3NlOmFjdGl2ZSwgLmV2ZW50LWJhbm5lcl9fZGV0YWlscy1jbG9zZTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5ldmVudC1iYW5uZXJfX2RldGFpbHMtY2xvc2UuYWN0aXZlIHN2ZywgLmV2ZW50LWJhbm5lcl9fZGV0YWlscy1jbG9zZTpob3ZlciBzdmcsIC5ldmVudC1iYW5uZXJfX2RldGFpbHMtY2xvc2U6YWN0aXZlIHN2ZywgLmV2ZW50LWJhbm5lcl9fZGV0YWlscy1jbG9zZTpmb2N1cyBzdmcge1xuICAgICAgICAgIGZpbGw6ICNkNzE5MjE7IH1cbiAgLmV2ZW50LWJhbm5lcl9fbG9nbyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5ldmVudC1iYW5uZXJfX2RhdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDEuMmVtO1xuICAgIGNvbG9yOiAjNGQ0ZDRkO1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmV2ZW50LWJhbm5lcl9fZGF0ZS0tYWx0IHtcbiAgICAgIG1hcmdpbjogMC40MDE4OGVtIDAgMDtcbiAgICAgIGNvbG9yOiAjRkZGRkZGOyB9XG4gIC5ldmVudC1iYW5uZXJfX2N0YSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogNTBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1hcmdpbjogMS40NGVtIDAgMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMTIwcHgpIHtcbiAgICAgIC5ldmVudC1iYW5uZXJfX2N0YSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuICAuZXZlbnQtYmFubmVyX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIC5ldmVudC1iYW5uZXJfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyOHB4OyB9IH1cbiAgLmV2ZW50LWJhbm5lcl9fYm9keSB7XG4gICAgY29sb3I6ICM0ZDRkNGQ7IH1cbiAgLmV2ZW50LWJhbm5lcl9fc3VidGl0bGUsXG4gIC5ldmVudC1iYW5uZXIgaDMge1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgY29sb3I6ICMyMzFmMjA7XG4gICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAuZXZlbnQtYmFubmVyX19saW5rIHtcbiAgICBtYXJnaW46IDIuNDg4MzJlbSAwIDA7IH1cblxuLmV2ZW50LWJhbm5lci1jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDc4cHgpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYm9yZGVyOiA1cHggc29saWQgI0ZGRkZGRjtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogNDBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG4gICAgLmV2ZW50LWJhbm5lci1jYXJvdXNlbCB7XG4gICAgICBib3JkZXItd2lkdGg6IDQwcHg7IH0gfVxuICAuZXZlbnQtYmFubmVyLWNhcm91c2VsIC5jYXJvdXNlbC1wYWdpbmF0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDsgfVxuICAuZXZlbnQtYmFubmVyLWNhcm91c2VsIC5jYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDExMjBweCkge1xuICAgICAgLmV2ZW50LWJhbm5lci1jYXJvdXNlbCAuY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmV2ZW50LWJhbm5lci1jYXJvdXNlbCAuanMtd2lsbC1mYWRlLW91dCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0OyB9XG4gICAgLmV2ZW50LWJhbm5lci1jYXJvdXNlbCAuanMtd2lsbC1mYWRlLW91dC5pcy1oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuZXZlbnQtYmFubmVyLWNhcm91c2VsIC5qcy13aWxsLXNsaWRlLWluIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgdHJhbnNsYXRlWCgycHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBlYXNlLW91dDsgfVxuICAgIC5ldmVudC1iYW5uZXItY2Fyb3VzZWwgLmpzLXdpbGwtc2xpZGUtaW4uaXMtdmlzaWJsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLmpzLWV2ZW50LWNhcm91c2VsLFxuLmpzLWV2ZW50LWNhcm91c2VsLXNsaWRlLFxuLmpzLWV2ZW50LWNhcm91c2VsIC5zbGljay1saXN0LFxuLmpzLWV2ZW50LWNhcm91c2VsIC5zbGljay10cmFjayxcbi5ldmVudC1iYW5uZXIgLmNvbnRleHR1YWwtbGlua3MtcmVnaW9uIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbiNhbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA3OXB4O1xuICB3aWR0aDogMTAwJTtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgNTBweCAwIDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogI2I1MTkyNDtcbiAgY29sb3I6ICNmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxOyB9XG4gICNhbGVydCAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDI1cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoLi4vLi4vaWNvbnMvY2xvc2Uuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICNhbGVydCAubG9nb190aXRsZV93cmFwcGVyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAjYWxlcnQubS1hbGVydCAubG9nb190aXRsZV93cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMjM1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICNhbGVydC5hbGVydC1pbmZvIC5sb2dvX3RpdGxlX3dyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICNhbGVydCAubG9nb190aXRsZV93cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAyMTVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgICNhbGVydCAubG9nb190aXRsZV93cmFwcGVyIC5hbGVydC10aXRsZSB7XG4gICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgI2FsZXJ0IC5hbGVydC10aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZy1sZWZ0OiAxMDJweDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IC00MHB4IDAgMCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDI4cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAjYWxlcnQgLmFsZXJ0LWluZm8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMjNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAjYWxlcnQgLmFsZXJ0LWluZm8ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgI2FsZXJ0IC5hbGVydC1pbmZvIC5hbGVydC1saW5rIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5NTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGhlaWdodDogNzBweDsgfSB9XG4gICNhbGVydCAuYWxlcnQtaWNvbiB7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDc4cHg7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pY29ucy9hbGVydC15ZWxsb3cuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMTBweDsgfVxuICAjYWxlcnQgLmFsZXJ0X2JvZHkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDVweCAxODVweCAxMHB4IDI3MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAjYWxlcnQgLmFsZXJ0X2JvZHkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgI2FsZXJ0IC5hbGVydF9ib2R5IHAge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAjYWxlcnQgLmFsZXJ0X2JvZHkgcCBhLCAjYWxlcnQgLmFsZXJ0X2JvZHkgcCBhOnZpc2l0ZWQge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhcjtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMTAwbXMgbGluZWFyO1xuICAgICAgICAtby10cmFuc2l0aW9uOiBhbGwgMTAwbXMgbGluZWFyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTAwbXMgbGluZWFyOyB9XG4gICAgI2FsZXJ0IC5hbGVydF9ib2R5IGgxLCAjYWxlcnQgLmFsZXJ0X2JvZHkgaDIsICNhbGVydCAuYWxlcnRfYm9keSBoMywgI2FsZXJ0IC5hbGVydF9ib2R5IGg0LCAjYWxlcnQgLmFsZXJ0X2JvZHkgaDUsICNhbGVydCAuYWxlcnRfYm9keSBoNiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgNXB4O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgI2FsZXJ0IGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICNhbGVydCBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAjYWxlcnQgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzM5YzsgfVxuICAgICNhbGVydCBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzM5YzsgfVxuICAgICNhbGVydCBhLmFsZXJ0LWJ1dHRvbiwgI2FsZXJ0IGEuYWxlcnQtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3MHB4O1xuICAgICAgYmFja2dyb3VuZDogI2VhZTQxNTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzAzMDMzNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAjYWxlcnQgYS5hbGVydC1idXR0b24sICNhbGVydCBhLmFsZXJ0LWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAgICNhbGVydCBhLmFsZXJ0LWJ1dHRvbjpob3ZlciwgI2FsZXJ0IGEuYWxlcnQtYnV0dG9uOnZpc2l0ZWQ6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgb3BhY2l0eTogLjk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgI2FsZXJ0Lm0tYWxlcnQgLmFsZXJ0X2JvZHkge1xuICAgICAgcGFkZGluZzogMCAxMDVweCAwIDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQyJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgI2FsZXJ0IGEuYWxlcnQtYnV0dG9uLCAjYWxlcnQgYS5hbGVydC1idXR0b246dmlzaXRlZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMzVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTBweCkge1xuICAgICNhbGVydC5tLWFsZXJ0IGEuYWxlcnQtYnV0dG9uLCAjYWxlcnQubS1hbGVydCBhLmFsZXJ0LWJ1dHRvbjp2aXNpdGVkIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHJpZ2h0OiA2NXB4O1xuICAgICAgdG9wOiAzNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgI2FsZXJ0Lm0tYWxlcnQgYS5hbGVydC1idXR0b24sICNhbGVydC5tLWFsZXJ0IGEuYWxlcnQtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRvcDogMzVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQ3NXB4OyB9IH1cblxuLl9zY3JvbGwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuX3Njcm9sbCAuX2hlYWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjYwcHgpIHtcbiAgICAgIC5fc2Nyb2xsIC5faGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7IH0gfVxuICAuX3Njcm9sbCAubWVudS0tc29jaWFsIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLl9zY3JvbGwgLm5vZGUtZnItY3QtZnJvbnQtcGFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDsgfVxuICAgIC5fc2Nyb2xsIC5ub2RlLWZyLWN0LWZyb250LXBhZ2UgLmZpZWxkLWNvbGxlY3Rpb24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zLjEyNWVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgLl9zY3JvbGwgLm5vZGUtZnItY3QtZnJvbnQtcGFnZSAuZmllbGQtY29sbGVjdGlvbi1jb250YWluZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gIC5fc2Nyb2xsLS1wYW5lbCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5OTAzMDU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLl9zY3JvbGwtLXBhbmVsLS1pbWFnZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuX3Njcm9sbC0tcGFuZWwtLWltYWdlIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMSU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE0MCU7XG4gICAgICAgIHdpZHRoOiAxNDAlOyB9XG4gICAgICAgICNibG9jay1ibG9jay00IC5fc2Nyb2xsLS1wYW5lbC0taW1hZ2UgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDcwNHB4KSB7XG4gICAgICAgICAgLl9zY3JvbGwtLXBhbmVsLS1pbWFnZSBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgICAuX3Njcm9sbC0tcGFuZWwtLWxvZ28ge1xuICAgICAgbWFyZ2luOiAwLjYyNWVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMzBweDtcbiAgICAgIG1heC13aWR0aDogMjY4cHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAuX3Njcm9sbC0tcGFuZWwtLWxvZ28ge1xuICAgICAgICAgIHdpZHRoOiAxOTJweDsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLl9zY3JvbGwtLXBhbmVsLS1sb2dvIHtcbiAgICAgICAgICBtYXJnaW46IDEuODc1ZW07XG4gICAgICAgICAgd2lkdGg6IDI2OHB4OyB9IH1cbiAgICAuX3Njcm9sbC0tcGFuZWwtLXRleHRib3gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7IH1cbiAgICAgIC5fc2Nyb2xsLS1wYW5lbC0tdGV4dGJveCBwIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgLl9zY3JvbGwtLXBhbmVsLS10ZXh0Ym94IHtcbiAgICAgICAgICBtYXJnaW46IDEuODc1ZW07XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICAgIC5fc2Nyb2xsLS1wYW5lbC0tZGF0ZSB7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1ZW07IH1cbiAgICAuX3Njcm9sbC0tcGFuZWwtLXRleHQge1xuICAgICAgcGFkZGluZzogMS44NzVlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5fc2Nyb2xsLS1wYW5lbC0tdGV4dCB7XG4gICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7XG4gICAgICAgICAgLyogRm9yIElFOCBhbmQgZWFybGllciAqLyB9IH1cbiAgICAgICNibG9jay1ibG9jay00IC5fc2Nyb2xsLS1wYW5lbC0tdGV4dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICNibG9jay1ibG9jay00IC5fc2Nyb2xsLS1wYW5lbC0tdGV4dCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS44NzVlbTsgfSB9XG4gICAgLl9zY3JvbGwtLXBhbmVsLS1idXR0b25zIHtcbiAgICAgIG1hcmdpbjogMC4yNXJlbTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIC5fc2Nyb2xsLS1wYW5lbC0tYnV0dG9ucyB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLl9zY3JvbGwgI19ldmgtcmljLFxuICAuX3Njcm9sbCAjX2V2aC1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAuX3Njcm9sbCAubHQtaWU5IHtcbiAgICAgIG1pbi13aWR0aDogODAwcHg7IH0gfVxuXG4uX2RlZmF1bHQgLl9oZWFkZXIsXG4uX2RlZmF1bHQgLl9tYWluIHtcbiAgbWF4LXdpZHRoOiAxMjM1cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMS4yNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjI1ZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5fZGVmYXVsdCAuX2hlYWRlcjphZnRlcixcbiAgLl9kZWZhdWx0IC5fbWFpbjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLl9kZWZhdWx0IC5fbWFpbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHBhZGRpbmctdG9wOiA1MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNS4xNTk3OGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAgIC5fZGVmYXVsdCAuX21haW4ge1xuICAgICAgcGFkZGluZy10b3A6IDc4cHg7IH0gfVxuXG4uX21haW4tcHJlZml4IHtcbiAgcGFkZGluZy10b3A6IDc4cHg7IH1cbiAgLl9tYWluLXByZWZpeC0tcGlubmVkIHtcbiAgICBwYWRkaW5nLXRvcDogNThweDsgfVxuXG4uX21haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLl9tYWluLFxuLnBhZ2UtYm90dG9tLXdyYXBwZXIge1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMTIwcHgpIHtcbiAgICAuX21haW4sXG4gICAgLnBhZ2UtYm90dG9tLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG5cbi52aWV3LWRpc3BsYXktaWQtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uX21haW4gLm1lZ2EtbmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDIwMCU7XG4gIHBhZGRpbmctdG9wOiAxMDNweDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgei1pbmRleDogMTsgfVxuICAuX21haW4gLm1lZ2EtbmF2IC5tZWdhLWxpbms6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogLTE0cHg7IH1cbiAgLl9tYWluIC5tZWdhLW5hdiAubWVnYS1saW5rOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE0cHg7IH1cbiAgLm5vLWpzIC5fbWFpbiAubWVnYS1uYXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDExMjBweCkge1xuICAgIC5fbWFpbiAubWVnYS1uYXYge1xuICAgICAgcGFkZGluZy10b3A6IDExOHB4OyB9IH1cbiAgLl9tYWluIC5tZWdhLW5hdi5pcy1hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIC5fbWFpbiAubWVnYS1uYXYuaXMtYWN0aXZlLm1lZ2EtbmF2LS1waW5uZWQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTBweCk7IH1cbiAgLl9tYWluIC5tZWdhLW5hdi5tZWdhLW5hdi0tcGlubmVkIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAtMHB4KTsgfVxuXG4ucGFnZS1zbGljZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMi45ODU5OGVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgIC5wYWdlLXNsaWNlIHtcbiAgICAgIG1hcmdpbi10b3A6IDUuMTU5NzhlbTsgfSB9XG4gIC5wYWdlLXNsaWNlLS1sYXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjk4NTk4ZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5wYWdlLXNsaWNlLS1sYXN0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNS4xNTk3OGVtOyB9IH1cbiAgLnBhZ2Utc2xpY2VfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogMS4yZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICAucGFnZS1zbGljZV9fY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi4wNzM2ZW07IH0gfVxuICAgIC5wYWdlLXNsaWNlX19jdGEgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLnBhZ2UtYm90dG9tIHtcbiAgbWF4LXdpZHRoOiAxMjM1cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnBhZ2UtYm90dG9tOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnZS1ib3R0b20gLmJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAgIC5wYWdlLWJvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAucGFnZS1ib3R0b20gLmJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDQ5LjE1MjU0JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS42OTQ5MiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLnBhZ2UtYm90dG9tIC5ibG9jazpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5wYWdlLWJvdHRvbSAubWVkaWEtYmxvY2sge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG5cbi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAwIDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCBmaWx0ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLmhhbWJ1cmdlcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yLjVweDsgfVxuICAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjUxODIzO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAtMTBweDsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtMTBweDsgfVxuXG4vKlxuICAgKiAzRFhcbiAgICovXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1ib3gge1xuICBwZXJzcGVjdGl2ZTogNzBweDsgfVxuXG4uaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS0zZHggLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS0zZHguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiAzRFggUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLTNkeC1yIC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDcwcHg7IH1cblxuLmhhbWJ1cmdlci0tM2R4LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHgtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLTNkeC1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tM2R4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qXG4gICAqIDNEWVxuICAgKi9cbi5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWJveCB7XG4gIHBlcnNwZWN0aXZlOiA3MHB4OyB9XG5cbi5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLTNkeSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpOyB9XG5cbi5oYW1idXJnZXItLTNkeS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHkuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiAzRFkgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLTNkeS1yIC5oYW1idXJnZXItYm94IHtcbiAgcGVyc3BlY3RpdmU6IDcwcHg7IH1cblxuLmhhbWJ1cmdlci0tM2R5LXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS0zZHktciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItLTNkeS1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7IH1cblxuLmhhbWJ1cmdlci0tM2R5LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tM2R5LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLTNkeS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKC00NWRlZyk7IH1cblxuLypcbiAgICogQXJyb3dcbiAgICovXG4uaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtN3B4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTdweCwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEFycm93IFJpZ2h0XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3ctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3cHgsIDAsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvdy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoN3B4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi8qXG4gICAqIEFycm93IEFsdFxuICAgKi9cbi5oYW1idXJnZXItLWFycm93YWx0IC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93YWx0IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7IH1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtN3B4LCAtOC43NXB4LCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xNXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvd2FsdC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTdweCwgOC43NXB4LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi8qXG4gICAqIEFycm93IEFsdCBSaWdodFxuICAgKi9cbi5oYW1idXJnZXItLWFycm93YWx0LXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7IH1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93YWx0LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3cHgsIC04Ljc1cHgsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMTVzIDAuMXMgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7IH1cblxuLmhhbWJ1cmdlci0tYXJyb3dhbHQtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoN3B4LCA4Ljc1cHgsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpOyB9XG5cbi8qXG4gICAqIEJvcmluZ1xuICAgKi9cbi5oYW1idXJnZXItLWJvcmluZyAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLS1ib3JpbmcgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS1ib3JpbmcgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBub25lOyB9XG5cbi5oYW1idXJnZXItLWJvcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1ib3JpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tYm9yaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cblxuLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IC0yMHB4O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCBvcGFjaXR5IDAuMXMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tY29sbGFwc2UuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgb3BhY2l0eSAwLjFzIDAuMjdzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4xOHMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xNXMgMC40MnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogQ29sbGFwc2UgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLWNvbGxhcHNlLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IC0yMHB4O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCBvcGFjaXR5IDAuMXMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4zcyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1jb2xsYXBzZS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1jb2xsYXBzZS1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCBvcGFjaXR5IDAuMXMgMC4yN3MgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLWNvbGxhcHNlLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4xOHMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xNXMgMC40MnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogRWxhc3RpY1xuICAgKi9cbi5oYW1idXJnZXItLWVsYXN0aWMgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRvcDogMi41cHg7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgMC40cyBlYXNlOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuXG4uaGFtYnVyZ2VyLS1lbGFzdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoMTM1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xczsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tZWxhc3RpYy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHJvdGF0ZSgtMjcwZGVnKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzOyB9XG5cbi8qXG4gICAqIEVsYXN0aWMgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLWVsYXN0aWMtciAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiAyLjVweDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpOyB9XG4gIC5oYW1idXJnZXItLWVsYXN0aWMtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIDAuNHMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTsgfVxuXG4uaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSgtMTM1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xczsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS1lbGFzdGljLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSByb3RhdGUoMjcwZGVnKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzOyB9XG5cbi8qXG4gICAqIEVtcGhhdGljXG4gICAqL1xuLmhhbWJ1cmdlci0tZW1waGF0aWMge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5oYW1idXJnZXItLWVtcGhhdGljIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyAwLjI1cyBlYXNlLWluOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksIHRvcCAwLjA1cyAwLjJzIGxpbmVhciwgbGVmdCAwLjJzIDAuMjVzIGVhc2UtaW47IH1cbiAgICAuaGFtYnVyZ2VyLS1lbXBoYXRpYyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMnMgbGluZWFyLCByaWdodCAwLjJzIDAuMjVzIGVhc2UtaW47IH1cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5oYW1idXJnZXItLWVtcGhhdGljLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgICAgbGVmdDogLTcwcHg7XG4gICAgICB0b3A6IC03MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3MHB4LCA3MHB4LCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjJzIGVhc2Utb3V0LCB0b3AgMC4wNXMgMC4ycyBsaW5lYXIsIHRyYW5zZm9ybSAwLjJzIDAuMjVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtNzBweDtcbiAgICAgIHRvcDogLTcwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03MHB4LCA3MHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMnMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjJzIGxpbmVhciwgdHJhbnNmb3JtIDAuMnMgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7IH1cblxuLypcbiAgICogRW1waGF0aWMgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLWVtcGhhdGljLXIge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5oYW1idXJnZXItLWVtcGhhdGljLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIDAuMjVzIGVhc2UtaW47IH1cbiAgICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNiwgMC4wNCwgMC45OCwgMC4zMzUpLCB0b3AgMC4wNXMgMC4ycyBsaW5lYXIsIGxlZnQgMC4ycyAwLjI1cyBlYXNlLWluOyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSwgdG9wIDAuMDVzIDAuMnMgbGluZWFyLCByaWdodCAwLjJzIDAuMjVzIGVhc2UtaW47IH1cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmhhbWJ1cmdlci0tZW1waGF0aWMtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IC03MHB4O1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg3MHB4LCAtNzBweCwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjJzIGxpbmVhciwgdHJhbnNmb3JtIDAuMnMgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7IH1cbiAgICAuaGFtYnVyZ2VyLS1lbXBoYXRpYy1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgICByaWdodDogLTcwcHg7XG4gICAgICB0b3A6IDcwcHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC03MHB4LCAtNzBweCwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMnMgZWFzZS1vdXQsIHRvcCAwLjA1cyAwLjJzIGxpbmVhciwgdHJhbnNmb3JtIDAuMnMgMC4yNXMgY3ViaWMtYmV6aWVyKDAuMDc1LCAwLjgyLCAwLjE2NSwgMSk7IH1cblxuLypcbiAgICogU2xpZGVyXG4gICAqL1xuLmhhbWJ1cmdlci0tc2xpZGVyIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDIuNXB4OyB9XG4gIC5oYW1idXJnZXItLXNsaWRlciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4yczsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMjBweDsgfVxuXG4uaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSg0NWRlZyk7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlM2QoLTVweCwgLTVweCwgMCk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaGFtYnVyZ2VyLS1zbGlkZXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSByb3RhdGUoLTkwZGVnKTsgfVxuXG4vKlxuICAgKiBTbGlkZXIgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IDIuNXB4OyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDIwcHg7IH1cblxuLmhhbWJ1cmdlci0tc2xpZGVyLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpOyB9XG4gIC5oYW1idXJnZXItLXNsaWRlci1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUzZCg1cHgsIC01cHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKSByb3RhdGUoOTBkZWcpOyB9XG5cbi8qXG4gICAqIFNwcmluZ1xuICAgKi9cbi5oYW1idXJnZXItLXNwcmluZyAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdG9wOiAyLjVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwcyAwLjE1cyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSwgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXNwcmluZyAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdG9wOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3ByaW5nLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zMnM7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5oYW1idXJnZXItLXNwcmluZy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMThzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgdHJhbnNmb3JtIDAuMTVzIDAuMzJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgcm90YXRlKDQ1ZGVnKTsgfVxuICAuaGFtYnVyZ2VyLS1zcHJpbmcuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xNXMgMC4zMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4vKlxuICAgKiBTcHJpbmcgUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXNwcmluZy1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogLTIwcHg7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgMC4zcyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIG9wYWNpdHkgMHMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXNwcmluZy1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cblxuLmhhbWJ1cmdlci0tc3ByaW5nLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zcHJpbmctci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgb3BhY2l0eSAwcyAwLjMycyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4xOHMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCB0cmFuc2Zvcm0gMC4xNXMgMC4zMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLypcbiAgICogU3RhbmRcbiAgICovXG4uaGFtYnVyZ2VyLS1zdGFuZCAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgMC4yMnMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBsaW5lYXI7IH1cbiAgLmhhbWJ1cmdlci0tc3RhbmQgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjFzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjFzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjFzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4yMnMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTJzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4xcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xMnMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjFzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi8qXG4gICAqIFN0YW5kIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSwgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4xcyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjFzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXN0YW5kLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgMHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSksIGJhY2tncm91bmQtY29sb3IgMHMgMC4yMnMgbGluZWFyOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xMnMgZWFzZS1vdXQsIHRyYW5zZm9ybSAwLjFzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXN0YW5kLXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMTJzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4xcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBTcGluXG4gICAqL1xuLmhhbWJ1cmdlci0tc3BpbiAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXNwaW4gLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjM0cyBlYXNlLWluLCBvcGFjaXR5IDAuMXMgZWFzZS1pbjsgfVxuICAuaGFtYnVyZ2VyLS1zcGluIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjM0cyBlYXNlLWluLCB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zcGluLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4xNHM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LCBvcGFjaXR5IDAuMXMgMC4xNHMgZWFzZS1vdXQ7IH1cbiAgLmhhbWJ1cmdlci0tc3Bpbi5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4zcyAwLjE0cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBTcGluIFJldmVyc2VcbiAgICovXG4uaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjM0cyBlYXNlLWluLCBvcGFjaXR5IDAuMXMgZWFzZS1pbjsgfVxuICAuaGFtYnVyZ2VyLS1zcGluLXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMzRzIGVhc2UtaW4sIHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG5cbi5oYW1idXJnZXItLXNwaW4tci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE0cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXNwaW4tci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLW91dCwgb3BhY2l0eSAwLjFzIDAuMTRzIGVhc2Utb3V0OyB9XG4gIC5oYW1idXJnZXItLXNwaW4tci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4zcyAwLjE0cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuXG4vKlxuICAgKiBTcXVlZXplXG4gICAqL1xuLmhhbWJ1cmdlci0tc3F1ZWV6ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIC5oYW1idXJnZXItLXNxdWVlemUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE0cyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjE0cyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE0cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXNxdWVlemUuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIDAuMTRzIGVhc2U7IH1cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIDAuMTRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG5cbi8qXG4gICAqIFZvcnRleFxuICAgKi9cbi5oYW1idXJnZXItLXZvcnRleCAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXggLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4IC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTsgfVxuXG4uaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg3NjVkZWcpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXguaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgfVxuXG4vKlxuICAgKiBWb3J0ZXggUmV2ZXJzZVxuICAgKi9cbi5oYW1idXJnZXItLXZvcnRleC1yIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci0tdm9ydGV4LXIgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtciAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtciAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07IH1cblxuLmhhbWJ1cmdlci0tdm9ydGV4LXIuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzY1ZGVnKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTsgfVxuICAuaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLS12b3J0ZXgtci5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5oYW1idXJnZXItLXZvcnRleC1yLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7IH1cbiIsIi8qISBSZXNldC9ub3JtYWxpemUgaHlicmlkIHdpdGggbWFqb3IgY29udHJpYnV0aW9ucyBmcm9tIG5vcm1hbGl6ZS5jc3MsIGh0bWw1ZG9jdG9yLmNvbSBSZXNldCBTdHlsZXNoZWV0LCBhbmQgaHR0cDovL2h0bWw1cmVzZXQub3JnL1xuXG4qIFNhbSBSaWNoYXJkIC0gaHR0cDovL3NudWd1Zy5jb20vXG4qIE5pY2hvbGFzIEdhbGxhZ2hlciwgSm9uYXRoYW4gTmVhbCAtIGh0dHA6Ly9uZWNvbGFzLmdpdGh1Yi5pby9ub3JtYWxpemUuY3NzL1xuKiBSaWNoYXJkIENsYXJrIC0gaHR0cDovL3JpY2hjbGFya2Rlc2lnbi5jb21cbiogVGltIE11cnRhdWdoIC0gaHR0cDovL21vbmtleWRvLmJpei9cbiovXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQmFzaWMgcmVzZXRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuYWJicixcbmFkZHJlc3MsXG5hcnRpY2xlLFxuYXNpZGUsXG5hdWRpbyxcbmIsXG5ibG9ja3F1b3RlLFxuYm9keSxcbmNhbnZhcyxcbmNhcHRpb24sXG5jaXRlLFxuY29kZSxcbmRkLFxuZGVsLFxuZGV0YWlscyxcbmRmbixcbmRpdixcbmRsLFxuZHQsXG5lbSxcbmZpZWxkc2V0LFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmZvcm0sXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5oZWFkZXIsXG5oZ3JvdXAsXG5odG1sLFxuaSxcbmlmcmFtZSxcbmltZyxcbmlucyxcbmtiZCxcbmxhYmVsLFxubGVnZW5kLFxubGksXG5tYXJrLFxubWFpbixcbm1lbnUsXG5uYXYsXG5vYmplY3QsXG5vbCxcbnAsXG5wcmUsXG5xLFxuc2FtcCxcbnNlY3Rpb24sXG5zbWFsbCxcbnNwYW4sXG5zdHJvbmcsXG5zdWIsXG5zdW1tYXJ5LFxuc3VwLFxudGFibGUsXG50Ym9keSxcbnRkLFxudGZvb3QsXG50aCxcbnRoZWFkLFxudGltZSxcbnRyLFxudWwsXG52YXIsXG52aWRlbyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5odG1sIHtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXNldHMgYm9keSBsaW5lIGhlaWdodFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTEgYW5kIEZpcmVmb3guXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gMlxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4vLyBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBMaW5rc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5hYmJyW3RpdGxlXSxcbmRmblt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVtb3ZlIHRleHQgZGVjb3JhdGlvblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmlucyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBBZGRzIHN0cmlrZXRocm91Z2hcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuZGVsIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmVzZXQgcXVvdGVzIGZvciBibG9ja3F1b3RlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuYmxvY2txdW90ZSxcbnEge1xuICBxdW90ZXM6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGU6YmVmb3JlLFxuYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLFxucTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBjb250ZW50OiBub25lO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJlbW92ZSBsaXN0IHN0eWxlIGZvciBsaXN0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR3JvdXBpbmcgY29udGVudFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbi8vIDIuIFByZS1mb3JtYXQgdGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyAxXG4gIHdoaXRlLXNwYWNlOiBwcmU7IC8vIDJcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTsgLy8gMlxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC8vIDJcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAxLiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBFbnN1cmUgbW9ub3NwYWNlIGZvbnRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNhbnMtc2VyaWY7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuaHIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRm9ybXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWQgc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4vLyAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuLy8gQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4vLyBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4vLyAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSBgaW5wdXRgIGFuZCBvdGhlcnMuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvLyAxXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpbiB0aGUgVUEgc3R5bGVzaGVldC5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuLy8gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vXG4vLyBSZW1vdmVzIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXMgcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBBbGlnbiBpbnB1dCBhbmQgc2VsZWN0IHRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5pbnB1dCxcbnNlbGVjdCB7XG4gIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZW1vdmUgcGFkZGluZyBmcm9tIHRhYmxlIGNlbGwgYW5kIHRhYmxlIGhlYWRlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gS2lja3N0YXJ0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AaW1wb3J0IFwia2lja3N0YXJ0XCI7XG4iLCJodG1sIHtcbiAgQGlmIG1peGluLWV4aXN0cygnYm94LXNpemluZycpIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKCdib3JkZXItYm94Jyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuZW1iZWQsXG5pbWcsXG5vYmplY3QsXG52aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbiAqIExpZ2h0XG4gKi9cbiRsaWdodC15ZWxsb3c6ICNGRkZDRDU7XG4kbGlnaHQtZ3JlZW46ICM1NDY2NjY7XG4kbGlnaHQtYnJvd246ICNGNkY2RjU7XG4kbGlnaHQtcmVkOiAjZDcxOTIxO1xuXG4vKlxuICogTWlkXG4gKi9cbiRtaWQteWVsbG93OiAjZmZlNmIyO1xuJG1pZC1ncmVlbjogIzM0NTk1OTtcbiRtaWQtYnJvd246ICNCMkIyQjI7XG4kbWlkLXJlZDogI2I1MTgyMztcblxuLypcbiAqIERhcmtcbiAqL1xuJGRhcmsteWVsbG93OiAjZWFlNDE1O1xuJGRhcmstZ3JlZW46ICMxQTM2Mzc7XG4kZGFyay1icm93bjogIzU0NDY0MztcbiRkYXJrLXJlZDogIzk5MDMwNTtcblxuLypcbiAqIEJhc2UgY29sb3Vyc1xuICovXG4kYmx1ZTogIzI5M0Y3MjtcbiRibGFjazogIzIzMWYyMDtcbiR3aGl0ZTogI0ZGRkZGRjtcbiRncmVlbjogIzcyQURCOTtcbiRyZWdpc3RyYXRpb246ICMwMDAwMDA7XG4kbG9nby15ZWxsb3c6ICNmZmYyM2E7XG4kbG9nby1vcmFuZ2U6ICNmMjZmMjE7XG5cbi8qXG4gKiBTb2NpYWxcbiAqL1xuJHR3aXR0ZXItYmx1ZTogIzI3QTlFMTtcbiRmYWNlYm9vay1ibHVlOiAjM2I1OTk4O1xuJHlvdXR1YmUtcmVkOiAjYmIwMDAwO1xuJHNwb3RpZnktZ3JlZW46ICM4NEJEMDA7XG4kZ29vZ2xlLXBsdXMtcmVkOiAjZGQ0YjM5O1xuJGxpbmtlZGluLWJsdWU6ICMwMDdiYjY7XG4kaW5zdGFncmFtLWJsdWU6ICM1MTdmYTQ7XG4kcGludGVyZXN0LXJlZDogI2NiMjAyNztcbiR2aW5lLWdyZWVuOiAjMDBiZjhmO1xuJHNuYXBjaGF0LXllbGxvdzogI2ZmZmMwMDtcbiRxdW9yYS1idXJndW5keTogI2E4MjQwMDtcbiRmbGlja3ItcGluazogI2ZmMDA4NDtcbiR0dW1ibHItZGFyay10dXJxdW9pc2U6ICMzMjUwNmQ7XG4kdmltZW8tZ3JlZW46ICNhYWQ0NTA7XG4kZm91cnNxdWFyZS1ibHVlOiAjMDA3MmIxO1xuXG4vKlxuICogRm9ybSBDb2xvdXJzXG4gKi9cbiRwYWxlLWJsdWUgIDogI2Q5ZTllZjtcbiRsaWdodC1ibHVlIDogIzM1OGZhZjtcbiRtaWQtYmx1ZSAgIDogIzAwNzRCRDtcbiRkYXJrLWJsdWUgIDogIzE5M2E4MjtcblxuJG9yYW5nZSAgICAgOiAjZTQ2MjFjO1xuJHBhbGUtb3JhbmdlOiAjZWZhNDdiO1xuXG4kcmVkICAgICAgICA6ICRtaWQtcmVkO1xuXG4keWVsbG93ICAgICA6ICRkYXJrLXllbGxvdztcblxuJGxpZ2h0LWdyZXkgOiAjZDJkM2Q1O1xuJG1pZC1ncmV5ICAgOiAjNmE3MDc2O1xuJGRhcmstZ3JleSAgOiAjNjY2NjY2O1xuJGRhcmtlci1ncmV5OiAjNGQ0ZDRkO1xuIiwiLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuLyogQnJlYWtzIGF1ZGl0XG4yNDBweDoxXG4yNjBweDpcbjM0MHB4OjFcbjM2MHB4OjMgMjIuNTAwZW1cbjM4MHB4OjFcbjM1MnB4OjEgKCRtb2Itc21hbGw6MjJlbTspXG41ODBweDoxXG43NjBweDoxXG43ODBweDoxXG45MDBweDoxXG45MjBweDoyXG4xNDAwcHg6MVxuMTU1MHB4OjFcbjE2MDBweDoxXG4xODAwcHg6MVxuKi9cblxuLy8gU2Vuc2libGUgYnJlYWtwb2ludCBuYW1lcy5cbiRicC0yNjA6IDI2MHB4O1xuJGJwLTM2MDogMzYwcHg7XG4kYnAtNDgwOiA0ODBweDtcbiRicC02MDA6IDYwMHB4O1xuJGJwLTcwNDogNzA0cHg7XG4kYnAtODAwOiA4MDBweDtcbiRicC05MDA6IDkwMHB4O1xuJGJwLTk2MDogOTYwcHg7XG4kYnAtMTEyMDogMTEyMHB4O1xuJGJwLTEzMDA6IDEzMDBweDtcblxuLy8gT2xkIGJyZWFrcG9pbnQgbmFtZXMsIGtlcHQgYXMgdGhleSBhcmUgdXNlZCBlbHNld2hlcmUuXG4vLyBUb0RvOiBSZWZhY3RvciB1c2FnZXMuXG4kaGVtaWRlbWlzZW1pcXVhdmVyOiAkYnAtMjYwO1xuJGRlbWlzZW1pcXVhdmVyOiAkYnAtMzYwO1xuJHNlbWlxdWF2ZXI6ICRicC00ODA7XG4kcXVhdmVyOiAkYnAtNjAwO1xuJGNyb3RjaGV0OiAkYnAtNzA0O1xuJG1pbmltOiAkYnAtODAwO1xuJHNlbWlicmV2ZTogJGJwLTkwMDtcbiRicmV2ZTogJGJwLTk2MDtcbiRsb25nYTogJGJwLTExMjA7XG4kbWF4aW1hOiAkYnAtMTMwMDtcblxuJHBhZ2Utd2lkdGg6IDEyMzVweDtcbiRwYWdlLXdpZHRoLWlubmVyOiA4NjBweDtcblxuJGJhc2Utc3BhY2luZzogZW0oMjBweCk7XG5cbiRwYWRkaW5nLS1zaXRlLWd1dHRlci0tZGVza3RvcDogNDBweDtcbiRwYWRkaW5nLS1zaXRlLWd1dHRlci0tbW9iaWxlOiAkcGFkZGluZy0tc2l0ZS1ndXR0ZXItLWRlc2t0b3AgLyAyO1xuXG4kaGVpZ2h0LS1oZWFkZXI6IDc4cHg7XG4kcGFkZGluZy0tbWFpbi1jb250ZW50LS10b3A6ICRoZWlnaHQtLWhlYWRlcjtcbiIsIi8qIFxuICogY2xlYXJmaXggICAgIHVzZWQgcHJvamVjdCB3aWRlIHRvIGNsZWFyIGZsb2F0cyBhbmQgY3JlYXRlIGEgbmV3IGZvcm1hdHRpbmcgY29udGV4dFxuICogdXNhZ2UgICAgICBAaW5jbHVkZSBjbGVhcmZpeC1tZSg8ZW1wdHl8b3ZlcmZsb3d8ZmFjZWJvb2t8bWljcm98c3R1YmJvcm4+KVxuICogJGNsZWFyZml4LW1ldGhvZCBzZXRzIGRlZmF1bHQgbWV0aG9kXG4gKi9cblxuLy8gc2V0IGRlZmF1bHQgY2xlYXJmaXggbWV0aG9kIHRvIG92ZXJmbG93XG4kY2xlYXJmaXgtbWV0aG9kOiBvdmVyZmxvdyAhZGVmYXVsdDtcbi8vIGNhbiBiZSBvbmUgb2Y6IG92ZXJmbG93LGZhY2Vib29rLG1pY3JvLHN0dWJib3JuXG5cbi8vIGNyZWF0ZSBzdHViIGNsYXNzZXMgZm9yIGVhY2ggb2YgdGhlIGZvdXIgY2xlYXJmaXggbWV0aG9kcyBcblxuJWNsZWFyZml4LW92ZXJmbG93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgKm92ZXJmbG93OiB2aXNpYmxlO1xuICB6b29tOiAxO1xufVxuXG4lY2xlYXJmaXgtZmFjZWJvb2sge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMTAwMDBweCAhaW1wb3J0YW50O1xuICAqZGlzcGxheTogYmxvY2s7XG4gIC8vPD1JRTdcbiAgKnpvb206IDE7XG4gIC8vPD1JRTdcbiAgKndpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIC8vPD1JRTdcbn1cblxuJWNsZWFyZml4LW1pY3JvIHtcbiAgem9vbTogMTtcbiAgLy9AaW5jbHVkZSBoYXMtbGF5b3V0O1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuJWNsZWFyZml4LXN0dWJib3JuIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgZm9udC1zaXplOiB4eC1sYXJnZTtcbiAgICBjb250ZW50OiBcInggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHhcIjtcbiAgfVxufVxuXG4vLyBleHRlbmRzIHNvIHRoZSBvdXRwdXQgd2lsbCBiZSBzbWFsbGVyXG5cbkBtaXhpbiBjbGVhcmZpeC1tZSgkbWV0aG9kOiAkY2xlYXJmaXgtbWV0aG9kKSB7XG4gIEBpZiAkbWV0aG9kICE9IG92ZXJmbG93IGFuZCAkbWV0aG9kICE9IGZhY2Vib29rIGFuZCAkbWV0aG9kICE9IG1pY3JvIGFuZCAkbWV0aG9kICE9IHN0dWJib3JuIHtcbiAgICBAd2FybiBcIlRoZSBjbGVhcmZpeCBtZXRob2QgI3skbWV0aG9kfSBpcyB1bmtvd25cIjtcbiAgICBAZXh0ZW5kICVjbGVhcmZpeC1taWNybztcbiAgfSBAZWxzZSB7XG4gIC8vQGRlYnVnIFwiY2xlYXJmaXggbWV0aG9kIHJlY29nbml6ZWQ6XCI7XG4gIC8vQGRlYnVnICRtZXRob2Q7XG4gICAgQGV4dGVuZCAlY2xlYXJmaXgtI3skbWV0aG9kfTtcbiAgfVxuXG59XG4iLCIvKlxuICogUmVmZXJlbmNlOlxuICogbGluay1jb2xvcnMoJG5vcm1hbCwgJGhvdmVyLCAkYWN0aXZlLCAkdmlzaXRlZCwgJGZvY3VzKVxuICovXG5cbi8qXG4gKiBMSU5LIFZBUklBVElPTlNcbiAqL1xuQG1peGluIGxpbmstY29sb3JzKCRsaW5rLCAkbGluay1ob3Zlcikge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRsaW5rO1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGxpbmstaG92ZXI7XG4gICAgfVxuICB9XG4gICYuYWN0aXZlLXRyYWlsLFxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyO1xuICB9XG59XG5cbi8qXG4gKiBCVVRUT04gVkFSSUFUSU9OU1xuICovXG5AbWl4aW4gYnV0dG9uLWNvbG9ycygkYnV0dG9uLWJhY2tncm91bmQsICRidXR0b24tYmFja2dyb3VuZC1ob3ZlciwgJGJ1dHRvbi10ZXh0LCAkYnV0dG9uLXRleHQtaG92ZXIsICRidXR0b24tYm9yZGVyOiAkYnV0dG9uLWJhY2tncm91bmQsICRidXR0b24tYm9yZGVyLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRidXR0b24tYm9yZGVyO1xuICAmLFxuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dDtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWJvcmRlci1ob3ZlcjtcbiAgICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtaG92ZXI7XG4gICAgfVxuICAgIEBhdC1yb290IGE6aG92ZXIgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICBib3JkZXItY29sb3I6ICRidXR0b24tYm9yZGVyLWhvdmVyO1xuICAgICAgY29sb3I6ICRidXR0b24tdGV4dC1ob3Zlci1kZWZhdWx0O1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICBib3JkZXItY29sb3I6ICRidXR0b24tYm9yZGVyLWhvdmVyICA7XG4gICAgfVxuXG5cbiAgfVxufVxuXG4vKlxuICogSU5WRVJURUQgTUlYSU5cbiAqL1xuQG1peGluIGludmVydGVkIChcbiAgJGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWRhcmssXG4gICR0ZXh0OiAkdGV4dC1pbnZlcnRlZCxcbiAgJGxpbms6ICRsaW5rLWludmVydGVkLFxuICAkbGluay1ob3ZlcjogJGxpbmstaG92ZXItaW52ZXJ0ZWQsXG4gICRidXR0b24tYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLWRlZmF1bHQsXG4gICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWRlZmF1bHQsXG4gICRidXR0b24tYm9yZGVyOiAkYnV0dG9uLWJvcmRlci1kZWZhdWx0LFxuICAkYnV0dG9uLWJvcmRlci1ob3ZlcjogJGJ1dHRvbi1ib3JkZXItaG92ZXItZGVmYXVsdCxcbiAgJGJ1dHRvbi10ZXh0OiAkbGluay1pbnZlcnRlZCxcbiAgJGJ1dHRvbi10ZXh0LWhvdmVyOiAkbGluay1pbnZlcnRlZFxuICApIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRleHQ7XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBsaW5rLWNvbG9ycygkbGluaywgJGxpbmstaG92ZXIpO1xuICAgIH1cbiAgICAuYnRuLCAuYnV0dG9uLCAubW9yZS1saW5rIGEsIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIGJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tY29sb3JzKCRidXR0b24tYmFja2dyb3VuZCwgJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLCAkYnV0dG9uLXRleHQsICRidXR0b24tdGV4dC1ob3ZlciwgJGJ1dHRvbi1ib3JkZXIsICRidXR0b24tYm9yZGVyLWhvdmVyKTtcbiAgICB9XG4gIH1cbiIsIi8vIEhpZGUgZWxlbWVudHMgZnJvbSBhbGwgdXNlcnMuLy9cbi8vIFVzZWQgZm9yIGVsZW1lbnRzIHdoaWNoIHNob3VsZCBub3QgYmUgaW1tZWRpYXRlbHkgZGlzcGxheWVkIHRvIGFueSB1c2VyLiBBblxuLy8gZXhhbXBsZSB3b3VsZCBiZSBhIGNvbGxhcHNpYmxlIGZpZWxkc2V0IHRoYXQgd2lsbCBiZSBleHBhbmRlZCB3aXRoIGEgY2xpY2tcbi8vIGZyb20gYSB1c2VyLiBUaGUgZWZmZWN0IG9mIHRoaXMgY2xhc3MgY2FuIGJlIHRvZ2dsZWQgd2l0aCB0aGUgalF1ZXJ5IHNob3coKVxuLy8gYW5kIGhpZGUoKSBmdW5jdGlvbnMuXG5AbWl4aW4gZWxlbWVudC1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4lZWxlbWVudC1oaWRkZW4ge1xuICBAaW5jbHVkZSBlbGVtZW50LWhpZGRlbjtcbn1cblxuLy8gSGlkZSBlbGVtZW50cyB2aXN1YWxseSwgYnV0IGtlZXAgdGhlbSBhdmFpbGFibGUgZm9yIHNjcmVlbi1yZWFkZXJzLlxuLy9cbi8vIFVzZWQgZm9yIGluZm9ybWF0aW9uIHJlcXVpcmVkIGZvciBzY3JlZW4tcmVhZGVyIHVzZXJzIHRvIHVuZGVyc3RhbmQgYW5kIHVzZVxuLy8gdGhlIHNpdGUgd2hlcmUgdmlzdWFsIGRpc3BsYXkgaXMgdW5kZXNpcmFibGUuIEluZm9ybWF0aW9uIHByb3ZpZGVkIGluIHRoaXNcbi8vIG1hbm5lciBzaG91bGQgYmUga2VwdCBjb25jaXNlLCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBidXJkZW4gb24gdGhlIHVzZXIuXG4vLyBcIiFpbXBvcnRhbnRcIiBpcyB1c2VkIHRvIHByZXZlbnQgdW5pbnRlbnRpb25hbCBvdmVycmlkZXMuXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpOyAvKiBJRTYsIElFNyAqL1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMXB4O1xufVxuXG4lZWxlbWVudC1pbnZpc2libGUge1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbn1cblxuLy8gUmV2ZXJ0cyAnZWxlbWVudC1pbnZpc2libGUnLlxuQG1peGluIGVsZW1lbnQtdmlzaWJsZSgkcG9zaXRpb24tdHlwZTppbmhlcml0KSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24tdHlwZSAhaW1wb3J0YW50O1xuICBjbGlwOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4lZWxlbWVudC12aXNpYmxlIHtcbiAgQGluY2x1ZGUgZWxlbWVudC12aXNpYmxlO1xufVxuXG4vLyBUaGUgLmVsZW1lbnQtZm9jdXNhYmxlIGNsYXNzIGV4dGVuZHMgdGhlIC5lbGVtZW50LWludmlzaWJsZSBjbGFzcyB0byBhbGxvd1xuLy8gdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNhYmxlIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQuXG5AbWl4aW4gZWxlbWVudC1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgIGNsaXA6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbiVlbGVtZW50LWZvY3VzYWJsZSB7XG4gIEBpbmNsdWRlIGVsZW1lbnQtZm9jdXNhYmxlO1xufVxuIiwiLyoqXG4gKiBNYWtlIGVsZW1lbnRzIGludG8gaW5saW5lLWJsb2NrIHdpdGggSUU3IGZpeC4gVXNlIGl0IG9ubHkgd2hlbiB5b3UgbmVlZCB0byBtYWtlIGFcbiAqIGJsb2NrIGxldmVsIGVsZW1lbnQgaW5saW5lLWJsb2NrLiBFbGVtZW50cyB0aGF0IGFyZSBpbmxpbmUgYnkgZGVmYXVsdCB3b24ndCBuZWVkIHRoZVxuICogSUU3IGZpeC5cbiAqXG4gKiBVc2FnZSAgICAgICAgICAgIEBleHRlbmQgJWlubGluZS1ibG9jay1maXg7XG4gKlxuICovXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2stZml4IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAqZGlzcGxheTogaW5saW5lO1xuICAqem9vbTogMTtcbn1cblxuJWlubGluZS1ibG9jay1maXgge1xuICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stZml4O1xufVxuXG5AbWl4aW4gaW5saW5lLWJsb2NrLXJldmVydCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAqZGlzcGxheTogYmxvY2s7XG59XG5cbiVpbmxpbmUtYmxvY2stcmV2ZXJ0IHtcbiAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLXJldmVydDtcbn1cbiIsIi8vIEJvcnJvd2VkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL2JpdG1hbmljL3JlbS9ibG9iL21hc3Rlci9zdHlsZXNoZWV0cy9fcmVtLnNhc3Ncbi8qKioqKioqKioqKlxuICpcbiAqIFNhbXBsZSBpbnB1dDpcbiAqXG4gKiAuZWxlbWVudCB7XG4gKiAgIEBpbmNsdWRlIHJlbShwYWRkaW5nLCAxMHB4IDAgMnB4IDVweCk7XG4gKiAgIEBpbmNsdWRlIHJlbShib3JkZXItYm90dG9tLCAxcHggc29saWQgIzAwMDAwMCk7XG4gKiB9XG4gKlxuICpcbiAqIFNhbXBsZSBvdXRwdXQ6XG4gKlxuICogLmVsZW1lbnQge1xuICogICBwYWRkaW5nOiAxMHB4IDAgMnB4IDVweDtcbiAqICAgcGFkZGluZzogMXJlbSAwIDAuMnJlbSAwLjVyZW07XG4gKiB9XG4gKlxuICoqKioqKioqKioqKi9cblxuQG1peGluIHJlbSgkcHJvcGVydHksICRweC12YWx1ZXMpIHtcbiAgLy8gUHJpbnQgdGhlIGZpcnN0IGxpbmUgaW4gcGl4ZWwgdmFsdWVzXG4gIEBpbmNsdWRlIGphY2tldChyZW0pIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRweC12YWx1ZXM7XG4gIH1cblxuICAvLyBJZiB0aGVyZSBpcyBvbmx5IG9uZSAobnVtZXJpYykgdmFsdWUsIHJldHVybiB0aGUgcHJvcGVydHkvdmFsdWUgbGluZSBmb3IgaXQuXG4gIEBpZiB0eXBlLW9mKCRweC12YWx1ZXMpID09IFwibnVtYmVyXCIge1xuICAgICN7JHByb3BlcnR5fTogcmVtKCRweC12YWx1ZXMpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIC8vIENyZWF0ZSBhbiBlbXB0eSBsaXN0IHRoYXQgd2UgY2FuIGR1bXAgdmFsdWVzIGludG9cbiAgICAkcmVtLXZhbHVlczogKCk7XG5cbiAgICBAZWFjaCAkdmFsdWUgaW4gJHB4LXZhbHVlcyB7XG4gICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgemVybyBvciBub3QgYSBudW1iZXIsIHJldHVybiBpdFxuICAgICAgQGlmICR2YWx1ZSA9PSAwIG9yIHR5cGUtb2YoICR2YWx1ZSApICE9IFwibnVtYmVyXCIge1xuICAgICAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAkdmFsdWUpOyB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIHJlbSgkdmFsdWUpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXR1cm4gdGhlIHByb3BlcnR5IGFuZCBpdHMgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzXG4gICAgI3skcHJvcGVydHl9OiAkcmVtLXZhbHVlcztcbiAgfVxufVxuIiwiLyoqXG4qIEBkZXNjICAgICAgICAgQWxpZ25pbmcgdGV4dFxuKiBAbmFtZSAgICAgICAgIHRleHRBbGlnblxuKiBAYXV0aG9yICAgICAgIFxuKiBAdGVzdGVkICAgICAgIFxuKiBAcmVxdWlyZXMgICAgIFxuKi9cblxuLy8gaG9yaXpvbnRhbCBhbGlnbm1lbnRcbiV0eHRDIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnR4dEMge1xuICBAZXh0ZW5kICV0eHRDO1xufVxuXG4ldHh0TCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udHh0TCB7XG4gIEBleHRlbmQgJXR4dEw7XG59XG5cbiV0eHRSIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udHh0UiB7XG4gIEBleHRlbmQgJXR4dFI7XG59XG5cbi8vIHZlcnRpY2FsIGFsaWdubWVudFxuJXR4dFQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnR4dFQge1xuICBAZXh0ZW5kICV0eHRUO1xufVxuXG4ldHh0QiB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4udHh0QiB7XG4gIEBleHRlbmQgJXR4dEI7XG59XG5cbiV0eHRNIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi50eHRNIHtcbiAgQGV4dGVuZCAldHh0TTtcbn0iLCIvLyBTZXRzIGJhY2tncm91bmQgaW1hZ2UgYW5kIHNpemUgd2l0aCBJRSBmYWxsYmFja1xuJXNwcml0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNwcml0ZSwgc3ZnUGF0aCkpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGVtKG1hcC1nZXQoJHNwcml0ZSwgd2lkdGgpKSBlbShtYXAtZ2V0KCRzcHJpdGUsIGhlaWdodCkpO1xufVxuJWllLXNwcml0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzcHJpdGUsIHBuZ1BhdGgpKTtcbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcbi8vIGlmIHRoZSBwYXJlbnQgaXMgYW5vdGhlciB2YWx1ZSBzYXkgMjRweCB3cml0ZSBlbSgxMiwgMjQpXG5cbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGVtYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIFwiICtcbiAgICBcInJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xuICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuXG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZyAhZ2xvYmFsO1xuXG4gIEByZXR1cm4gKCRweHZhbCAvICRiYXNlKSAqIDFlbTtcbn1cbiIsIi8vIEdlbmVyYWwgcHVycG9zZSBjbGFzc2VzLlxuXG4vL1xuLy8gU2NyZWVuIHJlYWRlcnNcbi8vIC0tLVxuLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmUjLmlraWU0YXRvb1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUeXBvZ3JhcGh5IEF0b21zIFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRzYW5zOiBcIlJvYm90b1wiLCBcIlRyZWJ1Y2hldCBNU1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4kc2Fucy1jb25kZW5zZWQ6IFwiUm9ib3RvXCIsIFwiVHJlYnVjaGV0IE1TXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiRtb25vOiBcIkx1Y2lkYSBDb25zb2xlXCIsIE1vbmFjbywgbW9ub3NwYWNlO1xuXG4kZm9udC1yZWd1bGFyOiAzMDA7XG4kZm9udC1ib2xkOiA3MDA7XG5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjQ7XG4kaGVhZGluZy1saW5lLWhlaWdodDogMS4yO1xuXG4kZW0tYmFzZTogMTZweDtcbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAkbWlub3ItdGhpcmQ7XG4kbW9kdWxhci1zY2FsZS1iYXNlOiAxZW07XG5cbi8qIENvbG91cnMgKi9cbiR0ZXh0LWRlZmF1bHQ6ICRibGFjaztcbiR0ZXh0LWludmVydGVkOiAkd2hpdGU7XG4kc2VjdGlvbi10aXRsZTogJGRhcmstcmVkO1xuJGJhY2tncm91bmQtbGlnaHQ6ICR3aGl0ZTtcbiRiYWNrZ3JvdW5kLWRhcms6ICRtaWQtcmVkO1xuJGJhY2tncm91bmQtaGVhZGVyOiAkd2hpdGU7XG4kbGluay1kZWZhdWx0OiAkbWlkLXJlZDtcbiRsaW5rLWhvdmVyLWRlZmF1bHQ6ICRsaWdodC1yZWQ7XG4kbGluay1pbnZlcnRlZDogJHllbGxvdztcbiRsaW5rLWhvdmVyLWludmVydGVkOiAkd2hpdGU7XG4kaGlnaGxpZ2h0OiB0aW50KCRsaW5rLWludmVydGVkLCA1MCUpO1xuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUeXBvZ3JhcGh5IEF0b21zIE1peGluc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vKiBGb250IGZvbnQgc3R5bGVzICovXG5cbkBtaXhpbiB0eXBla2l0LWxvYWQge1xuICBAYXQtcm9vdCAud2YtbG9hZGluZyAmIHtcbiAgICAvKiBzdHlsZXMgdG8gdXNlIGJlZm9yZSBUeXBla2l0IGlzIGxvYWRlZCAqL1xuICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbiAgQGF0LXJvb3QgLndmLWFjdGl2ZSAmIHtcbiAgICAvKiBzdHlsZXMgdG8gdXNlIGFmdGVyIFR5cGVraXQgaXMgbG9hZGVkICovXG4gICBAaW5jbHVkZSBlbGVtZW50LXZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvbnQtZW1waGFzaXMge1xuICBmb250LWZhbWlseTogJHNhbnM7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xufSBcbkBtaXhpbiBmb250LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICBmb250LXdlaWdodDogJGZvbnQtYm9sZDtcbn1cbkBtaXhpbiBmb250LXRpdGxlLWNvbmRlbnNlZCB7XG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1jb25kZW5zZWQ7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC1ib2xkO1xuICBAaW5jbHVkZSB0eXBla2l0LWxvYWQ7XG59XG5AbWl4aW4gZm9udC1ib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRzYW5zO1xuICBmb250LXdlaWdodDogJGZvbnQtcmVndWxhcjtcbn1cbkBtaXhpbiBmb250LWJvZHktY29uZGVuc2VkIHtcbiAgZm9udC1mYW1pbHk6ICRzYW5zLWNvbmRlbnNlZDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXJlZ3VsYXI7XG4gIEBpbmNsdWRlIHR5cGVraXQtbG9hZDtcbn0gIiwiJWZvbnQtZW1waGFzaXMge1xuICBAaW5jbHVkZSBmb250LWVtcGhhc2lzO1xufVxuJWZvbnQtdGl0bGUge1xuICBAaW5jbHVkZSBmb250LXRpdGxlO1xufVxuJWZvbnQtYm9keSB7XG4gIEBpbmNsdWRlIGZvbnQtYm9keTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUeXBvZ3JhcGh5IEF0b21zIEV4dGVuZHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4lYmFzZS0taGVhZGVyIHtcbiAgQGV4dGVuZCAlZm9udC10aXRsZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkYmFzZS1zcGFjaW5nIC8gMjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuJWJhc2UtLWgxIHtcbiAgZm9udC1zaXplOiAyNXB4O1xuICBtYXJnaW4tYm90dG9tOiBtb2R1bGFyLXNjYWxlKC04KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbn1cblxuJWJhc2UtLWgyIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBtYXJnaW4tYm90dG9tOiBtb2R1bGFyLXNjYWxlKC03KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gIH1cbn1cblxuJWJhc2UtLWgzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiBtb2R1bGFyLXNjYWxlKC02KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuJWJhc2UtLWg0IHtcbiAgIEBleHRlbmQgJWJhc2UtLWgzO1xufVxuXG4lYmFzZS0taDUge1xuICAgQGV4dGVuZCAlYmFzZS0taDM7XG59XG5cbiViYXNlLS1oNiB7XG4gIEBleHRlbmQgJWJhc2UtLWgzO1xuICBAZXh0ZW5kICVmb250LWJvZHk7XG59XG5cbiViYXNlLS1oZWFkZXItLVNFQ1RJT04ge1xuICBjb2xvcjogJHNlY3Rpb24tdGl0bGU7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTYwMCkge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxufVxuXG4lYmFzZS0tYSB7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmOmJ1dHRvbiB7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICB9XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkoY29sb3IpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKDE1MG1zKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24obGluZWFyKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kZWxheSgwKTtcblxuICBAaW5jbHVkZSBsaW5rLWNvbG9ycygkbGluay1kZWZhdWx0LCAkbGluay1ob3Zlci1kZWZhdWx0KTtcbiAgQGluY2x1ZGUgZm9udC10aXRsZTtcbn1cblxuJWJhc2UtLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDI3cHg7XG4gIG1hcmdpbjogMCAwICRiYXNlLXNwYWNpbmcgLyAyO1xufVxuXG4lYmFzZS0tb2wge1xuICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG4lYmFzZS0tdWwge1xuICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG4lYmFzZS0tdWwtLUlOTElORSB7XG4gIC8vQGluY2x1ZGUgbm8tYnVsbGV0cztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIHBhZGRpbmc6IDAgMC41ZW07XG4gIH1cbn1cblxuJWJhc2UtLXVsLS1NRU5VIHtcbiAgLy9pbmNsdWRlIG5vLWJ1bGxldHM7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4lYmFzZS0tbGkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbiVtZW51LS1saS0tTEVBRiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4lYmFzZS0tZmlyc3QtbmVzdGVkLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTtcbn1cblxuJWJhc2UtLXNlY29uZC1uZXN0ZWQtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogc3F1YXJlO1xufVxuXG4lYmFzZS0tZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbiViYXNlLS1zdHJvbmcge1xuICBAZXh0ZW5kICVmb250LXRpdGxlO1xufVxuXG4lYmFzZS0tcCB7XG4gIG1hcmdpbjogMCAwICRiYXNlLXNwYWNpbmcgLyAxLjU7XG59XG5cbiViYXNlLS1ibG9ja3F1b3RlIHtcbiAgLy9AaW5jbHVkZSByaHl0aG0oMCwgMSwgMSwgMSk7XG4gIHBhZGRpbmc6IDAgMS41ZW07XG5cbiAgLy9AaW5jbHVkZSByaHl0aG0tYm9yZGVycygxcHgpO1xuICAvL0BpbmNsdWRlIGFwcGx5LXNpZGUtcmh5dGhtLWJvcmRlcihsZWZ0LCAxMHB4KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbiViYXNlLS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cbn1cblxuJWJhc2UtLWNvZGUge1xuICBmb250LWZhbWlseTogJG1vbm87XG59XG5cbiViYXNlLS1pbmxpbmUtY29kZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoJG1pZC1ncmVlbiwgLjIpO1xufVxuXG4lYmFzZS0tZGVlcGxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogJG1pZC1ncmVlbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWF2ZXIsIHRydWUpIHtcbiAgICBoMSAmIHtcbiAgICAgIC8vQGluY2x1ZGUgdHJhbnNsYXRlWCgtMXJlbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICAvL0BpbmNsdWRlIGJveC1zaXppbmcoY29udGVudC1ib3gpO1xuICAgIH1cbiAgfVxufVxuXG4lZm9udC1saWdodCB7XG4gIEBleHRlbmQgJWZvbnQtYm9keTtcbn1cblxuJWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFR5cG9ncmFwaHkgQXRvbXNcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHkvbWl4aW5zXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS9leHRlbmRzXCI7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gSGVhZGluZ3NcblxuI3toMSwgaDIsIGgzLCBoNCwgaDUsIGg2fSB7XG4gIEBleHRlbmQgJWJhc2UtLWhlYWRlcjtcbn1cblxuaDEge1xuICBAZXh0ZW5kICViYXNlLS1oMTtcbn1cblxuaDIge1xuICBAZXh0ZW5kICViYXNlLS1oMjtcbn1cblxuaDMge1xuICBAZXh0ZW5kICViYXNlLS1oMztcbn1cblxuaDQge1xuICBAZXh0ZW5kICViYXNlLS1oNDtcbn1cblxuaDUge1xuICBAZXh0ZW5kICViYXNlLS1oNTtcbn1cblxuaDYge1xuICBAZXh0ZW5kICViYXNlLS1oNjtcbn1cblxuPiBoMjpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucGFnZS10aXRsZSxcbi5zZWN0aW9uLXRpdGxlIHtcbiAgQGV4dGVuZCAlYmFzZS0taGVhZGVyO1xuICBAZXh0ZW5kICViYXNlLS1oZWFkZXItLVNFQ1RJT047XG59XG5cbi8vIExpc3RzXG5cbnVsIHtcbiAgQGV4dGVuZCAlYmFzZS0tbGlzdDtcbiAgQGV4dGVuZCAlYmFzZS0tdWw7XG4gICYuaW5saW5lIHtcbiAgICBAZXh0ZW5kICViYXNlLS11bC0tSU5MSU5FO1xuICB9XG4gICYubWVudSB7XG4gICAgQGV4dGVuZCAlYmFzZS0tdWwtLU1FTlU7XG4gIH1cbn1cblxub2wge1xuICBAZXh0ZW5kICViYXNlLS1saXN0O1xuICBAZXh0ZW5kICViYXNlLS1vbDtcbn1cblxubGkge1xuICBAZXh0ZW5kICViYXNlLS1saTtcbn1cbm9sIHVsLFxudWwgdWwge1xuICBAZXh0ZW5kICViYXNlLS1maXJzdC1uZXN0ZWQtbGlzdDtcbn1cblxub2wgdWwgdWwsXG51bCB1bCB1bCB7XG4gIEBleHRlbmQgJWJhc2UtLXNlY29uZC1uZXN0ZWQtbGlzdDtcbn1cblxuLy8gUGFyYWdyYXBoc1xuXG5wIHtcbiAgQGV4dGVuZCAlYmFzZS0tcDtcblxuICBjb2RlIHtcbiAgICBAZXh0ZW5kICViYXNlLS1pbmxpbmUtY29kZTtcbiAgfVxufVxuXG5lbSB7XG4gIEBleHRlbmQgJWJhc2UtLWVtO1xufVxuXG5zdHJvbmcsIGIge1xuICBAZXh0ZW5kICViYXNlLS1zdHJvbmc7XG59XG5cbmJsb2NrcXVvdGUge1xuICBAZXh0ZW5kICViYXNlLS1ibG9ja3F1b3RlO1xufVxuXG5zbWFsbCB7XG4gIEBleHRlbmQgJWJhc2UtLXNtYWxsO1xufVxuXG5ociB7XG4gIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmc7XG4gIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmcgKiAxLjU7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsdWU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbmNvZGUge1xuICBAZXh0ZW5kICViYXNlLS1jb2RlO1xufVxuXG5AaW5jbHVkZSBzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGlnaGxpZ2h0O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLm5vZGUtZnItY3Qtc3RhbmRhcmQgLmZpZWxkLWxhYmVsIHtcbiAgQGluY2x1ZGUgZWxlbWVudC1oaWRkZW47XG59XG4iLCIvLyBTY2FsaW5nIFZhcmlhYmxlc1xuJGdvbGRlbjogICAgICAgICAgIDEuNjE4O1xuJG1pbm9yLXNlY29uZDogICAgIDEuMDY3O1xuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xuJG1pbm9yLXRoaXJkOiAgICAgIDEuMjtcbiRtYWpvci10aGlyZDogICAgICAxLjI1O1xuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xuJGF1Z21lbnRlZC1mb3VydGg6IDEuNDE0O1xuJHBlcmZlY3QtZmlmdGg6ICAgIDEuNTtcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XG4kbWFqb3Itc2l4dGg6ICAgICAgMS42Njc7XG4kbWlub3Itc2V2ZW50aDogICAgMS43Nzg7XG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XG4kb2N0YXZlOiAgICAgICAgICAgMjtcbiRtYWpvci10ZW50aDogICAgICAyLjU7XG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XG4kbWFqb3ItdHdlbGZ0aDogICAgMztcbiRkb3VibGUtb2N0YXZlOiAgICA0O1xuXG4kdXNlci1vdXRwdXQtZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiBmYWxzZTtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1vdXRwdXQtZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZztcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxuLy8gRXhhbXBsZTogQGluY2x1ZGUgdHJhbnNpdGlvbiAoYWxsIDJzIGVhc2UtaW4tb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24gKG9wYWNpdHkgMXMgZWFzZS1pbiAycywgd2lkdGggMnMgZWFzZS1vdXQpO1xuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSAodHJhbnNmb3JtLCBvcGFjaXR5KTtcblxuQG1peGluIHRyYW5zaXRpb24oJHByb3BlcnRpZXMuLi4pIHtcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJ0cmFuc2l0aW9uXCIpO1xuXG4gIC8vIEZpeCBmb3IgdmVuZG9yLXByZWZpeCB0cmFuc2Zvcm0gcHJvcGVydHlcbiAgJG5lZWRzLXByZWZpeGVzOiBmYWxzZTtcbiAgJHdlYmtpdDogKCk7XG4gICRtb3o6ICgpO1xuICAkc3BlYzogKCk7XG5cbiAgLy8gQ3JlYXRlIGxpc3RzIGZvciB2ZW5kb3ItcHJlZml4ZWQgdHJhbnNmb3JtXG4gIEBlYWNoICRsaXN0IGluICRwcm9wZXJ0aWVzIHtcbiAgICBAaWYgbnRoKCRsaXN0LCAxKSA9PSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICRuZWVkcy1wcmVmaXhlczogdHJ1ZTtcbiAgICAgICRsaXN0MTogLXdlYmtpdC10cmFuc2Zvcm07XG4gICAgICAkbGlzdDI6IC1tb3otdHJhbnNmb3JtO1xuICAgICAgJGxpc3QzOiAoKTtcblxuICAgICAgQGVhY2ggJHZhciBpbiAkbGlzdCB7XG4gICAgICAgICRsaXN0Mzogam9pbigkbGlzdDMsICR2YXIpO1xuXG4gICAgICAgIEBpZiAkdmFyICE9IFwidHJhbnNmb3JtXCIge1xuICAgICAgICAgICRsaXN0MTogam9pbigkbGlzdDEsICR2YXIpO1xuICAgICAgICAgICRsaXN0Mjogam9pbigkbGlzdDIsICR2YXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdDEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0Mik7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QzKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3ZWJraXQ6IGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgYXBwZW5kKCRtb3osICAgICRsaXN0LCBjb21tYSk7XG4gICAgICAkc3BlYzogICBhcHBlbmQoJHNwZWMsICAgJGxpc3QsIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJG5lZWRzLXByZWZpeGVzIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR3ZWJraXQ7XG4gICAgICAgLW1vei10cmFuc2l0aW9uOiAkbW96O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogJHNwZWM7XG4gIH0gQGVsc2Uge1xuICAgIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCRwcm9wZXJ0aWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNpdGlvbi1wcm9wZXJ0eVwiKTtcblxuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwid2Via2l0XCIpO1xuICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIFwibW96XCIpO1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsIGZhbHNlKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNpdGlvbi1kdXJhdGlvblwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkbW90aW9ucy4uLikge1xuICBAaW5jbHVkZSBfYm91cmJvbi1kZXByZWNhdGUtZm9yLXByZWZpeGluZyhcInRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uXCIpO1xuXG4gIC8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCAkbW90aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIF9ib3VyYm9uLWRlcHJlY2F0ZS1mb3ItcHJlZml4aW5nKFwidHJhbnNpdGlvbi1kZWxheVwiKTtcblxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLWRlbGF5LCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gT3V0cHV0cyB0aGUgc3BlYyBhbmQgcHJlZml4ZWQgdmVyc2lvbnMgb2YgdGhlIGA6OnNlbGVjdGlvbmAgcHNldWRvLWVsZW1lbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtCb29sfSAkY3VycmVudC1zZWxlY3RvciBbZmFsc2VdXHJcbi8vLyAgIElmIHNldCB0byBgdHJ1ZWAsIGl0IHRha2VzIHRoZSBjdXJyZW50IGVsZW1lbnQgaW50byBjb25zaWRlcmF0aW9uLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAuZWxlbWVudCB7XHJcbi8vLyAgICAgQGluY2x1ZGUgc2VsZWN0aW9uKHRydWUpIHtcclxuLy8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgICAgfVxyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxyXG4vLy8gICAuZWxlbWVudDo6LW1vei1zZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyAgIC5lbGVtZW50OjpzZWxlY3Rpb24ge1xyXG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmJiNTI7XHJcbi8vLyAgIH1cclxuXHJcbkBtaXhpbiBzZWxlY3Rpb24oJGN1cnJlbnQtc2VsZWN0b3I6IGZhbHNlKSB7XHJcbiAgQGluY2x1ZGUgX2JvdXJib24tZGVwcmVjYXRlLWZvci1wcmVmaXhpbmcoXCJzZWxlY3Rpb25cIik7XHJcblxyXG4gIEBpZiAkY3VycmVudC1zZWxlY3RvciB7XHJcbiAgICAmOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6OnNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgIDo6c2VsZWN0aW9uIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1peGVzIGEgY29sb3Igd2l0aCB3aGl0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFBlcmNlbnRhZ2UpfSAkcGVyY2VudFxuLy8vICAgVGhlIGFtb3VudCBvZiB3aGl0ZSB0byBiZSBtaXhlZCBpbi5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0aW50KCM2ZWNhYTYsIDQwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGRmYzk7XG4vLy8gICB9XG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvcn1cblxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCkge1xuICBAcmV0dXJuIG1peCgjZmZmLCAkY29sb3IsICRwZXJjZW50KTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQmFzZSBBdG9tc1xuLy8gQGltcG9ydCBcImJhc2UvdmFyaWFibGVzXCI7XG4vLyBAaW1wb3J0IFwiYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlL2V4dGVuZHNcIjtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5odG1sIHtcbiAgQGV4dGVuZCAlYmFzZS0taHRtbDtcbn1cblxuYm9keSB7XG4gIEBleHRlbmQgJWJhc2UtLWJvZHk7XG59XG5cbioge1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApO1xufVxuLnVpLWJ0bi1hY3RpdmUge1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMC8qe2EtYnVwLXNoYWRvdy14fSovXG4gICAgICAgICAgICAgICAwLyp7YS1idXAtc2hhZG93LXl9Ki9cbiAgICAgICAgICAgICAgIDAvKnthLWJ1cC1zaGFkb3ctcmFkaXVzfSovXG4gICAgICAgICAgICAgICB0cmFuc3BhcmVudC8qe2EtYnVwLXNoYWRvdy1jb2xvcn0qLztcbn1cblxuLyoqXG4gKiBTVEFOREFSRCBQQUdFIENPTlRFTlRcbiAqL1xuLnNlY3Rpb24tdGl0bGUsXG4ucGFnZS1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVhdmVyLCB0cnVlKSB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLnBhZ2UtY29udGVudCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1YXZlciwgdHJ1ZSkge1xuICAgIHBhZGRpbmc6IDJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFya2VyLWdyZXk7XG4gIH1cbn1cblxuLyoqXG4gKiAkRklMVEVSLVRJUFNcbiAqL1xuLmZpbHRlci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLyoqXG4gKiAkUEFTU1dPUkQtQ09ORklSTVxuICovXG5kaXYucGFzc3dvcmQtaW5kaWNhdG9yLFxuZGl2LnBhc3N3b3JkLWNvbmZpcm0ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5kaXYucGFzc3dvcmQtaW5kaWNhdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG59XG5cbi8qKlxuICogJFBBU1NXT1JELUlORElDQVRPUlxuICovXG4ucGFzc3dvcmQtaW5kaWNhdG9yIHtcbiAgaGVpZ2h0OiAwLjhlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyZXk7XG5cbiAgLmluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogJHBhbGUtb3JhbmdlO1xuICB9XG59XG5cbi5wYXNzd29yZC1zdHJlbmd0aC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMmVtO1xufVxuXG4vKipcbiAqICRTRUFSQ0gtRk9STVxuICovXG4uc2VhcmNoLWJsb2NrLWZvcm0ge1xuICAuZm9ybS10ZXh0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwLjRlbTtcbiAgfVxufVxuXG4vKipcbiAqIENsYXNzZXNcbiAqL1xuXG5hLmRlZXAtbGluayB7XG4gIEBleHRlbmQgJWJhc2UtLWRlZXBsaW5rO1xufVxuXG4ubG93ZXJjYXNlIHtcbiAgQGV4dGVuZCAlbG93ZXJjYXNlO1xufVxuXG4uc21hbGwtdGV4dCB7XG4gIGZvbnQtc2l6ZTogeHgtc21hbGw7XG59XG5cbi5mb250LWxpZ2h0IHtcbiAgQGV4dGVuZCAlZm9udC1saWdodDtcbn1cblxuLmdvb2dsZS1jb252ZXJzaW9uLWZyYW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERydXBhbCBBdG9tcyByZWNvbnN0cnVjdGVkIGluIFNDU1Ncbi8qXG4gKiBGcm9tIG1vZHVsZXMvc3lzdGVtL3N5c3RlbS5iYXNlLmNzc1xuICovXG5cbi8qXG4gKiBIaWRlIGVsZW1lbnRzIGZyb20gYWxsIHVzZXJzLlxuICpcbiAqIFVzZWQgZm9yIGVsZW1lbnRzIHdoaWNoIHNob3VsZCBub3QgYmUgaW1tZWRpYXRlbHkgZGlzcGxheWVkIHRvIGFueSB1c2VyLiBBblxuICogZXhhbXBsZSB3b3VsZCBiZSBhIGNvbGxhcHNpYmxlIGZpZWxkc2V0IHRoYXQgd2lsbCBiZSBleHBhbmRlZCB3aXRoIGEgY2xpY2tcbiAqIGZyb20gYSB1c2VyLiBUaGUgZWZmZWN0IG9mIHRoaXMgY2xhc3MgY2FuIGJlIHRvZ2dsZWQgd2l0aCB0aGUgalF1ZXJ5IHNob3coKVxuICogYW5kIGhpZGUoKSBmdW5jdGlvbnMuXG4gKi9cbi5lbGVtZW50LWhpZGRlbiB7XG4gIEBleHRlbmQgJWVsZW1lbnQtaGlkZGVuO1xufVxuXG4vKlxuICogSGlkZSBlbGVtZW50cyB2aXN1YWxseSwgYnV0IGtlZXAgdGhlbSBhdmFpbGFibGUgZm9yIHNjcmVlbi1yZWFkZXJzLlxuICpcbiAqIFVzZWQgZm9yIGluZm9ybWF0aW9uIHJlcXVpcmVkIGZvciBzY3JlZW4tcmVhZGVyIHVzZXJzIHRvIHVuZGVyc3RhbmQgYW5kIHVzZVxuICogdGhlIHNpdGUgd2hlcmUgdmlzdWFsIGRpc3BsYXkgaXMgdW5kZXNpcmFibGUuIEluZm9ybWF0aW9uIHByb3ZpZGVkIGluIHRoaXNcbiAqIG1hbm5lciBzaG91bGQgYmUga2VwdCBjb25jaXNlLCB0byBhdm9pZCB1bm5lY2Vzc2FyeSBidXJkZW4gb24gdGhlIHVzZXIuXG4gKiBcIiFpbXBvcnRhbnRcIiBpcyB1c2VkIHRvIHByZXZlbnQgdW5pbnRlbnRpb25hbCBvdmVycmlkZXMuXG4gKi9cbi5lbGVtZW50LWludmlzaWJsZSB7XG4gIEBleHRlbmQgJWVsZW1lbnQtaW52aXNpYmxlO1xufVxuXG4vKlxuICogVGhlIC5lbGVtZW50LWZvY3VzYWJsZSBjbGFzcyBleHRlbmRzIHRoZSAuZWxlbWVudC1pbnZpc2libGUgY2xhc3MgdG8gYWxsb3dcbiAqIHRoZSBlbGVtZW50IHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkLlxuICovXG4uZWxlbWVudC1pbnZpc2libGUuZWxlbWVudC1mb2N1c2FibGU6YWN0aXZlLFxuLmVsZW1lbnQtaW52aXNpYmxlLmVsZW1lbnQtZm9jdXNhYmxlOmZvY3VzIHtcbiAgQGV4dGVuZCAlZWxlbWVudC1mb2N1c2FibGU7XG59XG5cbi8qXG4gKiBQcmV2ZW50IHRleHQgd3JhcHBpbmcuXG4gKi9cbi5ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKipcbiAqIElubGluZSBpdGVtcy5cbiAqL1xuLmNvbnRhaW5lci1pbmxpbmUge1xuICBkaXYsXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbiAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8qKlxuICogTWFya3VwIGZyZWUgY2xlYXJpbmcuXG4gKlxuICogQHNlZSBodHRwOi8vcGVyaXNoYWJsZXByZXNzLmNvbS9wcmVzcy8yMDA5LzEyLzA2L25ldy1jbGVhcmZpeC1oYWNrXG4gKi9cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogSUU2ICovXG4qIGh0bWwgLmNsZWFyZml4IHtcbiAgaGVpZ2h0OiAxJTtcbn1cbi8qIElFNyAqL1xuKjpmaXJzdC1jaGlsZCArIGh0bWwgLmNsZWFyZml4IHtcbiAgbWluLWhlaWdodDogMSU7XG59XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQmFzZSBBdG9tcyBFeHRlbmRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJWJhc2UtLWh0bWwge1xuICBmb250LXNpemU6ICRlbS1iYXNlO1xuICAvKipcbiAgICogbW9kdWxlcy9zeXN0ZW0vc3lzdGVtLmJhc2UuY3NzXG4gICAqIEZvciBhbnl0aGluZyB5b3Ugd2FudCB0byBoaWRlIG9uIHBhZ2UgbG9hZCB3aGVuIEpTIGlzIGVuYWJsZWQsIHNvXG4gICAqIHRoYXQgeW91IGNhbiB1c2UgdGhlIEpTIHRvIGNvbnRyb2wgdmlzaWJpbGl0eSBhbmQgYXZvaWQgZmxpY2tlci5cbiAgICovXG4gICYuanMge1xuICAgIC5qcy1oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiViYXNlLS1ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1ib2R5O1xuICBjb2xvcjogJHRleHQtZGVmYXVsdDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRm9ybSBBdG9tc1xuLy8gQGltcG9ydCBcIm1lZGlhL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm1lZGlhL21peGluc1wiO1xuQGltcG9ydCBcIm1lZGlhL2V4dGVuZHNcIjtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBJbWFnZXNcblxuaW1nIHtcbiAgQGV4dGVuZCAlYmFzZS0taW1hZ2U7XG59XG5cbi8vIFZpZGVvc1xuXG4uZW1iZWRkZWQtdmlkZW8gLnBsYXllciB7XG4gIEBleHRlbmQgJWJhc2UtLXZpZGVvO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBNZWRpYSBBdG9tcyBFeHRlbmRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJWJhc2UtLWltYWdlIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246dGV4dC1ib3R0b207XG59XG5cbiViYXNlLS1pbWFnZS0tQk9SREVSIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpbmstZGVmYXVsdDtcbn1cblxuJWJhc2UtLWltYWdlLS1CT1JERVItLUhPVkVSIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpbmstaG92ZXItZGVmYXVsdDtcbn1cblxuJWJhc2UtLWltYWdlLVJFU1BPTlNJVkUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiViYXNlLS12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpZnJhbWUsIG9iamVjdCwgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnV0dG9uIEF0b21zIEV4dGVuZHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4lYnV0dG9uLS1uby1zdHlsaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4lYnV0dG9uLS1yZXNldCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRidXR0b24tYmFja2dyb3VuZC1kZWZhdWx0LCAxMCUpO1xuICB9XG59XG5cbiVidXR0b24ge1xuICBAZXh0ZW5kICVidXR0b24tLXJlc2V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMTBweCAxMHB4IDEwcHggMDtcbiAgcGFkZGluZzogOXB4IDIwcHg7XG5cbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuICBAZXh0ZW5kICVmb250LWVtcGhhc2lzO1xuICBsZXR0ZXItc3BhY2luZzogMGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTYwMCkge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiA5cHggMjVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkoYmFja2dyb3VuZCwgY29sb3IsIGJvcmRlci1jb2xvcik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oMTUwbXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihsaW5lYXIpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWRlbGF5KDApO1xuXG4gICYsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzLFxuICAmOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnV0dG9uLWNvbG9ycygkYnV0dG9uLWJhY2tncm91bmQtZGVmYXVsdCwgJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWRlZmF1bHQsICRidXR0b24tdGV4dC1kZWZhdWx0LCAkYnV0dG9uLXRleHQtaG92ZXItZGVmYXVsdCwgJGJ1dHRvbi1ib3JkZXItZGVmYXVsdCwgJGJ1dHRvbi1ib3JkZXItaG92ZXItZGVmYXVsdCk7XG59XG5cbiVidXR0b24tLUZVTEwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiVidXR0b24tLUhBTEYge1xuICBAZXh0ZW5kICVidXR0b24tLUZVTEw7XG4gIHdpZHRoOiA1MCU7XG59XG5cbiVidXR0b24tLUxFRlQge1xuICBAaW5jbHVkZSBzcGFuKDEgb2YgMiAoMCkpO1xuICBib3JkZXItcmlnaHQ6IDNweCAkd2hpdGUgc29saWQ7XG59XG4lYnV0dG9uLS1SSUdIVCB7XG4gIEBpbmNsdWRlIHNwYW4oMSBvZiAyICgwKSBsYXN0KTtcbn1cblxuJWJ1dHRvbi0tRklSU1Qge1xuICBAaW5jbHVkZSBzcGFuKDEgb2YgMyAoMCkpO1xuICBib3JkZXItcmlnaHQ6IDNweCAkd2hpdGUgc29saWQ7XG4gIEBleHRlbmQgJWJ1dHRvbi0tRlVMTDtcbiAgY2xlYXI6IG5vbmU7XG59XG4lYnV0dG9uLS1TRUNPTkQge1xuICBAaW5jbHVkZSBzcGFuKDEgb2YgMyAoMCkpO1xuICBib3JkZXItcmlnaHQ6IDNweCAkd2hpdGUgc29saWQ7XG4gIEBleHRlbmQgJWJ1dHRvbi0tRlVMTDtcbiAgY2xlYXI6IG5vbmU7XG59XG4lYnV0dG9uLS1USElSRCB7XG4gIEBpbmNsdWRlIHNwYW4oMSBvZiAzICgwKSBsYXN0KTtcbiAgQGV4dGVuZCAlYnV0dG9uLS1GVUxMO1xufVxuXG4lYnV0dG9uLS1OQVRVUkFMIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuXG4lYnV0dG9uLS1UQUxMIHtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDApO1xufVxuXG4lYnV0dG9uLS1JTlNFVCB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4lYnV0dG9uLS1QUklNQVJZIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbn1cblxuJWJ1dHRvbi0tU0VDT05EQVJZIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogJGxpZ2h0LWJsdWU7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjb2xvcjogJGxpZ2h0LWJsdWU7XG5cbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbWlkLWdyZXk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRtaWQtZ3JleTtcbiAgfVxufVxuXG4lYnV0dG9uLS1QT1NJVElWRSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRncmVlbiwgMTAlKTtcbiAgfVxufVxuXG4lYnV0dG9uLS1ORUdBVElWRSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkcmVkLCAxMCUpO1xuICB9XG59XG5cbiVidXR0b24tLURJU0FCTEVEIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuJWJ1dHRvbi0tTU9SRS1MSU5LIHtcbiAgYSB7XG4gICAgbWFyZ2luLXRvcDogbW9kdWxhci1zY2FsZSgwKTtcbiAgICBtYXJnaW4tYm90dG9tOiBtb2R1bGFyLXNjYWxlKDApO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnV0dG9uIEF0b21zXG5AaW1wb3J0IFwiYnV0dG9uL3ZhcmlhYmxlc1wiO1xuLy8gQGltcG9ydCBcImJ1dHRvbi9taXhpbnNcIjtcbkBpbXBvcnQgXCJidXR0b24vZXh0ZW5kc1wiO1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qIFJlc2V0cyBidXR0b24gc3R5bGUgKi9cbmJ1dHRvbiB7XG4gIEBleHRlbmQgJWJ1dHRvbi0tcmVzZXQ7XG59XG5cbi8qIEJhc2UgQnV0dG9uICovXG4uYnRuLFxuLmJ1dHRvbixcbi5tb3JlLWxpbmsgYSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuYnV0dG9uIHtcbiAgQGV4dGVuZCAlYnV0dG9uO1xufVxuXG4uYnV0dG9uIHtcblxuICAvKiBGaWxsIHdpZHRoIG9mIGNvbnRhaW5lciAqL1xuICAmLS1GVUxMIHtcbiAgICBAZXh0ZW5kICVidXR0b24tLUZVTEw7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAvKiBIYWxmIHdpZHRoIG9mIGNvbnRhaW5lciAqL1xuICAmLS1IQUxGIHtcbiAgICBAZXh0ZW5kICVidXR0b24tLUhBTEY7XG4gIH1cblxuICAvKiBGbG9hdHMgKi9cbiAgJi0tTEVGVCB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLS1MRUZUO1xuICB9XG4gICYtLVJJR0hUIHtcbiAgICBAZXh0ZW5kICVidXR0b24tLVJJR0hUO1xuICB9XG5cbiAgJi0tRklSU1Qge1xuICAgIEBleHRlbmQgJWJ1dHRvbi0tRklSU1Q7XG4gIH1cbiAgJi0tU0VDT05EIHtcbiAgICBAZXh0ZW5kICVidXR0b24tLVNFQ09ORDtcbiAgfVxuICAmLS1USElSRCB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLS1USElSRDtcbiAgfVxuXG4gIC8qIEluaGVyaXQgc2l6aW5nIGZyb20gcGFyZW50ICovXG4gICYtLU5BVFVSQUwge1xuICAgIEBleHRlbmQgJWJ1dHRvbi0tTkFUVVJBTDtcbiAgfVxuXG4gIC8qIEV4dHJhIGhlaWdodCBidXR0b24gKi9cbiAgJi0tVEFMTCB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLS1UQUxMO1xuICB9XG5cbiAgLyogQnV0dG9uIHdpdGhvdXQgbWFyZ2lucyAqL1xuICAmLS1JTlNFVCB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLS1JTlNFVDtcbiAgfVxuXG4gIC8qIEJ1dHRvbiBGdW5jdGlvbnMgKi9cbiAgJi0tUFJJTUFSWSB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLS1QUklNQVJZO1xuICB9XG5cbiAgJi0tU0VDT05EQVJZIHtcbiAgICBAZXh0ZW5kICVidXR0b24tLVNFQ09OREFSWTtcbiAgfVxuXG4gICYtLVBPU0lUSVZFIHtcbiAgICBAZXh0ZW5kICVidXR0b24tLVBPU0lUSVZFO1xuICB9XG5cbiAgJi0tTkVHQVRJVkUge1xuICAgIEBleHRlbmQgJWJ1dHRvbi0tTkVHQVRJVkU7XG4gIH1cblxuICAmLS1ESVNBQkxFRCB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLS1ESVNBQkxFRDtcbiAgfVxuXG4gIC8qIEFkamFjZW50IGJ1dHRvbnMgc2hvdWxkIGhhdmUgc29tZSBzcGFjZSBiZXR3ZWVuIHRoZW0uICovXG4gICYgKyAmLFxuICAmICsgYSB7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgfVxuXG4gIC8qIEFkamFjZW50IGJ1dHRvbnMgc2hvdWxkIGhhdmUgc29tZSBzcGFjZSBiZXR3ZWVuIHRoZW0uICovXG4gICYtLUZVTEwgKyAmLS1GVUxMLFxuICAmLS1IQUxGICsgJi0tSEFMRixcbiAgJi0tSEFMRiArICYtLUZVTEwsXG4gICYtLUZVTEwgKyAmLS1IQUxGICYtLUhBTEYgKyAmLS1GSVJTVCxcbiAgJi0tRlVMTCArICYtLUZJUlNULFxuICAmLS1GSVJTVCArICYtLVNFQ09ORCxcbiAgJi0tU0VDT05EICsgJi0tVEhJUkQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgJi0tRlVMTCArICYtLUZVTEwsXG4gICYtLUZVTEwgKyAmLS1IQUxGLFxuICAmLS1GVUxMICsgJi0tSEFMRiArICYtLUhBTEYsXG4gICYtLUZVTEwgKyAmLS1GSVJTVCxcbiAgJi0tRlVMTCArICYtLUZJUlNUICsgJi0tU0VDT05ELFxuICAmLS1GVUxMICsgJi0tRklSU1QgKyAmLS1TRUNPTkQgKyAmLS1USElSRCxcbiAgJi0tSEFMRiArICYtLUZVTEwsXG4gICYtLUhBTEYgKyAmLS1IQUxGICsgJi0tSEFMRixcbiAgJi0tSEFMRiArICYtLUhBTEYgKyAmLS1IQUxGICsgJi0tSEFMRixcbiAgJi0tSEFMRiArICYtLUZJUlNULFxuICAmLS1IQUxGICsgJi0tRklSU1QgKyAmLS1TRUNPTkQsXG4gICYtLUhBTEYgKyAmLS1GSVJTVCArICYtLVNFQ09ORCArICYtLVRISVJELFxuICAmLS1USElSRCArICYtLUZVTEwsXG4gICYtLVRISVJEICsgJi0tSEFMRixcbiAgJi0tVEhJUkQgKyAmLS1IQUxGICsgJi0tSEFMRixcbiAgJi0tVEhJUkQgKyAmLS1GSVJTVCxcbiAgJi0tVEhJUkQgKyAmLS1GSVJTVCArICYtLVNFQ09ORCxcbiAgJi0tVEhJUkQgKyAmLS1GSVJTVCArICYtLVNFQ09ORCArICYtLVRISVJELFxuICAge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxufVxuXG4vKiBCdXR0b24gdGhlbWluZyBvdmVycmlkZXMgKi9cbi5tb3JlLWxpbmsge1xuICBAZXh0ZW5kICVidXR0b24tLU1PUkUtTElOSztcbn1cbiIsIi8vIHJlbSBTdXBwb3J0XG4vLyA9PT09PT09PT09PVxuXG4vLyByZW1cbi8vIC0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXJlbShcbiAgJHByb3AsXG4gICR2YWxcbikge1xuICAkX3JlcXM6IChcbiAgICB2YXJpYWJsZTogcmh5dGhtLXVuaXQgcmVtLXdpdGgtcHgtZmFsbGJhY2ssXG4gICAgbWl4aW46IHJlbSxcbiAgKTtcbiAgQGlmIHN1c3ktc3VwcG9ydChyZW0sICRfcmVxcywgJHdhcm46IGZhbHNlKSBhbmQgJHJoeXRobS11bml0ID09IHJlbSB7XG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcbiAgfSBAZWxzZSB7XG4gICAgI3skcHJvcH06ICR2YWw7XG4gIH1cbn1cbiIsIi8vIFNwYW4gU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG4vLyBTcGFuIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgc3Bhbm5pbmcgZWxlbWVudCB1c2luZyBzaG9ydGhhbmQgc3ludGF4LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0OiAkc3BhbjtcbiAgJHNwYW46IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkb3V0cHV0OiBzcGFuLW1hdGgoJHNwYW4pO1xuICAkbmVzdGluZzogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY2xlYXI6IHN1c3ktZ2V0KGNsZWFyLCAkc3Bhbik7XG5cbiAgJGJveDogc3VzeS1nZXQoYm94LXNpemluZywgJHNwYW4pO1xuICAkY29udGVudC1ib3g6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcbiAgJGJveDogJGJveCBvciBpZihpcy1pbnNpZGUoJHNwYW4pIGFuZCAkY29udGVudC1ib3gsIGJvcmRlci1ib3gsIG51bGwpO1xuXG4gIEBpZiAkY2xlYXIgPT0gYnJlYWsge1xuICAgIEBpbmNsdWRlIGJyZWFrO1xuICB9IEBlbHNlIGlmICRjbGVhciA9PSBub2JyZWFrIHtcbiAgICBAaW5jbHVkZSBub2JyZWFrO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNwYW4sICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7XG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIEBpZiB2YWxpZC1jb2x1bW5zKCRuZXN0aW5nLCBzaWxlbnQpIHtcbiAgICBAaW5jbHVkZSBuZXN0ZWQoJHNwYW4pIHsgQGNvbnRlbnQ7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gU3BhbiBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBzcGFuLlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBmdW5jdGlvbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gIEByZXR1cm4gZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xufVxuXG4vLyBTcGFuIE1hdGhcbi8vIC0tLS0tLS0tLVxuLy8gR2V0IGFsbCB0aGUgc3BhbiByZXN1bHRzLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBzcGFuLW1hdGgoXG4gICRzcGFuXG4pIHtcbiAgJG5lc3QgICAgICAgICAgICAgOiBpZihzdXN5LWdldChyb2xlLCAkc3BhbikgPT0gbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkc3BsaXQtbmVzdCAgICAgICA6IGlmKGlzLXNwbGl0KCRzcGFuKSBhbmQgJG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJGVkZ2UgICAgICAgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRsb2NhdGlvbiAgICAgICAgIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcblxuICAkZmxvYXQgICAgICAgICAgICA6IGZyb207XG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbDtcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsO1xuICAkbWFyZ2luLWJlZm9yZSAgICA6IG51bGw7XG4gICRtYXJnaW4tYWZ0ZXIgICAgIDogbnVsbDtcblxuICAvLyBjYWxjdWxhdGUgd2lkdGhzXG4gICRzcHJlYWQ6IGluZGV4KG1hcC12YWx1ZXMoJHNwYW4pLCBzcHJlYWQpO1xuICAkc3BhbjogaWYoJHNwbGl0LW5lc3QgYW5kIG5vdCgkc3ByZWFkKSwgbWFwLW1lcmdlKCRzcGFuLCAoc3ByZWFkOiB3aWRlKSksICRzcGFuKTtcbiAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG4gICRndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgLy8gYXBwbHkgZ3V0dGVyc1xuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGlmIG5vdChzdXN5LWdldChyb2xlLCAkc3BhbikpIHtcbiAgICAgICRwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRwYWRkaW5nLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90KCRzcGxpdC1uZXN0KSB7XG4gICAgICAkbWFyZ2luLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRtYXJnaW4tYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBzcGVjaWFsIG1hcmdpbiBoYW5kbGluZ1xuICBAaWYgc3VzeS1nZXQob3V0cHV0LCAkc3BhbikgPT0gaXNvbGF0ZSBhbmQgJGxvY2F0aW9uIHtcbiAgICAkbWFyZ2luLWJlZm9yZTogZ2V0LWlzb2xhdGlvbigkc3Bhbik7XG4gICAgJG1hcmdpbi1hZnRlcjogLTEwMCU7XG4gIH0gQGVsc2UgaWYgJGVkZ2Uge1xuICAgICRpcy1zcGxpdDogaXMtc3BsaXQoJHNwYW4pO1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuXG4gICAgQGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGZsb2F0OiBzdXN5LWdldChsYXN0LWZsb3csICRzcGFuKTtcbiAgICB9XG5cbiAgICBAaWYgbm90KCRpcy1zcGxpdCkge1xuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGZpcnN0IGFuZCAkcG9zID09IGJlZm9yZSkge1xuICAgICAgICAkbWFyZ2luLWJlZm9yZTogMDtcbiAgICAgIH1cbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBsYXN0IGFuZCAkcG9zID09IGFmdGVyKSB7XG4gICAgICAgICRtYXJnaW4tYWZ0ZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBAcmV0dXJuIChcbiAgICB3aWR0aCAgICAgICAgICAgOiAkd2lkdGgsXG4gICAgZmxvYXQgICAgICAgICAgIDogJGZsb2F0LFxuICAgIG1hcmdpbi1iZWZvcmUgICA6ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi1hZnRlciAgICA6ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy1iZWZvcmUgIDogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctYWZ0ZXIgICA6ICRwYWRkaW5nLWFmdGVyLFxuICAgIGZsb3cgICAgICAgICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcbn1cblxuLy8gR2V0IFNwYW4gV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gc3BhbiB3aWR0aC5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gZ2V0LXNwYW4td2lkdGgoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG5cbiAgJG4gICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkbG9jYXRpb24gOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuICAkY29sdW1ucyAgOiBzdXN5LWdldChjb2x1bW5zLCAkc3Bhbik7XG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRzcGFuKTtcbiAgJHNwcmVhZCAgIDogc3VzeS1nZXQoc3ByZWFkLCAkc3Bhbik7XG5cbiAgJGNvbnRleHQgIDogbnVsbDtcbiAgJHNwYW4tc3VtIDogbnVsbDtcbiAgJHdpZHRoICAgIDogbnVsbDtcblxuICBAaWYgJG4gPT0gJ2Z1bGwnIHtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcbiAgICAkcm9sZTogc3VzeS1nZXQocm9sZSwgJHNwYW4pO1xuICAgICRuOiBpZigkcG9zID09IHNwbGl0IGFuZCAkcm9sZSAhPSBuZXN0LCBzdXN5LWNvdW50KCRjb2x1bW5zKSwgMTAwJSk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbikgIT0gbnVtYmVyIHtcbiAgICBAd2FybiBcIigje3R5cGUtb2YoJG4pfSkgI3skbn0gaXMgbm90IGEgdmFsaWQgc3Bhbi5cIjtcbiAgfSBAZWxzZSBpZiB1bml0bGVzcygkbikge1xuICAgICRjb250ZXh0OiBzdXN5LXN1bSgkY29sdW1ucywgJGd1dHRlcnMsIGlmKGlzLXNwbGl0KCRzcGFuKSwgd2lkZSwgbmFycm93KSk7XG4gICAgJHNwcmVhZDogaWYoaXMtaW5zaWRlKCRzcGFuKSwgJHNwcmVhZCBvciB3aWRlLCAkc3ByZWFkKTtcbiAgICAkc3Bhbi1zdW06IHN1c3koJG4sICRsb2NhdGlvbiwgJGNvbHVtbnMsICRndXR0ZXJzLCAkc3ByZWFkKTtcblxuICAgICRfbWF0aDogc3VzeS1nZXQobWF0aCwgJHNwYW4pO1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRzcGFuKTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkd2lkdGg6ICRzcGFuLXN1bSAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRzcGFuLXN1bSAvICRjb250ZXh0KTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICR3aWR0aDogJG47XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cbiIsIi8vIERpcmVjdGlvbiBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEZsb3cgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgZmxvdzogbHRyLFxuKSk7XG5cbi8vIEdldCBEaXJlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIG9yICd0bycgZGlyZWN0aW9uIG9mIGEgbHRyIG9yIHJ0bCBmbG93LlxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuLy8gLSBbJGtleV0gICA6IGZyb20gfCB0b1xuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KSxcbiAgJGtleTogZnJvbVxuKSB7XG4gICRyZXR1cm46IGlmKCRmbG93ID09IHJ0bCwgKGZyb206IHJpZ2h0LCB0bzogbGVmdCksIChmcm9tOiBsZWZ0LCB0bzogcmlnaHQpKTtcbiAgQHJldHVybiBtYXAtZ2V0KCRyZXR1cm4sICRrZXkpO1xufVxuXG4vLyBUb1xuLy8gLS1cbi8vIFJldHVybiB0aGUgJ3RvJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gdG8oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgdG8pO1xufVxuXG4vLyBGcm9tXG4vLyAtLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gZnJvbShcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCBmcm9tKTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRm9ybSBBdG9tcyBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kYm9yZGVyLXdpZHRoOiAxcHg7XG5cbi8qIENvbG91cnMgKi9cbiRpbnB1dC1ib3JkZXItZGVmYXVsdDogJGJsYWNrO1xuJGlucHV0LWZvY3VzLWRlZmF1bHQ6ICRkYXJrLXJlZDtcbiRpbnB1dC1zdWNjZXNzLWRlZmF1bHQ6ICRtaWQtZ3JlZW47XG4kaW5wdXQtZXJyb3ItZGVmYXVsdDogJHJlZDtcbiRyYWRpby1lbXB0eS1kZWZhdWx0OiAkYmxhY2s7XG4kcmFkaW8tZmlsbC1kZWZhdWx0OiAkbGlnaHQtcmVkO1xuJGlucHV0LWRpc2FibGVkLWRlZmF1bHQ6ICRsaWdodC1ncmV5OyIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRm9ybSBBdG9tc1xuQGltcG9ydCBcImZvcm0vdmFyaWFibGVzXCI7XG4vLyBAaW1wb3J0IFwiZm9ybS9taXhpbnNcIjtcbkBpbXBvcnQgXCJmb3JtL2V4dGVuZHNcIjtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5odG1sLmpzIHtcbiAgaW5wdXQge1xuICAgIEBleHRlbmQgJWlucHV0LS1hdXRvY29tcGxldGUtLVRIUk9CQkVSO1xuICB9XG4gIGZpZWxkc2V0IHtcbiAgICBAZXh0ZW5kICVmaWVsZHNldC0tQ09MTEFQU0VEO1xuICAgIEBleHRlbmQgJWZpZWxkc2V0LS1DT0xMQVBTSUJMRTtcbiAgfVxufVxuXG5mb3JtIHtcbiAgQGV4dGVuZCAlZm9ybTtcbn1cblxuc2VsZWN0LFxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIEBleHRlbmQgJWZpZWxkO1xufVxuXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuc2VsZWN0IHtcbiAgbWFyZ2luLXRvcDogbW9kdWxhci1zY2FsZSgtMSk7XG4gIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoLTEpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6ICRiYXNlLXNwYWNpbmcgKiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcgLyAyO1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItZGVmYXVsdDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBvdXRsaW5lOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItZGVmYXVsdDtcbiAgJlttdWx0aXBsZT1tdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5maWVsZHNldCB7XG4gIEBleHRlbmQgJWZpZWxkc2V0O1xufVxuXG5sZWdlbmQge1xuICBAZXh0ZW5kICVsZWdlbmQ7XG59XG5cbmxhYmVsIHtcbiAgQGV4dGVuZCAlbGFiZWw7XG59XG5cbi5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgtMSk7XG59XG5cbiNhdXRvY29tcGxldGUge1xuICBAZXh0ZW5kICVpbnB1dC0tYXV0b2NvbXBsZXRlO1xufVxuXG4vKiBSZW1vdmUgRm9jdXMgQm94ZXMgKi9cbnNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6ICRib3JkZXItd2lkdGggc29saWQgbGlnaHRlbigkYmxhY2ssIDE1JSk7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGV4dCBJbnB1dHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5mb3JtLXR5cGUtdGV4dGZpZWxkLFxuLndlYmZvcm0tY29tcG9uZW50LXRleHRmaWVsZCxcbi53ZWJmb3JtLWNvbXBvbmVudC1lbWFpbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMDtcblxuICBAYXQtcm9vdCAubm8tanMgJiBsYWJlbCxcbiAgbGFiZWwuYWN0aXZlIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWRlZmF1bHQ7XG4gIH1cblxuICBpbnB1dFt0eXBlPXRleHRdLnZhbGlkLFxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXS52YWxpZCxcbiAgaW5wdXRbdHlwZT1lbWFpbF0udmFsaWQsXG4gIGlucHV0W3R5cGU9dXJsXS52YWxpZCxcbiAgaW5wdXRbdHlwZT1kYXRlXS52YWxpZCxcbiAgaW5wdXRbdHlwZT10ZWxdLnZhbGlkLFxuICBpbnB1dFt0eXBlPW51bWJlcl0udmFsaWQsXG4gIGlucHV0W3R5cGU9c2VhcmNoXS52YWxpZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtc3VjY2Vzcy1kZWZhdWx0O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICBpbnB1dFt0eXBlPXRleHRdLmludmFsaWQsXG4gIGlucHV0W3R5cGU9cGFzc3dvcmRdLmludmFsaWQsXG4gIGlucHV0W3R5cGU9ZW1haWxdLmludmFsaWQsXG4gIGlucHV0W3R5cGU9dXJsXS5pbnZhbGlkLFxuICBpbnB1dFt0eXBlPWRhdGVdLmludmFsaWQsXG4gIGlucHV0W3R5cGU9dGVsXS5pbnZhbGlkLFxuICBpbnB1dFt0eXBlPW51bWJlcl0uaW52YWxpZCxcbiAgaW5wdXRbdHlwZT1zZWFyY2hdLmludmFsaWQge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGlucHV0LWVycm9yLWRlZmF1bHQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vIFByZWZpeCBJY29uc1xuICAucHJlZml4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6ICRiYXNlLXNwYWNpbmcgKiAyO1xuICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgzKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGNvbG9yIC4ycyk7XG5cbiAgICAmLmFjdGl2ZSB7IGNvbG9yOiAkaW5wdXQtZm9jdXMtZGVmYXVsdDsgfVxuICB9XG4gIC5wcmVmaXggfiBpbnB1dCxcbiAgLnByZWZpeCB+IHRleHRhcmVhIHtcbiAgICBtYXJnaW4tbGVmdDogNTJweDtcbiAgICB3aWR0aDogOTIlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MnB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gIH1cbiAgLnByZWZpeCB+IHRleHRhcmVhIHsgcGFkZGluZy10b3A6IC44cmVtOyB9XG4gIC5wcmVmaXggfiBsYWJlbCB7IG1hcmdpbi1sZWZ0OiAkYmFzZS1zcGFjaW5nICogMjsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNyb3RjaGV0LCB0cnVlKSB7XG4gICAgLnByZWZpeCB+IGlucHV0IHtcbiAgICAgIHdpZHRoOiA4NiU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTJweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlxdWF2ZXIsIHRydWUpIHtcbiAgICAucHJlZml4IH4gaW5wdXQge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MnB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzcmVtKTtcbiAgICB9XG4gIH1cblxufVxuXG4jYWRtaW4tbWVudSAuYWRtaW4tbWVudS1zZWFyY2ggLmZvcm0taXRlbSB7XG4gIHBvc2l0aW9uOiBpbmhlcml0O1xufVxuXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0ge1xuICBoZWlnaHQ6ICRiYXNlLXNwYWNpbmcgKiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItZGVmYXVsdDtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDApO1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBAYXQtcm9vdCAubHQtaWU5ICYge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiY29sb3JcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG4uc2VsZWN0LXdyYXBwZXIgLnNlbGVjdC1kcm9wZG93bjpmb2N1cyxcbmlucHV0W3R5cGU9XCJjb2xvclwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJkYXRlXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwidGVsXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInRleHRcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwidGltZVwiXTpob3ZlcixcbmlucHV0W3R5cGU9XCJ1cmxcIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwid2Vla1wiXTpob3Zlcixcbi5zZWxlY3Qtd3JhcHBlciAuc2VsZWN0LWRyb3Bkb3duOmhvdmVyICB7XG4gIGJvcmRlci1ib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGlucHV0LWZvY3VzLWRlZmF1bHQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRleHRhcmVhXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgwKTtcbiAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nIDA7XG4gIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmc7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItZGVmYXVsdDtcbiAgb3V0bGluZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgcmVzaXplOiBub25lO1xuXG4gICYudmFsaWQge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkaW5wdXQtc3VjY2Vzcy1kZWZhdWx0O1xuICB9XG4gICYuaW52YWxpZCB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1lcnJvci1kZWZhdWx0O1xuICB9XG4gICY6aG92ZXIgIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGlucHV0LWZvY3VzLWRlZmF1bHQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAmOmZvY3VzIHtcbiAgICBib3R0b206ICRib3JkZXItd2lkdGggc29saWQgJGlucHV0LWZvY3VzLWRlZmF1bHQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICBAYXQtcm9vdCAubHQtaWU5ICYge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgfVxufVxuXG4ucmVzaXphYmxlLXRleHRhcmVhIHtcbiAgdGV4dGFyZWEge1xuICAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyAvIDIgMCAwO1xuICB9XG4gIC5ncmlwcGllIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWVlIHVybCgnLi4vLi4vaW1hZ2VzL2dyaXBwaWUucG5nJykgbm8tcmVwZWF0IGNlbnRlciAycHg7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICNkZGQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBjdXJzb3I6IHMtcmVzaXplO1xuICAgIGhlaWdodDogOXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyAqIDI7XG4gIH1cbn1cblxuLy8gRm9yIHRleHRhcmVhIGF1dG9yZXNpemVcbi5oaWRkZW5kaXYge1xuICBkaXNwbGF5OiBub25lO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsgLyogZnV0dXJlIHZlcnNpb24gb2YgZGVwcmVjYXRlZCAnd29yZC13cmFwJyAqL1xuICBwYWRkaW5nLXRvcDogbW9kdWxhci1zY2FsZSgxLjIpOyAvKiBwcmV2ZW50cyB0ZXh0IGp1bXAgb24gRW50ZXIga2V5cHJlc3MgKi9cbn1cblxuLyoqKioqKioqKioqKioqKlxuICBSYWRpbyBCdXR0b25zXG4qKioqKioqKioqKioqKiovXG5cbi5mb3JtLXJhZGlvcyB7XG4gIG1hcmdpbi10b3A6IG1vZHVsYXItc2NhbGUoMCk7XG59XG4vKiBSZW1vdmUgZGVmYXVsdCBSYWRpbyBCdXR0b25zICovXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7XG4gIEBhdC1yb290ICNkaWZmLW5vZGUtcmV2aXNpb25zICYge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgfVxufVxuXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCxcblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMCk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oLjI4cyBlYXNlKTtcblxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiB3ZWJraXQgKHNhZmFyaSwgY2hyb21lKSBicm93c2VycyAqL1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAvKiBtb3ppbGxhIGJyb3dzZXJzICovXG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsgLyogd2Via2l0IChrb25xdWVyb3IpIGJyb3dzZXJzICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUxMCsgKi9cbn1cblxuW3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSxcblt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDBweDtcbiAgdG9wOiAwcHg7XG4gIG1hcmdpbjogNHB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB6LWluZGV4OiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKC4yOHMgZWFzZSk7XG59XG5cbi8qIFVuY2hlY2tlZCBzdHlsZXMgKi9cblt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgJHJhZGlvLWVtcHR5LWRlZmF1bHQ7XG59XG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgJHJhZGlvLWVtcHR5LWRlZmF1bHQ7XG4gIHotaW5kZXg6IC0xO1xuXG4gIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwKSk7XG59XG5cbi8qIENoZWNrZWQgc3R5bGVzICovXG5bdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoJHJhZGlvLWZpbGwtZGVmYXVsdCwgMC40KTtcbn1cblt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAkcmFkaW8tZmlsbC1kZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmFkaW8tZmlsbC1kZWZhdWx0O1xuICB6LWluZGV4OiAwO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wMikpO1xufVxuXG4vKiBSYWRpbyBXaXRoIGdhcCAqL1xuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCAkcmFkaW8tZmlsbC1kZWZhdWx0O1xufVxuW3R5cGU9XCJyYWRpb1wiXS53aXRoLWdhcDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRyYWRpby1maWxsLWRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyYWRpby1maWxsLWRlZmF1bHQ7XG4gIHotaW5kZXg6IDA7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSguNSkpO1xufVxuXG4vKiBEaXNhYmxlZCBzdHlsZSAqL1xuW3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZDpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlLFxuW3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZDpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWRlZmF1bHQ7XG59XG5bdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkICsgbGFiZWwge1xuICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWRlZmF1bHQ7XG59XG5bdHlwZT1cInJhZGlvXCJdOmRpc2FibGVkOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpob3ZlcjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1kZWZhdWx0O1xufVxuXG5cbi8qKioqKioqKioqKioqKipcbiAgIENoZWNrYm94ZXNcbioqKioqKioqKioqKioqKi9cblxuLmZvcm0tY2hlY2tib3hlcyB7XG4gIG1hcmdpbi10b3A6IG1vZHVsYXItc2NhbGUoLTEpO1xufVxuXG4vKiBDVVNUT00gQ1NTIENIRUNLQk9YRVMgKi9cbmZvcm0gcCB7XG4gIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoLTEpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuICBmb3JtIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICB9XG5cbi8qIFJlbW92ZSBkZWZhdWx0IGNoZWNrYm94ICovXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5cHg7XG5cbiAgQGF0LXJvb3QgLmx0LWllMTAgJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxufVxuW3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWwsXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDApO1xuICBoZWlnaHQ6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBAZXh0ZW5kICVmb250LWJvZHk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiB3ZWJraXQgKHNhZmFyaSwgY2hyb21lKSBicm93c2VycyAqL1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lOyAvKiBtb3ppbGxhIGJyb3dzZXJzICovXG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTsgLyogd2Via2l0IChrb25xdWVyb3IpIGJyb3dzZXJzICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUxMCsgKi9cblxuICBAYXQtcm9vdCAubHQtaWUxMCAmIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gIH1cbn1cblxuLyogY2hlY2tib3ggYXNwZWN0ICovXG5bdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogbW9kdWxhci1zY2FsZSgtOCk7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMnMpO1xuXG4gIEBhdC1yb290IC5sdC1pZTEwICYge1xuICAgIEBleHRlbmQgJWVsZW1lbnQtaGlkZGVuO1xuICB9XG59XG4vKiBVbmNoZWNrZWQgc3R5bGVzICovXG5bdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgYm9yZGVyOiAycHggc29saWQgJHJhZGlvLWVtcHR5LWRlZmF1bHQ7XG59XG5cbi8qIENoZWNrZWQgc3R5bGVzICovXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICBsZWZ0OiAtNHB4O1xuICB0b3A6IC00cHg7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHJhZGlvLWZpbGwtZGVmYXVsdDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyYWRpby1maWxsLWRlZmF1bHQ7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGVaKDQwZGVnKSk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4oMTAwJSAxMDAlKTtcbn1cblxuLyogZGlzYWJsZWQgY2hlY2tib3ggKi9cblt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWRlZmF1bHQ7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRpbnB1dC1kaXNhYmxlZC1kZWZhdWx0O1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlWigwZGVnKSk7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gIGxlZnQ6IC0zcHg7XG4gIHRvcDogLTRweDtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkaW5wdXQtZGlzYWJsZWQtZGVmYXVsdDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRpbnB1dC1kaXNhYmxlZC1kZWZhdWx0O1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlWig0MGRlZykpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKDEwMCUgMTAwJSk7XG59XG5bdHlwZT1cImNoZWNrYm94XCJdOmRpc2FibGVkOmNoZWNrZWQgKyBsYWJlbCB7XG4gIGNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtZGVmYXVsdDtcbn1cblt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQ6bm90KDpjaGVja2VkKSArIGxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogJGlucHV0LWRpc2FibGVkLWRlZmF1bHQ7XG59XG5cbi8qIFN3aXRjaCAqL1xuLnN3aXRjaCxcbi5zd2l0Y2ggKiB7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5zd2l0Y2ggbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zd2l0Y2ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Zmlyc3QtY2hpbGQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xufVxuLnN3aXRjaCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpmaXJzdC1jaGlsZDpjaGVja2VkICsgLmxldmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2JjNWJlO1xufVxuLnN3aXRjaCBsYWJlbCBpbnB1dFt0eXBlPWNoZWNrYm94XTpmaXJzdC1jaGlsZDpjaGVja2VkICsgLmxldmVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NTg3O1xufVxuLnN3aXRjaCBsYWJlbCAubGV2ZXIsXG4uc3dpdGNoIGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpmaXJzdC1jaGlsZCArIC5sZXZlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MTgxODE7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLnN3aXRjaCBsYWJlbCAubGV2ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGMUYxO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLDAsMCwwLjQpO1xuICAgIGxlZnQ6IC01cHg7XG4gICAgdG9wOiAtMnB4O1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLCBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG59XG4uc3dpdGNoIGxhYmVsIGlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpmaXJzdC1jaGlsZCArIC5sZXZlcjphZnRlcixcbi5zd2l0Y2ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdOmNoZWNrZWQ6Zmlyc3QtY2hpbGQgKyAubGV2ZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCREJEQkQ7XG59XG5pbnB1dFt0eXBlPWNoZWNrYm94XTpmaXJzdC1jaGlsZDpjaGVja2VkIH4gLmxldmVyOmFjdGl2ZTphZnRlciB7XG4gICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDFweCByZ2JhKDAsMCwwLDAuNCksIDAgMCAwIDE1cHggcmdiYSgwLCAxNDksIDEzNSwgMC4xKTtcbn1cbmlucHV0W3R5cGU9Y2hlY2tib3hdOmZpcnN0LWNoaWxkIH4gLmxldmVyOmFjdGl2ZTphZnRlcixcbmlucHV0W3R5cGU9Y2hlY2tib3hdW2Rpc2FibGVkXTpmaXJzdC1jaGlsZCB+IC5sZXZlcjphY3RpdmU6YWZ0ZXIge1xuICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAxcHggcmdiYSgwLDAsMCwwLjQpLCAwIDAgMCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5zd2l0Y2ggbGFiZWwgaW5wdXRbdHlwZT1jaGVja2JveF06Zmlyc3QtY2hpbGQ6Y2hlY2tlZCArIC5sZXZlcjphZnRlciB7XG4gICAgbGVmdDogMzBweDtcbn1cblxuLyoqKioqKioqKioqKioqKlxuICBTZWxlY3QgRmllbGRcbioqKioqKioqKioqKioqKi9cblxuLnNlbGVjdC13cmFwcGVyIHNwYW4uc2VsZWN0LWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNDQ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItZGVmYXVsdDtcbiAgb3V0bGluZTogbm9uZTtcbiAgaGVpZ2h0OiAkYmFzZS1zcGFjaW5nICogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgwKTtcbiAgbGluZS1oZWlnaHQ6ICRiYXNlLXNwYWNpbmcgKiAyO1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMiU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IHVybCgnLi4vLi4vaW1hZ2VzL2Fycm93X29wZW4ucG5nJykgbGVmdCB0b3Agbm8tcmVwZWF0O1xuICAgIHdpZHRoOiA2cHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICB9XG4gIC5jb250YWluZXItaW5saW5lICYge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4uc2VsZWN0LXdyYXBwZXIgc2VsZWN0IHsgZGlzcGxheTogbm9uZTsgfVxuc2VsZWN0LmJyb3dzZXItZGVmYXVsdCB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8vIERpc2FibGVkIHN0eWxlc1xuc2VsZWN0OmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwwLDAsLjMpO1xufVxuLnNlbGVjdC13cmFwcGVyIHNwYW4uc2VsZWN0LWRyb3Bkb3duLmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwwLDAsLjMpO1xufVxuLnNlbGVjdC1kcm9wZG93biBsaS5kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLC4zKTtcblxuICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbn1cblxuXG4vKioqKioqKioqKioqKioqXG4gIFJhbmdlXG4qKioqKioqKioqKioqKiovXG5cbi5yYW5nZS1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV0sIGlucHV0W3R5cGU9cmFuZ2VdICsgLnRodW1iIHtcbiAgQGV4dGVuZCAlbm8tc2VsZWN0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxNXB4IDBweDtcbiAgcGFkZGluZzogMDtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdICsgLnRodW1iIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJhZGlvLWZpbGwtZGVmYXVsdDtcbiAgdG9wOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogLTZweDtcblxuICBAaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKDUwJSA1MCUpO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykpO1xuXG4gIC52YWx1ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAkcmFkaW8tZmlsbC1kZWZhdWx0O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoNDVkZWcpKTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgNTAlIDUwJSAwO1xuXG4gICAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kYm9yZGVyLXdpZHRoO1xuICAgICAgbWFyZ2luLXRvcDogbW9kdWxhci1zY2FsZSgtMik7XG4gICAgICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoLTIpO1xuICAgIH1cbiAgfVxufVxuXG5cbmlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLy8gV2ViS2l0XG5pbnB1dFt0eXBlPXJhbmdlXXtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2MyYzBjMjtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmFkaW8tZmlsbC1kZWZhdWx0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICBtYXJnaW46IC01cHggMCAwIDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oLjNzKTtcbn1cblxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2NjYztcbn1cblxuLy8gRmlyZUZveFxuaW5wdXRbdHlwZT1yYW5nZV17XG4gIC8qIGZpeCBmb3IgRkYgdW5hYmxlIHRvIGFwcGx5IGZvY3VzIHN0eWxlIGJ1ZyAgKi9cbiAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkIHdoaXRlO1xuXG4gIC8qcmVxdWlyZWQgZm9yIHByb3BlciB0cmFjayBzaXppbmcgaW4gRkYqL1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICRyYWRpby1maWxsLWRlZmF1bHQ7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG5cbi8qaGlkZSB0aGUgb3V0bGluZSBiZWhpbmQgdGhlIGJvcmRlciovXG5pbnB1dFt0eXBlPXJhbmdlXTotbW96LWZvY3VzcmluZ3tcbiAgb3V0bGluZTogJGJvcmRlci13aWR0aCBzb2xpZCB3aGl0ZTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0kYm9yZGVyLXdpZHRoO1xufVxuXG5pbnB1dFt0eXBlPXJhbmdlXTpmb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG59XG5cbi8vIElFIDEwK1xuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIGhlaWdodDogM3B4O1xuXG4gIC8qcmVtb3ZlIGJnIGNvbG91ciBmcm9tIHRoZSB0cmFjaywgd2UnbGwgdXNlIG1zLWZpbGwtbG93ZXIgYW5kIG1zLWZpbGwtdXBwZXIgaW5zdGVhZCAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAvKmxlYXZlIHJvb20gZm9yIHRoZSBsYXJnZXIgdGh1bWIgdG8gb3ZlcmZsb3cgd2l0aCBhIHRyYW5zcGFyZW50IGJvcmRlciAqL1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDZweCAwO1xuXG4gIC8qcmVtb3ZlIGRlZmF1bHQgdGljayBtYXJrcyovXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC1sb3dlciB7XG4gIGJhY2tncm91bmQ6ICM3Nzc7XG59XG5pbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAkcmFkaW8tZmlsbC1kZWZhdWx0O1xufVxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXM6Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogIzg4ODtcbn1cbmlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgIFRleHQgSW5wdXRzICsgVGV4dGFyZWFcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5jb250YWluZXItaW5saW5lIHtcbiAgLmZvcm0tc2VsZWN0LFxuICAuZm9ybS10ZXh0LFxuICAuZm9ybS10ZXh0YXJlYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLm5vLXNlbGVjdCB7XG4gIEBleHRlbmQgJW5vLXNlbGVjdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgIEZpbGUgZmllbGRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZm9ybS1pdGVtIHtcbiAgJi53ZWJmb3JtLWNvbXBvbmVudC1maWxlLFxuICAmLmZvcm0tdHlwZS1tYW5hZ2VkLWZpbGUge1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcgKiAyO1xuICB9XG59XG4uZm9ybS1tYW5hZ2VkLWZpbGUge1xuICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgLyAyIDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICBQcm9ncmVzcyBiYXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ud2ViZm9ybS1wcm9ncmVzc2JhciB7XG4gIG1hcmdpbi10b3A6IG1vZHVsYXItc2NhbGUoMC41KTtcbiAgbWFyZ2luLWJvdHRvbTogbW9kdWxhci1zY2FsZSgwKTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgRmllbGQgTXVsdGlwbGVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmZvcm0gLmZpZWxkLW11bHRpcGxlLXRhYmxlIHRoLmZpZWxkLWxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAkYmFzZS1zcGFjaW5nO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICBEcm9wZG93blxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmRyb3Bkb3duLWNvbnRlbnQge1xuICBAZXh0ZW5kICVkcm9wZG93bjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgRmllbHNldHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5mb3JtLXdyYXBwZXIsXG4uZm9ybS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZztcbn1cblxuLmZpZWxkc2V0LWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyAvIDI7XG4gIGNvbG9yOiAkbWlkLWdyZXk7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnZlcnRpY2FsLXRhYnMgZmllbGRzZXQudmVydGljYWwtdGFicy1wYW5lIHtcbiAgcGFkZGluZzogJGJhc2Utc3BhY2luZyAkYmFzZS1zcGFjaW5nO1xufVxuXG5kaXYudmVydGljYWwtdGFicyB7XG4gIGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICNjY2M7XG4gIGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB1bC52ZXJ0aWNhbC10YWJzLWxpc3QgbGkuc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1icm93bjtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgVmlld3MgZXhwb3NlZCBmb3Jtc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuI3ZpZXdzLWV4cG9zZWQtZm9ybS1mci12aWV3LWFydGlzdC1mci12aWV3LWFydGlzdC1hdG96LXBhZ2Uge1xuXG59XG4udmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAudmlld3MtZXhwb3NlZC13aWRnZXRzIHtcbiAgICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stZml4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLnZpZXdzLWV4cG9zZWQtd2lkZ2V0IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gICAgICB9XG4gICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1YXZlciwgdHJ1ZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIC52aWV3cy1leHBvc2VkLXdpZGdldCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTAuMjVlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3LWVtcHR5IHtcbiAgLm5vLXJlc3VsdHMtbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDIpO1xuICAgIHBhZGRpbmctdG9wOiBtb2R1bGFyLXNjYWxlKDApO1xuICAgIHBhZGRpbmctYm90dG9tOiBtb2R1bGFyLXNjYWxlKDApO1xuICAgIEBleHRlbmQgJWZvbnQtdGl0bGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbmlucHV0LmNrZV9kaWFsb2dfdWlfaW5wdXRfdGV4dCwgaW5wdXQuY2tlX2RpYWxvZ191aV9pbnB1dF9wYXNzd29yZCwgdGV4dGFyZWEuY2tlX2RpYWxvZ191aV9pbnB1dF90ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgIFN1YnNjcmliZSBmb3JtLlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5zZWN0aW9uLW5ld3NsZXR0ZXJzIHtcbiAgLm5ld3NsZXR0ZXItbGlua3Mge1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRjcm90Y2hldCwgdHJ1ZSkge1xuICAgICAgbWFyZ2luOiAwIDAgMCAyNTVweDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuICAudGl0bGUtYmFycy1wcm9jZXNzZWQgc3BhbiB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5hbGVydGRpYWxvZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY3JvdGNoZXQsIHRydWUpIHtcbiAgICAgIHdpZHRoOiBlbSg2MDBweCk7XG4gICAgfVxuICB9XG4gIC8vIE1haW4gZm9ybS5cbiAgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNyb3RjaGV0LCB0cnVlKSB7XG4gICAgICB3aWR0aDogZW0oNjAwcHgpO1xuICAgIH1cbiAgICAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZm9ybS1jaGVja2JveGVzIHtcbiAgICAgIG1hcmdpbi10b3A6IGVtKDEwcHgpO1xuICAgICAgZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZW0oMTBweCk7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBlbSgzOHB4KTtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogZW0oNjBweCk7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICYucmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiByZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHdpZHRoOiBlbSgxNXB4KTtcbiAgICAgICAgICAgIGhlaWdodDogZW0oMzBweCk7XG4gICAgICAgICAgICBsZWZ0OiBlbSg1cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmZvcm0taXRlbS1tYWlsY2hpbXAtbGlzdHMtaW50ZXJlc3QtZ3JvdXBzLWQ5ODRkZjVhM2EtMDNjMGRkMTJjNyB7XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcqJztcbiAgICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY3JvdGNoZXQsIHRydWUpIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBlbSgyNXB4KTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgbGVmdDogLTAuMjIyMjJlbTtcbiAgICAgICAgICAgICAgd2lkdGg6IDAuNjY2NjdlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjIyMjIyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZm9ybS1pdGVtLW1haWxjaGltcC1saXN0cy1pbnRlcmVzdC1ncm91cHMtZDk4NGRmNWEzYS00NTM1YjE2MjAzLFxuICAgICAgICAmLmZvcm0taXRlbS1tYWlsY2hpbXAtbGlzdHMtaW50ZXJlc3QtZ3JvdXBzLWQ5ODRkZjVhM2EtOWNiMzJmMjY3NCxcbiAgICAgICAgJi5mb3JtLWl0ZW0tbWFpbGNoaW1wLWxpc3RzLWludGVyZXN0LWdyb3Vwcy1iY2U5MDBjNzJmLTYyMjViMWYxYTksXG4gICAgICAgICYuZm9ybS1pdGVtLW1haWxjaGltcC1saXN0cy1pbnRlcmVzdC1ncm91cHMtYmNlOTAwYzcyZi1lNjAwZWVjNWNjIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICB3aWR0aDogZW0oNDBweCk7XG4gICAgICAgIGhlaWdodDogZW0oNDBweCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNyb3RjaGV0LCB0cnVlKSB7XG4gICAgICAgICAgd2lkdGg6IGVtKDE4cHgpO1xuICAgICAgICAgIGhlaWdodDogZW0oMThweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZvcm0taXRlbS1tZXJnZXZhcnMtRk5BTUUge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKiBpbmRpY2F0ZXMgcmVxdWlyZWQnO1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgtMSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLXJlcXVpcmVkIHtcbiAgICAgIGNvbG9yOiByZWQ7XG4gICAgfVxuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEpO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY3JvdGNoZXQsIHRydWUpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBGb3JtIEF0b21zIEV4dGVuZHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4lZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoMCk7XG59XG5cbiVmaWVsZCB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgwKTtcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiAkYm9yZGVyLXdpZHRoIHNvbGlkIGxpZ2h0ZW4oJGJsYWNrLCAxNSUpO1xuICB9XG59XG5cbiVsYWJlbCB7XG4gIEBleHRlbmQgJWZvbnQtdGl0bGU7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgtMSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IgLjJzKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuJWlucHV0LS1hdXRvY29tcGxldGUge1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwO1xuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWRlZmF1bHQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nLzIgMCAkYmFzZS1zcGFjaW5nLzI7XG4gIH1cbiAgbGkge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtZGVmYXVsdDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRiYXNlLXNwYWNpbmcvMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB6b29tOiAxOyAvKiBJRTcgKi9cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5zZWxlY3RlZCB7XG4gICAgICBjb2xvcjogJGxpbmstaG92ZXItaW52ZXJ0ZWQ7XG4gICAgfVxuICB9XG59XG4laW5wdXQtLWF1dG9jb21wbGV0ZS0tVEhST0JCRVIge1xuICAmLnRocm9iYmluZyB7XG4gICAgQGV4dGVuZCAlcHJvZ3Jlc3MtLXRocm9iYmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTRweDsgLyogTFRSICovXG4gIH1cbiAgJi5mb3JtLWF1dG9jb21wbGV0ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAtMjZweDsgLyogTFRSICovXG4gIH1cbn1cblxuJWZpZWxkc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZzogKCRiYXNlLXNwYWNpbmcgLyAyKSAkYmFzZS1zcGFjaW5nICRiYXNlLXNwYWNpbmcgJGJhc2Utc3BhY2luZztcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYnJvd247XG4gIGZpZWxkc2V0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIH1cbn1cblxuJWxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgwKTtcbiAgcGFkZGluZzogOXB4ICRiYXNlLXNwYWNpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtaWQtYnJvd247XG4gIGNvbG9yOiAkdGV4dC1pbnZlcnRlZDtcbiAgQGV4dGVuZCAlZm9udC10aXRsZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuJWZpZWxkc2V0LS1DT0xMQVBTSUJMRSB7XG4gICYuY29sbGFwc2libGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIGxlZ2VuZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5maWVsZHNldC1sZWdlbmQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLnN1bW1hcnkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZHNldC10aXRsZSB7XG4gICAgICBAZXh0ZW5kICVidXR0b247XG4gICAgICBAZXh0ZW5kICVidXR0b24tLUZVTEw7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmcgLyAyO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIC8vbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuZmllbGRzZXQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nICRiYXNlLXNwYWNpbmc7XG4gICAgICAvL2JvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkbGlnaHQtZ3JleTtcbiAgICB9XG4gIH1cbn1cblxuJWZpZWxkc2V0LS1DT0xMQVBTRUQge1xuICAmLmNvbGxhcHNlZCB7XG4gICAgaGVpZ2h0OiAzLjdlbTsgLy8gcGFkZGluZy10b3AgKyBwYWRkaW5nLWJvdHRvbSArIGxpbmUtaGVpZ2h0XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxLjRlbTtcbiAgIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE5vIFRleHQgU2VsZWN0XG4lbm8tc2VsZWN0IHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbiVkcm9wZG93biB7XG4gIEBpbmNsdWRlIG5vLWJ1bGxldHM7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZGlzcGxheTpub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbjogMHB4O1xuICBtaW4td2lkdGg6IDEwMHB4O1xuICB6LWluZGV4OiAxMDAwO1xuICBtYXgtaGVpZ2h0OiA3MCU7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICB3aWxsLWNoYW5nZTogd2lkdGgsIGhlaWdodDtcblxuICBsaSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwgLjA2KTtcbiAgICB9XG5cbiAgICAmID4gYSwgJiA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nO1xuICAgIH1cbiAgfVxuICBAYXQtcm9vdCAubHQtaWU5ICYge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZGFyay1icm93bjtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gbm8tYnVsbGV0XG4vLyBUdXJuIG9mZiB0aGUgYnVsbGV0IGZvciBhbiBlbGVtZW50IG9mIGEgbGlzdFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIG5vLWJ1bGxldCB7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIG5vLWJ1bGxldHNcbi8vIFR1cm4gb2ZmIHRoZSBidWxsZXRzIGZvciBhbiBlbnRpcmUgbGlzdFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQG1peGluIG5vLWJ1bGxldHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaSB7XG4gICAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHByZXR0eS1idWxsZXRzKCRidWxsZXQtaWNvbiwgJHdpZHRoLCAkaGVpZ2h0LCAkbGluZS1oZWlnaHQsICRwYWRkaW5nKVxuLy8gTWFrZSBhIGxpc3QodWwvb2wpIGhhdmUgYW4gaW1hZ2UgYnVsbGV0LlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gcHJldHR5LWJ1bGxldHMoJGJ1bGxldC1pY29uLCAkd2lkdGg6IGltYWdlLXdpZHRoKCRidWxsZXQtaWNvbiksICRoZWlnaHQ6IGltYWdlLWhlaWdodCgkYnVsbGV0LWljb24pLCAkbGluZS1oZWlnaHQ6IDE4cHgsICRwYWRkaW5nOiAxNHB4KSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiBpbWFnZS11cmwoJGJ1bGxldC1pY29uKSBuby1yZXBlYXQgKCRwYWRkaW5nIC0gJHdpZHRoKSAvIDIgKCRsaW5lLWhlaWdodCAtICRoZWlnaHQpIC8gMjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cbn1cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBHcmlkXG5uYW1lOiBncmlkXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5GbGV4Ym94IGdyaWQgd2hlcmUgaXRlbXMgd2lsbCBhbHdheXMgYmUgdGhlIHNhbWUgaGVpZ2h0XG5cbmBgYGh0bWxfZXhhbXBsZVxuPGRpdiBjbGFzcz1cImdyaWQgIGdyaWQtLTRcIj5cbiAgPGRpdiBjbGFzcz1cImdyaWRfX2l0ZW1cIj5Db2x1bW48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdyaWRfX2l0ZW1cIj5Db2x1bW48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdyaWRfX2l0ZW1cIj5Db2x1bW48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImdyaWRfX2l0ZW1cIj5Db2x1bW48L2Rpdj5cbjwvZGl2PlxuYGBgXG4qL1xuXG4uZ3JpZCB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigkcGFnZS13aWR0aCk7XG4gIGNsZWFyOiBib3RoO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTYwMCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogbW9kdWxhci1zY2FsZSg0KTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTYwMCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmLS00ID4gJl9faXRlbSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtNjAwICgkYnAtOTYwIC0gMSkpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oNik7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ3V0dGVyKCk7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKzIpIHtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKzEpOm50aC1sYXN0LWNoaWxkKC1uKzIpLFxuICAgICAgJjpudGgtY2hpbGQoMm4rMSk6bnRoLWxhc3QtY2hpbGQoLW4rMikgfiAuZ3JpZF9faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtOTYwKSB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDMpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IGd1dHRlcigpO1xuXG4gICAgICAmOm50aC1jaGlsZCg0bis0KSB7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg0bisxKTpudGgtbGFzdC1jaGlsZCgtbis0KSxcbiAgICAgICY6bnRoLWNoaWxkKDRuKzEpOm50aC1sYXN0LWNoaWxkKC1uKzQpIH4gLmdyaWRfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQ29udGFpbmVyIFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PVxuXG4vLyBDb250YWluZXIgW21peGluXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNldCBhIGNvbnRhaW5lciBlbGVtZW50XG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AbWl4aW4gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICAgIDogJGxheW91dDtcbiAgJGxheW91dCAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuXG4gICRfd2lkdGggICAgIDogZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbiAgJF9qdXN0aWZ5ICAgOiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oc3VzeS1nZXQoY29udGFpbmVyLXBvc2l0aW9uLCAkbGF5b3V0KSk7XG4gICRfcHJvcGVydHkgIDogaWYoc3VzeS1nZXQobWF0aCwgJGxheW91dCkgPT0gc3RhdGljLCB3aWR0aCwgbWF4LXdpZHRoKTtcblxuICAkX2JveCAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRsYXlvdXQpO1xuXG4gIEBpZiAkX2JveCB7XG4gICAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkX2JveCkpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGNvbnRhaW5lciwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBmbG9hdC1jb250YWluZXIoJF93aWR0aCwgJF9qdXN0aWZ5LCAkX3Byb3BlcnR5KTtcbiAgQGluY2x1ZGUgc2hvdy1ncmlkKCRsYXlvdXQpO1xufVxuXG4vLyBDb250YWluZXIgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdICA6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBjb250YWluZXIoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGxheW91dDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgQHJldHVybiBnZXQtY29udGFpbmVyLXdpZHRoKCRsYXlvdXQpO1xufVxuXG4vLyBHZXQgQ29udGFpbmVyIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYWxjdWxhdGUgdGhlIGNvbnRhaW5lciB3aWR0aFxuLy8gLSBbJGxheW91dF06IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtY29udGFpbmVyLXdpZHRoKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQgICAgICAgICA6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gICRfd2lkdGggICAgICAgICA6IHN1c3ktZ2V0KGNvbnRhaW5lciwgJGxheW91dCk7XG4gICRfY29sdW1uLXdpZHRoICA6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJGxheW91dCk7XG4gICRfbWF0aCAgICAgICAgICA6IHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpO1xuXG4gIEBpZiBub3QoJF93aWR0aCkgb3IgJF93aWR0aCA9PSBhdXRvIHtcbiAgICBAaWYgdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCkge1xuICAgICAgJF9jb2x1bW5zICAgOiBzdXN5LWdldChjb2x1bW5zLCAkbGF5b3V0KTtcbiAgICAgICRfZ3V0dGVycyAgIDogc3VzeS1nZXQoZ3V0dGVycywgJGxheW91dCk7XG4gICAgICAkX3NwcmVhZCAgICA6IGlmKGlzLXNwbGl0KCRsYXlvdXQpLCB3aWRlLCBuYXJyb3cpO1xuICAgICAgJF93aWR0aCAgICAgOiBzdXN5LXN1bSgkX2NvbHVtbnMsICRfZ3V0dGVycywgJF9zcHJlYWQpICogJF9jb2x1bW4td2lkdGg7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX3dpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJF93aWR0aDtcbn1cblxuLy8gUGFyc2UgQ29udGFpbmVyIFBvc2l0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBhcnNlIHRoZSAkY29udGFpbmVyLXBvc2l0aW9uIGludG8gbWFyZ2luIHZhbHVlcy5cbi8vIC0gWyRqdXN0aWZ5XSAgIDogbGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwgPGxlbmd0aD4gWzxsZW5ndGg+XVxuQGZ1bmN0aW9uIHBhcnNlLWNvbnRhaW5lci1wb3NpdGlvbihcbiAgJGp1c3RpZnk6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGNvbnRhaW5lci1wb3NpdGlvbilcbikge1xuICAkX3JldHVybjogaWYoJGp1c3RpZnkgPT0gbGVmdCwgMCwgYXV0bykgaWYoJGp1c3RpZnkgPT0gcmlnaHQsIDAsIGF1dG8pO1xuXG4gIEBpZiBub3QoaW5kZXgobGVmdCByaWdodCBjZW50ZXIsICRqdXN0aWZ5KSkge1xuICAgICRfcmV0dXJuOiBudGgoJGp1c3RpZnksIDEpO1xuICAgICRfcmV0dXJuOiAkX3JldHVybiBpZihsZW5ndGgoJGp1c3RpZnkpID4gMSwgbnRoKCRqdXN0aWZ5LCAyKSwgJF9yZXR1cm4pO1xuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIFN1c3kgRmFsbGJhY2sgQ2xlYXJmaXhcbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuQG1peGluIHN1c3ktY2xlYXJmaXgge1xuICBAaWYgc3VzeS1zdXBwb3J0KGNsZWFyZml4LCAobWl4aW46IGNsZWFyZml4KSkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9IEBlbHNlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEd1dHRlciBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBHdXR0ZXJzXG4vLyAtLS0tLS0tXG4vLyBTZXQgZ3V0dGVycyBvbiBhbiBlbGVtZW50LlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AbWl4aW4gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnMgOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9vdXRwdXQ6IChcbiAgICBiZWZvcmU6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpLFxuICAgIGFmdGVyOiBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpLFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ3V0dGVycywgJGluc3BlY3QpO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9XG59XG5cbkBtaXhpbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGd1dHRlcnMoJHNwYW4pO1xufVxuXG5cbi8vIEd1dHRlclxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgZ3V0dGVyLlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkc3BhbjogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9ndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVyczogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSkgb3IgbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVycztcbn1cblxuQGZ1bmN0aW9uIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEByZXR1cm4gZ3V0dGVyKCRzcGFuKTtcbn1cblxuXG4vLyBHZXQgR3V0dGVyIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gZ3V0dGVyIHdpZHRoLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVyLXdpZHRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlcnMgOiBzdXN5LWdldChndXR0ZXJzLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICA6IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJGNvbnRleHQpO1xuXG4gIEBpZiAkX2d1dHRlcnMgYW5kICgkX2d1dHRlcnMgPiAwKSBhbmQgbm90KCRfZ3V0dGVyKSB7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJGNvbnRleHQpO1xuICAgICRfbWF0aDogZ3V0dGVyLW1hdGgoJGNvbnRleHQpO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICRfZ3V0dGVyOiAkX2d1dHRlcnMgKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcbiAgICAgICRfc3ByZWFkICA6IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgd2lkZSwgc3VzeS1nZXQoc3ByZWFkLCAkY29udGV4dCkpO1xuICAgICAgJF9ndXR0ZXIgIDogcGVyY2VudGFnZSgkX2d1dHRlcnMgLyBzdXN5LXN1bSgkX2NvbHVtbnMsICRfZ3V0dGVycywgJF9zcHJlYWQpKTtcbiAgICB9XG4gIH1cblxuICAkX2d1dHRlcjogaWYoJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcnMnIG9yICRfZ3V0dGVyID09ICduby1ndXR0ZXInLCBudWxsLCAkX2d1dHRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcjtcbn1cblxuXG4vLyBHZXQgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiBiZWZvcmUgYW5kIGFmdGVyIGd1dHRlciB2YWx1ZXMuXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXJzKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgICAgICAgICAgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXItcG9zaXRpb24gICA6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgICAgICAgICAgIDogZ2V0LWd1dHRlci13aWR0aCgkY29udGV4dCk7XG5cbiAgJF9yZXR1cm4gICAgICAgICAgICA6IChiZWZvcmU6IG51bGwsIGFmdGVyOiBudWxsKTtcblxuICBAaWYgaXMtc3BsaXQoJGNvbnRleHQpIGFuZCAkX2d1dHRlciB7XG4gICAgJF9ndXR0ZXI6ICRfZ3V0dGVyIC8gMjtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoYmVmb3JlOiAkX2d1dHRlciwgYWZ0ZXI6ICRfZ3V0dGVyKSk7XG4gIH0gQGVsc2Uge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICgkX2d1dHRlci1wb3NpdGlvbjogJF9ndXR0ZXIpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gSXMgSW5zaWRlXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBpbnNpZGUuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtaW5zaWRlKFxuICAkY29udGV4dFxuKSB7XG4gICRfaW5zaWRlOiBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9pbnNpZGUsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIElzIFNwbGl0XG4vLyAtLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIHNwbGl0LlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLXNwbGl0KFxuICAkY29udGV4dFxuKSB7XG4gICRfc3BsaXQ6IHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX3NwbGl0LCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBHdXR0ZXIgTWF0aFxuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgbWF0aCB0byB1c2UgZm9yIGd1dHRlciBjYWxjdWxhdGlvbnNcbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBndXR0ZXItbWF0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm4gIDogc3VzeS1nZXQobWF0aCwgJGNvbnRleHQpO1xuICAkX3JldHVybiAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KSA9PSBpbnNpZGUtc3RhdGljLCBzdGF0aWMsICRfcmV0dXJuKTtcblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiLy8gUm93IFN0YXJ0ICYgRW5kXG4vLyA9PT09PT09PT09PT09PT1cblxuLy8gQnJlYWtcbi8vIC0tLS0tXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB0aGF0IHNob3VsZCBmb3JjZSBhIGxpbmUgYnJlYWsuXG5AbWl4aW4gYnJlYWsge1xuICBAaW5jbHVkZSBvdXRwdXQoKGNsZWFyOiBib3RoKSk7XG59XG5cblxuLy8gTm9CcmVha1xuLy8gLS0tLS0tLVxuLy8gQ2FuY2VsIHRoZSBicmVhaygpIGVmZmVjdCwgZS5nLiB3aGVuIHVzaW5nIG1lZGlhIHF1ZXJpZXMuXG5AbWl4aW4gbm9icmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IG5vbmUpKTtcbn1cblxuXG4vLyBGdWxsXG4vLyAtLS0tXG4vLyAtIFskY29udGV4dF06IDxsYXlvdXQgc2hvcnRoYW5kPlxuQG1peGluIGZ1bGwoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0IDogJGNvbnRleHQ7XG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChmdWxsLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHNwYW4oZnVsbCBvZiBwYXJzZS1ncmlkKCRjb250ZXh0KSBicmVhayk7XG59XG5cblxuLy8gRmlyc3Rcbi8vIC0tLS0tXG4vLyAtIFskY29udGV4dF06IDxzZXR0aW5ncz5cbkBtaXhpbiBmaXJzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkY29udGV4dCk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZpcnN0LCAkaW5zcGVjdCk7XG4gIEBpZiBub3QoaXMtc3BsaXQoJGNvbnRleHQpKSB7XG4gICAgQGluY2x1ZGUgZmxvYXQtZmlyc3QoJGZsb3cpO1xuICB9XG59XG5cbkBtaXhpbiBhbHBoYShcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZmlyc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIExhc3Rcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGxhc3QoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRjb250ZXh0O1xuICAkY29udGV4dCAgOiBwYXJzZS1ncmlkKCRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobGFzdCwgJGluc3BlY3QpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkY29udGV4dCksXG4gICAgbGFzdC1mbG93OiBzdXN5LWdldChsYXN0LWZsb3csICRjb250ZXh0KSxcbiAgICBtYXJnaW46IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgbnVsbCwgMCksXG4gICk7XG5cbiAgQGluY2x1ZGUgZmxvYXQtbGFzdCgkb3V0cHV0Li4uKTtcbn1cblxuQG1peGluIG9tZWdhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBsYXN0KCRjb250ZXh0KTtcbn1cblxuXG4vLyBHZXQgRWRnZVxuLy8gLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBlZGdlIHZhbHVlIGJhc2VkIG9uIGxvY2F0aW9uLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1lZGdlKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRlZGdlICAgICAgIDogc3VzeS1nZXQoZWRnZSwgJHNwYW4pO1xuXG4gIEBpZiBub3QoJGVkZ2UpIHtcbiAgICAkY291bnQ6IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKTtcbiAgICAkbG9jYXRpb246IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICAgJG46IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICAgICRudW1iZXI6IGlmKHR5cGUtb2YoJGxvY2F0aW9uKSA9PSBudW1iZXIsIHRydWUsIGZhbHNlKTtcbiAgICAkaW5kZXg6IGlmKCRudW1iZXIgYW5kIHVuaXRsZXNzKCRsb2NhdGlvbiksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkbiA9PSAkY291bnQge1xuICAgICAgJGVkZ2U6IGZ1bGw7XG4gICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gYW5kICRuIGFuZCAkaW5kZXgge1xuICAgICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICAgJGVkZ2U6IGlmKCRuID09ICRjb3VudCwgZnVsbCwgZmlyc3QpO1xuICAgICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gKyAkbiAtIDEgPT0gJGNvdW50IHtcbiAgICAgICAgJGVkZ2U6IGxhc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlZGdlID09IGFscGhhIG9yICRlZGdlID09IG9tZWdhIHtcbiAgICAkZWRnZTogaWYoJGVkZ2UgPT0gYWxwaGEsIGZpcnN0LCBsYXN0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGVkZ2U7XG59XG5cblxuLy8gR2V0IExvY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBsb2NhdGlvbiB2YWx1ZSBiYXNlZCBvbiBlZGdlLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1sb2NhdGlvbihcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkbG9jYXRpb24gICA6IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICRlZGdlICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbiAgICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICBAaWYgJGVkZ2UgYW5kIG5vdCgkbG9jYXRpb24pIGFuZCB0eXBlLW9mKCRuKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRuKSB7XG4gICAgQGlmICRlZGdlID09IGZpcnN0IHtcbiAgICAgICRsb2NhdGlvbjogMTtcbiAgICB9IEBlbHNlIGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGxvY2F0aW9uOiBzdXN5LWNvdW50KHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKSkgLSAkbiArIDE7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbG9jYXRpb25cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgbGluayBzdHlsZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKipcbiAqIENPTlRFTlRTXG4gKlxuICogR2xvYmFsICAgICAgICAgICAtICNHTE9CQUxcbiAqIExhcmdlIGxpbmtzICAgICAgLSAjTEFSR0VcbiAqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgICNHTE9CQUxcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmEsXG4udWktd2lkZ2V0LWNvbnRlbnQgYSB7XG4gIEBleHRlbmQgJWJhc2UtLWE7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKlxcXG4gICAgI0xBUkdFXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKmRvY1xuLS0tXG50aXRsZTogTWVnYSBsaW5rc1xubmFtZTogbWVnYS1saW5rc1xuY2F0ZWdvcnk6IEF0b21zXG4tLS1cblxuYGBgaHRtbF9leGFtcGxlXG48YSBocmVmPVwiI1wiIGNsYXNzPVwibWVnYS1saW5rXCJcIj5NZWdhIGxpbms8L2E+XG5gYGBcbiovXG4ubWVnYS1saW5rIHtcblxuICBjb2xvcjogJG1pZC1yZWQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIEBpbmNsdWRlIG9uLWV2ZW50IHtcblxuICAgIGNvbG9yOiAkbGlnaHQtcmVkO1xuXG4gIH1cblxufVxuXG4vKmRvY1xuLS0tXG50aXRsZTogSnVtcCBBbmNob3Jcbm5hbWU6IGp1bXAtYW5jaG9yXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbjxhIGhyZWY9XCIjc29tZS1pZFwiIGNsYXNzPVwianVtcC1hbmNob3JcIj48L2E+XG5gYGBcbiovXG4uanVtcC1hbmNob3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE1MHB4O1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIEV2ZW50IHdyYXBwZXJcbi8vLyBAYXV0aG9yIEhhcnJ5IFJvYmVydHNcbi8vLyBAcGFyYW0ge0Jvb2x9ICRzZWxmIFtmYWxzZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGN1cnJlbnQgc2VsZWN0b3Jcbi8vLyBAbGluayBodHRwczovL3R3aXR0ZXIuY29tL2Nzc3dpemFyZHJ5L3N0YXR1cy80Nzg5Mzg1MzAzNDIwMDY3ODQgT3JpZ2luYWwgdHdlZXQgZnJvbSBIYXJyeSBSb2JlcnRzXG4vLy8gU2xpZ2h0bHkgYW1lbmRlZCBmb3IgRHJ1cGFsIG1lbnUgbGluayBjbGFzc2VzLlxuQG1peGluIG9uLWV2ZW50KCRzZWxmOiBmYWxzZSkge1xuICBAaWYgJHNlbGYge1xuICAgICYsXG4gICAgJi5hY3RpdmVcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGhhbWJ1cmdlciBiYXIgc3R5bGVzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypkb2Ncbi0tLVxudGl0bGU6IEhhbWJ1cmdlclxubmFtZTogaGFtYnVyZ2VyXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5BIGJhc2ljIEhhbWJ1cmdlciBpY29uLlxuXG5gYGBodG1sX2V4YW1wbGVcbjxidXR0b24gY2xhc3M9XCJoYW1idXJnZXIgaGFtYnVyZ2VyLS1zbGlkZXJcIiB0eXBlPVwiYnV0dG9uXCI+XG4gIDxzcGFuIGNsYXNzPVwiaGFtYnVyZ2VyLWJveFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaGFtYnVyZ2VyLWlubmVyXCI+PC9zcGFuPlxuICA8L3NwYW4+XG48L2J1dHRvbj5cbmBgYFxuXG5XaGVuIGFjdGl2ZSwgaXQgYW5pbWF0ZXMgaW50byBhIGNyb3NzLlxuXG5gYGBodG1sX2V4YW1wbGVcbjxidXR0b24gY2xhc3M9XCJoYW1idXJnZXIgaGFtYnVyZ2VyLS1zbGlkZXIgaXMtYWN0aXZlXCIgdHlwZT1cImJ1dHRvblwiPlxuICA8c3BhbiBjbGFzcz1cImhhbWJ1cmdlci1ib3hcIj5cbiAgICA8c3BhbiBjbGFzcz1cImhhbWJ1cmdlci1pbm5lclwiPjwvc3Bhbj5cbiAgPC9zcGFuPlxuPC9idXR0b24+XG5gYGBcblxuKi9cblxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMDtcbiRoYW1idXJnZXItcGFkZGluZy15ICAgICAgICAgICAgICAgICAgICAgICA6IDA7XG4kaGFtYnVyZ2VyLWxheWVyLXdpZHRoICAgICAgICAgICAgICAgICAgICAgOiAzNXB4O1xuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogNXB4O1xuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogNXB4O1xuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogJG1pZC1yZWQ7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgOiAwO1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgICAgICAgICAgICAgIDogMTtcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi1kdXJhdGlvbiAgICAgICA6IDAuMTVzICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xuXG4uaGFtYnVyZ2VyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcblxuICBAaW5jbHVkZSBvbi1ldmVudCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG5cbi5oYW1idXJnZXItYm94IHtcbiAgbWFyZ2luLXRvcDogN3B4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTYwMCkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIFNvY2lhbCBJY29uL2xpbmsgYXRvbSBzdHlsZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vKmRvY1xuLS0tXG50aXRsZTogU29jaWFsIGljb25cbm5hbWU6IHNvY2lhbC1pY29uXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5BIHN0YW5kYXJkIHNvY2lhbCBtZWRpYSBsaW5rLlxuXG5gYGBodG1sX2V4YW1wbGVcbjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzb2NpYWwtbGlua1wiPlxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiLTI4MCA0MDMuOSAzNCAzNFwiPjxwYXRoIGQ9XCJNLTI2NS42IDQzMC44aDQuMXYtOS45aDIuN2wuNC0zLjRoLTMuMXYtMS43YzAtLjkuMS0xLjQgMS40LTEuNGgxLjdWNDExaC0yLjdjLTMuMyAwLTQuNCAxLjctNC40IDQuNHYyLjFoLTJ2My40aDJ2OS45aC0uMXpcIi8+PC9zdmc+XG48L2E+XG5gYGBcblxuKi9cbi5zb2NpYWwtbGluayB7XG5cbiAgJGNvbG91ci0tc29jaWFsLWljb246ICRtaWQtcmVkO1xuICAkY29sb3VyLS1zb2NpYWwtaWNvbi0taG92ZXI6ICRsaWdodC1yZWQ7XG5cbiAgY29sb3I6ICRjb2xvdXItLXNvY2lhbC1pY29uO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDI1cHg7XG5cbiAgJjpob3ZlciB7XG5cbiAgICBjb2xvcjogJGNvbG91ci0tc29jaWFsLWljb24tLWhvdmVyO1xuXG4gIH1cblxuICBzdmcge1xuXG4gICAgZmlsbDogJGNvbG91ci0tc29jaWFsLWljb247XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpob3ZlciB7XG5cbiAgICAgIGZpbGw6ICRjb2xvdXItLXNvY2lhbC1pY29uLS1ob3ZlcjtcblxuICAgIH1cblxuICB9XG5cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgc2l0ZSBsb2dvIGF0b20gc3R5bGVzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFNpdGUgbG9nb1xubmFtZTogc2l0ZS1sb2dvXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5CYXNpYyBzaXRlIGxvZ28sIHVzdWFsbHkgZGlzcGxheWVkIGFzIGEgbGluay5cblxuYGBgaHRtbF9leGFtcGxlXG48YSBocmVmPVwiI1wiIGNsYXNzPVwic2l0ZS1sb2dvXCI+XG4gIDxpbWcgc3JjPVwic3JjL2ltZy9mci1sb2dvLnN2Z1wiIHRpdGxlPVwiRmVzdGl2YWwgUmVwdWJsaWMgbG9nb1wiPlxuPC9hPlxuYGBgXG4qL1xuXG4uc2l0ZS1sb2dvIHtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcblxuICAgIHdpZHRoOiAxNTBweDtcblxuICB9XG5cbiAgc3ZnIHtcblxuICAgIGZpbGw6ICRtaWQtcmVkO1xuXG4gIH1cblxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUYWJsZSBBdG9tc1xuLy8gQGltcG9ydCBcInRhYmxlL3ZhcmlhYmxlc1wiO1xuLy8gQGltcG9ydCBcInRhYmxlL21peGluc1wiO1xuQGltcG9ydCBcInRhYmxlL2V4dGVuZHNcIjtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG50YWJsZSwgdGgsIHRkIHtcbiAgIGJvcmRlcjogbm9uZTtcbn1cblxudGFibGUge1xuICBAZXh0ZW5kICV0YWJsZTtcbn1cbnRoIHtcbiAgQGV4dGVuZCAldGg7XG59XG5cbnRyIHtcbiAgQGV4dGVuZCAldHI7XG59XG5cbnRkIHtcbiAgQGV4dGVuZCAldGQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqIFRhYmxlRHJhZyBiZWhhdmlvci5cbiAqIEBzZWUgdGFibGVkcmFnLmpzXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5ib2R5LmRyYWcge1xuICBjdXJzb3I6IG1vdmU7XG59XG4uZHJhZ2dhYmxlIGEudGFibGVkcmFnLWhhbmRsZSB7XG4gIGN1cnNvcjogbW92ZTtcbiAgZmxvYXQ6IGxlZnQ7IC8qIExUUiAqL1xuICBoZWlnaHQ6IDEuN2VtO1xuICBtYXJnaW4tbGVmdDogLTFlbTsgLyogTFRSICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmEudGFibGVkcmFnLWhhbmRsZTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmEudGFibGVkcmFnLWhhbmRsZSAuaGFuZGxlIHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvZHJhZ2dhYmxlLnBuZycpIG5vLXJlcGVhdCA2cHggOXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1hcmdpbjogLTAuNGVtIDAuNWVtOyAvKiBMVFIgKi9cbiAgcGFkZGluZzogMC40MmVtIDAuNWVtOyAvKiBMVFIgKi9cbiAgd2lkdGg6IDI1cHg7XG59XG5hLnRhYmxlZHJhZy1oYW5kbGUtaG92ZXIgLmhhbmRsZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDZweCAtMTFweDtcbn1cbmRpdi5pbmRlbnRhdGlvbiB7XG4gIGZsb2F0OiBsZWZ0OyAvKiBMVFIgKi9cbiAgaGVpZ2h0OiAxLjdlbTtcbiAgbWFyZ2luOiAtMC40ZW0gMC4yZW0gLTAuNGVtIC0wLjRlbTsgLyogTFRSICovXG4gIHBhZGRpbmc6IDAuNDJlbSAwIDAuNDJlbSAwLjZlbTsgLyogTFRSICovXG4gIHdpZHRoOiAyMHB4O1xufVxuZGl2LnRyZWUtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy90cmVlLnBuZycpIG5vLXJlcGVhdCAxMXB4IGNlbnRlcjsgLyogTFRSICovXG59XG5kaXYudHJlZS1jaGlsZC1sYXN0IHtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvdHJlZS1ib3R0b20ucG5nJykgbm8tcmVwZWF0IDExcHggY2VudGVyOyAvKiBMVFIgKi9cbn1cbmRpdi50cmVlLWNoaWxkLWhvcml6b250YWwge1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy90cmVlLnBuZycpIG5vLXJlcGVhdCAtMTFweCBjZW50ZXI7XG59XG4udGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQtd3JhcHBlciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvKiBMVFIgKi9cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVGFibGUgQXRvbXMgRXh0ZW5kc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiV0YWJsZSB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAuc3RpY2t5LWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgJi5ob3ZlcmFibGUge1xuICAgIHRib2R5IHRyIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuMjVzIGVhc2UpO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1kZWZhdWx0O1xuICAgICAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuY2VudGVyZWQge1xuICAgIHRoZWFkIHRyIHRoLCB0Ym9keSB0ciB0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIFRhYmxlXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoICRxdWF2ZXIpIHtcbiAgICAmLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIH1cblxuICAgICAgdGggeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICB0ciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGJvZHkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICB0ciB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgICAgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWluLWhlaWdodDogMjRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICAgIHRyIHsgcGFkZGluZzogMCAxMHB4OyB9XG5cbiAgICAgIC8qIHNvcnQgb3V0IGJvcmRlcnMgKi9cbiAgICAgIHRoZWFkIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbWlkLWJyb3duO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbiV0aCB7XG4gIHBhZGRpbmc6IDlweCAxOHB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIEBleHRlbmQgJWZvbnQtdGl0bGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgYSxcbiAgYS5hY3RpdmUge1xuXG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjogMnB4IDNweDtcbiAgICB9XG4gIH1cbn1cblxuJXRyIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1pZC1icm93bjtcbiAgQGF0LXJvb3QgdGhlYWQgJiB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGRhcmstYnJvd247XG4gIH1cbiAgJi5vZGQge1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1icm93bjtcbiAgfVxuICAmLmV2ZW4ge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgfVxufVxuXG4ldGQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG5cbiAgLyogVGFibGVkcmFnIEhhbmRsZSAqL1xuICAudGFibGVkcmFnLWhhbmRsZSB7XG4gICAgLmhhbmRsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9kcmFnZ2FibGUucG5nJykgbm8tcmVwZWF0IDZweCA5cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIG1hcmdpbjogLTAuNGVtIDAuNWVtOyAvKiBMVFIgKi9cbiAgICAgIHBhZGRpbmc6IDAuNDJlbSAwLjVlbTsgLyogTFRSICovXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2cHggNnB4O1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxufVxuIiwiLmdvb2dsZS1jb252ZXJzaW9uLWZyYW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jdGVjb25zZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4iLCIvKmRvY1xuLS0tXG50aXRsZTogQ2Fyb3VzZWwgUGFnaW5hdGlvblxubmFtZTogY2Fyb3VzZWwtcGFnaW5hdGlvblxuY2F0ZWdvcnk6IEF0b21zXG4tLS1cblxuUGFnaW5hdGlvbiBmb3IgY2Fyb3VzZWxzLCBoYXMgc29tZSBkZXBlbmRlbmN5IG9uIHNsaWNrIGZvciBhY3RpdmUgY2xhc3MgJiBhcmlhIHJvbGVzXG5cbmBgYGh0bWxfZXhhbXBsZVxuPHVsIGNsYXNzPVwiY2Fyb3VzZWwtcGFnaW5hdGlvblwiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gIDxsaSBjbGFzcz1cInNsaWNrLWFjdGl2ZVwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgYXJpYS1zZWxlY3RlZD1cInRydWVcIiBhcmlhLWNvbnRyb2xzPVwiI1wiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGRhdGEtcm9sZT1cIm5vbmVcIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+MTwvYnV0dG9uPlxuICA8L2xpPlxuXG4gIDxsaSBhcmlhLWhpZGRlbj1cImZhbHNlXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIGFyaWEtc2VsZWN0ZWQ9XCJmYWxzZVwiIGFyaWEtY29udHJvbHM9XCIjXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1yb2xlPVwibm9uZVwiIHJvbGU9XCJidXR0b25cIiB0YWJpbmRleD1cIjFcIj4yPC9idXR0b24+XG4gIDwvbGk+XG5cbiAgPGxpIGFyaWEtaGlkZGVuPVwiZmFsc2VcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgYXJpYS1zZWxlY3RlZD1cImZhbHNlXCIgYXJpYS1jb250cm9scz1cIiNcIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBkYXRhLXJvbGU9XCJub25lXCIgcm9sZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMlwiPjM8L2J1dHRvbj5cbiAgPC9saT5cbjwvdWw+XG5gYGBcbiovXG5cbiRfY2Fyb3VzZWwtcGFnaW5hdGlvbi1idXR0b24tc2l6ZTogMTJweDtcbiRfY2Fyb3VzZWwtcGFnaW5hdGlvbi1idXR0b24tZGVmYXVsdDogJG1pZC1yZWQ7XG4kX2Nhcm91c2VsLXBhZ2luYXRpb24tYnV0dG9uLWhvdmVyOiAkbGlnaHQtcmVkO1xuJF9jYXJvdXNlbC1wYWdpbmF0aW9uLWJ1dHRvbi1hY3RpdmU6ICR3aGl0ZTtcblxuLmNhcm91c2VsLXBhZ2luYXRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRfY2Fyb3VzZWwtcGFnaW5hdGlvbi1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRfY2Fyb3VzZWwtcGFnaW5hdGlvbi1idXR0b24tc2l6ZTtcbiAgICBtYXJnaW46IDAgNy41cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICRfY2Fyb3VzZWwtcGFnaW5hdGlvbi1idXR0b24tZGVmYXVsdDtcbiAgICBib3JkZXItY29sb3I6ICRfY2Fyb3VzZWwtcGFnaW5hdGlvbi1idXR0b24tZGVmYXVsdDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgb24tZXZlbnQge1xuICAgICAgYmFja2dyb3VuZDogJF9jYXJvdXNlbC1wYWdpbmF0aW9uLWJ1dHRvbi1ob3ZlcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJF9jYXJvdXNlbC1wYWdpbmF0aW9uLWJ1dHRvbi1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAuc2xpY2stYWN0aXZlIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogJF9jYXJvdXNlbC1wYWdpbmF0aW9uLWJ1dHRvbi1hY3RpdmU7XG4gICAgYm9yZGVyLWNvbG9yOiAkX2Nhcm91c2VsLXBhZ2luYXRpb24tYnV0dG9uLWRlZmF1bHQ7XG4gIH1cbn1cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBDYXJvdXNlbCBOYXZpZ2F0aW9uIEFycm93XG5uYW1lOiBjYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93XG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5DYXJvdXNlbCBuYXZpZ2F0aW9uIGFycm93cyBmb3IgbmV4dCAvIHByZXZpb3VzIHNsaWRlcy4gSGFzIHNvbWUgZGVwZW5kZW5jeSBvbiBzbGlja1xuZm9yIHN0YXRlIGhhbmRsaW5nIGFuZCBhcmlhIHJvbGVzLlxuXG5gYGBodG1sX2V4YW1wbGVcbjxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiWyBjYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93ICBjYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93LS1wcmV2IF0gIGpzLWV2ZW50LWNhcm91c2VsLXByZXZcIj5cbiAgPHNwYW4gY2xhc3M9XCJzci1vbmx5XCI+UHJldmlvdXM8L3NwYW4+XG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgNjBcIj48cGF0aCBkPVwiTTEwLjAyOSAyOS4zODVMMzEuOTcxIDcuNDQ0IDI0LjkuMzczLjI3MiAyNUguMDI5djEwaC4yNDNMMjQuOSA1OS42MjdsNy4wNzEtNy4wNzEtMjEuOTQyLTIxLjk0MXpcIj48L3BhdGg+PC9zdmc+XG48L2J1dHRvbj5cblxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJbIGNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3cgIGNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3ctLW5leHQgXSAganMtZXZlbnQtY2Fyb3VzZWwtbmV4dFwiPlxuICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5OZXh0PC9zcGFuPlxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDYwXCI+PHBhdGggZD1cIk0yMS45NzEgMjkuMzg1TC4wMjkgNy40NDQgNy4xLjM3MyAzMS43MjggMjVoLjI0M3YxMGgtLjI0M0w3LjEgNTkuNjI3LjAyOSA1Mi41NTZsMjEuOTQyLTIxLjk0MXpcIj48L3BhdGg+PC9zdmc+XG48L2J1dHRvbj5cbmBgYFxuKi9cblxuJF9jYXJvdXNlbC1uYXZpZ2F0aW9uLWFycm93LWJnOiAkbWlkLXJlZDtcbiRfY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdy1iZy1ob3ZlcjogJGxpZ2h0LXJlZDtcblxuLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3cge1xuICBAZXh0ZW5kICVidXR0b24tLW5vLXN0eWxpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMzZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0xMTIwKSB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICB9XG5cbiAgJi0tcHJldiB7XG4gICAgbGVmdDogMTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTExMjApIHtcbiAgICAgIGxlZnQ6IDUwcHg7XG4gICAgfVxuICB9XG5cbiAgJi0tbmV4dCB7XG4gICAgcmlnaHQ6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0xMTIwKSB7XG4gICAgICByaWdodDogNTBweDtcbiAgICB9XG4gIH1cblxuICBzdmcge1xuICAgIGZpbGw6ICRfY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdy1iZztcbiAgfVxuXG4gIEBpbmNsdWRlIG9uLWV2ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkX2Nhcm91c2VsLW5hdmlnYXRpb24tYXJyb3ctYmctaG92ZXI7XG4gICAgfVxuICB9XG59XG4iLCIvKmRvY1xuLS0tXG50aXRsZTogUXVvdGVcbm5hbWU6IHF1b3RlXG5jYXRlZ29yeTogQXRvbXNcbi0tLVxuXG5RdW90ZSB3aXRoIGNpdGF0aW9uXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGJsb2NrcXVvdGUgY2xhc3M9XCJxdW90ZVwiPlxuICA8c3BhbiBjbGFzcz1cInF1b3RlX190ZXh0XCI+VGVzdGltb255IGFib3V0IGhvdyBncmVhdCBGZXN0aXZhbCBSZXB1YmxpYyBpczwvc3Bhbj5cbiAgPGNpdGUgY2xhc3M9XCJxdW90ZV9fY2l0ZVwiPkFub255bW91czwvY2l0ZT5cbjwvYmxvY2txdW90ZT5cbmBgYFxuKi9cblxuLnF1b3RlIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuXG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiBtb2R1bGFyLXNjYWxlKDQpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLigJxcIjtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oCdXCI7XG4gICAgfVxuICB9XG5cbiAgJl9fY2l0ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvLyBkcnVwYWwgZWxlbWVudHNcbiAgLmZpZWxkLFxuICAuZmllbGQtaXRlbXMsXG4gIC5maWVsZC1pdGVtLFxuICBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQWRtaW4gTW9sZWN1bGVcbi8vIEBpbXBvcnQgXCJhZG1pbi92YXJpYWJsZXNcIjtcbi8vIEBpbXBvcnQgXCJhZG1pbi9taXhpbnNcIjtcbi8vIEBpbXBvcnQgXCJhZG1pbi9leHRlbmRzXCI7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLmFkbWluIHtcblxufVxuXG4ucGFnZS1ub2RlLWVkaXQge1xuXG59XG5cbi5ub2RlLWZvcm0ge1xuICBAaW5jbHVkZSBjb250YWluZXIoJHBhZ2Utd2lkdGgpO1xuICBAaW5jbHVkZSBwYWRkaW5nLXBhZ2U7XG59XG5cbi5wYWdlLWFkbWluIHtcbiAgLnBhZ2UtdGl0bGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmJyZWFkY3J1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cbn1cblxuLm5vZGUtdHlwZS1saXN0IHtcbiAgYm9yZGVyOiAzcHggZG91YmxlICRkYXJrLWdyZWVuO1xuICBwYWRkaW5nOiAxZW07XG4gIG1heC13aWR0aDogJHF1YXZlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMmVtO1xuXG4gIGR0IHtcbiAgICBAZXh0ZW5kICViYXNlLS1oMjtcbiAgfVxufVxuXG4uY2tlX2VkaXRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBwYWRkaW5nOiAxNHB4IDIwcHg7XG59XG5cbi5ub2RlLWZyX2N0X3N0YW5kYXJkLWZvcm0ge1xuICAuZmllbGQtbmFtZS1maWVsZC1mci1iYWNrZ3JvdW5kLWNvbG9yLFxuICAuZmllbGQtbmFtZS1maWVsZC1mci1mb3JlZ3JvdW5kLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI2FkbWluLW1lbnUgLmFkbWluLW1lbnUtc2VhcmNoIGlucHV0IHtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmZpZWxkLXdpZGdldC1jb2xvci1maWVsZC1zcGVjdHJ1bS13aWRnZXQge1xuICAuZm9ybS10eXBlLXRleHRmaWVsZCBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgJi5hY3RpdmUge1xuICAgICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDApO1xuICAgICAgY29sb3I6ICR0ZXh0LWRlZmF1bHQ7XG4gICAgfVxuICB9XG59XG5cbiN3b3JrYmVuY2gtbW9kZXJhdGlvbi1tb2RlcmF0ZS1mb3JtIHtcbiAgLnNlbGVjdC13cmFwcGVyIHtcbiAgICA+IHNwYW4uc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgID4gLnNlbGVjdC13cmFwcGVyID4gc3Bhbi5zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4ucGFnZS1hZG1pbi1hcHBlYXJhbmNlLXN0eWxlZ3VpZGUge1xuICAjbWFpbiB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCRwYWdlLXdpZHRoKTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLXBhZ2U7XG4gIH1cbn1cbiIsIkBtaXhpbiBwYWRkaW5nLXBhZ2Uge1xuICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRiYXNlLXNwYWNpbmc7XG59XG5AbWl4aW4gcGFkZGluZy1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWF2ZXIsIHRydWUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJGJhc2Utc3BhY2luZztcbiAgfVxufVxuQG1peGluIG1hcmdpbi1wYWdlIHtcbiAgbWFyZ2luLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gIG1hcmdpbi1yaWdodDogJGJhc2Utc3BhY2luZztcbn1cbkBtaXhpbiBtYXJnaW4tY29udGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1YXZlciwgdHJ1ZSkge1xuICAgIG1hcmdpbi1sZWZ0OiAkYmFzZS1zcGFjaW5nO1xuICAgIG1hcmdpbi1yaWdodDogJGJhc2Utc3BhY2luZztcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBGaWVsZCBDb2xsZWN0aW9uIE1vbGVjdWxlXG4vLyBAaW1wb3J0IFwiZmllbGQtY29sbGVjdGlvbi92YXJpYWJsZXNcIjtcbi8vIEBpbXBvcnQgXCJmaWVsZC1jb2xsZWN0aW9uL21peGluc1wiO1xuLy8gQGltcG9ydCBcImZpZWxkLWNvbGxlY3Rpb24vZXh0ZW5kc1wiO1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5maWVsZC1jb2xsZWN0aW9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICAuZmllbGQtaXRlbXMge1xuICAgIC5maWVsZC1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC1jb2xsZWN0aW9uLXZpZXcge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmZpZWxkLWNvbGxlY3Rpb24tdmlldy1saW5rcyB7XG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBOYXYgTW9sZWN1bGVcbkBpbXBvcnQgXCJuYXYvZXh0ZW5kc1wiO1xuLy8gQGltcG9ydCBcIm5hdi92YXJpYWJsZXNcIjtcbi8vIEBpbXBvcnQgXCJuYXYvbWl4aW5zXCI7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLm5hdiB7XG4gIEBleHRlbmQgJW5hdjtcbiAgJi0tdGl0bGUge1xuICAgIEBleHRlbmQgJW5hdi0tdGl0bGU7XG4gIH1cblxuICAvKlxuICAgKiBDb2x1bWlzZSBtZW51XG4gICAqL1xuICAuY29sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgJi0tMkNPTCB7XG4gICAgQGluY2x1ZGUgZnVsbDtcbiAgICAuY29sIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4oMSBvZiAyIDApO1xuICAgIH1cbiAgICAuY29sMiB7XG4gICAgICBAaW5jbHVkZSBsYXN0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gICYtLTNDT0wge1xuICAgIEBpbmNsdWRlIGZ1bGw7XG4gICAgLmNvbCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDEgb2YgMyAwKTtcbiAgICB9XG4gICAgLmNvbDIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuY29sMyB7XG4gICAgICBAaW5jbHVkZSBsYXN0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gICYtLTRDT0wge1xuICAgIEBpbmNsdWRlIGZ1bGw7XG4gICAgLmNvbCB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDEgb2YgNCAwKTtcbiAgICB9XG4gICAgLmNvbDIsXG4gICAgLmNvbDMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuY29sNCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgLmNvbDQge1xuICAgICAgQGluY2x1ZGUgbGFzdDtcbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBTcGVjaWZpYyBtZW51IGFzcGVjdHNcbiAgICovXG4gICYtLW1lbnUtcGFydG5lcnMge1xuICAgIC5uYXYtLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoLTAuMik7XG4gICAgfVxuICB9XG59XG5cbi5uYXYtLUlDT04tVEVYVCB7XG4gIEBleHRlbmQgJW5hdjtcbiAgQGV4dGVuZCAlbmF2LS1JTkxJTkU7XG4gIEBleHRlbmQgJW5hdi0tQ0VOVEVSO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLm5hdi0tSUNPTiB7XG4gIEBleHRlbmQgLm5hdi0tSUNPTi1URVhUO1xuICAuaWNvbi0tdGV4dCB7XG4gICAgQGV4dGVuZCAlZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cblxuLm5hdi0tVE9DIHtcbiAgQGV4dGVuZCAlbmF2O1xuICBAZXh0ZW5kICVuYXYtLUlOTElORTtcbiAgQGV4dGVuZCAlbmF2LS1DRU5URVI7XG4gIEBleHRlbmQgJW5hdi0tQkc7XG59XG5cbi5uYXYtLVNFQ09OREFSWSB7XG4gIEBleHRlbmQgJW5hdjtcbiAgQGV4dGVuZCAlbmF2LS1JTkxJTkU7XG4gIEBleHRlbmQgJW5hdi0tQ0VOVEVSO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtcmVkO1xuICB3aWR0aDogMTAwJTtcbiAgYSB7XG4gICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKC0xKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzZW1pYnJldmUsIHRydWUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbi5uYXYtLUlNQUdFIHtcbiAgQGV4dGVuZCAlbmF2LS1JTUFHRTtcbiAgLm5hdi0tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoLTAuMik7XG4gIH1cbn1cblxuLm5hdi0tTk8tSUNPTiB7XG4gIC5pY29uIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBkaXYsXG4gICAgc3BhbiB7XG4gICAgICBAZXh0ZW5kICVlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG4gIH1cbn1cblxuLm5hdi0tTEFTVCB7XG4gIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoMCk7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNvY2lhbCBtZW51IGNvbXBvbmVudFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLm1lbnUtLXNvY2lhbCB7XG4gIG1hcmdpbi1yaWdodDogJGJhc2Utc3BhY2luZyAvIDI7XG4gIG1hcmdpbi10b3A6ICRiYXNlLXNwYWNpbmcgLyAyO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWF2ZXIsIHRydWUpIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZztcbiAgfVxuICAubWVudSB7XG4gICAgLmxlYWYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC5pY29uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVhdmVyLCB0cnVlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZW0oZm9udC1zaXplLCAkZW0tYmFzZSAqIDEuNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE5hdiBNb2xlY3VsZSBFeHRlbmRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJW5hdiB7XG4gIEBleHRlbmQgJWZvbnQtdGl0bGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC5tZW51IHtcbiAgICAubGVhZixcbiAgICAuZXhwYW5kZWQge1xuICAgICAgJi5hY3RpdmUtdHJhaWwge1xuICAgICAgICBhLFxuICAgICAgICBhOmxpbmssXG4gICAgICAgIGE6dmlzaXRlZCB7XG4gICAgICAgICAgY29sb3I6ICRidXR0b24tdGV4dC1ob3Zlci1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiVuYXYtLXRpdGxlIHtcbiAgQGV4dGVuZCAlYmFzZS0taDU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiVuYXYtLUJHIHtcbiAgQGluY2x1ZGUgaW52ZXJ0ZWQgKFxuICAgICRiYWNrZ3JvdW5kOiAkYmx1ZSxcbiAgICAkbGluazogJHdoaXRlLFxuICAgICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWRlZmF1bHRcbiAgKTtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKC0xKTtcbn1cblxuJW5hdi0tSU5MSU5FIHtcbiAgcGFkZGluZy10b3A6IG1vZHVsYXItc2NhbGUoLTAuNik7XG4gIHBhZGRpbmctYm90dG9tOiBtb2R1bGFyLXNjYWxlKC0wLjYpO1xuICAubWVudSB7XG4gICAgLmxlYWYsXG4gICAgLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGlubGluZS1ibG9jay1maXg7XG4gICAgICAvKlxuICAgICAgQGluY2x1ZGUgcmVtKG1hcmdpbi1yaWdodCwgJGJhc2Utc3BhY2luZyk7XG4gICAgICAmLmxhc3Qge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICAqL1xuICAgIH1cbiAgfVxufVxuXG4lbmF2LS1JTUFHRSB7XG4gIC5tZW51IHtcbiAgICAubGVhZixcbiAgICAuZXhwYW5kZWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogbW9kdWxhci1zY2FsZSgtMC44KTtcbiAgICAgIEBpbmNsdWRlIHJlbShtYXJnaW4tcmlnaHQsICRiYXNlLXNwYWNpbmcgKiAxLjUpO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lbmF2LS1CVVRUT05TIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC5tZW51IHtcbiAgICAubGVhZixcbiAgICAuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgcmVtKG1hcmdpbi1ib3R0b20sICRiYXNlLXNwYWNpbmcpO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYSB7XG4gICAgICAgIEBleHRlbmQgJWJ1dHRvbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4lbmF2LS1DRU5URVIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC5tZW51IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLypcbiAgICAubGVhZixcbiAgICAuZXhwYW5kZWQsXG4gICAgLmxlYWYubGFzdCxcbiAgICAuZXhwYW5kZWQubGFzdCB7XG4gICAgICAvL0BpbmNsdWRlIHJlbShtYXJnaW4tbGVmdCwgJGJhc2Utc3BhY2luZyAvIDIpO1xuICAgICAgLy9AaW5jbHVkZSByZW0obWFyZ2luLXJpZ2h0LCAkYmFzZS1zcGFjaW5nIC8gMik7XG4gICAgfVxuICAgICovXG4gIH1cbn1cbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxuLy8gQXNzdW1lcyAkZW0tYmFzZSBpcyB0aGUgZm9udC1zaXplIG9mIDxodG1sPlxuXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYHJlbWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSBcIiArXG4gICAgXCJyZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgJHVzZXItZGVwcmVjYXRpb24td2FybmluZ3Mtc2V0dGluZzogJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzO1xuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6IGZhbHNlICFnbG9iYWw7XG5cbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cblxuICAkYmFzZTogJGVtLWJhc2U7XG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xuICB9XG5cbiAgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzOiAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nICFnbG9iYWw7XG5cbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMXJlbTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgbWVnYSBsaW5rIG5hdiBtZW51IHN0eWxlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8qZG9jXG4tLS1cbnRpdGxlOiBNZWdhIG5hdlxubmFtZTogbWVnYS1uYXZcbmNhdGVnb3J5OiBNb2xlY3VsZXNcbi0tLVxuXG5gYGBodG1sX2V4YW1wbGVcbjxuYXYgY2xhc3M9XCJtZWdhLW5hdlwiPlxuICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibWVnYS1uYXZfX2xpbmsgbWVnYS1saW5rXCJcIj5GZXN0aXZhbHM8L2E+XG4gIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJtZWdhLW5hdl9fbGluayBtZWdhLWxpbmtcIlwiPk5ld3M8L2E+XG4gIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJtZWdhLW5hdl9fbGluayBtZWdhLWxpbmtcIlwiPkNhcmVlcnM8L2E+XG4gIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJtZWdhLW5hdl9fbGluayBtZWdhLWxpbmtcIlwiPkdyZWVuIHBvbGljeTwvYT5cbiAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cIm1lZ2EtbmF2X19saW5rIG1lZ2EtbGlua1wiXCI+Q2hhcml0aWVzPC9hPlxuICA8YSBocmVmPVwiI1wiIGNsYXNzPVwibWVnYS1uYXZfX2xpbmsgbWVnYS1saW5rXCJcIj5Db250YWN0czwvYT5cbjwvbmF2PlxuYGBgXG4qL1xuXG4ubWVnYS1uYXYge1xuXG4gICRjb2xvdXItLW1lZ2EtbmF2LS1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgJHBhZGRpbmctLW1lZ2EtbmF2LS1tb2JpbGU6ICRwYWRkaW5nLS1zaXRlLWd1dHRlci0tbW9iaWxlO1xuICAkcGFkZGluZy0tbWVnYS1uYXYtLWRlc2t0b3A6ICRwYWRkaW5nLS1zaXRlLWd1dHRlci0tZGVza3RvcDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyLS1tZWdhLW5hdi0tYmFja2dyb3VuZDtcbiAgcGFkZGluZzogMCAkcGFkZGluZy0tbWVnYS1uYXYtLW1vYmlsZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcblxuICAgIHBhZGRpbmc6IDAgJHBhZGRpbmctLW1lZ2EtbmF2LS1kZXNrdG9wO1xuXG4gIH1cblxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBOYXZiYXIgTW9sZWN1bGVcbi8vQGltcG9ydCBcIm5hdmJhci9leHRlbmRzXCI7XG4vLyBAaW1wb3J0IFwibmF2YmFyL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIm5hdmJhci9taXhpbnNcIjtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLm5hdmJhciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBAaW5jbHVkZSBuYXZiYXIoNTBweCk7XG5cbiAgJi0tc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBhdC1yb290IC5wYWdlLWxpbmUtdXAtYXJ0aXN0LXNlYXJjaCAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICBAYXQtcm9vdCAucGFnZS1pbmZvcm1hdGlvbi1zZWFyY2ggJiB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1oaWRkZW47XG4gICAgJi0tc2VhcmNoIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi5uYXZiYXItLUNFTlRFUiB7XG4gIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoMCk7XG4gIC5tZW51IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci0tQlVUVE9OUyB7XG4gIC5tZW51IHtcbiAgICAubGVhZixcbiAgICAuZXhwYW5kZWQge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYSB7XG4gICAgICAgIEBleHRlbmQgJWJ1dHRvbjtcbiAgICAgIH1cbiAgICAgICYubGFzdCB7XG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBOYXZiYXIgTW9sZWN1bGUgTWl4aW5zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gRXF1aWRpc3RhbnQgZHluYW1pYyBtZW51IGluc3BpcmVkIGJ5IGh0dHA6Ly9jc3MtdHJpY2tzLmNvbS9lcXVpZGlzdGFudC1vYmplY3RzLXdpdGgtY3NzXG5AbWl4aW4gbmF2YmFyKCRuYXYtaGVpZ2h0KSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSByZW0oaGVpZ2h0LCAkbmF2LWhlaWdodCk7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAtbXMtdGV4dC1qdXN0aWZ5OiBkaXN0cmlidXRlLWFsbC1saW5lcztcbiAgICB0ZXh0LWp1c3RpZnk6IGRpc3RyaWJ1dGUtYWxsLWxpbmVzO1xuICAgIGZvbnQtc2l6ZTogMC4xcHg7IC8qIElFIDkvMTAgZG9uJ3QgbGlrZSBmb250LXNpemU6IDA7ICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlOyAvKiBFbnN1cmVzIHRoZXJlIGFyZSBhdCBsZWFzdCAyIGxpbmVzIG9mIHRleHQsIHNvIGp1c3RpZmljYXRpb24gd29ya3MgKi9cbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLmxlYWYsXG4gICAgLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtZW1waGFzaXM7XG4gICAgICBAaW5jbHVkZSByZW0oaGVpZ2h0LCAkbmF2LWhlaWdodCk7XG4gICAgICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stZml4O1xuICAgICAgQGluY2x1ZGUgbm8tYnVsbGV0O1xuICAgICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDApO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2Nzc21vam8uY29tL2xhdGVzdF9uZXdfY2xlYXJmaXhfc29fZmFyL1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQ6OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICAgIGNvbnRlbnQ6IFwiXCI7XG4vLy8gICAgIGRpc3BsYXk6IHRhYmxlO1xuLy8vICAgfVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJY29uIE1vbGVjdWxlXG4vLyBAaW1wb3J0IFwiaWNvbi92YXJpYWJsZXNcIjtcbi8vIEBpbXBvcnQgXCJpY29uL21peGluc1wiO1xuLy8gQGltcG9ydCBcImljb24vZXh0ZW5kc1wiO1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5pY29uIHtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAmLWNsb3NlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoLTEpO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAuaWNvbi0tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgICAmIGEsXG4gICAgYSN7Jn0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGV4dGVuZCAlZm9udC10aXRsZTtcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1JTkxJTkUge1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcmVtKHRvcCwgLTNweCk7XG4gICAgfVxuICB9XG5cbiAgJi0tQkxPQ0sge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgxKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW5pbSwgdHJ1ZSkge1xuICAgICAgICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoNCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5pY29uLS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgtMik7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIHJlbShtYXJnaW4tdG9wLCAxMHB4KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbmltLCB0cnVlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgtMSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBhdC1yb290ICNpbmZvLS1uYXYgJiB7XG4gICAgICBAaW5jbHVkZSByZW0ocGFkZGluZy1sZWZ0LCA2cHgpO1xuICAgICAgQGluY2x1ZGUgcmVtKHBhZGRpbmctcmlnaHQsIDZweCk7XG4gICAgICBAaW5jbHVkZSByZW0od2lkdGgsIDc0cHgpO1xuICAgICAgQGluY2x1ZGUgcmVtKGhlaWdodCwgOTRweCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW5pbSwgdHJ1ZSkge1xuICAgICAgICBAaW5jbHVkZSByZW0od2lkdGgsIDg4cHgpO1xuICAgICAgICBAaW5jbHVkZSByZW0oaGVpZ2h0LCAxMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUHJvZ3Jlc3MgTW9sZWN1bGVcbi8vIEBpbXBvcnQgXCJwcm9ncmVzcy92YXJpYWJsZXNcIjtcbi8vIEBpbXBvcnQgXCJwcm9ncmVzcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJwcm9ncmVzcy9leHRlbmRzXCI7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLnByb2dyZXNzIHtcbiAgLmJhciB7XG4gICAgQGV4dGVuZCAlcHJvZ3Jlc3MtLWJhcjtcbiAgfVxuICAuZmlsbGVkIHtcbiAgICBAZXh0ZW5kICVwcm9ncmVzcy0tZmlsbGVkO1xuICB9XG5cbiAgLnBlcmNlbnRhZ2Uge1xuICAgIEBleHRlbmQgJXByb2dyZXNzLS1wZXJjZW50YWdlO1xuICB9XG59XG5cbi5hamF4LXByb2dyZXNzIHtcbiAgQGV4dGVuZCAlYWpheC1wcm9ncmVzcztcbiAgLnRocm9iYmVyIHtcbiAgICBAZXh0ZW5kICVwcm9ncmVzcy0tdGhyb2JiZXI7XG4gICAgQGV4dGVuZCAlYWpheC1wcm9ncmVzcy0tdGhyb2JiZXI7XG4gIH1cblxuICAubWVzc2FnZSB7XG4gICAgQGV4dGVuZCAlYWpheC1wcm9ncmVzcy0tbWVzc2FnZTtcbiAgfVxufVxuXG50ciAuYWpheC1wcm9ncmVzcyAudGhyb2JiZXIge1xuICBtYXJnaW46IDAgMnB4O1xufVxuLmFqYXgtcHJvZ3Jlc3MtYmFyIHtcbiAgd2lkdGg6IDE2ZW07XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByb2dyZXNzIE1vbGVjdWxlIEV4dGVuZHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4lcHJvZ3Jlc3MtLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZC1kZWZhdWx0O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbiVwcm9ncmVzcy0tdGhyb2JiZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvdGhyb2JiZXIuZ2lmJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbiVwcm9ncmVzcy0tZmlsbGVkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWRlZmF1bHQ7XG4gIGhlaWdodDogMC41ZW07XG4gIHdpZHRoOiA1cHg7XG59XG5cbiVwcm9ncmVzcy0tcGVyY2VudGFnZSB7XG4gIGZsb2F0OiByaWdodDsgLyogTFRSICovXG59XG5cbiVhamF4LXByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuJWFqYXgtcHJvZ3Jlc3MtLXRocm9iYmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xOHB4O1xuICBmbG9hdDogbGVmdDsgLyogTFRSICovXG4gIGhlaWdodDogMTVweDtcbiAgbWFyZ2luOiAycHg7XG4gIHdpZHRoOiAxNXB4O1xufVxuJWFqYXgtcHJvZ3Jlc3MtLW1lc3NhZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRhYnMgTW9sZWN1bGVcbi8vIEBpbXBvcnQgXCJ0YWJzL2V4dGVuZHNcIjtcbi8vIGltcG9ydCBcInRhYnMvdmFyaWFibGVzXCI7XG4vLyBAaW1wb3J0IFwidGFicy9taXhpbnNcIjtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuI3RhYnMge1xuICBAaW5jbHVkZSBmdWxsO1xuICBAaW5jbHVkZSBwYWRkaW5nLXBhZ2U7XG4gIG1hcmdpbi10b3A6IG1vZHVsYXItc2NhbGUoMCk7XG59XG5cbi50YWJzIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigkcGFnZS13aWR0aCk7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLyogTFRSICovXG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgLyogTFRSICovXG4gICAgJiA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG4gICAgfVxuICB9XG5cbiAgLyogUHJpbWFyeSBUYWJzICovXG4gICYucHJpbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmJiO1xuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAwLjNlbSAwLjhlbTtcbiAgICB9XG4gIH1cblxuICAvKiBTZWNvbmRhcnkgVGFicyAqL1xuICAmLnNlY29uZGFyeSBhIHtcbiAgICBwYWRkaW5nOiAwLjJlbSAwLjVlbTtcbiAgICBtYXJnaW46IDAuNGVtIDA7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVhZGNydW1iIE1vbGVjdWxlXG4vLyBAaW1wb3J0IFwiYnJlYWRjcnVtYi92YXJpYWJsZXNcIjtcbi8vIEBpbXBvcnQgXCJicmVhZGNydW1iL21peGluc1wiO1xuLy8gQGltcG9ydCBcImJyZWFkY3J1bWIvZXh0ZW5kc1wiO1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5icmVhZGNydW1iIHtcblxuICBAZXh0ZW5kIC5uYXYtLVRPQztcbiAgcGFkZGluZy10b3A6IG1vZHVsYXItc2NhbGUoLTgpO1xuICBwYWRkaW5nLWJvdHRvbTogbW9kdWxhci1zY2FsZSgtOCk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgLmlubGluZSB7XG4gICAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWZpeDtcbiAgfVxuXG4gIC5sYXN0IHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItaW52ZXJ0ZWQ7XG4gIH1cblxufVxuIiwiLypkb2Ncbi0tLVxudGl0bGU6IFBhZ2UgTGlua1xubmFtZTogcGFnZS1saW5rXG5jYXRlZ29yeTogTW9sZWN1bGVzXG4tLS1cblxuTGluayBmb3IgbmV4dC9wcmV2aW91cyBub2Rlc1xuXG5gYGBodG1sX2V4YW1wbGVcbjxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwYWdlLWxpbmsgIHBhZ2UtbGluay0tcHJldlwiPlxuICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyIDYwXCI+PHBhdGggZD1cIk0xMC4wMjkgMjkuMzg1TDMxLjk3MSA3LjQ0NCAyNC45LjM3My4yNzIgMjVILjAyOXYxMGguMjQzTDI0LjkgNTkuNjI3bDcuMDcxLTcuMDcxLTIxLjk0Mi0yMS45NDF6XCI+PC9wYXRoPjwvc3ZnPlxuICBQcmV2IEFydGljbGVcbjwvYT5cblxuPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBhZ2UtbGluayAgcGFnZS1saW5rLS1uZXh0XCI+XG4gIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgNjBcIj48cGF0aCBkPVwiTTIxLjk3MSAyOS4zODVMLjAyOSA3LjQ0NCA3LjEuMzczIDMxLjcyOCAyNWguMjQzdjEwaC0uMjQzTDcuMSA1OS42MjcuMDI5IDUyLjU1NmwyMS45NDItMjEuOTQxelwiPjwvcGF0aD48L3N2Zz5cbiAgTmV4dCBBcnRpY2xlXG48L2E+XG5gYGBcbiovXG5cbi5wYWdlLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDQwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiA3MHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtOTYwKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLS1wcmV2IHtcbiAgICBsZWZ0OiAyMHB4O1xuICB9XG5cbiAgJi0tbmV4dCB7XG4gICAgcmlnaHQ6IDIwcHg7XG4gIH1cblxuICBzdmcge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gIH1cbn1cbiIsIi8qZG9jXG4tLS1cbnRpdGxlOiBQYWdlclxubmFtZTogcGFnZXJcbmNhdGVnb3J5OiBNb2xlY3VsZXNcbi0tLVxuXG5QYWdlciBjb21wb25lbnRcblxuYGBgaHRtbF9leGFtcGxlXG48dWwgY2xhc3M9XCJwYWdlclwiPlxuICA8bGkgY2xhc3M9XCJwYWdlci1wcmV2aW91c1wiPjxhIGhyZWY9XCIjXCI+cHJldmlvdXM8L2E+PC9saT5cbiAgPGxpIGNsYXNzPVwicGFnZXItY3VycmVudFwiPjE8L2xpPlxuICA8bGkgY2xhc3M9XCJwYWdlci1pdGVtXCI+PGEgaHJlZj1cIiNcIj4yPC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cInBhZ2VyLWl0ZW1cIj48YSBocmVmPVwiI1wiPjM8L2E+PC9saT5cbiAgPGxpIGNsYXNzPVwicGFnZXItaXRlbVwiPjxhIGhyZWY9XCIjXCI+NDwvYT48L2xpPlxuICA8bGkgY2xhc3M9XCJwYWdlci1pdGVtXCI+PGEgaHJlZj1cIiNcIj41PC9hPjwvbGk+XG4gIDxsaSBjbGFzcz1cInBhZ2VyLWVsbGlwc2lzXCI+4oCmPC9saT5cbiAgPGxpIGNsYXNzPVwicGFnZXItbmV4dFwiPjxhIGhyZWY9XCIjXCI+bmV4dDwvYT48L2xpPlxuPC91bD5cbmBgYFxuKi9cblxuQG1peGluIHBhZ2VyLWl0ZW0ge1xuICAmLXByZXZpb3VzIGEsXG4gICYtaXRlbSBhLFxuICAmLWN1cnJlbnQsXG4gICYtbmV4dCBhLFxuICAmLWVsbGlwc2lzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGFnZXItaXRlbS1hY3Rpb24ge1xuICAmLXByZXZpb3VzIGE6aG92ZXIsXG4gICYtaXRlbSBhOmhvdmVyLFxuICAmLW5leHQgYTpob3ZlcixcbiAgJi1jdXJyZW50IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4ucGFnZXIge1xuICBAaW5jbHVkZSBuby1idWxsZXRzO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICYtZmlyc3QsXG4gICYtbGFzdCB7XG4gICAgQGV4dGVuZCAuc3Itb25seTtcbiAgfVxuXG4gIEBpbmNsdWRlIHBhZ2VyLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjZlbSAxZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoLTEpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZDogJG1pZC1yZWQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGRhcmstcmVkO1xuICB9XG5cbiAgQGluY2x1ZGUgcGFnZXItaXRlbS1hY3Rpb24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LXJlZDtcbiAgICBib3JkZXItY29sb3I6ICRsaWdodC1yZWQ7XG4gIH1cblxuICAmLXRvcCxcbiAgJi1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHNwYW4oZnVsbCk7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJi10b3Age1xuICAgIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoMik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC05NjApIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgJi1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IG1vZHVsYXItc2NhbGUoMik7XG4gIH1cbn1cblxuLnBhZ2VyLWxvYWQtbW9yZSB7XG4gIC5wYWdlci1uZXh0IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGEge1xuICAgICAgQGV4dGVuZCAlYnV0dG9uLS1GVUxMO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyB0aGUgc29jaWFsIGljb25zIG1vbGVjdWxlLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLypkb2Ncbi0tLVxudGl0bGU6IFNvY2lhbCBpY29uc1xubmFtZTogc29jaWFsLWljb25zXG5jYXRlZ29yeTogTW9sZWN1bGVzXG4tLS1cblxuQSBzdGFuZGFyZCBzb2NpYWwgbWVkaWEgbGluay5cblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwic29jaWFsLWljb25zXCI+XG4gIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzb2NpYWwtaWNvbnNfX2ljb24gc29jaWFsLWxpbmtcIj5cbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiLTI4MCA0MDMuOSAzNCAzNFwiPjxwYXRoIGQ9XCJNLTI2NS42IDQzMC44aDQuMXYtOS45aDIuN2wuNC0zLjRoLTMuMXYtMS43YzAtLjkuMS0xLjQgMS40LTEuNGgxLjdWNDExaC0yLjdjLTMuMyAwLTQuNCAxLjctNC40IDQuNHYyLjFoLTJ2My40aDJ2OS45aC0uMXpcIi8+PC9zdmc+XG4gIDwvYT5cbiAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInNvY2lhbC1pY29uc19faWNvbiBzb2NpYWwtbGlua1wiPlxuICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCItMjgwIDQwMy45IDM0IDM0XCI+PHBhdGggZD1cIk0tMjY1LjYgNDMwLjhoNC4xdi05LjloMi43bC40LTMuNGgtMy4xdi0xLjdjMC0uOS4xLTEuNCAxLjQtMS40aDEuN1Y0MTFoLTIuN2MtMy4zIDAtNC40IDEuNy00LjQgNC40djIuMWgtMnYzLjRoMnY5LjloLS4xelwiLz48L3N2Zz5cbiAgPC9hPlxuICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic29jaWFsLWljb25zX19pY29uIHNvY2lhbC1saW5rXCI+XG4gICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIi0yODAgNDAzLjkgMzQgMzRcIj48cGF0aCBkPVwiTS0yNjUuNiA0MzAuOGg0LjF2LTkuOWgyLjdsLjQtMy40aC0zLjF2LTEuN2MwLS45LjEtMS40IDEuNC0xLjRoMS43VjQxMWgtMi43Yy0zLjMgMC00LjQgMS43LTQuNCA0LjR2Mi4xaC0ydjMuNGgydjkuOWgtLjF6XCIvPjwvc3ZnPlxuICA8L2E+XG4gIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzb2NpYWwtaWNvbnNfX2ljb24gc29jaWFsLWxpbmtcIj5cbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiLTI4MCA0MDMuOSAzNCAzNFwiPjxwYXRoIGQ9XCJNLTI2NS42IDQzMC44aDQuMXYtOS45aDIuN2wuNC0zLjRoLTMuMXYtMS43YzAtLjkuMS0xLjQgMS40LTEuNGgxLjdWNDExaC0yLjdjLTMuMyAwLTQuNCAxLjctNC40IDQuNHYyLjFoLTJ2My40aDJ2OS45aC0uMXpcIi8+PC9zdmc+XG4gIDwvYT5cbjwvZGl2PlxuYGBgXG5cbiovXG4uc29jaWFsLWljb25zIHtcblxuICAvLyBUaGlzIHJlbW92ZXMgdGhlIGV4dHJhIHNwYWNlIGluIGJldHdlZW4gdGhlIGlubGluZS1ibG9jayBlbGVtZW50cy5cbiAgZm9udC1zaXplOiAwO1xuXG4gIC5zb2NpYWwtaWNvbnNfX2ljb24ge1xuXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICB9XG5cbiAgfVxuXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE1lZGlhIE1vbGVjdWxlXG5AaW1wb3J0IFwibWVkaWEvdmFyaWFibGVzXCI7XG4vLyBAaW1wb3J0IFwibWVkaWEvZXh0ZW5kc1wiO1xuQGltcG9ydCBcIm1lZGlhL2V4dGVuZHNcIjtcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uI3skbWVkaWEtY2xhc3N9IHtcbiAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9O1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAZXh0ZW5kICUjeyRtZWRpYS1jbGFzc30tLXdyYXBwZXItbGluaztcbiAgfVxuXG4gICYtLWltYWdlIHtcbiAgICBpbWcge1xuICAgICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LS1vYmplY3Q7XG4gICAgICBAYXQtcm9vdCBhOmhvdmVyICYsXG4gICAgICBhOmFjdGl2ZSAmIHtcbiAgICAgICAgQGV4dGVuZCAlYmFzZS0taW1hZ2UtLUJPUkRFUi0tSE9WRVI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tdGV4dCB7XG4gICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LS10ZXh0O1xuICB9XG5cbiAgJi0tdGl0bGUge1xuICAgIEBleHRlbmQgJSN7JG1lZGlhLWNsYXNzfS0tdGl0bGU7XG4gIH1cblxuICAmICYtLXRpdGxlIHtcbiAgICBAZXh0ZW5kICUjeyRtZWRpYS1jbGFzc30tLXRpdGxlLS1MSU5LRUQ7XG4gIH1cblxuICAmLS1zdWJ0aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LS1zdWJ0aXRsZSAhb3B0aW9uYWw7XG4gIH1cblxuICAmLS1ib2R5IHtcbiAgICBAZXh0ZW5kICUjeyRtZWRpYS1jbGFzc30tLWJvZHkgIW9wdGlvbmFsO1xuICB9XG59XG5cblxuLiN7JG1lZGlhLWNsYXNzfS0tSU5MSU5FIHtcbiAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LW92ZXJmbG93O1xuXG4gIC4jeyRtZWRpYS1jbGFzc30tLWltYWdlIHtcbiAgICBAZXh0ZW5kICUjeyRtZWRpYS1jbGFzc30tdGFibGUtZGlzcGxheTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlxdWF2ZXIsIHRydWUpIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgICArIC4jeyRtZWRpYS1jbGFzc30tLXRleHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLiN7JG1lZGlhLWNsYXNzfS0tdGV4dCB7XG4gICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LXRhYmxlLWRpc3BsYXk7XG4gICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LW92ZXJmbG93O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2VtaXF1YXZlciwgdHJ1ZSkge1xuICAgICAgd2lkdGg6IDEwMDAwcHg7XG4gICAgICArIC4jeyRtZWRpYS1jbGFzc30tLWltYWdlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkYmFzZS1zcGFjaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uI3skbWVkaWEtY2xhc3N9LS1PVkVSTEFZIHtcbiAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LS13cmFwcGVyLS1PVkVSTEFZO1xuXG4gIC4jeyRtZWRpYS1jbGFzc30tLXRleHQge1xuICAgIEBleHRlbmQgJSN7JG1lZGlhLWNsYXNzfS0tdGV4dC0tT1ZFUkxBWTtcbiAgfVxuXG4gIC4jeyRtZWRpYS1jbGFzc30tLXRpdGxlIHtcbiAgICBAZXh0ZW5kICUjeyRtZWRpYS1jbGFzc30tLXRpdGxlLS1PVkVSTEFZO1xuICB9XG5cbiAgLiN7JG1lZGlhLWNsYXNzfS0tc3VidGl0bGUge1xuICAgIEBleHRlbmQgJSN7JG1lZGlhLWNsYXNzfS0tc3VidGl0bGUtLU9WRVJMQVk7XG4gIH1cbn1cblxuLiN7JG1lZGlhLWNsYXNzfS0tQkFOTkVSIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAZXh0ZW5kICUjeyRtZWRpYS1jbGFzc30tLXdyYXBwZXItLU9WRVJMQVk7XG5cbiAgLiN7JG1lZGlhLWNsYXNzfS0tdGV4dCB7XG4gICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LS10ZXh0LS1CQU5ORVI7XG4gIH1cblxuICAuI3skbWVkaWEtY2xhc3N9LS1pbWFnZSB7XG4gICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LS1pbWFnZS0tQkFOTkVSO1xuICB9XG5cblxuICAuI3skbWVkaWEtY2xhc3N9LS10aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LS10aXRsZS0tQkFOTkVSO1xuICB9XG5cblxuICAuI3skbWVkaWEtY2xhc3N9LS1zdWJ0aXRsZSB7XG4gICAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LS10aXRsZS0tQkFOTkVSO1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE1lZGlhIE1vbGVjdWxlIEV4dGVuZHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4lI3skbWVkaWEtY2xhc3N9IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXgtbWUobWljcm8pO1xuXG4gICY6aG92ZXIsICYuYWN0aXZlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuJSN7JG1lZGlhLWNsYXNzfS0td3JhcHBlci1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiUjeyRtZWRpYS1jbGFzc30tLXRleHQge1xuICBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nIC8gMjtcbiAgQGF0LXJvb3QgLmxvYWRpbmcgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSByZW0obWFyZ2luLXRvcCwgMXB4KTtcbiAgfVxufVxuXG4lI3skbWVkaWEtY2xhc3N9LS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSgwKTtcbiAgbWFyZ2luLXRvcDogJGJhc2Utc3BhY2luZyAvIDQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBleHRlbmQgJWZvbnQtYm9keTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbiUjeyRtZWRpYS1jbGFzc30tLXRpdGxlLS1MSU5LRUQge1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMCk7XG59XG5cbiUjeyRtZWRpYS1jbGFzc30tLXN1YnRpdGxlIHtcbiAgQGluY2x1ZGUgcmVtKG1hcmdpbiwgLThweCAwIDApO1xuICBAZXh0ZW5kICVmb250LWJvZHk7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4lI3skbWVkaWEtY2xhc3N9LS1vYmplY3Qge1xuICBAZXh0ZW5kICViYXNlLS1pbWFnZS0tQk9SREVSO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIElOTElORSBhc3BlY3RcblxuJSN7JG1lZGlhLWNsYXNzfS1vdmVyZmxvdyB7XG4gIHpvb206IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiUjeyRtZWRpYS1jbGFzc30tdGFibGUtZGlzcGxheSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlxdWF2ZXIsIHRydWUpe1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxufVxuXG4lI3skbWVkaWEtY2xhc3N9LS1pbWFnZS0tSU5MSU5FIHtcbiAgQGV4dGVuZCAlI3skbWVkaWEtY2xhc3N9LXRhYmxlLWRpc3BsYXk7XG59XG5cbiUjeyRtZWRpYS1jbGFzc30tLXRleHQtLUlOTElORSB7XG4gIHBhZGRpbmctbGVmdDogJGJhc2Utc3BhY2luZztcbiAgcGFkZGluZy1yaWdodDogJGJhc2Utc3BhY2luZztcbiAgd2lkdGg6IDEwMDAwcHg7XG59XG5cbi4jeyRtZWRpYS1jbGFzc30tLXRleHQtLUlOTElORS0tTUlERExFIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLiN7JG1lZGlhLWNsYXNzfS0tdGV4dC0tSU5MSU5FLS1CT1RUT00ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vLyBPVkVSTEFZIGFzcGVjdFxuXG4lI3skbWVkaWEtY2xhc3N9LS13cmFwcGVyLS1PVkVSTEFZIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuJSN7JG1lZGlhLWNsYXNzfS0tdGV4dC0tT1ZFUkxBWSB7XG4gIEBpbmNsdWRlIGludmVydGVkIChcbiAgICAkYmFja2dyb3VuZDogdHJhbnNwYXJlbnQsXG4gICAgJHRleHQ6ICRsaW5rLWludmVydGVkLFxuICAgICRsaW5rOiAkbGluay1pbnZlcnRlZCxcbiAgICAkbGluay1ob3ZlcjogJGxpbmstaW52ZXJ0ZWRcbiAgKTtcblxuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSB0cmFuc3BhcmVudCgkZGFyay1ibHVlLCAuMik7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCwgLjVzKTtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICRibGFjaztcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcblxuICBAYXQtcm9vdCAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIEBpbmNsdWRlIHRyYW5zcGFyZW50KCRkYXJrLWJsdWUsIDApO1xuICB9XG59XG5cbiUjeyRtZWRpYS1jbGFzc30tLXRpdGxlLS1PVkVSTEFZIHtcbiAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKC0yKTtcbiAgcGFkZGluZy10b3A6ICRiYXNlLXNwYWNpbmcgLyAyO1xuICBwYWRkaW5nLWJvdHRvbTogJGJhc2Utc3BhY2luZyAvIDQ7XG4gIEBpbmNsdWRlIHJlbShtYXJnaW4tbGVmdCwgJGJhc2Utc3BhY2luZyAqIDIpO1xuICBAaW5jbHVkZSByZW0obWFyZ2luLXJpZ2h0LCAkYmFzZS1zcGFjaW5nICogMik7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuJSN7JG1lZGlhLWNsYXNzfS0tc3VidGl0bGUtLU9WRVJMQVkge1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoLTEpO1xuICBAaW5jbHVkZSByZW0ocGFkZGluZywgJGJhc2Utc3BhY2luZyAvIDIpO1xuICBib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIEJBTk5FUiBhc3BlY3RcblxuJSN7JG1lZGlhLWNsYXNzfS0taW1hZ2UtLUJBTk5FUiB7XG4gIEBpbmNsdWRlIHJlbShtYXJnaW4tbGVmdCwgM3B4KTtcbiAgQGluY2x1ZGUgcmVtKG1hcmdpbi1yaWdodCwgM3B4KTtcbn1cblxuJSN7JG1lZGlhLWNsYXNzfS0tdGV4dC0tQkFOTkVSIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1heC13aWR0aCAkY3JvdGNoZXQsIHRydWUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGNyb3RjaGV0LCB0cnVlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIEBpbmNsdWRlIHJlbShib3R0b20sICRiYXNlLXNwYWNpbmcpO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbiUjeyRtZWRpYS1jbGFzc30tLXRpdGxlLS1CQU5ORVIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4lI3skbWVkaWEtY2xhc3N9LS10ZXh0LS1CQU5ORVItLUhFUk8ge1xuICBAaW5jbHVkZSByZW0oYm90dG9tLCAkYmFzZS1zcGFjaW5nICogMS41KTtcbn1cbiIsIkBtaXhpbiB0cmFuc3BhcmVudCgkY29sb3IsICRhbHBoYSkge1xuICAkcmdiYTogcmdiYSgkY29sb3IsICRhbHBoYSk7XG4gICRpZS1oZXgtc3RyOiBpZS1oZXgtc3RyKCRyZ2JhKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZ2JhO1xuICBmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9I3skaWUtaGV4LXN0cn0sZW5kQ29sb3JzdHI9I3skaWUtaGV4LXN0cn0pO1xuICB6b29tOiAxO1xufVxuIiwiLypkb2Ncbi0tLVxudGl0bGU6IE1lZGlhIEJsb2NrXG5uYW1lOiBtZWRpYS1ibG9ja1xuY2F0ZWdvcnk6IE1vbGVjdWxlc1xuLS0tXG5cbkltYWdlIC8gdGV4dCAvIGxpbmsgdXNlZCBmb3IgbmV3cyBhcnRpY2xlcyAmIGhvbWVwYWdlIGN0YSBibG9ja3NcblxuYGBgaHRtbF9leGFtcGxlXG48ZGl2IGNsYXNzPVwibWVkaWEtYmxvY2tcIj5cbiAgPGRpdiBjbGFzcz1cIm1lZGlhLWJsb2NrX19pbWFnZVwiPlxuICAgIDxpbWcgc3JjPVwiaHR0cDovL3BsYWNlaW1nLmNvbS82MDAvMzAxL2FuaW1hbHNcIj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1lZGlhLWJsb2NrX19jb250ZW50XCI+XG4gICAgPGgzIGNsYXNzPVwibWVkaWEtYmxvY2tfX3RpdGxlXCI+Q3VwY2FrZXMhPC9oMz5cblxuICAgIDxkaXYgY2xhc3M9XCJtZWRpYS1ibG9ja19fdGV4dFwiPlxuICAgICAgQ3VwY2FrZSBpcHN1bSBkb2xvciBzaXQgYW1ldCBjYWtlIHBvd2Rlci4gU2VzYW1lIHNuYXBzIGFwcGxlIHBpZSBib25ib25cbiAgICAgIGNvdHRvbiBjYW5keSB0b290c2llIHJvbGwuIEFwcGxlIHBpZSBjaHVwYSBjaHVwcyBtYXJ6aXBhbiBib25ib24gcGFzdHJ5LlxuICAgICAgSnVqdWJlcyB0YXJ0IGNha2UgdG9mZmVlIGNha2UuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWVkaWEtYmxvY2tfX2N0YVwiPlxuICAgICAgPGEgY2xhc3M9XCJidXR0b25cIiBocmVmPVwiI1wiPlJlYWQgTW9yZTwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cIm1lZGlhLWJsb2NrICBtZWRpYS1ibG9jay0taW52ZXJ0ZWRcIj5cbiAgPGRpdiBjbGFzcz1cIm1lZGlhLWJsb2NrX19pbWFnZVwiPlxuICAgIDxpbWcgc3JjPVwiaHR0cDovL3BsYWNlaW1nLmNvbS82MDAvMzAxL2FuaW1hbHNcIj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1lZGlhLWJsb2NrX19jb250ZW50XCI+XG4gICAgPGgzIGNsYXNzPVwibWVkaWEtYmxvY2tfX3RpdGxlXCI+Q3VwY2FrZXMhPC9oMz5cblxuICAgIDxkaXYgY2xhc3M9XCJtZWRpYS1ibG9ja19fdGV4dFwiPlxuICAgICAgQ3VwY2FrZSBpcHN1bSBkb2xvciBzaXQgYW1ldCBjYWtlIHBvd2Rlci4gU2VzYW1lIHNuYXBzIGFwcGxlIHBpZSBib25ib25cbiAgICAgIGNvdHRvbiBjYW5keSB0b290c2llIHJvbGwuIEFwcGxlIHBpZSBjaHVwYSBjaHVwcyBtYXJ6aXBhbiBib25ib24gcGFzdHJ5LlxuICAgICAgSnVqdWJlcyB0YXJ0IGNha2UgdG9mZmVlIGNha2UuXG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwibWVkaWEtYmxvY2tfX2N0YVwiPlxuICAgICAgPGEgY2xhc3M9XCJidXR0b25cIiBocmVmPVwiI1wiPlJlYWQgTW9yZTwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmBgYFxuKi9cblxuLm1lZGlhLWJsb2NrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGRhcmtlci1ncmV5O1xuXG4gICYtLWludmVydGVkIHtcbiAgICBAaW5jbHVkZSBpbnZlcnRlZDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkZGFyay1yZWQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC05NjApIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9faW1hZ2Uge1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBwYWRkaW5nOiBtb2R1bGFyLXNjYWxlKDIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTYwMCkge1xuICAgICAgLy8gY2xpZW50IGluc2lzdGVkIHRoaXMgd2FzIGV4YWN0bHkgMjBweC4gSSBvZmZlcmVkIDE5LjAycHggYXMgcGVyIGFib3ZlIGFuZCB3YXMgcmVqZWN0ZWRcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmLS1zaW5nbGUgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuXG4gICZfX2RhdGUsXG4gICZfX3RheG9ub215IHtcbiAgICBjb2xvcjogJGRhcmtlci1ncmV5O1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX190YXhvbm9teSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGNvbG9yOiAkZGFyay1yZWQ7XG4gIH1cblxuICAmLS1zaW5nbGUgJl9fdGF4b25vbXkge1xuICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgJl9fc3RhbmRmaXJzdCB7XG4gICAgQGV4dGVuZCAlYmFzZS0tcDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX2N0YSB7XG4gICAgbWFyZ2luLXRvcDogbW9kdWxhci1zY2FsZSgyKTtcblxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5xdW90ZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ2FwdGlvbnMgTW9sZWN1bGVcbi8vIEBpbXBvcnQgXCJjYXB0aW9uL3ZhcmlhYmxlc1wiO1xuLy8gQGltcG9ydCBcImNhcHRpb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiY2FwdGlvbi9leHRlbmRzXCI7XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gQ2FwdGlvbiBjbGFzc2VzXG4uZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uIHtcbiAgLmZpZWxkLWl0ZW06bGFzdC1jaGlsZCAuZmllbGQtbmFtZS1maWVsZC1mci1jYXB0aW9uLXN1YnRleHQgLmZpZWxkLWl0ZW1zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWF2ZXIsIHRydWUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2VtaWJyZXZlLCB0cnVlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBtb2R1bGFyLXNjYWxlKDQpO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC1uYW1lLWZpZWxkLWZyLWNhcHRpb24taGVhZGxpbmUge1xuICAuZmllbGQtaXRlbXMge1xuICAgIEBleHRlbmQgJWNhcHRpb247XG4gICAgQGV4dGVuZCAlY2FwdGlvbi0taGVhZGxpbmU7XG4gIH1cbn1cblxuLmZpZWxkLW5hbWUtZmllbGQtZnItY2FwdGlvbi1zdWJ0ZXh0IHtcbiAgLmZpZWxkLWl0ZW1zIHtcbiAgICBAZXh0ZW5kICVjYXB0aW9uO1xuICAgIEBleHRlbmQgJWNhcHRpb24tLXN1YnRleHQ7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ2FwdGlvbnMgTW9sZWN1bGUgRXh0ZW5kc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiVjYXB0aW9uIHtcbiAgQGluY2x1ZGUgaW52ZXJ0ZWQoJGJhY2tncm91bmQ6ICRsaWdodC1yZWQpO1xuICBAaW5jbHVkZSByZW0ocGFkZGluZywgMTJweCAyMHB4IDEwcHgpO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWF2ZXIsIHRydWUpIHtcbiAgICBAaW5jbHVkZSByZW0ocGFkZGluZy1sZWZ0LCAxMDBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZztcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzZW1pYnJldmUsIHRydWUpIHtcbiAgICBAaW5jbHVkZSByZW0ocGFkZGluZy1sZWZ0LCAxNTBweCk7XG4gIH1cbn1cblxuJWNhcHRpb24tLWhlYWRsaW5lIHtcbiAgQGV4dGVuZCAlYmFzZS0taGVhZGVyO1xuICBAaW5jbHVkZSBpbmxpbmUtYmxvY2stZml4O1xuICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoMik7XG4gIG1hcmdpbjogMDtcbiAgQGluY2x1ZGUgc3ByaXRlKGZyKTtcbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHJlbShtYXJnaW4tdG9wLCAycHgpO1xuICAgIEBpbmNsdWRlIHJlbShtYXJnaW4tbGVmdCwgLShzcHJpdGUtYXR0cihmciwgd2lkdGgpKSAtIDMwcHgpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlicmV2ZSwgdHJ1ZSkge1xuICAgICAgQGluY2x1ZGUgcmVtKG1hcmdpbi1sZWZ0LCAtKHNwcml0ZS1hdHRyKGZyLCB3aWR0aCkpIC0gMzBweCk7XG4gICAgfVxuICB9XG59XG5cbiVjYXB0aW9uLS1zdWJ0ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcXVhdmVyLCB0cnVlKSB7XG4gICAgQGluY2x1ZGUgaW5saW5lLWJsb2NrLWZpeDtcbiAgICBtYXJnaW4tYm90dG9tOiBtb2R1bGFyLXNjYWxlKDQpO1xuICB9XG59XG4iLCIvLy8gaHR0cHM6Ly9naXRodWIuY29tL2xpcXVpZGxpZ2h0L3Nhc3MtZ3VscC1zdmctc3ByaXRlL2Jsb2IvbWFzdGVyL2J1aWxkL3Nhc3MvX21peGlucy5zY3NzXG4vLy8gQWRkIGEgc3ByaXRlIFBORyBpY29uIGZvciBicm93c2VycyB3aXRoIHRoZSBgJGllU3ByaXRlYCBjbGFzcyB3aXRoIHB4IGZvciBwb3NpdGlvbmluZ1xuLy8vIEBwYXJhbSB7c3RyaW5nfSAkaWNvbiAtIFRoZSBuYW1lIG9mIHRoZSBpY29uXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0eXBlIFthbGxdIC0gVGhlIHByb3BlcnRpZXMgd2FudGVkIChjYW4gYmUgYGFsbGAsIGBzaXplYCBvciBgYmdgKS5cbi8vLyAtIGBhbGxgIGVuc3VyZXMgdGhlIGljb24gaGFzIHRoZSBiYWNrZ3JvdW5kLCBwb3NpdGlvbiBhbmQgc2l6ZS5cbi8vLyAtIGBzaXplYCBpcyBqdXN0IGZvciBkaW1lbnNpb25zXG4vLy8gLSBgYmdgIGp1c3QgIGFwcGxpZXMgdGhlIGJhY2tncm91bmRzIHRvIGFuIGVsZW1lbnRcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAuY2xhc3Mge1xuLy8vIFx0QGluY2x1ZGUgaWUtc3ByaXRlKGFycm93KTtcbi8vLyBcdCY6aG92ZXIge1xuLy8vIFx0XHRAaW5jbHVkZSBpZS1zcHJpdGUoYXJyb3dEb3duLCBiZylcbi8vLyBcdH1cbi8vLyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBPdXRwdXRcbi8vLyAubHQtaWU5IC5jbGFzcyB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zcHJpdGUucG5nXCIpO1xuLy8vIH1cbi8vLyAubHQtaWU5IC5jbGFzcyB7XG4vLy8gICAgIHdpZHRoOiAyMHB4O1xuLy8vICAgICBoZWlnaHQ6IDIwcHg7XG4vLy8gICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01cHggLTVweDtcbi8vLyB9XG4vLy8gLmx0LWllOSAuY2xhc3M6aG92ZXIge1xuLy8vICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMzZweDtcbi8vLyB9XG5AbWl4aW4gaWUtc3ByaXRlKCRpY29uLCAkdHlwZTogYWxsKSB7XG5cdCRpY29uTWFwOiBpY29uLWF0dHIoJGljb24pO1xuXG5cdEBpbmNsdWRlIGphY2tldChzdmcpIHtcblx0XHQgJiB7XG5cdFx0XHRAaWYgJHR5cGUgPT0gYWxsIHtcblx0XHRcdFx0Ly8gU2hhcmVzIHRoZSBQTkcgYmFja2dyb3VuZFxuXHRcdFx0XHRAZXh0ZW5kICVpZS1zcHJpdGU7XG5cdFx0XHR9XG5cdFx0XHQvLyBPdXRwdXRzIGRpbWVuc2lvbnMgb2YgaWNvblxuXHRcdFx0QGlmICR0eXBlID09IGFsbCBvciAkdHlwZSA9PSBzaXplIHtcblx0XHRcdFx0d2lkdGg6IG1hcC1nZXQoJGljb25NYXAsIHdpZHRoKTtcblx0XHRcdFx0aGVpZ2h0OiBtYXAtZ2V0KCRpY29uTWFwLCBoZWlnaHQpO1xuXHRcdFx0fVxuXHRcdFx0Ly8gT3V0cHV0cyBiYWNrZ3JvdW5kIHBvc2l0aW9uXG5cdFx0XHRAaWYgJHR5cGUgPT0gYWxsIG9yICR0eXBlID09IGJnIHtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogKG1hcC1nZXQoJGljb25NYXAsIHgpKSAobWFwLWdldCgkaWNvbk1hcCwgeSkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLy8gQWRkIGFuIFNWRyBzcHJpdGUgaWNvbiB1c2luZyBlbSBwb3NpdGlvbmluZywgd2l0aCBhIFBORyBpY29uIGZvciBicm93c2VycyB3aXRoIHRoZSBgJGllU3ByaXRlYCBjbGFzcyB1c2luZyBweCBwb3NpdGlvbmluZ1xuLy8vIEBwYXJhbSB7c3RyaW5nfSAkaWNvbiAtIFRoZSBuYW1lIG9mIHRoZSBpY29uXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0eXBlIFthbGxdIC0gVGhlIHByb3BlcnRpZXMgd2FudGVkIChjYW4gYmUgYGFsbGAsIGBzaXplYCBvciBgYmdgKS5cbi8vLyAtIGBhbGxgIGVuc3VyZXMgdGhlIGljb24gaGFzIHRoZSBiYWNrZ3JvdW5kLCBwb3NpdGlvbiBhbmQgc2l6ZS5cbi8vLyAtIGBzaXplYCBpcyBqdXN0IGZvciBkaW1lbnNpb25zXG4vLy8gLSBgYmdgIGp1c3QgIGFwcGxpZXMgdGhlIGJhY2tncm91bmRzIHRvIGFuIGVsZW1lbnRcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAuY2xhc3Mge1xuLy8vIFx0QGluY2x1ZGUgc3ByaXRlKGFycm93KTtcbi8vLyBcdCY6aG92ZXIge1xuLy8vIFx0XHRAaW5jbHVkZSBzcHJpdGUoYXJyb3dEb3duLCBiZylcbi8vLyBcdH1cbi8vLyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBPdXRwdXRcbi8vLyAuY2xhc3Mge1xuLy8vIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuLy8vIFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Nwcml0ZS5zdmdcIik7XG4vLy8gXHRiYWNrZ3JvdW5kLXNpemU6IDM0LjI1ZW0gMzIuMTg3NWVtO1xuLy8vIH1cbi8vL1xuLy8vIC5sdC1pZTkgLmNsYXNzIHtcbi8vLyBcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zcHJpdGUucG5nXCIpO1xuLy8vIH1cbi8vL1xuLy8vIC5jbGFzcyB7XG4vLy8gXHR3aWR0aDogMS4zMTI1ZW07XG4vLy8gXHRoZWlnaHQ6IDEuMzEyNWVtO1xuLy8vIFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTAuMzEyNWVtIC0wLjMxMjVlbTtcbi8vLyB9XG4vLy8gLmx0LWllOSAuY2xhc3Mge1xuLy8vIFx0d2lkdGg6IDIwcHg7XG4vLy8gXHRoZWlnaHQ6IDIwcHg7XG4vLy8gXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNXB4IC01cHg7XG4vLy8gfVxuLy8vIC5jbGFzczpob3ZlciB7XG4vLy8gXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMi4yNWVtIC0yLjI1ZW07XG4vLy8gfVxuLy8vIC5sdC1pZTkgLmNsYXNzOmhvdmVyIHtcbi8vLyBcdGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0zNnB4O1xuLy8vIH1cbkBtaXhpbiBzcHJpdGUoJGljb24sICR0eXBlOiBhbGwpIHtcblx0JjpiZWZvcmUge1xuXHRcdEBpZiAkdHlwZSA9PSBhbGwge1xuXHRcdFx0Ly8gU2hhcmVzIHRoZSBiYWNrZ3JvdW5kc1xuXHRcdFx0QGV4dGVuZCAlc3ByaXRlO1xuXHRcdFx0Ly9TZXQgc29tZSBzZW5zaWJsZSBkZWZhdWx0c1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0QGluY2x1ZGUgcmVtKGZvbnQtc2l6ZSwgJGVtLWJhc2UpO1xuXHRcdH1cblx0XHQkaWNvbk1hcDogaWNvbi1hdHRyKCRpY29uKTtcblxuXHRcdC8vIE91dHB1dHMgZGltZW5zaW9ucyBpbiBlbVxuXHRcdEBpZiAkdHlwZSA9PSBhbGwgb3IgJHR5cGUgPT0gc2l6ZSB7XG5cdFx0XHR3aWR0aDogZW0obWFwLWdldCgkaWNvbk1hcCwgd2lkdGgpICsgMSk7XG5cdFx0XHRoZWlnaHQ6IGVtKG1hcC1nZXQoJGljb25NYXAsIGhlaWdodCkgKyAxKTtcblx0XHR9XG5cblx0XHQvLyBPdXRwdXRzIGJhY2tncm91bmQgcG9zaXRpb24gaW4gZW1cblx0XHRAaWYgJHR5cGUgPT0gYWxsIG9yICR0eXBlID09IGJnIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGVtKG1hcC1nZXQoJGljb25NYXAsIHgpKSBlbShtYXAtZ2V0KCRpY29uTWFwLCB5KSk7XG5cdFx0fVxuXG5cdFx0Ly8gQWRkIGllIGZhbGxiYWNrXG5cdFx0QGluY2x1ZGUgaWUtc3ByaXRlKCRpY29uLCAkdHlwZSk7XG5cdH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFBhbmVsIE1vbGVjdWxlXG4vLyBAaW1wb3J0IFwicGFuZWwvdmFyaWFibGVzXCI7XG4vLyBAaW1wb3J0IFwicGFuZWwvbWl4aW5zXCI7XG4vLyBAaW1wb3J0IFwicGFuZWwvZXh0ZW5kc1wiO1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8qIEZyb250IHBhZ2UgbGFuZGluZyBwYW5lbCAqL1xuLmZpZWxkLW5hbWUtZmllbGQtZnItZnJvbnQtcGFnZS1pbWFnZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgaW1nIHtcbiAgICBtYXJnaW4tbGVmdDogLTk1JTtcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgd2lkdGg6IDI1MCU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaGVtaWRlbWlzZW1pcXVhdmVyLCB0cnVlKSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTI1JTtcbiAgICAgIHdpZHRoOiAxNTAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWF2ZXIsIHRydWUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlLXNwYWNpbmcgKiAzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtYXhpbWEsIHRydWUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5wYW5lbC1pbWFnZSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlicmV2ZSwgdHJ1ZSkge1xuICAgIGhlaWdodDogNzAwcHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICAgIEBhdC1yb290ICNibG9jay1ibG9jay00ICYge1xuICAgICAgaGVpZ2h0OiA3MzBweDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4aW1hLCB0cnVlKSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2VtaWJyZXZlLCB0cnVlKSB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4aW1hLCB0cnVlKSB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LXZpc2libGU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiLypkb2Ncbi0tLVxudGl0bGU6IEFydGljbGVcbm5hbWU6IGFydGljbGVcbmNhdGVnb3J5OiBNb2xlY3VsZXNcbi0tLVxuXG5OZXdzIC8gYmxvZyBhcnRpY2xlXG5cbmBgYGh0bWxfZXhhbXBsZVxuPGFydGljbGUgY2xhc3M9XCJhcnRpY2xlXCI+XG4gIDxoZWFkZXI+XG4gICAgPGgxIGNsYXNzPVwic2VjdGlvbi10aXRsZSAgYXJ0aWNsZV9fdGl0bGVcIj5BcnRpY2xlIFRpdGxlPC9oMT5cbiAgPC9oZWFkZXI+XG5cbiAgPGRpdiBjbGFzcz1cInBhZ2UtY29udGVudFwiPlxuICAgIDxkaXYgY2xhc3M9XCJhcnRpY2xlX19zdGFuZGZpcnN0XCI+VG9wcGluZyBjaHVwYSBjaHVwcyBpY2UgY3JlYW0gc3VnYXIgcGx1bSBtYWNhcm9vbiBqZWxseS1vIGplbGx5LW8uIERlc3NlcnQgY2h1cGEgY2h1cHMgbWFyemlwYW4gY2hvY29sYXRlIGJhci4gQ2FyYW1lbHMgY2FyYW1lbHMgbG9sbGlwb3AgYnJvd25pZSBwb3dkZXIuPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYXJ0aWNsZV9fdGV4dFwiPlxuICAgICAgPHA+Q3VwY2FrZSBpcHN1bSBkb2xvciBzaXQgYW1ldC4gRHJhZ8OpZSBjaG9jb2xhdGUgYmFyIHRvcHBpbmcgbWFyemlwYW4gaWNlIGNyZWFtIGRlc3NlcnQgbWFyc2htYWxsb3cgZGFuaXNoIGJvbmJvbi4gRnJ1aXRjYWtlIGNob2NvbGF0ZSBiYXIgYm9uYm9uIHRvZmZlZSBjYWtlIHN3ZWV0IGNhbmR5LjwvcD5cbiAgICAgIDxwPlRvZmZlZSBhcHBsZSBwaWUgc2VzYW1lIHNuYXBzLiBKZWxseS1vIGNob2NvbGF0ZSBoYWx2YWggaWNpbmcuIENob2NvbGF0ZSBib25ib24gY2hvY29sYXRlIGNha2UgaGFsdmFoIG1hcnppcGFuIGxlbW9uIGRyb3BzIHBvd2Rlci48L3A+XG4gICAgICA8cD5GcnVpdGNha2UgdG9vdHNpZSByb2xsIGplbGx5IGJlYW5zIGRhbmlzaCBjaG9jb2xhdGUgY2FrZSBjYXJyb3QgY2FrZSBjaG9jb2xhdGUgY2FrZSBndW1taWVzLiBNYXJ6aXBhbiBjaHVwYSBjaHVwcyBsb2xsaXBvcCBkZXNzZXJ0IGxpcXVvcmljZSBsaXF1b3JpY2UgZGFuaXNoIGNhcnJvdCBjYWtlIHNlc2FtZSBzbmFwcy4gSnVqdWJlcyBjcm9pc3NhbnQgZ3VtbWllcy48L3A+XG4gICAgICA8cD5DaGVlc2VjYWtlIG1hcnNobWFsbG93IGd1bW1pZXMgcHVkZGluZyB3YWZlciB0b290c2llIHJvbGwgZHJhZ8OpZS4gRnJ1aXRjYWtlIGNhbmR5IGNhcnJvdCBjYWtlIGN1cGNha2UgZ3VtbWllcyBndW1taSBiZWFycyBpY2UgY3JlYW0uIENhbmR5IGljZSBjcmVhbSBwYXN0cnkgamVsbHktby4gTGVtb24gZHJvcHMgY2FyYW1lbHMgYXBwbGUgcGllIGNha2UgamVsbHkgc3dlZXQgaGFsdmFoLjwvcD5cbiAgICAgIDxwPkNha2UgY2hvY29sYXRlIGJhciBjb29raWUgcGFzdHJ5IGljaW5nIHN1Z2FyIHBsdW0uIENhbmR5IGNhbmVzIGRvbnV0IHN1Z2FyIHBsdW0uIE1hY2Fyb29uIGFwcGxlIHBpZSBjYXJyb3QgY2FrZSBjb3R0b24gY2FuZHkgY3VwY2FrZSBwdWRkaW5nLiBQaWUgY2hvY29sYXRlIGJhciBjb3R0b24gY2FuZHkgamVsbHkgYmVhbnMgZGVzc2VydC48L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9hcnRpY2xlPlxuYGBgXG4qL1xuXG4uYXJ0aWNsZSB7XG4gICZfX3N0YW5kZmlyc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoMSk7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgLm1lZGlhX2VtYmVkIHtcbiAgICBpZnJhbWUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZS1jdGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IG1vZHVsYXItc2NhbGUoNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC05NjApIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMzBweDtcbiAgICByaWdodDogMjBweDtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuIiwiLnBhcmFsbGF4LXZpZGVvIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogLTc4cHg7XG4gIGJvcmRlcjogNXB4IHNvbGlkICR3aGl0ZTtcbiAgYm9yZGVyLXRvcC13aWR0aDogKDVweCArIDc4cHgpOyAvLyA3OHB4IGhlYWRlciBoZWlnaHRcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRsb25nYSwgdHJ1ZSkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogKDQwcHggKyA3OHB4KTsgLy8gNzhweCBoZWFkZXIgaGVpZ2h0XG5cbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwdmg7XG4gICAgfVxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC40KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX3BsYWNlaG9sZGVyLFxuICAmX192aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIGNlbnRlciB0aGUgY29udGVudFxuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmX19wbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJl9fdmlkZW8ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbG9uZ2EsIHRydWUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzogMTYvOSkge1xuICAgICAgaGVpZ2h0OiAzMDAlO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogMTYvOSkge1xuICAgICAgd2lkdGg6IDMwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9fcGxhY2Vob2xkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRsb25nYSwgdHJ1ZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDM1NXB4O1xuICAgIGhlaWdodDogMTEwcHg7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmX19hcnJvdyB7XG4gICAgQGV4dGVuZCAlYnV0dG9uLS1yZXNldDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA1JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkbGlnaHQtcmVkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9uLWV2ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBoZWFkZXIgc3R5bGVzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnNpdGUtaGVhZGVyIHtcblxuICAkY29sb3VyLS1zaXRlLWhlYWRlci0tYmFja2dyb3VuZDogJHdoaXRlO1xuICAkY29sb3VyLS1zaXRlLWhlYWRlci0tYm9yZGVyOiAkZGFya2VyLWdyZXk7XG4gICRwYWRkaW5nLS1zaXRlLWhlYWRlci0tbW9iaWxlOiAkcGFkZGluZy0tc2l0ZS1ndXR0ZXItLW1vYmlsZTtcbiAgJHBhZGRpbmctLXNpdGUtaGVhZGVyLS1kZXNrdG9wOiAkcGFkZGluZy0tc2l0ZS1ndXR0ZXItLWRlc2t0b3A7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91ci0tc2l0ZS1oZWFkZXItLWJhY2tncm91bmQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyLS1zaXRlLWhlYWRlci0tYm9yZGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDc4cHg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogKCRwYWRkaW5nLS1zaXRlLWhlYWRlci0tbW9iaWxlIC8gMikgJHBhZGRpbmctLXNpdGUtaGVhZGVyLS1tb2JpbGU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5zaXRlLWhlYWRlci0tcGlubmVkIHtcblxuICAgIGhlaWdodDogNThweDtcblxuICAgIC5zaXRlLWxvZ28ge1xuXG4gICAgICB3aWR0aDogNzBweDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtNjAwKSB7XG5cbiAgICAgICAgd2lkdGg6IDcwcHg7XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgLnNpdGUtbG9nbyB7XG5cbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcblxuICAgICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgfVxuXG4gIH1cblxuICAuc29jaWFsLWljb25zIHtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtNjAwKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgfVxuXG59XG5cbi5zZWNvbmRhcnktc2l0ZS1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG4uc2l0ZS1oZWFkZXJfX2xlZnQge1xuXG59XG5cbi5zaXRlLWhlYWRlcl9fcmlnaHQge1xuXG4gIGRpc3BsYXk6IGZsZXg7XG5cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRm9vdGVyIE9yZ2FuaXNtXG4vLyBAaW1wb3J0IFwiZm9vdGVyL3ZhcmlhYmxlc1wiO1xuLy8gQGltcG9ydCBcImZvb3Rlci9taXhpbnNcIjtcbi8vIEBpbXBvcnQgXCJmb290ZXIvZXh0ZW5kc1wiO1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi5zaXRlLWZvb3RlciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigkcGFnZS13aWR0aC1pbm5lcik7XG4gIHBhZGRpbmc6IG1vZHVsYXItc2NhbGUoNikgMWVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbmltKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAmX19saW5rcyB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDgpO1xuICAgIH1cblxuICAgICZfX25ld3NsZXR0ZXIge1xuICAgICAgQGluY2x1ZGUgc3Bhbig0KTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgIH1cblxuICAgICZfX2FkZHJlc3Mge1xuICAgICAgJi0tZmlyc3Qge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDUpO1xuICAgICAgfVxuXG4gICAgICAmLS1sYXN0IHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig3KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi13cmFwIHtcbiAgICBAaW5jbHVkZSBpbnZlcnRlZDtcbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoMyk7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluaW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoNik7XG4gICAgfVxuICB9XG5cbiAgJl9fY29sdW1uIHtcbiAgICBtYXJnaW4tYm90dG9tOiBtb2R1bGFyLXNjYWxlKDMpO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluaW0pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBcbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG5cbiAgICAmLS1uZXdzbGV0dGVyIHtcbiAgICAgIHRvcDogYXV0bztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluaW0pIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBmaWxsOiAkdGV4dC1pbnZlcnRlZDtcbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICB3aWR0aDogMTMwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIG1vZHVsYXItc2NhbGUoMSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc3ZnIHtcbiAgICAgIGZpbGw6ICR0ZXh0LWludmVydGVkO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gICZfX2NvbnRhY3RzIHtcbiAgICAmLXRpdGxlLFxuICAgICYtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJzonO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IG1vZHVsYXItc2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgJl9fYm90dG9tIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAubWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCBtb2R1bGFyLXNjYWxlKDEpIDAgMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG5cbi5zaXRlLWZvb3Rlcl9fbmV3c2xldHRlciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTgwMCkge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLnNpdGUtZm9vdGVyX19pY29uLFxuICAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbjogMCAwIDAgbW9kdWxhci1zY2FsZSgtMSk7XG4gIH1cbn1cbiIsIi5ibG9jay1jYXJvdXNlbCB7XG4gIHBhZGRpbmc6IDAgNjBweDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLnNsaWNrLXNsaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmNhcm91c2VsLXBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IG1vZHVsYXItc2NhbGUoMSk7XG4gIH1cblxuICAmIH4gLmNhcm91c2VsLW5hdmlnYXRpb24tYXJyb3cge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTYwMCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIiRfZXZlbnQtYmFubmVyLWJnOiAkd2hpdGU7XG4kX2V2ZW50LWJhbm5lci10ZXh0OiAkZGFya2VyLWdyZXk7XG4kX2V2ZW50LWJhbm5lci10ZXh0LWFsdDogJHdoaXRlO1xuJF9ldmVudC1iYW5uZXItdGV4dC10aXRsZTogJGJsYWNrO1xuJF9ldmVudC1iYW5uZXItaWNvbi1jb2xvcjogJG1pZC1yZWQ7XG4kX2V2ZW50LWJhbm5lci1pY29uLWNvbG9yLWhvdmVyOiAkbGlnaHQtcmVkO1xuXG4uZXZlbnQtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgJl9fc3VtbWFyeSB7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC0xMTIwKSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB9XG4gIH1cblxuICAmX19kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNHB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDRweCk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwYWRkaW5nOiA1MHB4IDEwcHggMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkX2V2ZW50LWJhbm5lci1iZztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTExMjApIHtcbiAgICAgIHdpZHRoOiA0OThweDtcbiAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgfVxuXG4gICAgJi1jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDMwcHg7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICBzdmcge1xuICAgICAgICBmaWxsOiAkX2V2ZW50LWJhbm5lci1pY29uLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBvbi1ldmVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgZmlsbDogJF9ldmVudC1iYW5uZXItaWNvbi1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICZfX2RhdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCAwIG1vZHVsYXItc2NhbGUoMSk7XG4gICAgY29sb3I6ICRfZXZlbnQtYmFubmVyLXRleHQ7XG4gICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICYtLWFsdCB7XG4gICAgICBtYXJnaW46IG1vZHVsYXItc2NhbGUoLTUpIDAgMDtcbiAgICAgIGNvbG9yOiAkX2V2ZW50LWJhbm5lci10ZXh0LWFsdDtcbiAgICB9XG4gIH1cblxuICAmX19jdGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDUwcHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBtYXJnaW46IG1vZHVsYXItc2NhbGUoMikgMCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtMTEyMCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC02MDApIHtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICB9XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBjb2xvcjogJF9ldmVudC1iYW5uZXItdGV4dDtcbiAgfVxuXG4gICZfX3N1YnRpdGxlLFxuICBoMyB7XG4gICAgbWFyZ2luOiBtb2R1bGFyLXNjYWxlKDApIDA7XG4gICAgY29sb3I6ICRfZXZlbnQtYmFubmVyLXRleHQtdGl0bGU7XG4gICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEpO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgbWFyZ2luOiBtb2R1bGFyLXNjYWxlKDUpIDAgMDtcbiAgfVxufVxuXG4uZXZlbnQtYmFubmVyLWNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skcGFkZGluZy0tbWFpbi1jb250ZW50LS10b3B9KTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJvcmRlcjogNXB4IHNvbGlkICRfZXZlbnQtYmFubmVyLWJnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiA0MHB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTExMjApIHtcbiAgICBib3JkZXItd2lkdGg6IDQwcHg7XG4gIH1cblxuICAuY2Fyb3VzZWwtcGFnaW5hdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIH1cblxuICAuY2Fyb3VzZWwtbmF2aWdhdGlvbi1hcnJvdyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTExMjApIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5qcy13aWxsLWZhZGUtb3V0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1vdXQ7XG5cbiAgICAmLmlzLWhpZGRlbiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5qcy13aWxsLXNsaWRlLWluIHtcbiAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlICsgMnB4KSk7IGRvZXNuJ3Qgd29yayBpbiBJRVxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSB0cmFuc2xhdGVYKDJweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0O1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbn1cblxuLmpzLWV2ZW50LWNhcm91c2VsLFxuLmpzLWV2ZW50LWNhcm91c2VsLXNsaWRlLFxuLmpzLWV2ZW50LWNhcm91c2VsIC5zbGljay1saXN0LFxuLmpzLWV2ZW50LWNhcm91c2VsIC5zbGljay10cmFjayxcbi5ldmVudC1iYW5uZXIgLmNvbnRleHR1YWwtbGlua3MtcmVnaW9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuIiwiXG4jYWxlcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNzlweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDUwcHggMCAyMHB4O1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICNiNTE5MjQ7XG4gIGNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTtcbiAgLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDE1cHg7XG4gICAgdG9wOiAyNXB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKC4uLy4uL2ljb25zL2Nsb3NlLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICAubG9nb190aXRsZV93cmFwcGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAmLm0tYWxlcnQgLmxvZ29fdGl0bGVfd3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIzNXB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICYuYWxlcnQtaW5mbyAubG9nb190aXRsZV93cmFwcGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5sb2dvX3RpdGxlX3dyYXBwZXIge1xuICAgICAgd2lkdGg6IDIxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIC5hbGVydC10aXRsZSB7XG4gICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWxlcnQtdGl0bGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmctbGVmdDogMTAycHg7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAtNDBweCAwIDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLmFsZXJ0LWluZm8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMjNweDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuYWxlcnQtbGluayB7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgIG1heC13aWR0aDogOTUwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYWxlcnQtaWNvbiB7XG4gICAgd2lkdGg6IDEwNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDc4cHg7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pY29ucy9hbGVydC15ZWxsb3cuc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMTBweDtcbiAgfVxuICAuYWxlcnRfYm9keSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogNXB4IDE4NXB4IDEwcHggMjcwcHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYSwgYTp2aXNpdGVkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxMDBtcyBsaW5lYXI7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhcjtcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGxpbmVhclxuICAgICAgfVxuICAgIH1cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMCA1cHg7XG4gICAgICBjb2xvcjogI2ZmZlxuICAgIH1cbiAgfVxuICBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMzljO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzM5YztcbiAgICB9XG4gICAgJi5hbGVydC1idXR0b24sXG4gICAgJi5hbGVydC1idXR0b246dmlzaXRlZCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZWFlNDE1O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgb3V0bGluZTogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjMDMwMzM1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hbGVydC1idXR0b246aG92ZXIsXG4gICAgJi5hbGVydC1idXR0b246dmlzaXRlZDpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBvcGFjaXR5OiAuOVxuICAgIH1cbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAmLm0tYWxlcnQgLmFsZXJ0X2JvZHkge1xuICAgICAgcGFkZGluZzogMCAxMDVweCAwIDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQyJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICBhLmFsZXJ0LWJ1dHRvbiwgYS5hbGVydC1idXR0b246dmlzaXRlZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMzVweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MHB4KSB7XG4gICAgJi5tLWFsZXJ0IGEuYWxlcnQtYnV0dG9uLCAmLm0tYWxlcnQgYS5hbGVydC1idXR0b246dmlzaXRlZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICByaWdodDogNjVweDtcbiAgICAgIHRvcDogMzVweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICYubS1hbGVydCBhLmFsZXJ0LWJ1dHRvbiwgJi5tLWFsZXJ0IGEuYWxlcnQtYnV0dG9uOnZpc2l0ZWQge1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRvcDogMzVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTQ3NXB4O1xuICAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIHNjcm9sbCBMYXlvdXRzXG4vL1xuLy8gVGhlIHBhcnRpYWwgYW5kIGZvbGRlciBzdHJ1Y3R1cmUgZm9yIHRoaXMgbGF5b3V0cyBzaG91bGQgYmUgYXMgZm9sbG93czpcbi8vIF9zY3JvbGwuc2Nzc1xuLy8gc2Nyb2xsIChmb2xkZXIpXG4vLyAgIF9leHRlbmRzLnNjc3Ncbi8vICAgX21peGlucy5zY3NzXG4vLyAgIF92YXJpYWJsZXMuc2Nzc1xuLy9cbi8vIEF1dG9tYXRpYyBTYXNzIHBhcnNpbmcgaXMgZG9uZSB0aHJvdWdoIHNwZWNpYWwgY29tbWVudCBibG9ja3Ncbi8vICAtIFN0YXJ0IHN0eWxpbmcgYmxvY2sgZm9yIGJhc2UgbGF5b3V0czogQHtsYXlvdXRzfVxuLy8gIC0gRW5kIHN0eWxpbmcgYmxvY2sgZm9yIGJhc2UgbGF5b3V0czogICB7bGF5b3V0c31AXG4vL1xuLy8gIC0gU3RhcnQgc3R5bGluZyBibG9jayBmb3Igc3BlY2lmaWMgbGF5b3V0cyBhc3BlY3Q6IEB7bGF5b3V0cy0tYXNwZWN0fVxuLy8gIC0gRW5kIHN0eWxpbmcgYmxvY2sgZm9yIHNwZWNpZmljIGxheW91dHMgYXNwZWN0OiAgIHtsYXlvdXRzLS1hc3BlY3R9QFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIEBpbXBvcnQgXCJzY3JvbGwvdmFyaWFibGVzXCI7XG4vLyBAaW1wb3J0IFwic2Nyb2xsL21peGluc1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEB7c2Nyb2xsfVxuLy8gU3R5bGluZyBmb3Igc2Nyb2xsIExheW91dHNcbi5fc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLl9oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRoZW1pZGVtaXNlbWlxdWF2ZXIsIHRydWUpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5tZW51LS1zb2NpYWwge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5ub2RlLWZyLWN0LWZyb250LXBhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWdpc3RyYXRpb247XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgLmZpZWxkLWNvbGxlY3Rpb24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IGVtKC01MHB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWF2ZXIsIHRydWUpIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB9XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmLS1wYW5lbCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRkYXJrLXJlZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJi0taW1hZ2Uge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMSU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE0MCU7XG4gICAgICAgIHdpZHRoOiAxNDAlO1xuICAgICAgICBAYXQtcm9vdCAjYmxvY2stYmxvY2stNCAmIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkY3JvdGNoZXQsIHRydWUpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLS1vdmVybGF5IHtcblxuICAgIH1cbiAgICAmLS1sb2dvIHtcbiAgICAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyAvIDI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgbWF4LXdpZHRoOiAyNjhweDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1YXZlciwgdHJ1ZSkge1xuICAgICAgICB3aWR0aDogMTkycHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzZW1pYnJldmUsIHRydWUpIHtcbiAgICAgICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nICogMS41O1xuICAgICAgICB3aWR0aDogMjY4cHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXRleHRib3gge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgICAgLmJ1dHRvbiB7XG5cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlicmV2ZSwgdHJ1ZSkge1xuICAgICAgICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgKiAxLjU7XG4gICAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tZGF0ZSB7XG4gICAgICBAZXh0ZW5kICVmb250LXRpdGxlO1xuICAgICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJhc2Utc3BhY2luZyAvIDQ7XG4gICAgfVxuICAgICYtLXRleHQge1xuICAgICAgcGFkZGluZzogJGJhc2Utc3BhY2luZyAqIDEuNTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlicmV2ZSwgdHJ1ZSkge1xuICAgICAgICBvcGFjaXR5OjAuOTtcbiAgICAgICAgZmlsdGVyOmFscGhhKG9wYWNpdHk9OTApOyAvKiBGb3IgSUU4IGFuZCBlYXJsaWVyICovXG4gICAgICB9XG4gICAgICBAYXQtcm9vdCAjYmxvY2stYmxvY2stNCAmIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlicmV2ZSwgdHJ1ZSkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAkYmFzZS1zcGFjaW5nICogMS41O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtLWJ1dHRvbnMge1xuICAgICAgQGluY2x1ZGUgcmVtKG1hcmdpbiwgNHB4KTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNlbWlicmV2ZSwgdHJ1ZSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNfZXZoLXJpYyxcbiAgI19ldmgtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW5pbSwgdHJ1ZSkge1xuICAgIC5sdC1pZTkge1xuICAgICAgbWluLXdpZHRoOiAkbWluaW07XG4gICAgfVxuICB9XG5cbn1cbi8vIHtzY3JvbGx9QFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIGRlZmF1bHQgTGF5b3V0c1xuLy9cbi8vIFRoZSBwYXJ0aWFsIGFuZCBmb2xkZXIgc3RydWN0dXJlIGZvciB0aGlzIGxheW91dHMgc2hvdWxkIGJlIGFzIGZvbGxvd3M6XG4vLyBfZGVmYXVsdC5zY3NzXG4vLyBkZWZhdWx0IChmb2xkZXIpXG4vLyAgIF9leHRlbmRzLnNjc3Ncbi8vICAgX21peGlucy5zY3NzXG4vLyAgIF92YXJpYWJsZXMuc2Nzc1xuLy9cbi8vIEF1dG9tYXRpYyBTYXNzIHBhcnNpbmcgaXMgZG9uZSB0aHJvdWdoIHNwZWNpYWwgY29tbWVudCBibG9ja3Ncbi8vICAtIFN0YXJ0IHN0eWxpbmcgYmxvY2sgZm9yIGJhc2UgbGF5b3V0czogQHtsYXlvdXRzfVxuLy8gIC0gRW5kIHN0eWxpbmcgYmxvY2sgZm9yIGJhc2UgbGF5b3V0czogICB7bGF5b3V0c31AXG4vL1xuLy8gIC0gU3RhcnQgc3R5bGluZyBibG9jayBmb3Igc3BlY2lmaWMgbGF5b3V0cyBhc3BlY3Q6IEB7bGF5b3V0cy0tYXNwZWN0fVxuLy8gIC0gRW5kIHN0eWxpbmcgYmxvY2sgZm9yIHNwZWNpZmljIGxheW91dHMgYXNwZWN0OiAgIHtsYXlvdXRzLS1hc3BlY3R9QFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIEBpbXBvcnQgXCJkZWZhdWx0L3ZhcmlhYmxlc1wiO1xuLy8gQGltcG9ydCBcImRlZmF1bHQvbWl4aW5zXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQHtkZWZhdWx0fVxuLy8gU3R5bGluZyBmb3IgZGVmYXVsdCBMYXlvdXRzXG4uX2RlZmF1bHQge1xuICAuX2hlYWRlcixcbiAgLl9tYWluIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoJHBhZ2Utd2lkdGgpO1xuICAgIEBpbmNsdWRlIHBhZGRpbmctcGFnZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIC5fbWFpbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogbW9kdWxhci1zY2FsZSg5KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTk2MCkge1xuICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLS1tYWluLWNvbnRlbnQtLXRvcDtcbiAgICB9XG4gIH1cbn1cblxuLl9tYWluLXByZWZpeCB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZy0tbWFpbi1jb250ZW50LS10b3A7XG5cbiAgJi0tcGlubmVkIHtcbiAgICBwYWRkaW5nLXRvcDogNThweDtcbiAgfVxufVxuXG4uX21haW4ge1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxufVxuXG4uX21haW4sXG4ucGFnZS1ib3R0b20td3JhcHBlciB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbG9uZ2EsIHRydWUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuXG4vLyBiZWNhdXNlIHdlIHNldCAuX21haW4gdG8gc3RhdGljIGFuZCB0aGVyZSBtYXkgYmUgc29tZSBhYnNvbHV0ZSBwb3NpdGlvbmluZyB3aXRoaW4gdmlld3Ncbi52aWV3LWRpc3BsYXktaWQtcGFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8ge2RlZmF1bHR9QFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIG1haW4gbmF2IHN0eWxlcy5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5fbWFpbiAubWVnYS1uYXYge1xuXG4gICRsaW5lLWhlaWdodC1hZGp1c3RtZW50OiAxNHB4O1xuXG4gIC5tZWdhLWxpbmsge1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi10b3A6IC0jeyRsaW5lLWhlaWdodC1hZGp1c3RtZW50fVxuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0jeyRsaW5lLWhlaWdodC1hZGp1c3RtZW50fVxuICAgIH1cblxuICB9XG5cbiAgLm5vLWpzICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGhlaWdodDogMjAwJTtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nLS1tYWluLWNvbnRlbnQtLXRvcCArIDI1cHg7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHotaW5kZXg6IDE7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtMTEyMCkge1xuICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZy0tbWFpbi1jb250ZW50LS10b3AgKyA0MHB4OyAvLyBhbGlnbiB3aXRoIGV2ZW50IGNhcm91c2VsXG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cbiAgICAmLm1lZ2EtbmF2LS1waW5uZWQge1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtI3skcGFkZGluZy0tbWFpbi1jb250ZW50LS10b3AgLSAkaGVpZ2h0LS1oZWFkZXJ9KTtcblxuICAgIH1cblxuICB9XG5cbiAgJi5tZWdhLW5hdi0tcGlubmVkIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0jeyRwYWRkaW5nLS1tYWluLWNvbnRlbnQtLXRvcCAtICRoZWlnaHQtLWhlYWRlcn0pO1xuXG4gIH1cblxufVxuIiwiLnBhZ2Utc2xpY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IG1vZHVsYXItc2NhbGUoNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtNjAwKSB7XG4gICAgbWFyZ2luLXRvcDogbW9kdWxhci1zY2FsZSg5KTtcbiAgfVxuXG4gICYtLWxhc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoNik7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicC05NjApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1vZHVsYXItc2NhbGUoOSk7XG4gICAgfVxuICB9XG5cbiAgJl9fY3RhIHtcbiAgICBtYXJnaW4tdG9wOiBtb2R1bGFyLXNjYWxlKDEpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwLTYwMCkge1xuICAgICAgbWFyZ2luLXRvcDogbW9kdWxhci1zY2FsZSg0KTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLWJvdHRvbSB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigkcGFnZS13aWR0aCk7XG5cbiAgLmJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnAtOTYwKSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5ibG9jayB7XG4gICAgICBAaW5jbHVkZSBzcGFuKDYpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZWRpYS1ibG9jayB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8qIVxuICogSGFtYnVyZ2Vyc1xuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXG4gKiBAYXV0aG9yIEpvbmF0aGFuIFN1aCBAam9uc3VoXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXG4gKi9cblxuLy8gU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4kaGFtYnVyZ2VyLXBhZGRpbmcteCAgICAgICAgICAgICAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICAgICAgICAgICAgICA6IDQwcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAgICAgICAgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgICAgICAgICAgICAgOiA2cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAjMDAwICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5ICAgICAgICAgICAgICAgICAgIDogMC43ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uICAgICAgIDogMC4xNXMgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vIFRvIHVzZSBDU1MgZmlsdGVycyBhcyB0aGUgaG92ZXIgZWZmZWN0IGluc3RlYWQgb2Ygb3BhY2l0eSxcbi8vIHNldCAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgYXMgdHJ1ZSBhbmRcbi8vIGNoYW5nZSB0aGUgdmFsdWUgb2YgJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgYWNjb3JkaW5nbHkuXG4kaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXI6IGZhbHNlICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgICAgOiBvcGFjaXR5KDUwJSkgIWRlZmF1bHQ7XG5cbi8vIFR5cGVzIChSZW1vdmUgb3IgY29tbWVudCBvdXQgd2hhdCB5b3UgZG9u4oCZdCBuZWVkKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItdHlwZXM6IChcbiAgM2R4LFxuICAzZHgtcixcbiAgM2R5LFxuICAzZHktcixcbiAgYXJyb3csXG4gIGFycm93LXIsXG4gIGFycm93YWx0LFxuICBhcnJvd2FsdC1yLFxuICBib3JpbmcsXG4gIGNvbGxhcHNlLFxuICBjb2xsYXBzZS1yLFxuICBlbGFzdGljLFxuICBlbGFzdGljLXIsXG4gIGVtcGhhdGljLFxuICBlbXBoYXRpYy1yLFxuICBzbGlkZXIsXG4gIHNsaWRlci1yLFxuICBzcHJpbmcsXG4gIHNwcmluZy1yLFxuICBzdGFuZCxcbiAgc3RhbmQtcixcbiAgc3BpbixcbiAgc3Bpbi1yLFxuICBzcXVlZXplLFxuICB2b3J0ZXgsXG4gIHZvcnRleC1yXG4pICFkZWZhdWx0O1xuXG4vLyBCYXNlIEhhbWJ1cmdlciAoV2UgbmVlZCB0aGlzKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJiYXNlXCI7XG5cbi8vIEhhbWJ1cmdlciB0eXBlcyAoRWFjaCBzaG91bGQgaGF2ZSBhbiBAaWYgZGlyZWN0aXZlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInR5cGVzLzNkeFwiO1xuQGltcG9ydCBcInR5cGVzLzNkeC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R5LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd1wiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdFwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZVwiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XG5AaW1wb3J0IFwidHlwZXMvZWxhc3RpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvZW1waGF0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyXCI7XG5AaW1wb3J0IFwidHlwZXMvc2xpZGVyLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcHJpbmctclwiO1xuQGltcG9ydCBcInR5cGVzL3N0YW5kXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW5cIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcGluLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4XCI7XG5AaW1wb3J0IFwidHlwZXMvdm9ydGV4LXJcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvb2tpbmcgdXAgYWRkaXRpb25hbCB0eXBlczpcbi8vXG4vLyBUaGUgU2FzcyBmb3IgZWFjaCBoYW1idXJnZXIgdHlwZSBzaG91bGQgYmUgbmVzdGVkXG4vLyBpbnNpZGUgYW4gQGlmIGRpcmVjdGl2ZSB0byBjaGVjayB3aGV0aGVyIG9yIG5vdFxuLy8gaXQgZXhpc3RzIGluICRoYW1idXJnZXItdHlwZXMgc28gb25seSB0aGUgQ1NTIGZvclxuLy8gaW5jbHVkZWQgdHlwZXMgYXJlIGdlbmVyYXRlZC5cbi8vXG4vLyBlLmcuIGhhbWJ1cmdlcnMvdHlwZXMvX25ldy10eXBlLnNjc3Ncbi8vXG4vLyBAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgbmV3LXR5cGUpIHtcbi8vICAgLmhhbWJ1cmdlci0tbmV3LXR5cGUge1xuLy8gICAgIC4uLlxuLy8gICB9XG4vLyB9XG4iLCIvLyBIYW1idXJnZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogJGhhbWJ1cmdlci1wYWRkaW5nLXkgJGhhbWJ1cmdlci1wYWRkaW5nLXg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjtcblxuICAvLyBOb3JtYWxpemUgKDxidXR0b24+KVxuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJjpob3ZlciB7XG4gICAgQGlmICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciA9PSB0cnVlIHtcbiAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgaGVpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDMgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlci1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcblxuICAmLFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoYW1idXJnZXItbGF5ZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIH1cblxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBib3R0b206ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMTtcbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIDNkeCkge1xuICAvKlxuICAgKiAzRFhcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeCB7XG4gICAgLmhhbWJ1cmdlci1ib3gge1xuICAgICAgcGVyc3BlY3RpdmU6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcblxuICAgICAgJjo6YmVmb3JlLFxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMHMgMC4xcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R4LXIpIHtcbiAgLypcbiAgICogM0RYIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeC1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R5KSB7XG4gIC8qXG4gICAqIDNEWVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tM2R5IHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcpICogLTEsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgM2R5LXIpIHtcbiAgLypcbiAgICogM0RZIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLTNkeS1yIHtcbiAgICAuaGFtYnVyZ2VyLWJveCB7XG4gICAgICBwZXJzcGVjdGl2ZTogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgfVxuXG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMSksXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwcyAwLjFzIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZywgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZykgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvdykge1xuICAvKlxuICAgKiBBcnJvd1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYXJyb3cuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjIsIDAsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93LXIpIHtcbiAgLypcbiAgICogQXJyb3cgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93LXIuaXMtYWN0aXZlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgwLjcsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBhcnJvd2FsdCkge1xuICAvKlxuICAgKiBBcnJvdyBBbHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMTVzIGVhc2UsXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMjUsIDApIHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xNXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMjUsIDApIHJvdGF0ZSg0NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYXJyb3dhbHQtcikge1xuICAvKlxuICAgKiBBcnJvdyBBbHQgUmlnaHRcbiAgICovXG4gIC5oYW1idXJnZXItLWFycm93YWx0LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xNXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDAuMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0wLjI1LCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xNXMgMC4xcyBjdWJpYy1iZXppZXIoMC44OTUsIDAuMDMsIDAuNjg1LCAwLjIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMC4yNSwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyAwLjFzIGN1YmljLWJlemllcigwLjg5NSwgMC4wMywgMC42ODUsIDAuMjIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgYm9yaW5nKSB7XG4gIC8qXG4gICAqIEJvcmluZ1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tYm9yaW5nIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICYsXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgY29sbGFwc2UpIHtcbiAgLypcbiAgICogQ29sbGFwc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWNvbGxhcHNlIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMiArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKiAtMTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgMC4zcyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMzJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yN3MgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4xOHMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyAwLjQycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGNvbGxhcHNlLXIpIHtcbiAgLypcbiAgICogQ29sbGFwc2UgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tY29sbGFwc2UtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDIgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAqIDIpICogLTE7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4zcyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTEsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMzJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4yN3MgbGluZWFyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjE4cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTVzIDAuNDJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgZWxhc3RpYykge1xuICAvKlxuICAgKiBFbGFzdGljXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1lbGFzdGljIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42OCwgLTAuNTUsIDAuMjY1LCAxLjU1KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyAwLjRzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCAqIC0yLCAwKSByb3RhdGUoLTI3MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVsYXN0aWMtcikge1xuICAvKlxuICAgKiBFbGFzdGljIFJldmVyc2VcbiAgICovXG4gIC5oYW1idXJnZXItLWVsYXN0aWMtciB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0IC8gMjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgMC40cyBlYXNlO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGN1YmljLWJlemllcigwLjY4LCAtMC41NSwgMC4yNjUsIDEuNTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAkeS1vZmZzZXQ6ICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xuXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0LCAwKSByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSgyNzBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBlbXBoYXRpYykge1xuICAvKlxuICAgKiBFbXBoYXRpY1xuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyAwLjI1cyBlYXNlLWluO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjJzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgbGVmdCAwLjJzIDAuMjVzIGVhc2UtaW47XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICsgKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC42LCAwLjA0LCAwLjk4LCAwLjMzNSksXG4gICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjJzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQgMC4ycyAwLjI1cyBlYXNlLWluO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgMCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMnMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjJzIDAuMjVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTIsICRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAyLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAwLjJzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRvcCAwLjA1cyAwLjJzIGxpbmVhcixcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4ycyAwLjI1cyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGVtcGhhdGljLXIpIHtcbiAgLypcbiAgICogRW1waGF0aWMgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tZW1waGF0aWMtciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIDAuMjVzIGVhc2UtaW47XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMnMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0IDAuMnMgMC4yNXMgZWFzZS1pbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nKTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjYsIDAuMDQsIDAuOTgsIDAuMzM1KSxcbiAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMnMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICByaWdodCAwLjJzIDAuMjVzIGVhc2UtaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgbGVmdDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yO1xuICAgICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIDI7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMnMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjJzIDAuMjVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTI7XG4gICAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogMjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMiwgJGhhbWJ1cmdlci1sYXllci13aWR0aCAqIC0yLCAwKSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHJpZ2h0IDAuMnMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgdG9wIDAuMDVzIDAuMnMgbGluZWFyLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjJzIDAuMjVzIGN1YmljLWJlemllcigwLjA3NSwgMC44MiwgMC4xNjUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc2xpZGVyKSB7XG4gIC8qXG4gICAqIFNsaWRlclxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAyO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICsgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMikgKyAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgICR5LW9mZnNldDogJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQsIDApIHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggLyAtNywgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICogLTEsIDApO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkeS1vZmZzZXQgKiAtMiwgMCkgcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzbGlkZXItcikge1xuICAvKlxuICAgKiBTbGlkZXIgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc2xpZGVyLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmc7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgJHktb2Zmc2V0OiAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodDtcblxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICR5LW9mZnNldCwgMCkgcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlM2QoJGhhbWJ1cmdlci1sYXllci13aWR0aCAvIDcsICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIC0xLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJHktb2Zmc2V0ICogLTIsIDApIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcHJpbmcpIHtcbiAgLypcbiAgICogU3ByaW5nXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcHJpbmcge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIDI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDBzIDAuMTVzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZztcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xNXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdG9wOiAoJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSArICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuM3MgMC4zcyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zMnM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjE4cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTVzIDAuMzJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xNXMgMC4zMnMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcHJpbmctcikge1xuICAvKlxuICAgKiBTcHJpbmcgUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3ByaW5nLXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6ICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKiAyICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgKiAyKSAqIC0xO1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4zcyAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwcyBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMTVzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICgkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgKyAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCkgKiAtMSwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMzJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDBzIDAuMzJzIGxpbmVhcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xMnMgMC4xOHMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjE1cyAwLjMycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHN0YW5kKSB7XG4gIC8qXG4gICAqIFN0YW5kXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zdGFuZCB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyAwLjIycyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KSxcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMHMgMC4xcyBsaW5lYXI7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMXMgZWFzZS1pbixcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIDAuMXMgMHMgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xcyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjIycyBsaW5lYXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjEycyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMTJzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3RhbmQtcikge1xuICAvKlxuICAgKiBTdGFuZCBSZXZlcnNlXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zdGFuZC1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIDAuMjJzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpLFxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjFzIGxpbmVhcjtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xcyBlYXNlLWluLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjFzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDBzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyAwcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAwcyAwLjIycyBsaW5lYXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjEycyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyAwLjIycyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMTJzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMjJzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3Bpbikge1xuICAvKlxuICAgKiBTcGluXG4gICAqL1xuICAuaGFtYnVyZ2VyLS1zcGluIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMzRzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMzRzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE0cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZS1vdXQsXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMTRzIGVhc2Utb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjNzIDAuMTRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgc3Bpbi1yKSB7XG4gIC8qXG4gICAqIFNwaW4gUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3Bpbi1yIHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMzRzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlLWluO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjFzIDAuMzRzIGVhc2UtaW4sXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjI1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4xNHM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRvcCAwLjFzIGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyAwLjE0cyBlYXNlLW91dDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLW91dCxcbiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4zcyAwLjE0cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIHNxdWVlemUpIHtcbiAgLypcbiAgICogU3F1ZWV6ZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSB7XG4gICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE0cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgZWFzZTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjE0cyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE0cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5IDAuMXMgMC4xNHMgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyBlYXNlLFxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMTRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaWYgaW5kZXgoJGhhbWJ1cmdlci10eXBlcywgdm9ydGV4KSB7XG4gIC8qXG4gICAqIFZvcnRleFxuICAgKi9cbiAgLmhhbWJ1cmdlci0tdm9ydGV4IHtcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIG9wYWNpdHk7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDc2NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCB2b3J0ZXgtcikge1xuICAvKlxuICAgKiBWb3J0ZXggUmV2ZXJzZVxuICAgKi9cbiAgLmhhbWJ1cmdlci0tdm9ydGV4LXIge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICY6OmJlZm9yZSxcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHM7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgb3BhY2l0eTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTc2NWRlZyk7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0= */
