/**
* style.less imports all required less partials
*/
/**
* Bootstrap
*/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
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;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
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"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  select {
    background: #fff !important;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
@font-face {
  font-family: 'Glyphicons Halflings';
  src: url('assets/icons/flat-ui-icons-regular.eot');
  src: url('assets/icons/flat-ui-icons-regular.eot?#iefix') format('embedded-opentype'), url('assets/icons/flat-ui-icons-regular.woff') format('woff'), url('assets/icons/flat-ui-icons-regular.ttf') format('truetype'), url('assets/icons/flat-ui-icons-regular.svg#flat-ui-icons-regular') format('svg');
}
.glyphicon {
  position: relative;
  top: 1px;
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon-asterisk:before {
  content: "\2a";
}
.glyphicon-plus:before {
  content: "\2b";
}
.glyphicon-euro:before,
.glyphicon-eur:before {
  content: "\20ac";
}
.glyphicon-minus:before {
  content: "\2212";
}
.glyphicon-cloud:before {
  content: "\2601";
}
.glyphicon-envelope:before {
  content: "\2709";
}
.glyphicon-pencil:before {
  content: "\270f";
}
.glyphicon-glass:before {
  content: "\e001";
}
.glyphicon-music:before {
  content: "\e002";
}
.glyphicon-search:before {
  content: "\e003";
}
.glyphicon-heart:before {
  content: "\e005";
}
.glyphicon-star:before {
  content: "\e006";
}
.glyphicon-star-empty:before {
  content: "\e007";
}
.glyphicon-user:before {
  content: "\e008";
}
.glyphicon-film:before {
  content: "\e009";
}
.glyphicon-th-large:before {
  content: "\e010";
}
.glyphicon-th:before {
  content: "\e011";
}
.glyphicon-th-list:before {
  content: "\e012";
}
.glyphicon-ok:before {
  content: "\e013";
}
.glyphicon-remove:before {
  content: "\e014";
}
.glyphicon-zoom-in:before {
  content: "\e015";
}
.glyphicon-zoom-out:before {
  content: "\e016";
}
.glyphicon-off:before {
  content: "\e017";
}
.glyphicon-signal:before {
  content: "\e018";
}
.glyphicon-cog:before {
  content: "\e019";
}
.glyphicon-trash:before {
  content: "\e020";
}
.glyphicon-home:before {
  content: "\e021";
}
.glyphicon-file:before {
  content: "\e022";
}
.glyphicon-time:before {
  content: "\e023";
}
.glyphicon-road:before {
  content: "\e024";
}
.glyphicon-download-alt:before {
  content: "\e025";
}
.glyphicon-download:before {
  content: "\e026";
}
.glyphicon-upload:before {
  content: "\e027";
}
.glyphicon-inbox:before {
  content: "\e028";
}
.glyphicon-play-circle:before {
  content: "\e029";
}
.glyphicon-repeat:before {
  content: "\e030";
}
.glyphicon-refresh:before {
  content: "\e031";
}
.glyphicon-list-alt:before {
  content: "\e032";
}
.glyphicon-lock:before {
  content: "\e033";
}
.glyphicon-flag:before {
  content: "\e034";
}
.glyphicon-headphones:before {
  content: "\e035";
}
.glyphicon-volume-off:before {
  content: "\e036";
}
.glyphicon-volume-down:before {
  content: "\e037";
}
.glyphicon-volume-up:before {
  content: "\e038";
}
.glyphicon-qrcode:before {
  content: "\e039";
}
.glyphicon-barcode:before {
  content: "\e040";
}
.glyphicon-tag:before {
  content: "\e041";
}
.glyphicon-tags:before {
  content: "\e042";
}
.glyphicon-book:before {
  content: "\e043";
}
.glyphicon-bookmark:before {
  content: "\e044";
}
.glyphicon-print:before {
  content: "\e045";
}
.glyphicon-camera:before {
  content: "\e046";
}
.glyphicon-font:before {
  content: "\e047";
}
.glyphicon-bold:before {
  content: "\e048";
}
.glyphicon-italic:before {
  content: "\e049";
}
.glyphicon-text-height:before {
  content: "\e050";
}
.glyphicon-text-width:before {
  content: "\e051";
}
.glyphicon-align-left:before {
  content: "\e052";
}
.glyphicon-align-center:before {
  content: "\e053";
}
.glyphicon-align-right:before {
  content: "\e054";
}
.glyphicon-align-justify:before {
  content: "\e055";
}
.glyphicon-list:before {
  content: "\e056";
}
.glyphicon-indent-left:before {
  content: "\e057";
}
.glyphicon-indent-right:before {
  content: "\e058";
}
.glyphicon-facetime-video:before {
  content: "\e059";
}
.glyphicon-picture:before {
  content: "\e060";
}
.glyphicon-map-marker:before {
  content: "\e062";
}
.glyphicon-adjust:before {
  content: "\e063";
}
.glyphicon-tint:before {
  content: "\e064";
}
.glyphicon-edit:before {
  content: "\e065";
}
.glyphicon-share:before {
  content: "\e066";
}
.glyphicon-check:before {
  content: "\e067";
}
.glyphicon-move:before {
  content: "\e068";
}
.glyphicon-step-backward:before {
  content: "\e069";
}
.glyphicon-fast-backward:before {
  content: "\e070";
}
.glyphicon-backward:before {
  content: "\e071";
}
.glyphicon-play:before {
  content: "\e072";
}
.glyphicon-pause:before {
  content: "\e073";
}
.glyphicon-stop:before {
  content: "\e074";
}
.glyphicon-forward:before {
  content: "\e075";
}
.glyphicon-fast-forward:before {
  content: "\e076";
}
.glyphicon-step-forward:before {
  content: "\e077";
}
.glyphicon-eject:before {
  content: "\e078";
}
.glyphicon-chevron-left:before {
  content: "\e079";
}
.glyphicon-chevron-right:before {
  content: "\e080";
}
.glyphicon-plus-sign:before {
  content: "\e081";
}
.glyphicon-minus-sign:before {
  content: "\e082";
}
.glyphicon-remove-sign:before {
  content: "\e083";
}
.glyphicon-ok-sign:before {
  content: "\e084";
}
.glyphicon-question-sign:before {
  content: "\e085";
}
.glyphicon-info-sign:before {
  content: "\e086";
}
.glyphicon-screenshot:before {
  content: "\e087";
}
.glyphicon-remove-circle:before {
  content: "\e088";
}
.glyphicon-ok-circle:before {
  content: "\e089";
}
.glyphicon-ban-circle:before {
  content: "\e090";
}
.glyphicon-arrow-left:before {
  content: "\e091";
}
.glyphicon-arrow-right:before {
  content: "\e092";
}
.glyphicon-arrow-up:before {
  content: "\e093";
}
.glyphicon-arrow-down:before {
  content: "\e094";
}
.glyphicon-share-alt:before {
  content: "\e095";
}
.glyphicon-resize-full:before {
  content: "\e096";
}
.glyphicon-resize-small:before {
  content: "\e097";
}
.glyphicon-exclamation-sign:before {
  content: "\e101";
}
.glyphicon-gift:before {
  content: "\e102";
}
.glyphicon-leaf:before {
  content: "\e103";
}
.glyphicon-fire:before {
  content: "\e104";
}
.glyphicon-eye-open:before {
  content: "\e105";
}
.glyphicon-eye-close:before {
  content: "\e106";
}
.glyphicon-warning-sign:before {
  content: "\e107";
}
.glyphicon-plane:before {
  content: "\e108";
}
.glyphicon-calendar:before {
  content: "\e109";
}
.glyphicon-random:before {
  content: "\e110";
}
.glyphicon-comment:before {
  content: "\e111";
}
.glyphicon-magnet:before {
  content: "\e112";
}
.glyphicon-chevron-up:before {
  content: "\e113";
}
.glyphicon-chevron-down:before {
  content: "\e114";
}
.glyphicon-retweet:before {
  content: "\e115";
}
.glyphicon-shopping-cart:before {
  content: "\e116";
}
.glyphicon-folder-close:before {
  content: "\e117";
}
.glyphicon-folder-open:before {
  content: "\e118";
}
.glyphicon-resize-vertical:before {
  content: "\e119";
}
.glyphicon-resize-horizontal:before {
  content: "\e120";
}
.glyphicon-hdd:before {
  content: "\e121";
}
.glyphicon-bullhorn:before {
  content: "\e122";
}
.glyphicon-bell:before {
  content: "\e123";
}
.glyphicon-certificate:before {
  content: "\e124";
}
.glyphicon-thumbs-up:before {
  content: "\e125";
}
.glyphicon-thumbs-down:before {
  content: "\e126";
}
.glyphicon-hand-right:before {
  content: "\e127";
}
.glyphicon-hand-left:before {
  content: "\e128";
}
.glyphicon-hand-up:before {
  content: "\e129";
}
.glyphicon-hand-down:before {
  content: "\e130";
}
.glyphicon-circle-arrow-right:before {
  content: "\e131";
}
.glyphicon-circle-arrow-left:before {
  content: "\e132";
}
.glyphicon-circle-arrow-up:before {
  content: "\e133";
}
.glyphicon-circle-arrow-down:before {
  content: "\e134";
}
.glyphicon-globe:before {
  content: "\e135";
}
.glyphicon-wrench:before {
  content: "\e136";
}
.glyphicon-tasks:before {
  content: "\e137";
}
.glyphicon-filter:before {
  content: "\e138";
}
.glyphicon-briefcase:before {
  content: "\e139";
}
.glyphicon-fullscreen:before {
  content: "\e140";
}
.glyphicon-dashboard:before {
  content: "\e141";
}
.glyphicon-paperclip:before {
  content: "\e142";
}
.glyphicon-heart-empty:before {
  content: "\e143";
}
.glyphicon-link:before {
  content: "\e144";
}
.glyphicon-phone:before {
  content: "\e145";
}
.glyphicon-pushpin:before {
  content: "\e146";
}
.glyphicon-usd:before {
  content: "\e148";
}
.glyphicon-gbp:before {
  content: "\e149";
}
.glyphicon-sort:before {
  content: "\e150";
}
.glyphicon-sort-by-alphabet:before {
  content: "\e151";
}
.glyphicon-sort-by-alphabet-alt:before {
  content: "\e152";
}
.glyphicon-sort-by-order:before {
  content: "\e153";
}
.glyphicon-sort-by-order-alt:before {
  content: "\e154";
}
.glyphicon-sort-by-attributes:before {
  content: "\e155";
}
.glyphicon-sort-by-attributes-alt:before {
  content: "\e156";
}
.glyphicon-unchecked:before {
  content: "\e157";
}
.glyphicon-expand:before {
  content: "\e158";
}
.glyphicon-collapse-down:before {
  content: "\e159";
}
.glyphicon-collapse-up:before {
  content: "\e160";
}
.glyphicon-log-in:before {
  content: "\e161";
}
.glyphicon-flash:before {
  content: "\e162";
}
.glyphicon-log-out:before {
  content: "\e163";
}
.glyphicon-new-window:before {
  content: "\e164";
}
.glyphicon-record:before {
  content: "\e165";
}
.glyphicon-save:before {
  content: "\e166";
}
.glyphicon-open:before {
  content: "\e167";
}
.glyphicon-saved:before {
  content: "\e168";
}
.glyphicon-import:before {
  content: "\e169";
}
.glyphicon-export:before {
  content: "\e170";
}
.glyphicon-send:before {
  content: "\e171";
}
.glyphicon-floppy-disk:before {
  content: "\e172";
}
.glyphicon-floppy-saved:before {
  content: "\e173";
}
.glyphicon-floppy-remove:before {
  content: "\e174";
}
.glyphicon-floppy-save:before {
  content: "\e175";
}
.glyphicon-floppy-open:before {
  content: "\e176";
}
.glyphicon-credit-card:before {
  content: "\e177";
}
.glyphicon-transfer:before {
  content: "\e178";
}
.glyphicon-cutlery:before {
  content: "\e179";
}
.glyphicon-header:before {
  content: "\e180";
}
.glyphicon-compressed:before {
  content: "\e181";
}
.glyphicon-earphone:before {
  content: "\e182";
}
.glyphicon-phone-alt:before {
  content: "\e183";
}
.glyphicon-tower:before {
  content: "\e184";
}
.glyphicon-stats:before {
  content: "\e185";
}
.glyphicon-sd-video:before {
  content: "\e186";
}
.glyphicon-hd-video:before {
  content: "\e187";
}
.glyphicon-subtitles:before {
  content: "\e188";
}
.glyphicon-sound-stereo:before {
  content: "\e189";
}
.glyphicon-sound-dolby:before {
  content: "\e190";
}
.glyphicon-sound-5-1:before {
  content: "\e191";
}
.glyphicon-sound-6-1:before {
  content: "\e192";
}
.glyphicon-sound-7-1:before {
  content: "\e193";
}
.glyphicon-copyright-mark:before {
  content: "\e194";
}
.glyphicon-registration-mark:before {
  content: "\e195";
}
.glyphicon-cloud-download:before {
  content: "\e197";
}
.glyphicon-cloud-upload:before {
  content: "\e198";
}
.glyphicon-tree-conifer:before {
  content: "\e199";
}
.glyphicon-tree-deciduous:before {
  content: "\e200";
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.72222;
  color: #595959;
  background-color: #fff;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #0088DD;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #d9d9d9;
  text-decoration: underline;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 6px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.72222;
  background-color: #fff;
  border: 1px solid #bdc3c7;
  border-radius: 6px;
  -o-transition: all 0.2s ease-in-out;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 27px;
  margin-bottom: 27px;
  border: 0;
  border-top: 1px solid #8e7bb1;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #e9e6f0;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 27px;
  margin-bottom: 13.5px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 13.5px;
  margin-bottom: 13.5px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 36px;
}
h2,
.h2 {
  font-size: 29px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 20px;
}
h5,
.h5 {
  font-size: 17px;
}
h6,
.h6 {
  font-size: 18px;
}
p {
  margin: 0 0 13.5px;
}
.lead {
  margin-bottom: 27px;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 24px;
  }
}
small,
.small {
  font-size: 87%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #bdc3c7;
}
.text-primary {
  color: #4b2e83;
}
a.text-primary:hover {
  color: #35215d;
}
a.text-primary:hover {
  color: #3c2569;
}
.text-success {
  color: #2ecc71;
}
a.text-success:hover {
  color: #25a25a;
}
a.text-success:hover {
  color: #25a35a;
}
.text-info {
  color: #3498db;
}
a.text-info:hover {
  color: #217dbb;
}
a.text-info:hover {
  color: #2a7aaf;
}
.text-warning {
  color: #f1c40f;
}
a.text-warning:hover {
  color: #c29d0b;
}
a.text-warning:hover {
  color: #c19d0c;
}
.text-danger {
  color: #e74c3c;
}
a.text-danger:hover {
  color: #d62c1a;
}
a.text-danger:hover {
  color: #b93d30;
}
.bg-primary {
  color: #fff;
  background-color: #4b2e83;
}
a.bg-primary:hover {
  background-color: #35215d;
}
a.bg-primary:hover {
  background-color: #35215d;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover {
  background-color: #c1e2b3;
}
a.bg-success:hover {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover {
  background-color: #afd9ee;
}
a.bg-info:hover {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover {
  background-color: #f7ecb5;
}
a.bg-warning:hover {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover {
  background-color: #e4b9b9;
}
a.bg-danger:hover {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 12.5px;
  margin: 54px 0 27px;
  border-bottom: 1px solid #e9e6f0;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 13.5px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 27px;
}
dt,
dd {
  line-height: 1.72222;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #bdc3c7;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 13.5px 27px;
  margin: 0 0 27px;
  font-size: 20px;
  border-left: 5px solid #e9e6f0;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.72222;
  color: inherit;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #e9e6f0;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 27px;
  font-style: normal;
  line-height: 1.72222;
}
code,
kbd,
pre,
samp {
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #c7254e;
  background-color: #f9f2f4;
  border-radius: 4px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: white;
  background-color: #4b2e83;
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 13px;
  margin: 0 0 13.5px;
  font-size: 15px;
  line-height: 1.72222;
  word-break: break-all;
  word-wrap: break-word;
  color: inherit;
  background-color: white;
  border: 1px solid #e9e6f0;
  border-radius: 4px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.container:before,
.container:after {
  content: " ";
  display: table;
}
.container:after {
  clear: both;
}
.container:before,
.container:after {
  content: " ";
  display: table;
}
.container:after {
  clear: both;
}
.container:before,
.container:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.container:after {
  clear: both;
}
.container:before,
.container:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.container:after {
  clear: both;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.container-fluid:before,
.container-fluid:after {
  content: " ";
  display: table;
}
.container-fluid:after {
  clear: both;
}
.container-fluid:before,
.container-fluid:after {
  content: " ";
  display: table;
}
.container-fluid:after {
  clear: both;
}
.container-fluid:before,
.container-fluid:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.container-fluid:after {
  clear: both;
}
.container-fluid:before,
.container-fluid:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.container-fluid:after {
  clear: both;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.row:before,
.row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row:before,
.row:after {
  content: " ";
  display: table;
}
.row:after {
  clear: both;
}
.row:before,
.row:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.row:after {
  clear: both;
}
.row:before,
.row:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.row:after {
  clear: both;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #bdc3c7;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 27px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 8px;
  line-height: 1.72222;
  vertical-align: top;
  border-top: 1px solid #ddd;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #ddd;
}
.table .table {
  background-color: #fff;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #ddd;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-child(odd) {
  background-color: #f9f9f9;
}
.table-hover > tbody > tr:hover {
  background-color: #f5f5f5;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #f5f5f5;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #e8e8e8;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 20.25px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #ddd;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 27px;
  font-size: 24px;
  line-height: inherit;
  color: inherit;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 7px;
  font-size: 16px;
  line-height: 1.72222;
  color: #d9d9d9;
}
.form-control {
  display: block;
  width: 100%;
  height: 41px;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.72222;
  color: #d9d9d9;
  background-color: white;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 6px;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #66afe9;
  outline: 0;
  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
}
.form-group.focus .form-control,
.form-control:focus {
  border-color: #4b2e83;
  outline: 0;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control:-moz-placeholder {
  color: #999;
}
.form-control::-moz-placeholder {
  color: #999;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #999;
}
.form-control::-webkit-input-placeholder {
  color: #999;
}
.form-control.placeholder {
  color: #999;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  cursor: not-allowed;
  background-color: #fbfbfb;
  opacity: 1;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="month"] {
    line-height: 41px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm {
    line-height: 35px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg {
    line-height: 45px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 27px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm,
.form-group-sm .form-control {
  height: 35px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-sm,
select.form-group-sm .form-control {
  height: 35px;
  line-height: 35px;
}
textarea.input-sm,
textarea.form-group-sm .form-control,
select[multiple].input-sm,
select[multiple].form-group-sm .form-control {
  height: auto;
}
select.input-sm,
select.form-group-sm .form-control {
  height: 35px;
  line-height: 35px;
}
textarea.input-sm,
textarea.form-group-sm .form-control,
select[multiple].input-sm,
select[multiple].form-group-sm .form-control {
  height: auto;
}
.input-lg,
.form-group-lg .form-control {
  height: 45px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33;
  border-radius: 6px;
}
select.input-lg,
select.form-group-lg .form-control {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
textarea.form-group-lg .form-control,
select[multiple].input-lg,
select[multiple].form-group-lg .form-control {
  height: auto;
}
select.input-lg,
select.form-group-lg .form-control {
  height: 45px;
  line-height: 45px;
}
textarea.input-lg,
textarea.form-group-lg .form-control,
select[multiple].input-lg,
select[multiple].form-group-lg .form-control {
  height: auto;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 51.25px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 41px;
  height: 41px;
  line-height: 41px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback {
  width: 45px;
  height: 45px;
  line-height: 45px;
}
.input-sm + .form-control-feedback {
  width: 35px;
  height: 35px;
  line-height: 35px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #2ecc71;
}
.has-success .form-control {
  border-color: #2ecc71;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #25a25a;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ee2a8;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ee2a8;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ee2a8;
}
.has-success .input-group-addon {
  color: #2ecc71;
  border-color: #2ecc71;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #2ecc71;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline {
  color: #2ecc71;
}
.has-success .form-control {
  color: #2ecc71;
  border-color: #2ecc71;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .form-control::-moz-placeholder {
  color: #2ecc71;
  opacity: 1;
}
.has-success .form-control:-ms-input-placeholder {
  color: #2ecc71;
}
.has-success .form-control::-webkit-input-placeholder {
  color: #2ecc71;
}
.has-success .form-control:-moz-placeholder {
  color: #2ecc71;
}
.has-success .form-control::-moz-placeholder {
  color: #2ecc71;
  opacity: 1;
}
.has-success .form-control:-ms-input-placeholder {
  color: #2ecc71;
}
.has-success .form-control::-webkit-input-placeholder {
  color: #2ecc71;
}
.has-success .form-control.placeholder {
  color: #2ecc71;
}
.has-success .form-control:focus {
  border-color: #2ecc71;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-success .input-group-addon {
  color: #2ecc71;
  border-color: #2ecc71;
  background-color: #dff0d8;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #f1c40f;
}
.has-warning .form-control {
  border-color: #f1c40f;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #c29d0b;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f7dc6f;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f7dc6f;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f7dc6f;
}
.has-warning .input-group-addon {
  color: #f1c40f;
  border-color: #f1c40f;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #f1c40f;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline {
  color: #f1c40f;
}
.has-warning .form-control {
  color: #f1c40f;
  border-color: #f1c40f;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .form-control::-moz-placeholder {
  color: #f1c40f;
  opacity: 1;
}
.has-warning .form-control:-ms-input-placeholder {
  color: #f1c40f;
}
.has-warning .form-control::-webkit-input-placeholder {
  color: #f1c40f;
}
.has-warning .form-control:-moz-placeholder {
  color: #f1c40f;
}
.has-warning .form-control::-moz-placeholder {
  color: #f1c40f;
  opacity: 1;
}
.has-warning .form-control:-ms-input-placeholder {
  color: #f1c40f;
}
.has-warning .form-control::-webkit-input-placeholder {
  color: #f1c40f;
}
.has-warning .form-control.placeholder {
  color: #f1c40f;
}
.has-warning .form-control:focus {
  border-color: #f1c40f;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-warning .input-group-addon {
  color: #f1c40f;
  border-color: #f1c40f;
  background-color: #fcf8e3;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #e74c3c;
}
.has-error .form-control {
  border-color: #e74c3c;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #d62c1a;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f29f97;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f29f97;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f29f97;
}
.has-error .input-group-addon {
  color: #e74c3c;
  border-color: #e74c3c;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #e74c3c;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline {
  color: #e74c3c;
}
.has-error .form-control {
  color: #e74c3c;
  border-color: #e74c3c;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .form-control::-moz-placeholder {
  color: #e74c3c;
  opacity: 1;
}
.has-error .form-control:-ms-input-placeholder {
  color: #e74c3c;
}
.has-error .form-control::-webkit-input-placeholder {
  color: #e74c3c;
}
.has-error .form-control:-moz-placeholder {
  color: #e74c3c;
}
.has-error .form-control::-moz-placeholder {
  color: #e74c3c;
  opacity: 1;
}
.has-error .form-control:-ms-input-placeholder {
  color: #e74c3c;
}
.has-error .form-control::-webkit-input-placeholder {
  color: #e74c3c;
}
.has-error .form-control.placeholder {
  color: #e74c3c;
}
.has-error .form-control:focus {
  border-color: #e74c3c;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.has-error .input-group-addon {
  color: #e74c3c;
  border-color: #e74c3c;
  background-color: #f2dede;
}
.has-feedback label ~ .form-control-feedback {
  top: 32px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #999999;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 34px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  display: table;
}
.form-horizontal .form-group:after {
  clear: both;
}
.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  display: table;
}
.form-horizontal .form-group:after {
  clear: both;
}
.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.form-horizontal .form-group:after {
  clear: both;
}
.form-horizontal .form-group:before,
.form-horizontal .form-group:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.form-horizontal .form-group:after {
  clear: both;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 7px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 14.3px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 6px 12px;
  font-size: 16px;
  line-height: 1.72222;
  border-radius: 4px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: white;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-default {
  color: white;
  background-color: #bdc3c7;
  border-color: #ccc;
}
.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: white;
  background-color: #a1aab0;
  border-color: #adadad;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #bdc3c7;
  border-color: #ccc;
}
.btn-default .badge {
  color: #bdc3c7;
  background-color: white;
}
.btn-primary {
  color: #fff;
  background-color: #4b2e83;
  border-color: #402770;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #35215d;
  border-color: #261743;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #4b2e83;
  border-color: #402770;
}
.btn-primary .badge {
  color: #4b2e83;
  background-color: #fff;
}
.btn-success {
  color: #fff;
  background-color: #2ecc71;
  border-color: #29b765;
}
.btn-success:hover,
.btn-success:focus,
.btn-success.focus,
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #fff;
  background-color: #25a25a;
  border-color: #1e854a;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #2ecc71;
  border-color: #29b765;
}
.btn-success .badge {
  color: #2ecc71;
  background-color: #fff;
}
.btn-info {
  color: #fff;
  background-color: #3498db;
  border-color: #258cd1;
}
.btn-info:hover,
.btn-info:focus,
.btn-info.focus,
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #fff;
  background-color: #217dbb;
  border-color: #1c699d;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #3498db;
  border-color: #258cd1;
}
.btn-info .badge {
  color: #3498db;
  background-color: #fff;
}
.btn-warning {
  color: #fff;
  background-color: #f1c40f;
  border-color: #dab10d;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning.focus,
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #fff;
  background-color: #c29d0b;
  border-color: #a08209;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #f1c40f;
  border-color: #dab10d;
}
.btn-warning .badge {
  color: #f1c40f;
  background-color: #fff;
}
.btn-danger {
  color: #fff;
  background-color: #e74c3c;
  border-color: #e43725;
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus,
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #fff;
  background-color: #d62c1a;
  border-color: #b62516;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #e74c3c;
  border-color: #e43725;
}
.btn-danger .badge {
  color: #e74c3c;
  background-color: #fff;
}
.btn-link {
  color: #0088DD;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #d9d9d9;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #bdc3c7;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33;
  border-radius: 6px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -o-transition: opacity 0.15s linear;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
  visibility: hidden;
}
.collapse.in {
  display: block;
  visibility: visible;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: ease;
  transition-timing-function: ease;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 16px;
  text-align: left;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 12.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.72222;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #262626;
  background-color: #f5f5f5;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  background-color: #4b2e83;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #bdc3c7;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 14px;
  line-height: 1.72222;
  color: #bdc3c7;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px solid;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 1px;
}
@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child > .btn:last-child,
.btn-group > .btn-group:first-child > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -moz-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 4px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  padding: 10px 16px;
  font-size: 20px;
  line-height: 1.33;
  border-radius: 6px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 45px;
  line-height: 45px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 35px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 1.5;
  border-radius: 3px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 35px;
  line-height: 35px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 35px;
  line-height: 35px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 6px 12px;
  font-size: 16px;
  font-weight: normal;
  line-height: 1;
  color: #d9d9d9;
  text-align: center;
  background-color: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 4px;
}
.input-group-addon.input-sm {
  padding: 5px 10px;
  font-size: 14px;
  border-radius: 3px;
}
.input-group-addon.input-lg {
  padding: 10px 16px;
  font-size: 20px;
  border-radius: 6px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li.disabled > a {
  color: #bdc3c7;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #bdc3c7;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: #eeeeee;
  border-color: #0088DD;
}
.nav .nav-divider {
  height: 1px;
  margin: 12.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.72222;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #eeeeee #eeeeee #ddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #d9d9d9;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 4px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #fff;
  background-color: #4b2e83;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 4px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #ddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #ddd;
    border-radius: 4px 4px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #fff;
  }
}
.tab-content > .tab-pane {
  display: none;
  visibility: hidden;
}
.tab-content > .active {
  display: block;
  visibility: visible;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 50px;
  margin-bottom: 27px;
  border: 1px solid transparent;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 6px;
  }
}
@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}
@media (min-width: 768px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 11.5px 15px;
  font-size: 20px;
  line-height: 27px;
  height: 50px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  padding-top: 9.5px;
  padding-bottom: 9.5px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 5.75px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 27px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 27px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 11.5px;
    padding-bottom: 11.5px;
  }
}
.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 4.5px;
  margin-bottom: 4.5px;
  padding-top: 6px;
  padding-bottom: 6px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: 4.5px;
  margin-bottom: 4.5px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.navbar-btn.btn-sm {
  margin-top: 7.5px;
  margin-bottom: 7.5px;
  padding-top: 9px;
  padding-bottom: 9px;
}
.navbar-btn.btn-xs {
  margin-top: 14px;
  margin-bottom: 14px;
  padding-top: 15.5px;
  padding-bottom: 15.5px;
}
.navbar-text {
  margin-top: 11.5px;
  margin-bottom: 11.5px;
  padding-top: 13px;
  padding-bottom: 13px;
}
@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
}
@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
  }
  .navbar-right {
    float: right !important;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #ececf4;
  border-color: #d7d7e8;
}
.navbar-default .navbar-brand {
  color: #4b2e83;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777;
}
.navbar-default .navbar-nav > li > a {
  color: #4b2e83;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #ccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #ddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #ddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #d7d7e8;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: transparent;
  color: #4b2e83;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #4b2e83;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #4b2e83;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #4b2e83;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #ccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #4b2e83;
}
.navbar-default .navbar-link:hover {
  color: #4b2e83;
}
.navbar-default .btn-link {
  color: #4b2e83;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #4b2e83;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #ccc;
}
.navbar-inverse {
  background-color: #4b2e83;
  border-color: #35215d;
}
.navbar-inverse .navbar-brand {
  color: white;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: white;
}
.navbar-inverse .navbar-nav > li > a {
  color: white;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #4b2e83;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: white;
  background-color: #4b2e83;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #fff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #3c2569;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #4b2e83;
  color: white;
}
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #35215d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #35215d;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: white;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #4b2e83;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: white;
    background-color: #4b2e83;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: white;
}
.navbar-inverse .navbar-link:hover {
  color: #4b2e83;
}
.navbar-inverse .btn-link {
  color: white;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #4b2e83;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444;
}
.breadcrumb {
  padding: 8px 15px;
  margin-bottom: 27px;
  list-style: none;
  background-color: #f5f5f5;
  border-radius: 4px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: "/\00a0";
  padding: 0 5px;
  color: #ccc;
}
.breadcrumb > .active {
  color: #bdc3c7;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 27px 0;
  border-radius: 4px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.72222;
  text-decoration: none;
  color: #dbd5e6;
  background-color: #fff;
  border: 1px solid #ddd;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: #d9d9d9;
  background-color: #eeeeee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #fff;
  background-color: #4b2e83;
  border-color: #4b2e83;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #bdc3c7;
  background-color: #fff;
  border-color: #ddd;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 20px;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 6px;
  border-top-left-radius: 6px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 6px;
  border-top-right-radius: 6px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 14px;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pager {
  padding-left: 0;
  margin: 27px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #bdc3c7;
  background-color: #fff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #bdc3c7;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #a1aab0;
}
.label-primary {
  background-color: #4b2e83;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #35215d;
}
.label-success {
  background-color: #2ecc71;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #25a25a;
}
.label-info {
  background-color: #3498db;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #217dbb;
}
.label-warning {
  background-color: #f1c40f;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #c29d0b;
}
.label-danger {
  background-color: #e74c3c;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #d62c1a;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  vertical-align: baseline;
  white-space: nowrap;
  text-align: center;
  background-color: #bdc3c7;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #0088DD;
  background-color: #fff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding: 30px 15px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #eeeeee;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 24px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #d5d5d5;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 6px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding: 48px 0;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 72px;
  }
}
.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 27px;
  line-height: 1.72222;
  background-color: #fff;
  border: 1px solid #bdc3c7;
  border-radius: 6px;
  -o-transition: border 0.2s ease-in-out;
  -webkit-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #0088DD;
}
.thumbnail .caption {
  padding: 9px;
  color: #595959;
}
.alert {
  padding: 15px;
  margin-bottom: 27px;
  border: 1px solid transparent;
  border-radius: 4px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 35px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #2ecc71;
}
.alert-success hr {
  border-top-color: #c9e2b3;
}
.alert-success .alert-link {
  color: #25a25a;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #3498db;
}
.alert-info hr {
  border-top-color: #a6e1ec;
}
.alert-info .alert-link {
  color: #217dbb;
}
.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #f1c40f;
}
.alert-warning hr {
  border-top-color: #f7e1b5;
}
.alert-warning .alert-link {
  color: #c29d0b;
}
.alert-danger {
  background-color: #f2dede;
  border-color: #ebccd1;
  color: #e74c3c;
}
.alert-danger hr {
  border-top-color: #e4b9c0;
}
.alert-danger .alert-link {
  color: #d62c1a;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 27px;
  margin-bottom: 27px;
  background-color: #f5f5f5;
  border-radius: 4px;
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 14px;
  line-height: 27px;
  color: #fff;
  text-align: center;
  background-color: #4b2e83;
  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -o-transition: width 0.6s ease;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -o-animation: progress-bar-stripes 2s linear infinite;
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #2ecc71;
}
.progress-striped .progress-bar-success {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #3498db;
}
.progress-striped .progress-bar-info {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #f1c40f;
}
.progress-striped .progress-bar-warning {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #e74c3c;
}
.progress-striped .progress-bar-danger {
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #fff;
  border: 1px solid #ddd;
}
.list-group-item:first-child {
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
a.list-group-item {
  color: #555;
}
a.list-group-item .list-group-item-heading {
  color: #333;
}
a.list-group-item:hover,
a.list-group-item:focus {
  text-decoration: none;
  color: #555;
  background-color: #f5f5f5;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #eeeeee;
  color: #bdc3c7;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #bdc3c7;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #4b2e83;
  border-color: #4b2e83;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #b5a0dd;
}
.list-group-item-success {
  color: #2ecc71;
  background-color: #dff0d8;
}
a.list-group-item-success {
  color: #2ecc71;
}
a.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
a.list-group-item-success:focus {
  color: #2ecc71;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
a.list-group-item-success.active:hover,
a.list-group-item-success.active:focus {
  color: #fff;
  background-color: #2ecc71;
  border-color: #2ecc71;
}
.list-group-item-info {
  color: #3498db;
  background-color: #d9edf7;
}
a.list-group-item-info {
  color: #3498db;
}
a.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
a.list-group-item-info:focus {
  color: #3498db;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
a.list-group-item-info.active:hover,
a.list-group-item-info.active:focus {
  color: #fff;
  background-color: #3498db;
  border-color: #3498db;
}
.list-group-item-warning {
  color: #f1c40f;
  background-color: #fcf8e3;
}
a.list-group-item-warning {
  color: #f1c40f;
}
a.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
a.list-group-item-warning:focus {
  color: #f1c40f;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #f1c40f;
  border-color: #f1c40f;
}
.list-group-item-danger {
  color: #e74c3c;
  background-color: #f2dede;
}
a.list-group-item-danger {
  color: #e74c3c;
}
a.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
a.list-group-item-danger:focus {
  color: #e74c3c;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #e74c3c;
  border-color: #e74c3c;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 27px;
  background-color: #fff;
  border: 1px solid transparent;
  border-radius: 4px;
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 18px;
  color: inherit;
}
.panel-title > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #ddd;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 27px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #ddd;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #ddd;
}
.panel-default {
  border-color: #ddd;
}
.panel-default > .panel-heading {
  color: #333333;
  background-color: #f5f5f5;
  border-color: #ddd;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ddd;
}
.panel-default > .panel-heading .badge {
  color: #f5f5f5;
  background-color: #333333;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ddd;
}
.panel-primary {
  border-color: #4b2e83;
}
.panel-primary > .panel-heading {
  color: #fff;
  background-color: #4b2e83;
  border-color: #4b2e83;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #4b2e83;
}
.panel-primary > .panel-heading .badge {
  color: #4b2e83;
  background-color: #fff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #4b2e83;
}
.panel-success {
  border-color: #d6e9c6;
}
.panel-success > .panel-heading {
  color: #2ecc71;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #d6e9c6;
}
.panel-success > .panel-heading .badge {
  color: #dff0d8;
  background-color: #2ecc71;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #d6e9c6;
}
.panel-info {
  border-color: #bce8f1;
}
.panel-info > .panel-heading {
  color: #3498db;
  background-color: #d9edf7;
  border-color: #bce8f1;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #bce8f1;
}
.panel-info > .panel-heading .badge {
  color: #d9edf7;
  background-color: #3498db;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #bce8f1;
}
.panel-warning {
  border-color: #faebcc;
}
.panel-warning > .panel-heading {
  color: #f1c40f;
  background-color: #fcf8e3;
  border-color: #faebcc;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #faebcc;
}
.panel-warning > .panel-heading .badge {
  color: #fcf8e3;
  background-color: #f1c40f;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #faebcc;
}
.panel-danger {
  border-color: #ebccd1;
}
.panel-danger > .panel-heading {
  color: #e74c3c;
  background-color: #f2dede;
  border-color: #ebccd1;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #ebccd1;
}
.panel-danger > .panel-heading .badge {
  color: #f2dede;
  background-color: #e74c3c;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #ebccd1;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 6px;
}
.well-sm {
  padding: 9px;
  border-radius: 3px;
}
.close {
  float: right;
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
  color: #000;
  text-shadow: 0 1px 0 #fff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -o-transform: translate(0, -25%);
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -o-transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -moz-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  background-color: #000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  min-height: 16.72222px;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.72222;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -moz-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  visibility: visible;
  font-family: 'Open Sans', sans-serif;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.4;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background-color: #000;
  border-radius: 4px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.72222;
  text-align: left;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal;
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 16px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  border-radius: 5px 5px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #fff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #fff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #fff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #fff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -o-transition: 0.6s ease-in-out left;
  -webkit-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    transition: transform 0.6s ease-in-out;
    backface-visibility: hidden;
    perspective: 1000;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0%), color-stop(rgba(0, 0, 0, 0.0001) 100%));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0%), color-stop(rgba(0, 0, 0, 0.5) 100%));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -15px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -15px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-footer:before,
.modal-footer:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-footer:after {
  clear: both;
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-footer:before,
.modal-footer:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-footer:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
  visibility: hidden !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg,
tr.visible-xs,
tr.visible-sm,
tr.visible-md,
tr.visible-lg,
th.visible-xs,
th.visible-sm,
th.visible-md,
th.visible-lg,
td.visible-xs,
td.visible-sm,
td.visible-md,
td.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
  .hidden-xs,
  tr.hidden-xs,
  th.hidden-xs,
  td.hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
  .hidden-sm,
  tr.hidden-sm,
  th.hidden-sm,
  td.hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
  .hidden-md,
  tr.hidden-md,
  th.hidden-md,
  td.hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
  .hidden-lg,
  tr.hidden-lg,
  th.hidden-lg,
  td.hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
.visible-print,
tr.visible-print,
th.visible-print,
td.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
  .hidden-print,
  tr.hidden-print,
  th.hidden-print,
  td.hidden-print {
    display: none !important;
  }
}
html.overlay-open .navbar-fixed-top {
  z-index: 400;
}
html.js fieldset.collapsed {
  height: auto;
}
html.js input.form-autocomplete {
  background-image: none;
}
body {
  position: relative;
}
body.admin-expanded.admin-vertical.admin-nw .navbar,
body.admin-expanded.admin-vertical.admin-sw .navbar {
  margin-left: 260px;
}
body.navbar-is-fixed-top {
  padding-top: 64px !important;
}
body.navbar-is-fixed-bottom {
  padding-bottom: 64px !important;
}
body.toolbar {
  padding-top: 30px !important;
}
body.toolbar .navbar-fixed-top {
  top: 30px;
}
body.toolbar.navbar-is-fixed-top {
  padding-top: 94px !important;
}
body.toolbar-drawer {
  padding-top: 64px !important;
}
body.toolbar-drawer .navbar-fixed-top {
  top: 64px;
}
body.toolbar-drawer.navbar-is-fixed-top {
  padding-top: 128px !important;
}
body.admin-menu .navbar-fixed-top {
  top: 29px;
}
body.admin-menu.navbar-is-fixed-top {
  padding-top: 93px !important;
}
body div#admin-toolbar {
  z-index: 1600;
}
body #toolbar,
body #admin-menu,
body #admin-toolbar {
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}
body #admin-menu {
  margin: 0;
  padding: 0;
  position: fixed;
  z-index: 1600;
}
body #admin-menu .dropdown li {
  line-height: normal;
}
.navbar.container {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .navbar.container {
    max-width: 720px;
  }
}
@media screen and (min-width: 992px) {
  .navbar.container {
    max-width: 940px;
  }
}
@media screen and (min-width: 1200px) {
  .navbar.container {
    max-width: 1140px;
  }
}
.navbar.container > .container {
  margin: 0;
  padding: 0;
  width: auto;
}
#overlay-container,
.overlay-modal-background,
.overlay-element {
  z-index: 1500;
}
#toolbar {
  z-index: 1600;
}
.modal {
  z-index: 1620;
}
.modal-dialog {
  z-index: 1630;
}
.modal-backdrop {
  z-index: 1610;
}
.element-invisible {
  margin: 0;
  padding: 0;
  width: 1px;
}
.navbar .logo {
  margin-right: -15px;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (min-width: 768px) {
  .navbar .logo {
    margin-right: 0;
    padding-left: 0;
  }
}
ul.secondary {
  float: left;
}
@media screen and (min-width: 768px) {
  ul.secondary {
    float: right;
  }
}
.page-header {
  margin-top: 0;
}
.block:first-child h2.block-title {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}
.region-help > .glyphicon {
  font-size: 20px;
  float: left;
  margin: -0.05em 0.5em 0 0;
}
.region-help .block {
  overflow: hidden;
}
form#search-block-form {
  margin: 0;
}
.navbar #block-search-form {
  float: none;
  margin: 5px 0 5px 5px;
}
@media screen and (min-width: 992px) {
  .navbar #block-search-form {
    float: right;
  }
}
.navbar-search .control-group {
  margin-bottom: 0px;
}
ul.action-links {
  margin: 12px 0;
  padding: 0;
}
ul.action-links li {
  display: inline;
  margin: 0;
  padding: 0 6px 0 0;
}
ul.action-links .glyphicon {
  padding-right: 0.5em;
}
input,
textarea,
select,
.uneditable-input {
  max-width: 100%;
  width: auto;
}
input.error {
  color: #e74c3c;
  border-color: #ebccd1;
}
fieldset legend.panel-heading {
  float: left;
  line-height: 1em;
  margin: 0;
}
fieldset .panel-body {
  clear: both;
}
fieldset .panel-heading a.panel-title {
  color: inherit;
  display: block;
  margin: -10px -15px;
  padding: 10px 15px;
}
fieldset .panel-heading a.panel-title:hover {
  text-decoration: none;
}
.form-actions {
  clear: both;
}
.resizable-textarea textarea {
  border-radius: 4px 4px 0 0;
}
.radio:first-child,
.checkbox:first-child {
  margin-top: 0;
}
.radio:last-child,
.checkbox:last-child {
  margin-bottom: 0;
}
.help-block,
.control-group .help-inline {
  color: #bdc3c7;
  font-size: 12px;
  margin: 5px 0 10px;
  padding: 0;
}
.panel-heading {
  display: block;
}
a.tabledrag-handle .handle {
  height: auto;
  width: auto;
}
.error {
  color: #e74c3c;
}
div.error,
table tr.error {
  background-color: #f2dede;
  color: #e74c3c;
}
.control-group.error {
  background: none;
}
.control-group.error label,
.control-group.error .control-label {
  color: #e74c3c;
  font-weight: 600;
}
.control-group.error input,
.control-group.error textarea,
.control-group.error select,
.control-group.error .uneditable-input {
  color: #d9d9d9;
  border: 1px solid #ccc;
}
.control-group.error .help-block,
.control-group.error .help-inline {
  color: #595959;
}
.list-inline > li.first {
  padding-left: 0;
}
.nav-tabs {
  margin-bottom: 10px;
}
ul li.collapsed,
ul li.expanded,
ul li.leaf {
  list-style: none;
  list-style-image: none;
}
.tabs--secondary {
  margin: 0 0 10px;
}
.submitted {
  margin-bottom: 1em;
  font-style: italic;
  font-weight: normal;
  color: #777;
}
.password-strength {
  width: 17em;
  float: right;
  /* LTR */
  margin-top: 1.4em;
}
.password-strength-title {
  display: inline;
}
.password-strength-text {
  float: right;
  /* LTR */
  font-weight: bold;
}
.password-indicator {
  background-color: #949494;
  height: 0.3em;
  width: 100%;
}
.password-indicator div {
  height: 100%;
  width: 0%;
  background-color: #999;
}
input.password-confirm,
input.password-field {
  width: 16em;
  margin-bottom: 0.4em;
}
div.password-confirm {
  float: right;
  /* LTR */
  margin-top: 1.5em;
  visibility: hidden;
  width: 17em;
}
div.form-item div.password-suggestions {
  padding: 0.2em 0.5em;
  margin: 0.7em 0;
  width: 38.5em;
  border: 1px solid #B4B4B4;
}
div.password-suggestions ul {
  margin-bottom: 0;
}
.confirm-parent,
.password-parent {
  clear: left;
  /* LTR */
  margin: 0;
  width: 36.3em;
}
.progress-wrapper .progress {
  margin-bottom: 10px;
}
.pagination ul > li > a.progress-disabled {
  float: left;
}
.form-autocomplete .glyphicon {
  color: #bdc3c7;
  font-size: 120%;
}
.form-autocomplete .glyphicon.glyphicon-spin {
  color: #4b2e83;
}
.form-autocomplete .input-group-addon {
  background-color: #ffffff;
}
.ajax-progress .glyphicon {
  font-size: 90%;
  margin: 0 -0.25em 0 0.5em;
}
.glyphicon-spin {
  display: inline-block;
  -moz-animation: spin 1s infinite linear;
  -o-animation: spin 1s infinite linear;
  -webkit-animation: spin 1s infinite linear;
  animation: spin 1s infinite linear;
}
a .glyphicon-spin {
  display: inline-block;
  text-decoration: none;
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(359deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(359deg);
  }
}
@-ms-keyframes spin {
  0% {
    -ms-transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
.glyphicon-refresh {
  -webkit-transform-origin: 50% 45%;
  -moz-transform-origin: 50% 45%;
  -ms-transform-origin: 50% 45%;
  -o-transform-origin: 50% 45%;
  transform-origin: 50% 45%;
}
/**
 * Missing Bootstrap 2 tab styling.
 * @see http://stackoverflow.com/questions/18432577/stacked-tabs-in-bootstrap-3
 * @see http://bootply.com/74926
 */
.tabbable {
  margin-bottom: 20px;
}
.tabs-below > .nav-tabs,
.tabs-left > .nav-tabs,
.tabs-right > .nav-tabs {
  border-bottom: 0;
}
.tabs-below > .nav-tabs .summary,
.tabs-left > .nav-tabs .summary,
.tabs-right > .nav-tabs .summary {
  color: #bdc3c7;
  font-size: 14px;
}
.tab-pane > .panel-heading {
  display: none;
}
.tab-content > .active {
  display: block;
}
.tabs-below > .nav-tabs {
  border-top: 1px solid #ddd;
}
.tabs-below > .nav-tabs > li {
  margin-top: -1px;
  margin-bottom: 0;
}
.tabs-below > .nav-tabs > li > a {
  border-radius: 0 0 4px 4px;
}
.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
  border-top-color: #ddd;
  border-bottom-color: transparent;
}
.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
  border-color: transparent #ddd #ddd #ddd;
}
.tabs-left > .nav-tabs,
.tabs-right > .nav-tabs {
  padding-bottom: 20px;
  width: 220px;
}
.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
  float: none;
}
.tabs-left > .nav-tabs > li:focus,
.tabs-right > .nav-tabs > li:focus {
  outline: 0;
}
.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
  margin-right: 0;
  margin-bottom: 3px;
}
.tabs-left > .nav-tabs > li > a:focus,
.tabs-right > .nav-tabs > li > a:focus {
  outline: 0;
}
.tabs-left > .tab-content,
.tabs-right > .tab-content {
  border-radius: 0 4px 4px 4px;
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  border: 1px solid #ddd;
  overflow: hidden;
  padding: 10px 15px;
}
.tabs-left > .nav-tabs {
  float: left;
  margin-right: -1px;
}
.tabs-left > .nav-tabs > li > a {
  border-radius: 4px 0 0 4px;
}
.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
  border-color: #eeeeee #ddd #eeeeee #eeeeee;
}
.tabs-left > .nav-tabs > .active > a,
.tabs-left > .nav-tabs > .active > a:hover,
.tabs-left > .nav-tabs > .active > a:focus {
  border-color: #ddd transparent #ddd #ddd;
  -moz-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.05);
}
.tabs-right > .nav-tabs {
  float: right;
  margin-left: -1px;
}
.tabs-right > .nav-tabs > li > a {
  border-radius: 0 4px 4px 0;
}
.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
  border-color: #eeeeee #eeeeee #eeeeee #ddd;
  -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.05);
}
.tabs-right > .nav-tabs > .active > a,
.tabs-right > .nav-tabs > .active > a:hover,
.tabs-right > .nav-tabs > .active > a:focus {
  border-color: #ddd #ddd #ddd transparent;
}
th.checkbox,
td.checkbox,
th.radio,
td.radio {
  display: table-cell;
}
.views-display-settings .label {
  font-size: 100%;
  color: #666666;
}
.views-display-settings .footer {
  padding: 0;
  margin: 4px 0 0 0;
}
table .radio input[type="radio"],
table .checkbox input[type="checkbox"] {
  max-width: inherit;
}
.form-horizontal .form-group label {
  position: relative;
  min-height: 1px;
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 7px;
  padding-left: 15px;
  padding-right: 15px;
  text-align: right;
}
@media (min-width: 768px) {
  .form-horizontal .form-group label {
    float: left;
    width: 16.66666667%;
  }
}
.alert a {
  font-weight: bold;
}
.alert-success a {
  color: #25a25a;
}
.alert-info a {
  color: #217dbb;
}
.alert-warning a {
  color: #c29d0b;
}
.alert-danger a {
  color: #d62c1a;
}
/**
* UW Marketing & Communications partials
*/
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscondensed-400-regular-webfont.eot');
  src: url('assets/fonts/encodesanscondensed-400-regular-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscondensed-400-regular-webfont.woff') format('woff'), url('assets/fonts/encodesanscondensed-400-regular-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscondensed-400-regular-webfont.svg#encodesanscondensed-400-regular-webfont') format('svg');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscondensed-500-medium-webfont.eot');
  src: url('assets/fonts/encodesanscondensed-500-medium-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscondensed-500-medium-webfont.woff') format('woff'), url('assets/fonts/encodesanscondensed-500-medium-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscondensed-500-medium-webfont.svg#encodesanscondensed-500-medium-webfont') format('svg');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscompressed-600-semibold-webfont.eot');
  src: url('assets/fonts/encodesanscompressed-600-semibold-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscompressed-600-semibold-webfont.woff') format('woff'), url('assets/fonts/encodesanscompressed-600-semibold-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscompressed-600-semibold-webfont.svg#encodesanscompressed-600-semibold-webfont') format('svg');
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscompressed-700-bold-webfont.eot');
  src: url('assets/fonts/encodesanscompressed-700-bold-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscompressed-700-bold-webfont.woff') format('woff'), url('assets/fonts/encodesanscompressed-700-bold-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscompressed-700-bold-webfont.svg#encodesanscompressed-700-bold-webfont') format('svg');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscompressed-800-extrabold-webfont.eot');
  src: url('assets/fonts/encodesanscompressed-800-extrabold-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscompressed-800-extrabold-webfont.woff') format('woff'), url('assets/fonts/encodesanscompressed-800-extrabold-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscompressed-800-extrabold-webfont.svg#encodesanscompressed-800-extrabold-webfont') format('svg');
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: 'Encode Sans Compressed';
  src: url('assets/fonts/encodesanscompressed-900-black-webfont.eot');
  src: url('assets/fonts/encodesanscompressed-900-black-webfont.eot?#iefix') format('embedded-opentype'), url('assets/fonts/encodesanscompressed-900-black-webfont.woff') format('woff'), url('assets/fonts/encodesanscompressed-900-black-webfont.ttf') format('truetype'), url('assets/fonts/encodesanscompressed-900-black-webfont.svg#encodesanscompressed-900-black-webfont') format('svg');
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: "Flat-UI-Icons";
  src: url('assets/icons/flat-ui-icons-regular.eot');
  src: url('assets/icons/flat-ui-icons-regular.eot?#iefix') format('embedded-opentype'), url('assets/icons/flat-ui-icons-regular.woff') format('woff'), url('assets/icons/flat-ui-icons-regular.ttf') format('truetype'), url('assets/icons/flat-ui-icons-regular.svg#flat-ui-icons-regular') format('svg');
  font-weight: normal;
  font-style: normal;
}
/* Use the following CSS code if you want to use data attributes for inserting your icons */
[data-icon]:before {
  font-family: 'Flat-UI-Icons';
  content: attr(data-icon);
  speak: none;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/* Use the following CSS code if you want to have a class per icon */
/*
Instead of a list of all class selectors,
you can use the generic selector below, but it's slower:
[class*="fui-"] {
*/
.fui-arrow-right,
.fui-arrow-left,
.fui-cmd,
.fui-check-inverted,
.fui-heart,
.fui-location,
.fui-plus,
.fui-check,
.fui-cross,
.fui-list,
.fui-new,
.fui-video,
.fui-photo,
.fui-volume,
.fui-time,
.fui-eye,
.fui-chat,
.fui-search,
.fui-user,
.fui-mail,
.fui-lock,
.fui-gear,
.fui-radio-unchecked,
.fui-radio-checked,
.fui-checkbox-unchecked,
.fui-checkbox-checked,
.fui-calendar-solid,
.fui-pause,
.fui-play,
.fui-check-inverted-2 {
  display: inline-block;
  font-family: 'Flat-UI-Icons';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.fui-arrow-right:before {
  content: "\e02c";
}
.fui-arrow-left:before {
  content: "\e02d";
}
.fui-cmd:before {
  content: "\e02f";
}
.fui-check-inverted:before {
  content: "\e006";
}
.fui-heart:before {
  content: "\e007";
}
.fui-location:before {
  content: "\e008";
}
.fui-plus:before {
  content: "\e009";
}
.fui-check:before {
  content: "\e00a";
}
.fui-cross:before {
  content: "\e00b";
}
.fui-list:before {
  content: "\e00c";
}
.fui-new:before {
  content: "\e00d";
}
.fui-video:before {
  content: "\e00e";
}
.fui-photo:before {
  content: "\e00f";
}
.fui-volume:before {
  content: "\e010";
}
.fui-time:before {
  content: "\e011";
}
.fui-eye:before {
  content: "\e012";
}
.fui-chat:before {
  content: "\e013";
}
.fui-search:before {
  content: "\e01c";
}
.fui-user:before {
  content: "\e01d";
}
.fui-mail:before {
  content: "\e01e";
}
.fui-lock:before {
  content: "\e01f";
}
.fui-gear:before {
  content: "\e024";
}
.fui-radio-unchecked:before {
  content: "\e02b";
}
.fui-radio-checked:before {
  content: "\e032";
}
.fui-checkbox-unchecked:before {
  content: "\e033";
}
.fui-checkbox-checked:before {
  content: "\e034";
}
.fui-calendar-solid:before {
  content: "\e022";
}
.fui-pause:before {
  content: "\e03b";
}
.fui-play:before {
  content: "\e03c";
}
.fui-check-inverted-2:before {
  content: "\e000";
}
.dropdown-arrow-inverse {
  border-bottom-color: #4b2e83 !important;
  border-top-color: #4b2e83 !important;
}
body {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  line-height: 1.72222;
  color: #595959;
  background-color: #fff;
}
a {
  color: #0088DD;
  text-decoration: none;
  -o-transition: 0.25s;
  -webkit-transition: 0.25s;
  transition: 0.25s;
}
a:hover,
a:focus {
  color: #d9d9d9;
  text-decoration: none;
}
a:focus {
  outline: none;
}
.img-rounded {
  border-radius: 6px;
}
.img-thumbnail {
  padding: 4px;
  line-height: 1.72222;
  background-color: #fff;
  border: 2px solid #bdc3c7;
  border-radius: 6px;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-comment {
  font-size: 14px;
  line-height: 1.2;
  font-style: italic;
  margin: 24px 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small {
  color: #e9e6f0;
}
h1,
h2,
h3 {
  margin-top: 27px;
  margin-bottom: 13.5px;
}
h4,
h5,
h6 {
  margin-top: 13.5px;
  margin-bottom: 13.5px;
}
h6 {
  font-weight: normal;
}
h1,
.h1 {
  font-size: 36px;
}
h2,
.h2 {
  font-size: 29px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 20px;
}
h5,
.h5 {
  font-size: 17px;
}
h6,
.h6 {
  font-size: 18px;
}
p {
  font-size: 16px;
  line-height: 1.72222;
  margin: 0 0 13.5px;
  font-weight: normal;
  color: #3D3D3D;
  -webkit-font-smoothing: antialiased;
}
.lead {
  margin-bottom: 27px;
  font-size: 24px;
  line-height: 1.46428571;
  font-weight: 300;
}
@media (min-width: 768px) {
  .lead {
    font-size: 26.672px;
  }
}
small,
.small {
  font-size: 83%;
  line-height: 2.067;
}
.text-muted {
  color: #bdc3c7;
}
.text-inverse {
  color: white;
}
.text-primary {
  color: #4b2e83;
}
a.text-primary:hover {
  color: #35215d;
}
a.text-primary:hover {
  color: #3c2569;
}
.text-warning {
  color: #f1c40f;
}
a.text-warning:hover {
  color: #c29d0b;
}
a.text-warning:hover {
  color: #c19d0c;
}
.text-danger {
  color: #e74c3c;
}
a.text-danger:hover {
  color: #d62c1a;
}
a.text-danger:hover {
  color: #b93d30;
}
.text-success {
  color: #2ecc71;
}
a.text-success:hover {
  color: #25a25a;
}
a.text-success:hover {
  color: #25a35a;
}
.text-info {
  color: #3498db;
}
a.text-info:hover {
  color: #217dbb;
}
a.text-info:hover {
  color: #2a7aaf;
}
.bg-primary {
  color: white;
  background-color: #4b2e83;
}
a.bg-primary:hover {
  background-color: #35215d;
}
a.bg-primary:hover {
  background-color: #35215d;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover {
  background-color: #c1e2b3;
}
a.bg-success:hover {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover {
  background-color: #afd9ee;
}
a.bg-info:hover {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover {
  background-color: #f7ecb5;
}
a.bg-warning:hover {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover {
  background-color: #e4b9b9;
}
a.bg-danger:hover {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 12.5px;
  border-bottom: 1px solid #e9e6f0;
}
ul,
ol {
  margin-bottom: 13.5px;
}
dl {
  margin-bottom: 27px;
}
dt,
dd {
  line-height: 1.72222;
}
@media (min-width: 768px) {
  .dl-horizontal dt {
    width: 160px;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  border-bottom: 1px dotted #bdc3c7;
}
blockquote {
  border-left: 3px solid #e9e6f0;
  padding: 0 0 0 16px;
  margin: 0 0 27px;
}
blockquote p {
  font-size: 18px;
  line-height: 1.55;
  font-weight: normal;
  margin-bottom: .4em;
}
blockquote small,
blockquote .small {
  font-size: 16px;
  line-height: 1.72222;
  font-style: italic;
  color: inherit;
}
blockquote small:before,
blockquote .small:before {
  content: "";
}
blockquote.pull-right {
  padding-right: 16px;
  padding-left: 0;
  border-right: 3px solid #e9e6f0;
  border-left: 0;
}
blockquote.pull-right small:after {
  content: "";
}
address {
  margin-bottom: 27px;
  line-height: 1.72222;
}
/* Styles necessary for quicklinks */
#uw-container {
  position: relative;
  width: 100%;
  height: 100%;
  margin-left: 0;
  background-color: white;
  overflow-x: hidden;
}
#uw-container #quicklinks {
  position: absolute;
  background-color: #4d4d4d;
  top: 0px;
  right: 0px;
  height: 100%;
  width: 300px;
  padding: 10px 0 0 90px;
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  background: #4d4d4d;
  background: #2e2e2e;
  background: -moz-linear-gradient(left, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  background: -webkit-gradient(left top, right top, color-stop(0%, #2e2e2e), color-stop(4%, #4d4d4d), color-stop(100%, #4d4d4d));
  background: -webkit-linear-gradient(left, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  background: -o-linear-gradient(left, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  background: -ms-linear-gradient(left, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  background: linear-gradient(to right, #2e2e2e 0%, #4d4d4d 4%, #4d4d4d 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#2e2e2e', endColorstr='#4d4d4d', GradientType=1);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: matrix(1, 0, 0, 1, 190, 0);
  -moz-transform: matrix(1, 0, 0, 1, 190, 0);
  -ms-transform: matrix(1, 0, 0, 1, 190, 0);
  -o-transform: matrix(1, 0, 0, 1, 190, 0);
  transform: matrix(1, 0, 0, 1, 190, 0);
}
#uw-container #quicklinks ul {
  padding: 0;
}
#uw-container #quicklinks ul#big-links {
  list-style: none;
  margin-top: 10px;
}
#uw-container #quicklinks ul#big-links li {
  display: block;
  width: 100%;
  padding: 14px 0 0 0;
}
#uw-container #quicklinks ul#big-links li a {
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  margin-left: 15px;
}
#uw-container #quicklinks ul#big-links li a:hover,
#uw-container #quicklinks ul#big-links li a:focus {
  color: #ffd800;
  text-decoration: underline;
}
#uw-container #quicklinks ul#big-links li span {
  display: block;
  float: left;
  width: 30px;
  height: 30px;
  background: url(assets/svg/uw-sprite.svg) no-repeat 0 0;
}
#uw-container #quicklinks ul#big-links li span.icon-maps {
  background-position: 6px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-directories {
  background-position: -84px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-calendar {
  background-position: -39px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-libraries {
  background-position: -129px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-medicine {
  background-position: -264px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-myuw {
  background-position: -174px -303px;
}
#uw-container #quicklinks ul#big-links li span.icon-uwtoday {
  background-position: -219px -303px;
}
#uw-container #quicklinks h3 {
  font-size: 18px;
  color: white;
  margin: 40px 0 30px 0;
  position: relative;
}
#uw-container #quicklinks h3:after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: white;
  position: absolute;
  bottom: -19px;
}
#uw-container #quicklinks ul#little-links {
  margin-left: 10px;
}
#uw-container #quicklinks ul#little-links li {
  list-style: none;
  position: relative;
}
#uw-container #quicklinks ul#little-links li:before {
  content: "";
  width: 6px;
  height: 6px;
  display: block;
  background-color: #ffd800;
  position: absolute;
  left: -15px;
  top: 13px;
  border-top-right-radius: 100%;
  border-bottom-right-radius: 100%;
  border-bottom-left-radius: 100%;
  border-top-left-radius: 100%;
}
#uw-container #quicklinks ul#little-links li:before {
  background-color: #9bc343;
}
#uw-container #quicklinks ul#little-links li a {
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
}
#uw-container #quicklinks ul#little-links li a:hover,
#uw-container #quicklinks ul#little-links li a:focus {
  color: #ffd800;
  text-decoration: underline;
}
#uw-container #quicklinks a {
  color: white;
}
#uw-container #quicklinks.open {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  -moz-transform: matrix(1, 0, 0, 1, 0, 0);
  -ms-transform: matrix(1, 0, 0, 1, 0, 0);
  -o-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
}
#uw-container div#uw-container-inner {
  position: relative;
  background-color: white;
  box-shadow: 10px 0px 11px -6px #1f1f1f;
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#uw-container.open div#uw-container-inner {
  -webkit-transform: matrix(1, 0, 0, 1, -270, 0);
  -moz-transform: matrix(1, 0, 0, 1, -270, 0);
  -ms-transform: matrix(1, 0, 0, 1, -270, 0);
  -o-transform: matrix(1, 0, 0, 1, -270, 0);
  transform: matrix(1, 0, 0, 1, -270, 0);
}
@media only screen and (max-width: 767px) {
  #uw-container #quicklinks {
    padding: 0 0 0 70px;
  }
}
.assistive-text {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  z-index: -1;
}
#dawgdrops {
  -moz-box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
  -webkit-box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
  box-shadow: 0 1px 3px rgba(34, 25, 25, 0.4);
  background-color: white;
  position: relative;
  z-index: 5;
  display: block;
}
#dawgdrops ul {
  padding-left: 0;
  padding-right: 0;
  margin: 0;
  list-style: none;
}
#dawgdrops li {
  list-style: none;
  display: inline-block;
}
#dawgdrops li li {
  width: 80%;
  margin: 0 10%;
}
.dawgdrops-inner {
  padding: 20px 0 5px 0;
}
.menu-block {
  float: left;
  width: 230px;
}
.dawgdrops-item.dawgdrops-item a {
  font-family: "Encode Sans Compressed", sans-serif;
  font-weight: 700;
  font-size: 20px;
  padding: 5px 10px 21px 15px;
}
.dawgdrops-item.dawgdrops-item a:focus,
.dawgdrops-item.dawgdrops-item a:hover {
  color: #85754d;
}
.dawgdrops-item.dawgdrops-item li a {
  font-family: "Encode Sans Compressed", sans-serif;
  text-transform: none;
  font-weight: 700;
  padding-bottom: 4px;
  padding-left: 10px;
  padding-top: 4px;
  margin-left: 0;
  margin-right: 0;
  margin-top: 6px;
  margin-bottom: 6px;
  font-size: 20px;
  line-height: 28px;
}
.dawgdrops-item.dawgdrops-item li a:hover,
.dawgdrops-item.dawgdrops-item li a:focus {
  color: #4b2e83;
  background-color: #E7E7E7;
}
.dawgdrops-item a {
  color: #4b2e83;
  -webkit-font-smoothing: antialiased;
  font-size: 22px;
  text-transform: uppercase;
  padding: 24px 10px 19px 15px;
  display: block;
  position: relative;
}
.dawgdrops-item a.dropdown-toggle {
  padding-right: 30px;
}
.dawgdrops-item a.dropdown-toggle:hover:before {
  background: url(assets/svg/uw-sprite.svg) no-repeat -203px -490px;
  -o-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  height: 25px;
  width: 18px;
  right: 4px;
  top: 8px;
}
.dawgdrops-item a.dropdown-toggle:before {
  content: "";
  position: absolute;
  height: 10px;
  width: 10px;
  right: 8px;
  top: 17px;
  background: url(assets/svg/uw-sprite.svg) no-repeat -353px 0px;
}
.dawgdrops-item a:after {
  content: "";
  position: absolute;
  right: -14px;
  height: 24px;
  width: 12px;
  top: 14px;
  background: url('assets/svg/slash.svg') no-repeat;
}
.dawgdrops-item:hover .dawgdrops-menu {
  display: block;
}
.dawgdrops-item:last-child a:after {
  display: none;
}
.dawgdrops-menu {
  top: 66px;
  left: 0;
  position: absolute;
  display: none;
  min-width: 260px;
  border: 0;
  border-top: 4px solid #4b2e83;
  padding: 10px 0;
  margin: -1px 0 0;
  background: #fff;
  overflow: hidden;
  z-index: 1;
  -webkit-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
  -moz-box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
  box-shadow: 1px 1px 8px rgba(0, 0, 0, 0.5);
}
.dawgdrops-menu li {
  float: left;
  clear: left;
  border-bottom: thin solid #eee;
}
.dawgdrops-menu li a {
  color: #707070;
  font-size: 17px;
  margin: 10px 30px 0px 20px;
  text-align: left;
  padding: 0 10px;
}
.dawgdrops-menu li a:after {
  background: none;
}
.dawgdrops-menu li:first-child {
  margin-top: 5px;
}
.dawgdrops-menu li:last-child {
  margin-bottom: 10px;
  border: none;
}
/* Small Devices, Tablets */
@media only screen and (max-width: 767px) {
  section.block-menu {
    z-index: 1000;
    position: relative;
  }
  #dawgdrops {
    display: none;
  }
  #menu-toggle {
    z-index: 1000;
  }
  #menu-toggle ul.menu {
    background-color: #4b2e83;
  }
  #menu-toggle ul.menu ul.dropdown-menu {
    display: block;
    position: relative;
    border: none;
    box-shadow: none;
    background: transparent;
  }
  #menu-toggle ul.menu ul.dropdown-menu li {
    padding-left: 35px;
    background: transparent;
  }
  #menu-toggle ul.menu ul.dropdown-menu li a {
    border: none;
  }
  #menu-toggle ul.menu li.dropdown a.dropdown-toggle {
    border-bottom: none;
  }
}
/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
  .dawgdrops-inner {
    padding: 20px 0;
  }
  .dawgdrops-item.dawgdrops-item:hover .dawgdrops-menu {
    display: none;
  }
  .dawgdrops-item.dawgdrops-item a {
    padding: 4px 10px 10px 15px;
  }
  .dawgdrops-item.dawgdrops-item a.dropdown-toggle {
    padding-right: 10px;
  }
  .dawgdrops-item.dawgdrops-item a:before {
    display: none;
  }
  .dawgdrops-item.dawgdrops-item a:after {
    top: 13px;
  }
}
@media only screen and (min-width: 993px) and (max-width: 1200px) {
  .dawgdrops-item.dawgdrops-item a {
    font-size: 18px;
    padding-bottom: 23px;
  }
}
@media only screen and (min-width: 768px) {
  nav#dawgdrops .btn-myuw a {
    font-size: 18px;
    text-transform: none;
    color: #FFF;
    font-weight: 600;
    position: absolute;
    top: 65px;
    right: 0;
    padding: 15px 20px 20px 100px;
    z-index: -1;
    overflow: hidden;
  }
  nav#dawgdrops .btn-myuw a:after {
    content: "";
    display: block;
    position: absolute;
    width: 40px;
    height: 33px;
    left: 58px;
    top: 16px;
    background: url(assets/svg/person.svg) no-repeat 0 0;
  }
  nav#dawgdrops .btn-myuw a:hover {
    color: black;
  }
  nav#dawgdrops .btn-myuw a:before {
    content: "";
    display: block;
    position: absolute;
    top: 17px;
    width: 450px;
    height: 60px;
    left: 33px;
    top: -1px;
    background-color: #85754d;
    -webkit-transform: skewX(-15deg) skewY(0);
    -o-transform: skewX(-15deg) skewY(0);
    transform: skewX(-15deg) skewY(0);
    -webkit-transform: skew(-15deg, 0);
    -ms-transform: skewX(-15deg) skewY(0);
    transform: skew(-15deg, 0);
    z-index: -1;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.4);
  }
}
.dropdown-menu {
  padding: 0;
}
.dropdown-menu a {
  border-radius: 4px;
}
.uw-thinstrip {
  height: 90px;
  width: 100%;
  background: #4b2e83;
  padding-top: 22px;
  position: relative;
  z-index: 2;
  -moz-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}
.uw-thinstrip .container {
  position: relative;
}
.uw-thinstrip .allen-school-wordmark {
  display: block;
  position: absolute;
  top: 17px;
  left: 15px;
}
.uw-thinstrip .allen-school-wordmark img {
  margin-top: -25px;
  height: 60px;
}
.uw-thinstrip div.align-right {
  float: right;
}
.uw-thinstrip nav {
  display: inline-block;
  vertical-align: top;
}
.uw-thinstrip ul.uw-thin-links {
  margin: 0;
  position: relative;
  z-index: 1;
  font-weight: 700;
  padding: 0;
}
.uw-thinstrip ul.uw-thin-links li {
  float: left;
  list-style: none;
}
.uw-thinstrip ul.uw-thin-links li:last-child a:after {
  display: none;
}
.uw-thinstrip ul.uw-thin-links li a,
.uw-thinstrip ul.uw-thin-links li button {
  font-family: "Open Sans", sans-serif;
  color: #fff;
  font-size: 17px;
  font-weight: 600;
  position: relative;
  float: right;
  padding: 8px 25px 10px 0;
  letter-spacing: .01em;
}
.uw-thinstrip ul.uw-thin-links li a:after,
.uw-thinstrip ul.uw-thin-links li button:after {
  position: absolute;
  right: 6px;
  height: 32px;
  width: 12px;
  top: 7px;
  content: "";
}
.uw-thinstrip ul.uw-thin-links li a:hover,
.uw-thinstrip ul.uw-thin-links li button:hover,
.uw-thinstrip ul.uw-thin-links li a:focus,
.uw-thinstrip ul.uw-thin-links li button:focus {
  color: #b7a57a;
  text-decoration: underline;
}
.uw-thinstrip button {
  border: none;
  display: inline-block;
  vertical-align: top;
  font-family: "Open Sans", sans-serif;
  font-size: 17px;
  font-weight: 600;
  position: relative;
  z-index: 1;
}
.uw-thinstrip button.uw-search {
  text-indent: -99999px;
  padding-right: 78px;
  outline: none;
  background-color: transparent;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  border-radius: 100%;
  -moz-background-clip: padding;
  -webkit-background-clip: padding-box;
  background-clip: padding-box;
  width: 45px;
  padding: 0;
  height: 45px;
  margin: 0 15px;
  overflow: hidden;
}
.uw-thinstrip button.uw-search:hover,
.uw-thinstrip button.uw-search:focus {
  background-color: #3a2365;
  -o-transition: all 0.1s linear;
  -webkit-transition: all 0.1s linear;
  transition: all 0.1s linear;
}
.uw-thinstrip button.uw-search:after {
  display: none;
}
.uw-thinstrip button.uw-search svg {
  position: absolute;
  top: 12px;
  left: 11px;
}
.uw-thinstrip button.uw-quicklinks {
  height: 45px;
  margin-left: -15px;
  margin-right: 0;
  padding-right: 34px;
  color: #FFF;
  background-color: transparent;
  overflow: hidden;
}
.uw-thinstrip button.uw-quicklinks div {
  position: absolute;
  top: -22px;
  right: 0px;
  width: 160px;
  height: 68px;
  margin: 0px;
}
.uw-thinstrip button.uw-quicklinks:hover,
.uw-thinstrip button.uw-quicklinks:focus {
  color: #FFF;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.54);
  text-decoration: underline;
  outline: none;
  -o-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.uw-thinstrip button.uw-quicklinks:hover svg,
.uw-thinstrip button.uw-quicklinks:focus svg {
  right: 15px;
}
.uw-thinstrip button.uw-quicklinks:after {
  display: none;
}
.uw-thinstrip button.uw-quicklinks svg {
  position: absolute;
  right: 11px;
  top: 16px;
  -o-transition: right 0.2s ease;
  -webkit-transition: right 0.2s ease;
  transition: right 0.2s ease;
}
.search-open .uw-thinstrip button.uw-search svg {
  top: -20px;
  left: 10px;
}
.open .uw-thinstrip ul.uw-thin-links li.uw-quicklinks button:hover svg,
.open .uw-thinstrip ul.uw-thin-links li.uw-quicklinks button:focus svg {
  right: 11px;
}
.open .uw-thinstrip ul.uw-thin-links li.uw-quicklinks button svg {
  top: -37px;
}
#uw-container.open .uw-quicklinks a {
  color: black;
}
#uw-container.open .uw-quicklinks a:after {
  top: 11px;
  right: 10px;
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
#dawgdrops {
  background-color: #d9d9d9;
}
/* Small Devices, Tablets */
@media only screen and (max-width: 767px) {
  #uw-container.open .uw-quicklinks button {
    color: black;
    background-position: -492px -317px;
  }
  #uw-container.open .uw-quicklinks button:after {
    background-position: -294px -52px;
    background-size: 880px;
  }
  .uw-thinstrip {
    padding: 0;
    height: 45px;
  }
  .uw-thinstrip .container {
    position: static;
  }
  .uw-thinstrip .allen-school-wordmark {
    width: 73px;
    height: 45px;
    top: 0;
    left: 0;
    background-size: 470px;
    -o-transition: all 0s;
    -webkit-transition: all 0s;
    transition: all 0s;
  }
  .uw-thinstrip .allen-school-wordmark:hover,
  .uw-thinstrip .allen-school-wordmark:focus {
    background-size: 470px;
  }
  .uw-thinstrip .allen-school-wordmark img {
    height: 35px;
    margin-top: 5px;
    margin-left: 5px;
  }
  .uw-thinstrip .uw-wordmark {
    width: 155px;
    height: 34px;
    margin: 0;
    float: none;
    top: 4px;
    background-size: 397px;
  }
  .uw-thinstrip button.uw-quicklinks {
    background-position: -484px -247px;
    background-size: 900px;
    text-indent: -99999px;
    overflow: hidden;
    padding: 20px 9px 0 0;
    width: 50px;
    top: 0;
    right: 0;
    position: absolute;
  }
  .uw-thinstrip button.uw-quicklinks:after {
    background-position: -253px 4px;
    background-size: 780px;
    top: 11px;
    right: 9px;
  }
  .uw-thinstrip button.uw-search {
    display: none;
  }
  .uw-thin-links {
    display: none;
  }
  .search-open .uw-thinstrip button.uw-search svg {
    top: -17px;
    left: 14px;
  }
  .uw-thinstrip ul.uw-thin-links li {
    display: none;
  }
  .uw-thinstrip ul.uw-thin-links li.uw-search,
  .uw-thinstrip ul.uw-thin-links li.uw-quicklinks {
    display: block;
  }
  .uw-thinstrip ul.uw-thin-links li.uw-quicklinks button:before {
    background: none;
  }
  .uw-thinstrip ul.uw-thin-links li.uw-quicklinks div {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .uw-thinstrip {
    height: 140px;
  }
  .uw-thinstrip .allen-school-wordmark {
    z-index: 2;
  }
  .uw-thinstrip div.align-right {
    position: relative;
  }
  .uw-thinstrip div.align-right #search-quicklinks {
    position: absolute;
    top: 0px;
    right: 0px;
    min-width: 230px;
  }
  .uw-thinstrip ul.uw-thin-links:before {
    position: absolute;
    top: 0;
    height: 50px;
    width: 100%;
    content: "";
    background-color: #4b2e83;
  }
  .uw-thinstrip ul.uw-thin-links li a,
  .uw-thinstrip ul.uw-thin-links li button {
    font-size: 16px;
    padding: 10px 25px 10px 0;
    color: white;
  }
  .uw-thinstrip li {
    margin-top: 68px;
  }
  .uw-thinstrip li.uw-quicklinks {
    position: absolute;
    right: 0;
    top: -69px;
    margin: 0;
  }
  .uw-thinstrip ul.uw-thin-links li.uw-search {
    position: absolute;
    right: 145px;
    top: -69px;
    margin: 0;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1020px) {
  .uw-thinstrip .allen-school-wordmark {
    -o-transform: scale(0.8, 0.8);
    -webkit-transform: scale(0.8, 0.8);
    -ms-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
    top: 12px;
    left: -15px;
  }
}
@media only screen and (min-width: 992px) and (max-width: 1200px) {
  .uw-thinstrip ul.uw-thin-links li a,
  .uw-thinstrip ul.uw-thin-links li button {
    font-size: 16px;
    padding: 10px 25px 10px 0;
  }
}
#hero-bg {
  position: relative;
  padding: 90px 0;
  height: 400px;
}
#hero-bg div.orig,
#hero-bg div.blrd {
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  padding: 0px 90px 0px 90px;
  height: 400px;
}
#hero-bg div.orig p,
#hero-bg div.blrd p {
  font-size: 22px;
}
#hero-bg h1,
#hero-bg h2 {
  font-weight: 900;
}
#hero-bg .udub-slant span {
  height: 8px;
  width: 160px;
}
#hero-bg.hero-light h1,
#hero-bg.hero-light h2 {
  color: #4b2e83;
}
#hero-bg.hero-light p {
  color: #333333;
}
#hero-bg.hero-light .udub-slant span {
  background-color: #4b2e83;
}
#hero-bg.hero-dark h1,
#hero-bg.hero-dark h2,
#hero-bg.hero-dark p {
  color: white;
  text-shadow: 1px 1px #333333;
}
#hero-bg.hero-dark .udub-slant span {
  background-color: white;
}
#hero-container {
  margin: 0 auto;
  overflow: hidden;
  padding-left: 50px;
  text-align: left;
  position: relative;
  z-index: 1;
}
#hero-container h1 {
  font-family: "Open Sans", sans-serif;
  text-transform: uppercase;
  font-weight: 900;
  font-size: 75px;
  color: #fff;
}
#hero-container p {
  color: #fff;
  font-weight: 600;
  font-size: 1.1em;
  line-height: 23px;
  margin: 0 0 30px;
  width: 70%;
}
.uw-site-title-blank {
  font-size: 50px;
  padding-top: 20px;
  color: #4b2e83;
}
.no-title h1.uw-site-title-blank {
  display: none;
}
.hero-content {
  margin-top: 20px;
}
.hero-content .uw-site-title {
  display: none;
}
.hero-height2 {
  height: 245px;
}
.hero-height2 .container {
  height: 145px;
  line-height: 145px;
}
.hero-height2 h1 {
  font-family: "Open Sans", sans-serif;
  text-transform: uppercase;
  color: #FFF !important;
  font-weight: 900;
  font-size: 60px;
  margin: 0;
  line-height: 1;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  display: inline-block;
  vertical-align: bottom;
}
.hero-height2 h1:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 360px;
  left: -140px;
  opacity: .3;
  width: 600px;
  background: url(assets/svg/slashes-light.svg) no-repeat 0 0;
  z-index: 0;
}
.hero-height2:after {
  display: none;
}
.hero-height2 .udub-slant {
  margin-top: 22px;
}
.hero-height2 .udub-slant span {
  background-color: #e8e3d3;
}
.hero-blank {
  height: auto;
  background-color: transparent;
}
.hero-blank:before,
.hero-blank:after {
  display: none;
}
@media only screen and (max-width: 767px) {
  .hero-content .uw-site-title {
    display: block;
  }
}
.uw-breadcrumbs {
  margin: -17px 0 0 -30px;
  background-color: white;
  display: inline-block;
  padding: 20px 20px 0 30px;
}
.uw-breadcrumbs ul {
  padding: 0;
  margin: 0;
}
.uw-breadcrumbs li {
  list-style: none;
  display: inline-block;
  position: relative;
}
.uw-breadcrumbs li:first-child a {
  background: url(assets/svg/uw-sprite.svg) no-repeat -249px 5px;
  text-indent: -99999px;
  width: 30px;
  padding: 5px 0 5px 0;
  margin-right: 25px;
}
.uw-breadcrumbs li:first-child a:before {
  right: -18px;
}
.uw-breadcrumbs li:first-child:after {
  top: 17px;
}
.uw-breadcrumbs li.current span {
  color: #85754d;
}
.uw-breadcrumbs li.current:after {
  display: none;
}
.uw-breadcrumbs li:before {
  content: "";
  position: absolute;
  height: 29px;
  width: 25px;
  right: 0;
  top: 4px;
  background: url('assets/images/breadcrumb-gradient.png') right top repeat-y transparent;
}
.uw-breadcrumbs li:after {
  content: "";
  position: absolute;
  height: 10px;
  width: 10px;
  right: 5px;
  top: 7px;
  opacity: 0.8;
  filter: alpha(opacity=80);
  background: url('assets/svg/caret.svg') no-repeat;
  -webkit-background-size: 7px 5px;
  -moz-background-size: 7px 5px;
  -o-background-size: 7px 5px;
  background-size: 7px 5px;
  -o-transform: rotate(-90deg);
  -webkit-transform: rotate(-90deg);
  -ms-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
.uw-breadcrumbs li:empty {
  display: none;
}
.uw-breadcrumbs li a:hover {
  border-bottom: none;
  text-decoration: underline;
}
.uw-breadcrumbs a,
.uw-breadcrumbs span {
  font-family: "Open Sans", sans-serif;
  color: #535353;
  font-weight: 500;
  font-size: 15px;
  padding: 0 25px 0 0;
  display: block;
  white-space: nowrap;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .uw-breadcrumbs {
    float: none;
    padding: 0;
    margin: 0 0 0 -5px;
  }
  .uw-breadcrumbs li {
    float: left;
    display: initial;
  }
  .uw-breadcrumbs li a,
  .uw-breadcrumbs li span {
    padding: 0 25px 0 0;
  }
  .uw-breadcrumbs li:first-child a {
    background-position: -250px -3px;
    padding: 0;
  }
  .uw-breadcrumbs li:first-child:after {
    top: 8px;
  }
}
ul {
  padding-left: 25px;
}
dd {
  margin-bottom: 24.5px;
}
hr {
  border-top: 1px solid #EBEBEB;
  clear: both;
}
iframe {
  margin: 40px 0 20px;
}
small,
.small {
  font-size: 15px;
  line-height: 1.5;
}
.intro {
  font-family: "Open Sans", sans-serif;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 20px;
}
.uw-body-copy .weight-900 {
  font-weight: 900;
}
a.more {
  position: relative;
}
a.more:after {
  background: url(/wp-content/themes/uw-2014/assets/svg/uw-sprite.svg) no-repeat -206px -492px;
  content: "";
  position: absolute;
  right: -24px;
  bottom: 0px;
  width: 14px;
  height: 21px;
  -o-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
.no-blue-links a {
  color: #4b2e83;
}
.no-blue-links a.btn-bs {
  color: #FFF;
}
.uw-body {
  position: relative;
}
.uw-body.container {
  background-color: white;
}
body.front .front-background {
  background-image: url(assets/images/front_page_bg.gif);
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}
body.front .front-background .uw-body,
body.front .front-background .row {
  background-color: transparent;
}
.uw-body {
  padding-top: 10px;
  -webkit-font-smoothing: antialiased;
}
.uw-body h1,
.uw-body h2 {
  color: #4b2e83;
  display: block;
}
.uw-body h2,
.uw-body h3,
.uw-body h4,
.uw-body h5 {
  font-weight: 700;
}
.uw-body blockquote p {
  font-family: "Open Sans", sans-serif;
  font-size: 21px;
}
.uw-body .uw-site-title {
  position: absolute;
  top: -150px;
  left: 11px;
  color: #fff;
  font-family: "Open Sans", sans-serif;
  font-size: 50px;
  line-height: 55px;
  font-weight: 900;
  -webkit-font-smoothing: antialiased;
}
.uw-body .uw-site-title span {
  font-weight: 700;
}
.uw-body div.uw-site-title {
  margin-top: 29px;
  margin-bottom: 14.5px;
}
.uw-body p.date {
  margin-top: 25px;
  margin-bottom: -19px;
}
.uw-body .author-info {
  margin: -4.5px 0 20px 0;
  font-weight: 800;
}
span.next-page {
  display: block;
  margin-top: 50px;
}
span.next-page a {
  padding: 10px 40px 10px 19px;
  text-transform: uppercase;
  background-color: #e8e3d3;
  font-family: "Open Sans", sans-serif;
  color: #5A5A5A;
  display: inline-block;
  position: relative;
  background-image: none !important;
  border-bottom: none;
  margin-bottom: 25px;
  margin-right: 55px;
  z-index: 1;
  line-height: 24px;
  font-size: 14px;
  font-weight: 700;
  border-radius: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
}
span.next-page a:after {
  background: url(/wp-content/themes/uw-2014/assets/svg/uw-sprite.svg) no-repeat -206px -492px;
  content: "";
  position: absolute;
  right: 17px;
  top: 12px;
  bottom: 3px;
  width: 14px;
  height: 21px;
  -o-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}
span.next-page a:hover {
  background-color: #dfd8c2;
}
.uw-body-copy h1 a,
.uw-body-copy h2 a,
.uw-body-copy h3 a,
.uw-body-copy h4 a,
.uw-body-copy h5 a {
  border-bottom: none;
  color: inherit;
}
.uw-body-copy a {
  text-decoration: none;
}
.info-box {
  width: 310px;
  float: left;
  margin-right: 50px;
  margin-bottom: 50px;
  margin-top: 20px;
  margin-left: -150px;
  padding: 30px 30px 30px;
  -moz-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
  border-top: 6px solid #b7a57a;
  position: relative;
  background: url('assets/images/stripes-dark-tile.svg') repeat-x 0 -88px transparent;
}
.info-box img {
  max-width: 100%;
  height: auto;
}
.info-box:after {
  top: auto;
  bottom: -40px;
}
.info-box p,
.info-box li,
.info-box a {
  font-size: 16px;
  line-height: 1.6;
}
.info-box h1,
.info-box h2,
.info-box h3,
.info-box h4,
.info-box h5 {
  margin-top: 0;
}
.uw-body-copy ul.links {
  overflow: visible;
}
.links {
  padding: 0;
  margin-top: 20px;
  overflow: visible;
}
.links li {
  padding: 0;
  list-style: none;
  margin-bottom: 6px;
  padding-bottom: 6px;
  border-bottom: 1px solid #EEE;
}
.links li:last-child {
  border-bottom: none;
}
img.attachment-post-thumbnail.wp-post-image {
  float: left;
  margin: 5px 50px 0 0;
  height: 150px;
  width: auto;
}
img.img-float-left {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
img.img-float-right {
  float: right;
  margin-left: 20px;
  margin-bottom: 20px;
}
.dawgbytes-thumbnail-text-container {
  margin-bottom: 10px;
}
.dawgbytes-thumbnail-text-container img {
  width: 85px;
  height: 126px;
  margin-bottom: 0px;
}
.dawgbytes-thumbnail-text-container h3 {
  margin-top: 0px;
}
/* Small Devices, Tablets */
@media only screen and (max-width: 767px) {
  .uw-body {
    padding: 20px;
  }
  .uw-body .uw-site-title {
    color: #4b2e83;
    font-size: 25px;
    line-height: 1.2;
    font-weight: 900;
    margin: -20px -20px 20px -20px;
    padding: 15px 15px 15px 20px;
    position: static;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  }
  .uw-body h1 {
    margin: 10px 80px 10px 0;
    font-size: 33px;
  }
  .uw-body p.date {
    margin-bottom: -15px;
  }
  .home .uw-body .uw-site-title {
    padding-right: 65px;
  }
}
@media only screen and (min-width: 768px) {
  .uw-body .uw-site-title.long-title {
    margin-top: 3px;
  }
}
.widget {
  padding: 10px 0 0 40px;
}
@media only screen and (max-width: 1600px) {
  .info-box {
    margin-left: -50px;
  }
}
@media only screen and (max-width: 767px) {
  .widget {
    padding: 0;
  }
  .info-box {
    margin-left: 0;
    width: 100%;
  }
  .uw-body-copy h1 {
    clear: right;
  }
  .uw-body-copy > div.row {
    clear: both;
  }
}
@media only screen and (max-width: 480px) {
  body.front .front-background {
    background-image: none;
  }
}
@media only screen and (min-width: 768px) {
  .uw-body .uw-site-title {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
  }
}
@media only screen and (max-width: 768px) {
  div.front-background {
    position: relative;
    top: 250px;
  }
}
body.search-open #uwsearcharea {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  -moz-transform: matrix(1, 0, 0, 1, 0, 0);
  -ms-transform: matrix(1, 0, 0, 1, 0, 0);
  -o-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
}
body.search-open #uwsearcharea .uw-search-wrapper {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
  -moz-transform: matrix(1, 0, 0, 1, 0, 0);
  -ms-transform: matrix(1, 0, 0, 1, 0, 0);
  -o-transform: matrix(1, 0, 0, 1, 0, 0);
  transform: matrix(1, 0, 0, 1, 0, 0);
}
#uwsearcharea {
  -webkit-transform: matrix(1, 0, 0, 1, 0, -100);
  -moz-transform: matrix(1, 0, 0, 1, 0, -100);
  -ms-transform: matrix(1, 0, 0, 1, 0, -100);
  -o-transform: matrix(1, 0, 0, 1, 0, -100);
  transform: matrix(1, 0, 0, 1, 0, -100);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#uwsearcharea .uw-search-wrapper {
  -webkit-transform: matrix(1, 0, 0, 1, 0, -20);
  -moz-transform: matrix(1, 0, 0, 1, 0, -20);
  -ms-transform: matrix(1, 0, 0, 1, 0, -20);
  -o-transform: matrix(1, 0, 0, 1, 0, -20);
  transform: matrix(1, 0, 0, 1, 0, -20);
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
}
#uwsearcharea .uw-results {
  position: relative;
  top: 162px;
}
.uw-search-bar-container {
  background-color: #FFF;
}
.uw-search-bar-container .radio.checked,
.uw-search-bar-container .radio.checked .second-icon {
  color: #4b2e83;
}
.uw-search-bar-container .radio .icons {
  color: #C7C7C7;
}
.uw-search-bar-container .container.no-height {
  position: absolute;
  width: 100%;
  padding: 10px 0 20px;
}
.uw-search-bar-container .uw-search-wrapper {
  position: relative;
  width: 890px;
  margin-top: 20px;
}
.uw-search-bar-container form {
  float: left;
  width: calc(100% - 240px);
  outline: 2px solid #ADADAD;
}
.uw-search-bar-container form input {
  width: 100%;
  height: 54px;
  padding: 10px 0 10px 15px;
  border: none;
  font-size: 20px;
  outline: none;
  background: url(assets/svg/search_purple.svg) no-repeat center;
}
.uw-search-bar-container form .gsc-clear-button {
  display: none;
}
.uw-search-bar-container div.labels {
  float: left;
  display: block;
  margin-left: 40px;
  margin-top: -10px;
  color: #707070;
}
.uw-search-bar-container div.labels .radio {
  margin-bottom: -5px;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}
.uw-search-bar-container div#search-labels.labels.hidden-xs.focused {
  zoom: 1.2;
  margin-top: -15px;
}
.uw-search-bar-container input.search {
  border: none;
  font-size: 0px;
  float: left;
  display: block;
  height: 54px;
  outline: 2px solid #808080;
  background: url(assets/svg/search.svg) no-repeat center center gray;
  position: relative;
  -webkit-background-size: 22px;
  -moz-background-size: 22px;
  -o-background-size: 22px;
  background-size: 22px;
  padding: 0px 60px 0px 0px;
}
.uw-search-bar-container input.search:focus {
  zoom: 1.2;
  bottom: 5px;
}
.uw-search-bar-container .uw-results {
  width: 890px;
  margin: auto;
}
.uw-search-bar-container .uw-results .result {
  z-index: 1;
  width: 690px;
  border-bottom: 1px solid #E4E4E4;
  display: block;
  float: left;
  margin-top: -10px;
  margin-bottom: 10px;
  position: relative;
}
.uw-search-bar-container .uw-results .result .information {
  margin: -10px 0 20px 0;
  padding: 0 15px;
}
.uw-search-bar-container .uw-results .result .title {
  margin-bottom: -3px;
}
.uw-search-bar-container .uw-results .result .mail,
.uw-search-bar-container .uw-results .result .fax,
.uw-search-bar-container .uw-results .result .telephonenumber {
  padding-left: 30px;
}
.uw-search-bar-container .uw-results .result .mail a:hover,
.uw-search-bar-container .uw-results .result .fax a:hover,
.uw-search-bar-container .uw-results .result .telephonenumber a:hover {
  color: #4b2e83;
}
.uw-search-bar-container .uw-results .result .mail {
  background: url('assets/images/search-mail.png') no-repeat 0 8px;
}
.uw-search-bar-container .uw-results .result .fax {
  background: url('assets/images/search-fax.png') no-repeat 0 8px;
}
.uw-search-bar-container .uw-results .result .telephonenumber {
  background: url('assets/images/search-phone.png') no-repeat 0 6px;
}
.uw-search-bar-container .uw-results .result .vcard {
  background: url('assets/images/search-vcard.png') no-repeat 0 6px;
}
.uw-search-bar-container .uw-results .result.open h4 {
  color: #4b2e83;
}
.uw-search-bar-container .uw-results .result.open a.directory-more {
  background-position: -310px -23px;
  -o-transition: none;
  -webkit-transition: none;
  transition: none;
}
.uw-search-bar-container .uw-results .result:last-child {
  border: none;
  margin-bottom: 20px;
}
.uw-search-bar-container .uw-results h4 {
  width: 100%;
  font-size: 18px;
  color: #757575;
  padding: 15px 0 15px 14px;
  margin: 0;
  text-transform: uppercase;
  cursor: pointer;
}
.uw-search-bar-container .uw-results a.directory-more {
  text-indent: -99999px;
  background: url(assets/svg/uw-sprite.svg) no-repeat -283px 1px;
  height: 25px;
  right: 25px;
  top: 14px;
  position: absolute;
  width: 30px;
}
.uw-search-bar-container .uw-results .information {
  float: left;
  width: 100%;
  color: #4E4E4E;
}
.uw-search-bar-container .uw-results .information p {
  color: #4E4E4E;
}
.uw-search-bar-container .uw-results .information span {
  float: left;
  width: 100%;
}
.uw-search-bar-container .uw-results .information a {
  color: #4E4E4E;
}
.uw-search-bar-container .uw-results .more-results {
  clear: both;
  padding: 10px 0 0 10px;
  font-size: 15px;
  color: #525252;
}
body #uw-container {
  transition: transform .3s;
}
body.search-open #uw-container {
  -webkit-transform: matrix(1, 0, 0, 1, 0, 120);
  -moz-transform: matrix(1, 0, 0, 1, 0, 120);
  -ms-transform: matrix(1, 0, 0, 1, 0, 120);
  -o-transform: matrix(1, 0, 0, 1, 0, 120);
  transform: matrix(1, 0, 0, 1, 0, 120);
}
table.gsc-search-box {
  margin-top: 0px;
  background-color: #FFF;
}
table.gsc-search-box tbody {
  border: 0px;
}
td.gsc-clear-button {
  visibility: hidden;
  width: 0px;
}
td.gsc-input {
  padding-right: 0px !important;
}
td.gsc-input input {
  background-image: none !important;
  background-color: #FFF !important;
}
td.gsc-input input ::-webkit-input-placeholder,
td.gsc-input input ::-moz-placeholder,
td.gsc-input input :-ms-input-placeholder,
td.gsc-input input :-moz-placeholder {
  color: #FFF;
}
input.gsc-input {
  border-color: #AAA !important;
}
input.gsc-search-button {
  background: url(/images/search.svg) no-repeat center;
  text-indent: -9999px;
  margin-left: 15px !important;
  padding: 0 !important;
  background-color: transparent !important;
  border: 0 !important;
  height: 34px !important;
  width: 34px !important;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  #uwsearcharea .center-block {
    width: 750px;
  }
}
@media only screen and (max-width: 767px) {
  #uwsearcharea .uw-results {
    top: 126px;
  }
  .uw-search-bar-container {
    padding: 0px;
  }
  .uw-search-bar-container .container.no-height {
    padding: 0px 10px;
  }
  .uw-search-bar-container .uw-search-wrapper {
    width: 100%;
    position: relative;
    margin-top: 15px;
  }
  .uw-search-bar-container .uw-search-wrapper .search {
    position: absolute;
    right: 0;
    top: 0;
  }
  .uw-search-bar-container .uw-search-wrapper div.labels {
    margin-top: 20px;
    margin-left: 10px;
    margin-bottom: 20px;
  }
  .uw-search-bar-container select {
    width: 100%;
    margin: 0 0 15px;
  }
  .uw-search-bar-container form {
    width: 100%;
    margin-bottom: 15px;
  }
  .uw-search-bar-container form input {
    border-radius: 0;
  }
  .uw-search-bar-container .uw-results h4 {
    padding: 15px 60px 15px 14px;
  }
  .uw-search-bar-container .uw-results .result {
    width: 100%;
  }
  body.search-open #uw-container {
    -webkit-transform: matrix(1, 0, 0, 1, 0, 136);
    -moz-transform: matrix(1, 0, 0, 1, 0, 136);
    -ms-transform: matrix(1, 0, 0, 1, 0, 136);
    -o-transform: matrix(1, 0, 0, 1, 0, 136);
    transform: matrix(1, 0, 0, 1, 0, 136);
  }
  #block-custom-search-blocks-3 {
    display: none;
  }
}
ul.uw-sidebar-menu,
ul.uw-mobile-menu {
  margin-left: 20px;
  padding: 20px;
  margin-top: -124px;
  background-color: white;
}
ul.uw-sidebar-menu ul,
ul.uw-mobile-menu ul,
ul.uw-sidebar-menu li,
ul.uw-mobile-menu li {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-font-smoothing: auto;
}
ul.uw-sidebar-menu li.pagenav a,
ul.uw-mobile-menu li.pagenav a,
ul.uw-sidebar-menu > div a,
ul.uw-mobile-menu > div a,
ul.uw-sidebar-menu li.pagenav span,
ul.uw-mobile-menu li.pagenav span,
ul.uw-sidebar-menu > div span,
ul.uw-mobile-menu > div span {
  display: block;
  font-size: 16px;
  padding: 10px 10px 10px 20px;
}
ul.uw-sidebar-menu li.pagenav a.homelink,
ul.uw-mobile-menu li.pagenav a.homelink,
ul.uw-sidebar-menu > div a.homelink,
ul.uw-mobile-menu > div a.homelink,
ul.uw-sidebar-menu li.pagenav span.homelink,
ul.uw-mobile-menu li.pagenav span.homelink,
ul.uw-sidebar-menu > div span.homelink,
ul.uw-mobile-menu > div span.homelink {
  display: none;
  color: #4b2e83;
  font-size: 25px;
}
ul.uw-sidebar-menu li.pagenav ul,
ul.uw-mobile-menu li.pagenav ul,
ul.uw-sidebar-menu > div ul,
ul.uw-mobile-menu > div ul {
  font-size: 20px;
  line-height: 1.3;
  font-size: 19px;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item,
ul.uw-mobile-menu li.pagenav ul li.current_page_item,
ul.uw-sidebar-menu > div ul li.current_page_item,
ul.uw-mobile-menu > div ul li.current_page_item,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent,
ul.uw-sidebar-menu > div ul li.current_page_parent,
ul.uw-mobile-menu > div ul li.current_page_parent {
  background-color: #4b2e83;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item > a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item > a,
ul.uw-sidebar-menu > div ul li.current_page_item > a,
ul.uw-mobile-menu > div ul li.current_page_item > a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent > a,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent > a,
ul.uw-sidebar-menu > div ul li.current_page_parent > a,
ul.uw-mobile-menu > div ul li.current_page_parent > a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item > span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item > span,
ul.uw-sidebar-menu > div ul li.current_page_item > span,
ul.uw-mobile-menu > div ul li.current_page_item > span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent > span,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent > span,
ul.uw-sidebar-menu > div ul li.current_page_parent > span,
ul.uw-mobile-menu > div ul li.current_page_parent > span {
  font-weight: bold;
  padding-left: 19px;
  padding-top: 16px;
  padding-bottom: 16px;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item a,
ul.uw-sidebar-menu > div ul li.current_page_item a,
ul.uw-mobile-menu > div ul li.current_page_item a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent a,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent a,
ul.uw-sidebar-menu > div ul li.current_page_parent a,
ul.uw-mobile-menu > div ul li.current_page_parent a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item span,
ul.uw-sidebar-menu > div ul li.current_page_item span,
ul.uw-mobile-menu > div ul li.current_page_item span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent span,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent span,
ul.uw-sidebar-menu > div ul li.current_page_parent span,
ul.uw-mobile-menu > div ul li.current_page_parent span {
  color: white;
  border-bottom: none;
  border-left: 10px solid #b7a57a;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor {
  position: relative;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor > a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor > a,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor > a,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor > a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor > a,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor > a {
  padding-right: 60px;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:hover,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor > a:hover,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor > a:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:hover,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor > a:hover,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor > a:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:focus,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor > a:focus,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor > a:focus,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:focus,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor > a:focus,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor > a:focus {
  color: #b7a57a;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:after,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor > a:after,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor > a:after,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor > a:after,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:after,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:after,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor > a:after,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor > a:after {
  content: "";
  background: url(assets/svg/uw-sprite.svg) no-repeat -191px -478px;
  display: inline-block;
  height: 52px;
  width: 44px;
  margin-left: 7px;
  margin-top: -26px;
  position: absolute;
  right: 0;
  top: 50%;
  background-color: #b7a57a;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor a,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor a,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor a,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor a,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor a,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item.current_page_ancestor span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item.current_page_ancestor span,
ul.uw-sidebar-menu > div ul li.current_page_item.current_page_ancestor span,
ul.uw-mobile-menu > div ul li.current_page_item.current_page_ancestor span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent.current_page_ancestor span,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor span,
ul.uw-sidebar-menu > div ul li.current_page_parent.current_page_ancestor span,
ul.uw-mobile-menu > div ul li.current_page_parent.current_page_ancestor span {
  border-left: none;
  position: relative;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item li.page_item_has_children ul,
ul.uw-mobile-menu li.pagenav ul li.current_page_item li.page_item_has_children ul,
ul.uw-sidebar-menu > div ul li.current_page_item li.page_item_has_children ul,
ul.uw-mobile-menu > div ul li.current_page_item li.page_item_has_children ul,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent li.page_item_has_children ul,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent li.page_item_has_children ul,
ul.uw-sidebar-menu > div ul li.current_page_parent li.page_item_has_children ul,
ul.uw-mobile-menu > div ul li.current_page_parent li.page_item_has_children ul {
  display: none;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item li.page_item_has_children.current_page_item ul,
ul.uw-mobile-menu li.pagenav ul li.current_page_item li.page_item_has_children.current_page_item ul,
ul.uw-sidebar-menu > div ul li.current_page_item li.page_item_has_children.current_page_item ul,
ul.uw-mobile-menu > div ul li.current_page_item li.page_item_has_children.current_page_item ul,
ul.uw-sidebar-menu li.pagenav ul li.current_page_parent li.page_item_has_children.current_page_item ul,
ul.uw-mobile-menu li.pagenav ul li.current_page_parent li.page_item_has_children.current_page_item ul,
ul.uw-sidebar-menu > div ul li.current_page_parent li.page_item_has_children.current_page_item ul,
ul.uw-mobile-menu > div ul li.current_page_parent li.page_item_has_children.current_page_item ul {
  display: block;
}
ul.uw-sidebar-menu li.pagenav ul li a,
ul.uw-mobile-menu li.pagenav ul li a,
ul.uw-sidebar-menu > div ul li a,
ul.uw-mobile-menu > div ul li a {
  color: #4b2e83;
  border-bottom: thin solid #eee;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children,
ul.uw-mobile-menu > div ul li.current_page_item ul.children,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children {
  display: block;
  font-size: 17px;
  background-color: white;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li {
  background-color: #eee;
  border-bottom: 1px solid #fff;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li a,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li a,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li a,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li a,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li a,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li span,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li span,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li span,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li span,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li span,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li span {
  color: #5A5A5A;
  padding: 10px 30px 10px 30px;
  border-left: none;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li a:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li a:hover,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li a:hover,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li a:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li a:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li a:hover,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li a:hover,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li a:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li span:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li span:hover,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li span:hover,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li span:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li span:hover,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li span:hover,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li span:hover,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li span:hover,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li a:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li a:focus,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li a:focus,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li a:focus,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li a:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li a:focus,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li a:focus,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li a:focus,
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li span:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li span:focus,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li span:focus,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li span:focus,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li span:focus,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li span:focus,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li span:focus,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li span:focus {
  background-color: #DDD;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children li,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children li,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item ul.children li,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item ul.children li,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children li,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children li,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children li,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children li {
  border-bottom: 1px solid #E0E0E0;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children li:last-child,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children li:last-child,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item ul.children li:last-child,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item ul.children li:last-child,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children li:last-child,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children li:last-child,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children li:last-child,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children li:last-child {
  border-bottom: none;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children a,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item ul.children a,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item ul.children a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children a,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children a,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children a,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children a {
  background-color: white;
  color: #5A5A5A;
  border-left: none;
  padding-left: 25px;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children a:before,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item ul.children a:before,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item ul.children a:before,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item ul.children a:before,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children a:before,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item ul.children a:before,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children a:before,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item ul.children a:before {
  content: "- ";
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item span,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item span,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item span,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item span,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item span,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item span,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item span,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item span {
  border-left: 10px solid #b7a57a;
  padding-left: 20px;
  background-color: #ddd;
  border-bottom: none;
}
ul.uw-sidebar-menu li.pagenav ul li.current_page_item ul.children li.current_page_item span a,
ul.uw-mobile-menu li.pagenav ul li.current_page_item ul.children li.current_page_item span a,
ul.uw-sidebar-menu > div ul li.current_page_item ul.children li.current_page_item span a,
ul.uw-mobile-menu > div ul li.current_page_item ul.children li.current_page_item span a,
ul.uw-sidebar-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item span a,
ul.uw-mobile-menu li.pagenav ul li.current_page_ancestor ul.children li.current_page_item span a,
ul.uw-sidebar-menu > div ul li.current_page_ancestor ul.children li.current_page_item span a,
ul.uw-mobile-menu > div ul li.current_page_ancestor ul.children li.current_page_item span a {
  color: white;
  border-bottom: none;
}
ul.uw-sidebar-menu li.pagenav ul li:last-child a,
ul.uw-mobile-menu li.pagenav ul li:last-child a,
ul.uw-sidebar-menu > div ul li:last-child a,
ul.uw-mobile-menu > div ul li:last-child a {
  border-bottom: none;
}
ul.uw-sidebar-menu ul.children,
ul.uw-mobile-menu ul.children {
  display: none;
}
.uw-sidebar .widgettitle {
  clear: left;
  font-weight: 900;
  font-size: 22px;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 20px;
}
.uw-sidebar .widgettitle:after,
.uw-sidebar .widgettitle:before {
  position: absolute;
  left: 0;
  bottom: 5px;
  content: "";
  height: 4px;
}
.uw-sidebar .widgettitle:before {
  width: 100px;
  background-color: #b7a57a;
}
.uw-sidebar .widgettitle:after {
  width: 40px;
  -webkit-transform: skewX(-25deg) skewY(0);
  -o-transform: skewX(-25deg) skewY(0);
  transform: skewX(-25deg) skewY(0);
  -webkit-transform: skew(-25deg, 0);
  -ms-transform: skewX(-25deg) skewY(0);
  transform: skew(-25deg, 0);
  left: 80px;
  background-color: white;
  bottom: 3px;
  height: 8px;
}
body.home .uw-sidebar-menu {
  display: none;
}
/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
  ul.uw-sidebar-menu {
    padding: 0;
    margin: 50px 0 0 0;
    clear: both;
  }
}
@media only screen and (min-width: 768px) {
  .uw-sidebar {
    padding-top: 40px;
  }
}
#mobile-relative {
  display: none;
}
#mobile-relative ul.uw-mobile-menu {
  display: none;
  width: 100%;
  float: right;
  clear: both;
  list-style: none;
  padding: 0;
  margin: 0 0 25px;
}
#mobile-relative ul.uw-mobile-menu > ul {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
}
#mobile-relative ul.uw-mobile-menu li {
  width: 100%;
}
/*==========  Mobile First Method  ==========*/
/* Custom, iPhone Retina */
@media only screen and (max-width: 767px) {
  #desktop-relative {
    display: none;
  }
  .uw-mobile-menu li {
    background-color: #eee;
    border-bottom: 1px solid #fff;
  }
  #mobile-relative {
    display: block;
    padding-top: 5px;
  }
  #mobile-relative button.uw-mobile-menu-toggle {
    display: block;
    position: relative;
    float: right;
    font-size: 13.33333333px;
    line-height: 1.43518333;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    text-align: center;
    width: 50px;
    height: 40px;
    text-transform: uppercase;
    color: #4b2e83;
    background: url(assets/svg/uw-sprite.svg) no-repeat -475px 20px transparent;
    background-size: 1200px;
    border: none;
    padding: 0 0 20px 0;
  }
  #mobile-relative button.uw-mobile-menu-toggle:before {
    content: "";
    position: absolute;
    right: 55px;
    top: -4px;
    width: 20px;
    height: 40px;
    background: url(assets/svg/uw-sprite.svg) no-repeat -600px 0 transparent;
  }
  #mobile-relative ul.uw-mobile-menu li.pagenav ul li.current_page_parent.current_page_ancestor > a:after {
    display: none;
  }
  #mobile-relative.frontpage {
    margin-top: -18px;
    position: relative;
  }
  #mobile-relative.frontpage button.uw-mobile-menu-toggle {
    position: absolute;
    right: -20px;
    z-index: 10;
    margin: 0;
    top: -50px;
  }
  #mobile-relative.frontpage ul.uw-mobile-menu {
    z-index: 1;
  }
  #mobile-relative.frontpage ul.uw-mobile-menu .menu-dropdowns-container {
    margin-top: 0px;
  }
  #mobile-relative.frontpage.bighero {
    margin-top: 0px;
    background-color: white;
  }
  #mobile-relative.frontpage.bighero button.uw-mobile-menu-toggle {
    right: 0px;
    top: 12px;
  }
  #mobile-relative.frontpage.bighero ul.uw-mobile-menu {
    margin: 0;
  }
  #mobile-relative.frontpage.bighero #spacer {
    height: 58px;
    margin-bottom: 2px;
    width: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  }
  #mobile-relative:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
  }
  .home #mobile-relative li a:hover,
  .home #mobile-relative li a:focus {
    border-bottom: 1px solid #eee;
  }
  .home #mobile-relative li:last-child a:hover,
  .home #mobile-relative li:last-child a:focus {
    border-bottom: none;
  }
  button {
    float: right;
    border: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    z-index: 1;
  }
  button.uw-search {
    text-indent: -99999px;
    padding-right: 78px;
    outline: none;
    background-color: transparent;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    -moz-background-clip: padding;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    width: 40px;
    height: 40px;
    padding: 0;
    margin-top: -3px;
    margin-right: 15px;
    overflow: hidden;
  }
  button.uw-search:after {
    display: none;
  }
  button.uw-search svg {
    position: absolute;
    top: 12px;
    left: 11px;
  }
  .search-open button.uw-search svg {
    top: -20px;
    left: 10px;
  }
}
a.screen-reader-shortcut {
  position: absolute;
  left: 6px;
  top: -99px;
}
a.screen-reader-shortcut:focus {
  z-index: 5;
  font-size: 14px;
  font-weight: 700;
  top: 6px;
  padding: 15px 23px 14px;
  background-color: #f1f1f1;
  color: #4b2e83;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}
label.screen-reader {
  position: absolute;
  opacity: 0;
}
.offscreen {
  position: absolute;
  font-size: 1px;
  left: -9999px;
}
#dawgdrops li.dawgdrops-item a:focus {
  text-decoration: underline;
}
#dawgdrops li.dawgdrops-item ul.dawgdrops-menu a:focus {
  text-decoration: none;
}
.uw-body a:focus,
.uw-body a:hover {
  color: #85754d;
}
.uw-body a:focus.uw-btn,
.uw-body a:hover.uw-btn {
  border-bottom: none;
}
.uw-body a.uw-btn:focus {
  text-decoration: underline;
}
.uw-body .uw-breadcrumbs a:focus {
  border-bottom: none;
  text-decoration: underline;
}
.uw-body #main_content:focus {
  outline: none;
}
.uw-body .widget a.widget-link:focus,
.uw-body .widget a.widget-link:hover {
  border-bottom: none;
  color: #85754d;
}
.uw-body .widget a.widget-link:focus {
  text-decoration: underline;
}
.uw-body input::-webkit-input-placeholder {
  color: #7B7B7B;
}
.uw-body input:-moz-placeholder {
  color: #7B7B7B;
}
.uw-body input::-moz-placeholder {
  color: #7B7B7B;
}
.uw-body input:-ms-input-placeholder {
  color: #7B7B7B;
}
.uw-body .form-control {
  color: #303030;
}
.site-accessibility .uw-body-copy a,
.site-accessibility .uw-sidebar a {
  border-bottom: 1px solid #DFDFDF;
}
.site-accessibility .uw-body-copy a:hover,
.site-accessibility .uw-sidebar a:hover {
  border-bottom: 1px solid #85754d;
}
/**
* UW Boundless theme overrides
*/
.uw-search-bar-container form {
  overflow: hidden;
}
.uw-search-bar-container .uw-search-wrapper .block-search .form-control {
  border-radius: 0;
  z-index: 0;
}
.uw-search-bar-container .uw-search-wrapper .btn.search {
  border-radius: 0;
}
.uw-search-bar-container button.search {
  border: none;
  font-size: 0px;
  float: left;
  display: block;
  height: 54px;
  outline: 2px solid #808080;
  background: url(assets/svg/search.svg) no-repeat center center gray;
  position: relative;
  -webkit-background-size: 22px;
  -moz-background-size: 22px;
  -o-background-size: 22px;
  background-size: 22px;
  padding: 0px 60px 0px 0px;
}
@media only screen and (max-width: 767px) {
  .uw-search-bar-container .uw-search-wrapper .search {
    position: relative;
  }
}
.front .uw-hero-image {
  height: 595px;
  padding: 60px 0 0 0;
}
.front .uw-hero-image h1 {
  font-family: "Encode Sans Compressed", sans-serif;
  font-weight: 900;
  line-height: 1;
  font-size: 95px;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}
.front .uw-hero-image p {
  color: #fff;
  line-height: 1.55;
  -webkit-font-smoothing: auto;
  margin-bottom: 30px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8);
}
.uw-body .uw-site-title + p {
  position: absolute;
  top: -60px;
  color: #fff;
  line-height: 1.55;
  -webkit-font-smoothing: auto;
  margin-bottom: 30px;
  text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.8);
}
@media only screen and (max-width: 767px) {
  .uw-body .uw-site-title {
    padding-right: 75px;
  }
  div.container.uw-body {
    padding-top: 20px;
  }
}
.front .uw-body .uw-site-title + p {
  display: none;
}
@media only screen and (max-width: 767px) {
  .uw-body .uw-site-title + p {
    display: none;
  }
}
@media only screen and (min-width: 768px) {
  .front .uw-body {
    padding-top: 0px;
  }
  .front .uw-body > .row {
    background-color: #fff;
  }
  .front .uw-body .uw-site-title {
    display: none;
  }
}
.uw-sidebar .region:not(:last-child) {
  padding-bottom: 30px;
}
@media only screen and (max-width: 992px) {
  .uw-sidebar .region {
    padding-top: 30px;
  }
}
nav#mobile-relative .navbar-nav .dawgdrops-menu {
  display: none;
  position: relative;
  -webkit-box-shadow: none;
  box-shadow: none;
  top: 0;
  border-top: none;
}
nav#mobile-relative .navbar-nav .dawgdrops-menu li {
  background-color: inherit;
}
nav#mobile-relative .navbar-nav .dawgdrops-menu li a {
  background-color: inherit;
  color: #5a5a5a;
  border-left: none;
  padding-left: 35px;
  padding-top: 10;
  padding-bottom: 10;
}
nav#mobile-relative .navbar-nav .dawgdrops-item a {
  font-weight: 400;
  text-transform: none;
}
nav#mobile-relative .navbar-nav .dawgdrops-item a:after {
  background: none;
}
nav#mobile-relative .navbar-nav .dawgdrops-item .dawgdrops-item-menu-link {
  display: block;
  float: right;
  z-index: 1;
  font-family: "Encode Sans Compressed", sans-serif;
  font-size: 60%;
  cursor: pointer;
  text-transform: uppercase;
  background: url(assets/svg/caret.svg) no-repeat 33px 35px;
}
nav#mobile-relative .navbar-nav .dawgdrops-item .dawgdrops-item-menu-link:before {
  display: inline-block;
  content: "";
  position: absolute;
  right: 50px;
  top: 12px;
  width: 20px;
  height: 30px;
  background: url(assets/svg/uw-sprite.svg) no-repeat -600px 0 transparent;
}
a.more:after {
  background: url(assets/svg/uw-sprite.svg) no-repeat -206px -492px;
}
span.next-page a:after {
  background: url(assets/svg/uw-sprite.svg) no-repeat -206px -492px;
}
.links a:after {
  background: url(assets/svg/uw-sprite.svg) no-repeat -206px -492px;
}
img.pull-right {
  margin-left: 20px;
  margin-bottom: 20px;
}
img.pull-left {
  margin-right: 20px;
  margin-bottom: 20px;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  margin-left: 0;
}
.checkbox input,
.radio input {
  opacity: 1;
}
.form-text,
.form-textarea,
.form-select,
.form-file {
  border-radius: 0;
  color: #595959;
}
.form-submit {
  border-radius: 0;
}
.webform-component {
  margin-bottom: 15px;
}
/**
 * CSE Boundless
 */
#block-block-139,
#block-block-142,
#block-block-140 {
  margin-bottom: 60px;
}
.icon-menu {
  display: table;
  table-layout: fixed;
  height: 100%;
  border-collapse: separate;
  margin: 0px 8px 0px 0px;
  margin-left: 0px;
  margin-right: 8px;
  margin-top: 0px;
  padding-left: 0px;
  width: 100%;
}
.icon-menu li {
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  width: 100%;
}
.icon-menu a {
  text-transform: uppercase;
  text-decoration: none;
  font-size: 1.2em;
  width: 100%;
  display: block;
}
#audience-menu {
  padding-top: 10px;
  padding-bottom: 15px;
  color: #5A5A5A;
  background-color: #d9d9d9;
  margin-left: 0px;
  margin-right: 0px;
}
#audience-menu a {
  color: #d9d9d9;
  height: 100%;
  width: 100%;
}
#audience-menu div.audience-menu-icon {
  transition-property: all;
  transition-duration: .3s;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 15px;
  height: 90px;
}
#audience-menu div.audience-menu-icon i {
  color: #5A5A5A;
  font-size: 2.5em;
}
#audience-menu div.audience-menu-icon p {
  font-family: "Encode Sans Compressed", sans-serif;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.2;
  color: #5A5A5A;
}
#audience-menu div.audience-menu-icon :hover i {
  color: #4b2e83;
  font-size: 2.7em;
  transition-property: all;
  transition-duration: .3s;
}
#audience-menu div.audience-menu-icon :hover p {
  color: #4b2e83;
  transition-property: all;
  transition-duration: .3s;
}
#audience-menu div.icon-container {
  padding-bottom: 5px;
}
@media only screen and (max-width: 765px) {
  #audience-menu {
    padding-bottom: 10px;
  }
  #audience-menu div.icon-container {
    height: auto;
    padding-bottom: 5px;
  }
  div.audience-menu-icon {
    height: 90px;
  }
  div.audience-menu-icon i {
    font-size: 1.3em;
  }
  div.audience-menu-icon p {
    line-height: 1.3;
    font-size: 12px;
  }
}
#front-page-welcome-container {
  background-color: #4b2e83;
  color: #FFF;
  padding: 20px;
  text-align: center;
}
#front-page-welcome-container h2 {
  font-size: 24px;
  text-transform: uppercase;
  margin-top: 10px;
  color: #FFF;
}
#front-page-welcome-container p,
#front-page-welcome-container a {
  font-size: 14px;
  color: #FFF;
  line-height: 1.4;
}
#front-page-welcome-container a {
  font-weight: bold;
}
#news-events {
  background-attachment: fixed;
  background-size: cover;
  padding: 0px;
}
#news-events p.bottom-more-link {
  position: absolute;
  bottom: 5px;
}
.news-headline-photo-block {
  background-color: #d9d9d9;
  color: #4b2e83;
  margin: 0;
  height: 400px;
}
.news-headline-photo-block img {
  width: 100%;
  height: 150px;
  text-align: center;
  overflow: hidden;
}
.news-headline-photo-block div.img-container {
  height: 150px;
  width: auto;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.news-headline-photo-block div.img-container a {
  display: inline-block;
  width: 100%;
  height: 100%;
}
.news-headline-photo-block h3 {
  padding: 5px 5px 5px 15px;
  font-size: 1.2em;
  font-weight: bold;
  margin: 0;
  margin-top: -38px;
  color: #FFF;
}
.news-headline-photo-block h3 a {
  color: #FFF;
  font-size: 1.3em;
  font-weight: bold;
}
.news-headline-photo-block h3 a:hover {
  text-decoration: none;
  color: #FFF;
}
.news-headline-photo-block p {
  padding: 5px 15px 0px 15px;
  line-height: 1.4;
  font-size: 14px;
}
.news-headline-photo-block a {
  color: #4b2e83;
  font-weight: normal;
  font-style: normal;
}
#front-page-news-content,
#front-page-events-content {
  height: 220px;
  overflow: hidden;
  position: relative;
}
#front-page-news-content + .fade,
#front-page-events-content + .fade {
  position: relative;
  height: 40px;
  bottom: 40px;
  width: 100%;
  display: block;
  opacity: 1;
  background-image: linear-gradient(to bottom, rgba(217, 217, 217, 0), rgba(217, 217, 217, 0.9) 100%);
  background: -webkit-linear-gradient(rgba(217, 217, 217, 0) 0%, #d9d9d9 100%);
  background-image: -moz-linear-gradient(rgba(217, 217, 217, 0) 0%, #d9d9d9 100%);
  background-image: -o-linear-gradient(rgba(217, 217, 217, 0) 0%, #d9d9d9 100%);
}
.front-page-events-row {
  padding-top: 5px;
}
.front-page-events-row div {
  padding: 0px 15px 0px 15px;
  line-height: 1.4;
  font-size: 14px;
}
@media only screen and (max-width: 992px) {
  #news-events div.col-sm-6 {
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 768px) {
  #news-events div.col-sm-6 {
    margin-bottom: 15px;
  }
}
@media only screen and (max-width: 480px) {
  #news-events div.col-xs-12 {
    margin-bottom: 15px;
  }
}
#fast-facts-container {
  background-color: #5A5A5A;
  padding: 20px 0px;
  margin-bottom: -25px;
}
#fast-facts-container #fast-facts {
  background-color: #FFF;
  padding-top: 20px;
  padding-bottom: 20px;
}
#fast-facts-container h2 {
  text-align: center;
  margin: 0px 0px 5px 0px;
  color: #4b2e83;
  font-size: 24px;
  text-transform: uppercase;
}
#fast-facts-container div.icon-container {
  text-align: center;
  margin-top: 15px;
}
#fast-facts-container div.icon-container i {
  font-size: 5em;
  color: #4b2e83;
  margin-bottom: 8px;
}
#fast-facts-container p {
  font-family: "Encode Sans Compressed", sans-serif;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
  line-height: 1.2;
  color: #5A5A5A;
}
@media only screen and (max-width: 768px) {
  #fast-facts div.icon-container {
    padding-top: 18px;
    margin-top: 5px;
  }
}
/* People Listings */
div.alist {
  text-align: center;
}
div.alist a {
  color: white;
  background-color: #4b2e83;
  margin: 2px;
  padding: 3px 5px 3px 5px;
  text-decoration: none;
}
/*
 * Directories
 */
div.directory-row {
  margin-top: 15px;
}
h2.directory-people-type p {
  font-size: 29px;
  font-family: "Open Sans", sans-serif;
  color: #4b2e83;
  font-weight: 700;
}
div.directory-photo-container {
  min-width: 159px;
}
div.directory-photo-container img {
  width: 159px;
}
img.faculty-photo:before {
  content: ' ';
  background-image: url(//s3-us-west-2.amazonaws.com/www-cse-public/portraits/_default_sm.jpg);
}
div.directory-name {
  font-size: 1.3em;
  font-weight: bold;
  color: #4b2e83;
}
div.directory-working-title {
  font-size: 1.1em;
  font-weight: bold;
}
.personal-social-icon {
  color: #4b2e83;
  background-color: #fff;
}
.view-display-id-page_2 h2 p {
  font-size: 29px;
  font-weight: 700;
  color: #4b2e83;
}
#block-views-person-contact-block {
  margin-bottom: 15px;
}
/**
 * Research Project Listings
 */
div.view-research-projects h2 {
  margin: 0px 0px 10px 0px;
}
div.research-project-thumbnail {
  float: left;
  margin-left: 20px;
}
div.research-project-thumbnail img {
  margin-right: 10px;
  margin-bottom: 10px;
  width: 100px;
  height: auto;
}
div.research-project-blurb {
  margin: 0px 10px 20px 40px;
  clear: bottom;
}
div.node-research-project div.field-name-field-research-project-image {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
div.node-research-project img {
  width: 200px;
}
div.node-research-project div.associated-content {
  clear: both;
}
div.grouped-project-container {
  margin: 0px 0px 20px 20px;
}
div.grouped-project-container h2 {
  font-size: 12px;
}
div.grouped-publication-container,
div.pub-group-header {
  margin: 0px 0px 20px 20px;
}
div.publication-group h2 {
  font-size: 18px;
}
div.view-research-projects .views-row {
  clear: both;
}
/** body.page-research-robotics-projects-by-topic */
div.robotics-grouped-tile-view div.grouped-project-container {
  margin-left: 0px;
}
div.robotics-grouped-tile-view div.research-project-thumbnail {
  float: none;
  clear: both;
  position: absolute;
  top: 5px;
  width: 158px;
  margin-left: 0px;
}
div.robotics-grouped-tile-view div.research-project-thumbnail img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  top: 5px;
  left: 30px;
  clip: rect(0px, 100px, 100px, 0px);
}
div.robotics-grouped-tile-view div.grouped-project-container h2 {
  position: relative;
  top: 105px;
  text-align: center;
}
div.robotics-grouped-tile-view div.grouped-project-container div.views-row {
  width: 158px;
  height: 165px;
  float: left;
  border: thin solid #AAA;
  padding: 5px 5px 5px 5px;
  clear: none;
  position: relative;
  margin: 0px 2px 2px 0px;
}
div.robotics-grouped-tile-view div.research-project-blurb {
  display: none;
}
/**
 * Course listings
 */
.course-listing-title {
  font-weight: bold;
  text-decoration: none;
}
div.view-course-listing div.views-row {
  margin: 0px 20px 10px 25px;
}
/*
 * Tabbed menus at the top of content regions
 */
div.region-content section.block-menu ul.menu {
  margin-bottom: 20px;
  border-bottom: 1px solid #d9d9d9;
  list-style: none;
}
div.region-content section.block-menu ul.menu > li {
  position: relative;
  display: block;
  float: left;
  margin-bottom: -1px;
  margin-left: 0px;
  margin-right: 5px;
  padding: 0px;
  background-color: white;
  font-size: 24px;
}
div.region-content section.block-menu ul.menu > li a,
div.region-content section.block-menu ul.menu > li span.dropdown-toggle {
  color: #4b2e83;
  border: 1px solid #d9d9d9;
  border-bottom-color: #FFF;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  padding: 10px 15px;
  display: block;
}
div.region-content section.block-menu ul.menu > li.active a {
  background-color: #4b2e83;
  color: white;
}
.dawgdrops-item.dawgdrops-item a:hover {
  color: #b7a57a;
}
.last-edited {
  font-style: italic;
  font-size: smaller;
  float: right;
}
/*
 * For tablet and smaller, offer hamburger menus with full-width
 * menu items.
 *
 * Adapted from https://codepen.io/anon/pen/xLaEgz
 */
#menu-toggle input {
  display: none;
}
@media only screen and (max-width: 768px) {
  #menu-toggle {
    height: 40px;
  }
  #menu-toggle ul.menu {
    max-height: 0;
    transition: max-height 0.15s ease-out;
    overflow: hidden;
    border: none;
    width: 100%;
    margin-top: -30px;
  }
  #menu-toggle ul.menu ul li {
    padding: 5px 20px 5px 5px;
  }
  #menu-toggle ul.menu span.caret {
    display: none;
  }
  #menu-toggle ul.menu li {
    width: 100%;
    background-color: #4b2e83;
  }
  #menu-toggle ul.menu li a {
    color: #FFF;
    font-size: 14px;
    padding: 5px;
    border-radius: 0;
  }
  #menu-toggle span {
    display: block;
    width: 33px;
    height: 4px;
    margin-bottom: 5px;
    position: relative;
    top: -30px;
    left: 5px;
    background-color: #4b2e83;
    border-radius: 3px;
    z-index: 1;
    transform-origin: 4px 0px;
  }
  #menu-toggle span:first-child {
    transform-origin: 0% 0%;
  }
  #menu-toggle span:nth-last-child(2) {
    transform-origin: 0% 100%;
  }
  #menu-toggle input {
    display: block;
    width: 42px;
    height: 32px;
    opacity: 0;
    z-index: 2;
  }
  #menu-toggle input:checked ~ ul.menu {
    max-height: 1000px;
    transition: max-height 0.25s ease-in;
  }
  #menu-toggle input:checked ~ span {
    transform: rotate(45deg) translate(-2px, -1px);
  }
  #menu-toggle input:checked ~ span:nth-last-child(3) {
    transform: rotate(0deg) scale(0.1, 0.1);
  }
  #menu-toggle input:checked ~ span:nth-last-child(2) {
    transform: rotate(-45deg) translate(0, -1px);
  }
}
/**
 * Views
 */
a.internal-edit-link {
  color: red !important;
  font-size: smaller;
}
.callout {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.callout > h2 {
  font-size: 24px;
}
.callout aside {
  font-size: 14px;
}
.callout aside h2 {
  font-size: 20px;
}
.callout .more-link {
  text-align: right;
  font-style: italic;
}
.callout blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
/* MSB */
div.msb {
  margin: 3px;
  text-align: center;
  float: left;
  height: 270px;
  margin-bottom: 30px;
}
div.msb img {
  width: 200px;
  height: 259px;
}
/* Special request for ML seminars */
div.view-id-talk_list {
  font-size: larger;
}
#sideshow {
  display: none;
}
body.front #slideshow {
  display: block;
  height: 634px;
}
.slideshow-row {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  height: 600px;
  margin: auto;
  color: #FFF;
}
.slideshow-row h2 {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.1;
  text-shadow: 1px 1px #333;
}
.slideshow-row p {
  color: #FFF;
  font-size: 24px;
  line-height: 1.3;
  text-shadow: 1px 1px #333;
}
.slideshow-row a {
  color: #FFF;
}
.slideshow-row .more {
  color: #FFF;
  font-style: italic;
  text-decoration: underline;
}
.slideshow-row .row {
  max-height: 600px;
  overflow: hidden;
}
.views-slideshow-cycle-main-frame-row,
.views-slideshow-cycle-main-frame {
  width: 100% !important;
}
#vscc_controls_front_page_slideshow-block_1_1,
#vscc_controls_front_page_slideshow-block_2_1 {
  position: relative;
  z-index: 500;
  top: -40px;
  width: 100px;
  margin: auto;
}
#vscc_controls_front_page_slideshow-block_1_1 img,
#vscc_controls_front_page_slideshow-block_2_1 img {
  display: inline;
}
@media only screen and (max-width: 1200px) {
  .slideshow-row {
    background-position: right;
  }
}
@media only screen and (max-width: 768px) {
  body.front #slideshow {
    height: 350px;
  }
  .slideshow-row {
    height: 350px;
    color: #FFF;
    margin-bottom: 250px;
  }
  .slideshow-row h2 {
    font-size: 24px;
  }
  .slideshow-row div.row {
    position: absolute;
    top: 350px;
    background-color: #5A5A5A;
    height: 250px;
  }
  .slideshow-row p {
    color: #FFF;
    font-size: 14px;
    line-height: 1.3;
  }
  #vscc_controls_front_page_slideshow-block_2_1 {
    display: none;
  }
}
footer.footer {
  color: #FFF;
  background-color: #4b2e83;
  padding: 10px 10px 30px 10px !important;
  margin-top: 25px;
  position: relative;
  width: 100%;
  max-width: inherit !important;
  border-top: 1px solid #E5E5E5;
}
footer.footer h2 {
  font-size: 24px;
  text-transform: uppercase;
}
footer.footer p,
footer.footer a {
  color: #FFF;
  font-size: 14px;
}
@media only screen and (max-width: 768px) {
  body.front footer.footer {
    margin-top: 250px;
  }
}
footer.footer .white-footer-w {
  height: 60px;
  margin: -10px;
}
footer.footer i {
  color: #FFF;
  margin-right: 10px;
  font-size: 4em;
}
.connect-with-us i {
  margin-bottom: 10px;
}
#legalese {
  margin-top: 15px;
}
#block-shib-auth-login-box {
  margin-top: 15px;
  padding-left: 15px;
}
/* Make bootstrappy buttons on the lab home page */
.btn-bs > :first-child {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 40px;
  line-height: 40px;
  font-size: 1.6em;
  text-align: center;
  border-right: 1px solid rgba(0, 0, 0, 0.2);
}
.btn-twitter {
  color: #fff;
  background-color: #55acee;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-twitter:hover {
  color: #fff;
  background-color: #2795e9;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-gitlab {
  color: #fff;
  background-color: #4B515D;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-gitlab:hover {
  color: #fff;
  background-color: #263238;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-myportfolio {
  color: #fff;
  background-color: #aa66cc;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-myportfolio:hover {
  color: #fff;
  background-color: #9933cc;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-linux-vm {
  color: #fff;
  background-color: #2BBBAD;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-linux-vm:hover {
  color: #fff;
  background-color: #00e676;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-vdi {
  color: #fff;
  background-color: #4285F4;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-vdi:hover {
  color: #fff;
  background-color: #304ffe;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-change-password {
  color: #fff;
  background-color: #967ADC;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-change-password:hover {
  color: #fff;
  background-color: #AC92EC;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-wifi {
  color: #fff;
  background-color: #3BAFDA;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-wifi:hover {
  color: #fff;
  background-color: #4FC1E9;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-email {
  color: #fff;
  background-color: #37BC9B;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-email:hover {
  color: #fff;
  background-color: #48CFAD;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-print {
  color: #fff;
  background-color: #F6BB42;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-print:hover {
  color: #fff;
  background-color: #FFCE54;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-request-account {
  color: #fff;
  background-color: #AAB2BD;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-request-account:hover {
  color: #fff;
  background-color: #CCD1D9;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-support-request {
  color: #fff;
  background-color: #4D505B;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-support-request:hover {
  color: #fff;
  background-color: #30302F;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-macintosh {
  color: #fff;
  background-color: #EC3F8C;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-macintosh:hover {
  color: #fff;
  background-color: #f50057;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-linux {
  color: #fff;
  background-color: #1FD26A;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-linux:hover {
  color: #fff;
  background-color: #00c853;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-windows {
  color: #fff;
  background-color: #39B1C6;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-windows:hover {
  color: #fff;
  background-color: #2962ff;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-report-emergency {
  color: #FFF;
  background-color: #F00;
  border-color: rgba(0, 0, 0, 0.2);
}
.btn-report-emergency:hover {
  color: #fff;
  background-color: #C00;
  border-color: rgba(0, 0, 0, 0.2);
}
.fa-twitter:before {
  content: "\f099";
}
.fa-gitlab:before {
  content: "\f296";
}
.fa-myportfolio:before {
  content: "\f07c";
}
.fa-vdi:before {
  content: "\f17a";
}
.fa-change-password:before {
  content: "\f084";
}
.fa-print:before {
  content: "\f02f";
}
.fa-request-account:before {
  content: "\f007";
}
.fa-linux-vm:before {
  content: "\f063";
}
.fa-support-request:before {
  content: "\f145";
}
.fa-macintosh:before {
  content: "\f179";
}
.fa-windows:before {
  content: "\f17a";
}
.fa-linux:before {
  content: "\f17c";
}
.fa-wifi:before {
  content: "\f1eb";
}
.fa-email:before {
  content: "\f0e0";
}
.btn-bs {
  text-decoration: none;
  display: block;
  width: 70%;
  padding: 6px 12px 6px 44px;
  margin-bottom: 5px;
  margin-left: 15px;
  font-size: 18px;
  font-weight: normal;
  line-height: 1.42857143;
  text-align: center;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  position: relative;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#block-custom-search-blocks-4 .form-item-custom-search-blocks-form-4 {
  padding-right: 50px;
}
#block-custom-search-blocks-4 div.form-actions {
  width: 35px;
  float: right;
  position: relative;
  top: -52px;
}
#block-custom-search-blocks-4 button.form-submit {
  background: url(/images/search_icon.png) no-repeat center top;
  text-indent: -9999px;
  padding: 0 !important;
  background-color: #FFF !important;
  border: 0 !important;
  height: 34px !important;
  width: 34px !important;
}
.cse-callout {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  width: 25%;
  float: right;
  margin-left: 15px;
  margin-bottom: 15px;
}
.cse-callout blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
@media only screen and (max-width: 480px) {
  .cse-callout {
    width: 100%;
    margin-left: 0px;
  }
}
div.public-directory-item {
  margin-bottom: 20px;
}
div.public-directory-name,
div.public-directory-name a {
  text-decoration: none;
  color: #4b2e83;
  font-size: 24px;
  font-weight: bold;
}
.postdoc-blurb {
  line-height: 1.2;
}
h3.biblio-title {
  color: #0088DD;
  font-size: 18px;
  margin-top: 20px;
  margin-bottom: 2px;
}
#cse-system-alert {
  position: relative;
  z-index: 1000;
}
.cse-alert {
  background-color: #597184;
}
.cse-alert p {
  margin-top: 0px;
  color: #FFF;
  font-size: 13px;
}
.cse-alert p.system-alert-text {
  line-height: 1.5;
}
.cse-alert div.container {
  height: 80px;
  width: 1000px;
  margin: auto;
  background-size: contain;
  background-repeat: no-repeat;
  padding-left: 120px;
}
.cse-alert a {
  color: yellow;
  text-decoration: none;
}
.cse-alert.covid-alert {
  background-color: #000;
}
.cse-alert.covid-alert p {
  margin-top: 15px;
}
p.system-alert-title {
  color: yellow;
  margin-bottom: 0;
  font-size: 1.4em;
  display: inline-block;
}
.alert-style-876 div.container {
  background-image: url('/images/system-alert-red.png');
}
.alert-style-878 div.container {
  background-image: url('/images/system-alert-yellow.png');
}
.alert-style-877 div.container {
  background-image: url('/images/system-alert-orange.png');
}
.alert-style-879 div.container {
  background-image: url('/images/system-alert-green.png');
}
.covid-alert div.container {
  background-image: url('/images/covid-bg-black.png');
}
.covid-public-bar {
  background-color: #666;
  padding: 10px;
  color: #FFF;
}
.covid-public-bar div.container {
  text-align: center;
}
.covid-public-bar a {
  color: #FFF;
  font-size: 20px;
}
.covid-public-bar a i {
  font-size: 10px;
  vertical-align: middle;
}
#edit-field-system-alert-style-und-879 label {
  background-image: url('/images/system-alert-green.png');
  text-align: center;
  color: #FFF;
  height: 50px;
  padding-top: 30px;
}
#edit-field-system-alert-style-und-877 label {
  background-image: url('/images/system-alert-orange.png');
  text-align: center;
  color: #FFF;
  height: 50px;
  padding-top: 30px;
}
#edit-field-system-alert-style-und-876 label,
#edit-field-system-alert-style-und-880 + label {
  background-image: url('/images/system-alert-red.png');
  text-align: center;
  color: #FFF;
  height: 50px;
  padding-top: 30px;
}
#edit-field-system-alert-style-und-878 label {
  background-image: url('/images/system-alert-yellow.png');
  text-align: center;
  color: #FFF;
  height: 50px;
  padding-top: 30px;
}
div.spacebelow {
  margin-bottom: 20px;
}
/* This contains some styles to be used on a page with
 * the jquery flip extension.
 */
#cardgrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  overflow: hidden;
  width: 95%;
  margin: 1.3em auto 3em auto;
}
@media only screen and (max-width: 1200px) {
  #cardgrid {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media only screen and (max-width: 991px) {
  #cardgrid {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (max-width: 590px) {
  #cardgrid {
    grid-template-columns: 1fr;
  }
}
.card {
  margin: 1em;
  cursor: hand;
  cursor: pointer;
}
.card .front {
  background: #4b2e83;
  padding: 1em 1em 1.4em 1em;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.card .back {
  background: #ECE9E2;
  padding: 1em 1em 1.4em 1em;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}
.card h3 {
  font-size: 1.6em;
  color: #4b2e83;
  text-transform: uppercase;
  font-family: sans-serif;
  line-height: 24px;
}
.card .front h3 {
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}
.card h4 {
  font-family: 'Open Sans', sans-serif;
  font-size: 1em;
  font-style: oblique;
  margin: 0;
  padding: 0;
  font-weight: 400;
  color: #3d3d3d;
  line-height: 1.4em;
}
.figleader-pronoun {
  font-family: sans-serif;
  font-size: 1.2em;
  margin: 16px 0 3px 0;
}
.figleader-major {
  font-family: sans-serif;
  font-size: 1.2em;
  line-height: 1.3em;
  margin: 0 0 16px 0;
}
.figleader-story {
  line-height: 1.5em;
  font-size: 1em;
  margin: 3px 0 0 0;
}
.card .udub-slant span {
  height: 7px;
  width: 110px;
}
.card .udub-slant {
  margin: 0;
  padding: 0;
}
.innerfig {
  width: 93%;
  margin: auto;
  padding: 2em 0 3em 0;
}
.innerfig p {
  margin-bottom: 0;
  margin-top: 1em;
}
.neutral {
  background: #ECE9E2;
}
.figmission {
  margin-bottom: 3em;
}
.udub-slant {
  overflow: hidden;
  display: block;
  margin: 20px 0 25px 0;
  position: relative;
  z-index: 2;
}
.udub-slant span {
  -webkit-transform: skewX(-25deg) skewY(0);
  -o-transform: skewX(-25deg) skewY(0);
  transform: skewX(-25deg) skewY(0);
  display: block;
  height: 11px;
  width: 210px;
  margin: 0 0 0 -5px;
  background: #b7a57a;
}
.btn-cse-link {
  padding: 11px 20px;
  text-transform: uppercase;
  background-color: #4b2e83;
  font-family: "Encode Sans Compressed", sans-serif;
  font-weight: 800;
  color: #d9d9d9;
  display: inline-block;
  position: relative;
  background-image: none!important;
  border-top: none;
  border-bottom: none;
  text-decoration: none;
  margin-bottom: 25px;
  margin-right: 50px;
  z-index: 1;
  line-height: 24px;
  font-size: 16px;
  text-decoration: none!important;
}
.btn-next {
  float: right;
  padding-bottom: 10px;
  display: inline-block;
}
.btn-break-word {
  word-wrap: break-word !important;
  white-space: normal;
}
a.btn-cse-link::before {
  content: "";
  top: 0;
  bottom: 0;
  width: 43px;
  right: -43px;
  position: absolute;
  background-color: #d9d9d9;
  border-left: 5px solid rgba(0, 0, 0, 0.3);
}
a.btn-cse-link::after {
  width: 45px;
  height: 45px;
  margin-top: -21px;
  right: -43px;
  background-size: 740px;
  background-position: -32px -410px;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 55px;
  height: 55px;
  right: -50px;
  top: 50%;
  margin-top: -28px;
  background: url(/images/white-arrow-sprite.svg) no-repeat -36px -475px transparent;
}
.btn-cse-link-prev {
  padding: 11px 20px;
  text-transform: uppercase;
  background-color: #4b2e83;
  font-family: "Encode Sans Compressed", sans-serif;
  font-weight: 800;
  color: #d9d9d9;
  display: inline-block;
  position: relative;
  background-image: none!important;
  border-top: none;
  border-bottom: none;
  text-decoration: none;
  margin-bottom: 25px;
  margin-left: 50px;
  z-index: 1;
  line-height: 24px;
  font-size: 16px;
  text-decoration: none!important;
}
a.btn-cse-link-prev::before {
  content: "";
  top: 0;
  bottom: 0;
  width: 43px;
  left: -43px;
  position: absolute;
  background-color: #d9d9d9;
  border-right: 5px solid rgba(0, 0, 0, 0.3);
}
a.btn-cse-link-prev::after {
  width: 45px;
  height: 45px;
  margin-top: -21px;
  right: -43px;
  background-size: 740px;
  background-position: -32px -410px;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 55px;
  height: 55px;
  left: -50px;
  top: 50%;
  margin-top: -28px;
  background: url(/images/white-arrow-sprite.svg) no-repeat -36px -475px transparent;
  transform: rotate(180deg);
}
.list-header {
  font-size: 23px;
  font-weight: 700;
  margin-top: 27px;
  margin-bottom: 13.5px;
}
dl.wide-indent dd {
  margin-left: 20px;
  margin-bottom: 0px;
}
/* Used mostly (exclusively?) by Elle in grad content  */
.cse-thumb {
  border: 1px solid #ddd;
  /* Gray border */
  border-radius: 4px;
  /* Rounded border */
  padding: 5px;
  /* Some padding */
  width: 150px;
  /* Set a small width */
}
/* Add a hover effect (shadow) */
img.cse-hover:hover {
  box-shadow: 0 0 2px 1px gold;
}
/* Aids in adding + and - icons to accordions */
a.toggle-plus-minus:not(.collapsed) span.fa-plus {
  visibility: hidden;
  width: 0;
}
a.toggle-plus-minus:not(.collapsed) span.fa-minus {
  visibility: visible;
  width: auto;
}
a.toggle-plus-minus.collapsed span.fa-plus {
  visibility: visible;
  width: auto;
}
a.toggle-plus-minus.collapsed span.fa-minus {
  visibility: hidden;
  width: 0;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL25vcm1hbGl6ZS5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvcHJpbnQubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2dseXBoaWNvbnMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL3NjYWZmb2xkaW5nLmxlc3MiLCIuLi9sZXNzL3V3L2ZsYXQvbWl4aW5zLmxlc3MiLCIuLi9sZXNzL2NzZS9jc2UudmFyaWFibGVzLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy90aHVtYm5haWxzLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9jYXJvdXNlbC5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3ZlbmRvci1wcmVmaXhlcy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvdHlwZS5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3RleHQtZW1waGFzaXMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnQubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2NvZGUubGVzcyIsIi4uL2xlc3MvdXcvZmxhdC92YXJpYWJsZXMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2dyaWQubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9jbGVhcmZpeC5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2dyaWQtZnJhbWV3b3JrLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy90YWJsZXMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy90YWJsZS1yb3cubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2Zvcm1zLmxlc3MiLCIuLi9sZXNzL292ZXJyaWRlcy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL2Zvcm1zLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9idXR0b25zLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9taXhpbnMvYnV0dG9ucy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvYnV0dG9uLWdyb3Vwcy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvY29tcG9uZW50LWFuaW1hdGlvbnMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2Ryb3Bkb3ducy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL25hdi1kaXZpZGVyLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9pbnB1dC1ncm91cHMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL25hdnMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL25hdmJhci5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL25hdi12ZXJ0aWNhbC1hbGlnbi5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvdXRpbGl0aWVzLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9icmVhZGNydW1icy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvcGFnaW5hdGlvbi5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvbWl4aW5zL3BhZ2luYXRpb24ubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL3BhZ2VyLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9sYWJlbHMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9sYWJlbHMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL2JhZGdlcy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvanVtYm90cm9uLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9hbGVydHMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9hbGVydHMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL3Byb2dyZXNzLWJhcnMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9ncmFkaWVudHMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21peGlucy9wcm9ncmVzcy1iYXIubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21lZGlhLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9saXN0LWdyb3VwLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9taXhpbnMvbGlzdC1ncm91cC5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvcGFuZWxzLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9taXhpbnMvcGFuZWxzLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9yZXNwb25zaXZlLWVtYmVkLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy93ZWxscy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvY2xvc2UubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL21vZGFscy5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvdG9vbHRpcC5sZXNzIiwiLi4vbGVzcy8vd3d3L2h0ZG9jcy9zaXRlcy9hbGwvdGhlbWVzL2NzZV9ib3VuZGxlc3MvYm9vdHN0cmFwL2xlc3MvcG9wb3ZlcnMubGVzcyIsIi4uL2xlc3MvL3d3dy9odGRvY3Mvc2l0ZXMvYWxsL3RoZW1lcy9jc2VfYm91bmRsZXNzL2Jvb3RzdHJhcC9sZXNzL3Jlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MiLCIuLi9sZXNzLy93d3cvaHRkb2NzL3NpdGVzL2FsbC90aGVtZXMvY3NlX2JvdW5kbGVzcy9ib290c3RyYXAvbGVzcy9taXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5Lmxlc3MiLCIuLi9sZXNzL3V3L3V3LmZvbnRzLmxlc3MiLCIuLi9sZXNzL3V3L2ZsYXQvbW9kdWxlcy9nbHlwaGljb25zLmxlc3MiLCIuLi9sZXNzL3V3L2ZsYXQvbW9kdWxlcy9zY2FmZm9sZGluZy5sZXNzIiwiLi4vbGVzcy91dy9mbGF0L21vZHVsZXMvdHlwZS5sZXNzIiwiLi4vbGVzcy91dy91dy5xdWlja2xpbmtzLmxlc3MiLCIuLi9sZXNzL2NzZS9jc2UuZHJvcGRvd25zLmxlc3MiLCIuLi9sZXNzL2NzZS9jc2UudGhpbnN0cmlwLmxlc3MiLCIuLi9sZXNzL3V3L3V3Lmhlcm9pbWFnZS5sZXNzIiwiLi4vbGVzcy91dy91dy5icmVhZGNydW1icy5sZXNzIiwiLi4vbGVzcy9jc2UvY3NlLmJvZHktY29udGVudC5sZXNzIiwiLi4vbGVzcy9jc2UvY3NlLnNlYXJjaC5sZXNzIiwiLi4vbGVzcy91dy91dy5zaWRlYmFyLmxlc3MiLCIuLi9sZXNzL2NzZS9jc2UubW9iaWxlLW1lbnUubGVzcyIsIi4uL2xlc3MvdXcvdXcuYWNjZXNzaWJpbGl0eS5sZXNzIiwiLi4vbGVzcy9oZWFkZXIubGVzcyIsIi4uL2xlc3MvY29udGVudC5sZXNzIiwiLi4vbGVzcy9tb2R1bGVzL3dlYmZvcm0ubGVzcyIsIi4uL2xlc3MvY3NlLmxlc3MiLCIuLi9sZXNzL2NzZS9mcm9udF9wYWdlX3NsaWRlc2hvdy5sZXNzIiwiLi4vbGVzcy9jc2UvZm9vdGVyLmxlc3MiLCIuLi9sZXNzL2NzZS9sYWItaG9tZS5sZXNzIiwiLi4vbGVzcy9jc2UvY2FsbG91dC5sZXNzIiwiLi4vbGVzcy9jc2UvcHVibGljX2RpcmVjdG9yaWVzLmxlc3MiLCIuLi9sZXNzL2NzZS9iaWJsaW8ubGVzcyIsIi4uL2xlc3MvY3NlL3N5c3RlbS1hbGVydC5sZXNzIiwiLi4vbGVzcy9jc2UvY29sbG9xdWlhLmxlc3MiLCIuLi9sZXNzL2NzZS9jYXJkLWZsaXAubGVzcyIsIi4uL2xlc3MvY3NlL3dpZGdldHMubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBUUE7RUFDRSx1QkFBQTtFQUNBLDBCQUFBO0VBQ0EsOEJBQUE7O0FBT0Y7RUFDRSxTQUFBOztBQWFGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0UsY0FBQTs7QUFRRjtBQUNBO0FBQ0E7QUFDQTtFQUNFLHFCQUFBO0VBQ0Esd0JBQUE7O0FBUUYsS0FBSyxJQUFJO0VBQ1AsYUFBQTtFQUNBLFNBQUE7O0FBUUY7QUFDQTtFQUNFLGFBQUE7O0FBVUY7RUFDRSw2QkFBQTs7QUFPRixDQUFDO0FBQ0QsQ0FBQztFQUNDLFVBQUE7O0FBVUYsSUFBSTtFQUNGLHlCQUFBOztBQU9GO0FBQ0E7RUFDRSxpQkFBQTs7QUFPRjtFQUNFLGtCQUFBOztBQVFGO0VBQ0UsY0FBQTtFQUNBLGdCQUFBOztBQU9GO0VBQ0UsZ0JBQUE7RUFDQSxXQUFBOztBQU9GO0VBQ0UsY0FBQTs7QUFPRjtBQUNBO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHdCQUFBOztBQUdGO0VBQ0UsV0FBQTs7QUFHRjtFQUNFLGVBQUE7O0FBVUY7RUFDRSxTQUFBOztBQU9GLEdBQUcsSUFBSTtFQUNMLGdCQUFBOztBQVVGO0VBQ0Us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QVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDJCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDBCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGNBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsbUJBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxzQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxzQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxxQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxrQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCw2QkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCw0QkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCwwQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCw0QkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxnQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxnQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxxQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxvQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxzQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGNBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsY0FBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDJCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLCtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDZCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlDQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGVBQUM7RUFBVSxTQUFTLE9BQVQ7O0FBQ1gsZUFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxnQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxpQkFBQztFQUFVLFNBQVMsT0FBVDs7QUFDWCxlQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGtCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHFCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLGdCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG1CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHNCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLG9CQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLDRCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHVCQUFDO0VBQVUsU0FBUyxPQUFUOztBQUNYLHlCQUFDO0VBQVUsU0FBUyxPQUFUOztBQy9OL0M7RUMyUEUsOEJBQUE7RUFDRywyQkFBQTtFQUNLLHNCQUFBOztBRDFQVixDQUFDO0FBQ0QsQ0FBQztFQ3VQQyw4QkFBQTtFQUNHLDJCQUFBO0VBQ0ssc0JBQUE7O0FEbFBWO0VBQ0UsZUFBQTtFQUNBLDZDQUFBOztBQUdGO0VBQ0UsYUVYMEIsdUJGVzFCO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBOztBQUlGO0FBQ0E7QUFDQTtBQUNBO0VBQ0Usb0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBOztBQU1GO0VBQ0UsY0FBQTtFQUNBLHFCQUFBOztBQUVBLENBQUM7QUFDRCxDQUFDO0VBQ0MsY0FBQTtFQUNBLDBCQUFBOztBQUdGLENBQUM7RUMxQkQsb0JBQUE7RUFFQSwwQ0FBQTtFQUNBLG9CQUFBOztBRGtDRjtFQUNFLFNBQUE7O0FBTUY7RUFDRSxzQkFBQTs7QUFJRjtBRzFFQSxVQVVFO0FBVkYsVUFXRSxFQUFFO0FDUEosZUFLRSxRQU1FO0FBWEosZUFLRSxRQU9FLElBQUk7RUhtWU4sY0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBOztBRHRVRjtFQUNFLGtCQUFBOztBQU1GO0VBQ0UsWUFBQTtFQUNBLG9CQUFBO0VBQ0Esc0JBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VLOEZLLG1DQUFBO0VKdkRMLHdDQUFBO0VBQ1EsZ0NBQUE7RUFnUlIscUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTs7QURsVEY7RUFDRSxrQkFBQTs7QUFNRjtFQUNFLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0VBQ0EsNkJBQUE7O0FBUUY7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtFQUNBLE1BQU0sZ0JBQU47RUFDQSxTQUFBOztBQVFBLGtCQUFDO0FBQ0Qsa0JBQUM7RUFDQyxnQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTs7QU0zSUo7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQ3BCO0FBQUs7QUFBSztBQUFLO0FBQUs7QUFBSztFQUN2QixhSk8wQix1QklQMUI7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTs7QUFMRixFQU9FO0FBUEUsRUFPRjtBQVBNLEVBT047QUFQVSxFQU9WO0FBUGMsRUFPZDtBQVBrQixFQU9sQjtBQU5GLEdBTUU7QUFORyxHQU1IO0FBTlEsR0FNUjtBQU5hLEdBTWI7QUFOa0IsR0FNbEI7QUFOdUIsR0FNdkI7QUFQRixFQVFFO0FBUkUsRUFRRjtBQVJNLEVBUU47QUFSVSxFQVFWO0FBUmMsRUFRZDtBQVJrQixFQVFsQjtBQVBGLEdBT0U7QUFQRyxHQU9IO0FBUFEsR0FPUjtBQVBhLEdBT2I7QUFQa0IsR0FPbEI7QUFQdUIsR0FPdkI7RUFDRSxtQkFBQTtFQUNBLGNBQUE7RUFDQSxjQUFBOztBQUlKO0FBQUk7QUFDSjtBQUFJO0FBQ0o7QUFBSTtFQUNGLGdCQUFBO0VBQ0EscUJBQUE7O0FBSkYsRUFNRTtBQU5FLEdBTUY7QUFMRixFQUtFO0FBTEUsR0FLRjtBQUpGLEVBSUU7QUFKRSxHQUlGO0FBTkYsRUFPRTtBQVBFLEdBT0Y7QUFORixFQU1FO0FBTkUsR0FNRjtBQUxGLEVBS0U7QUFMRSxHQUtGO0VBQ0UsY0FBQTs7QUFHSjtBQUFJO0FBQ0o7QUFBSTtBQUNKO0FBQUk7RUFDRixrQkFBQTtFQUNBLHFCQUFBOztBQUpGLEVBTUU7QUFORSxHQU1GO0FBTEYsRUFLRTtBQUxFLEdBS0Y7QUFKRixFQUlFO0FBSkUsR0FJRjtBQU5GLEVBT0U7QUFQRSxHQU9GO0FBTkYsRUFNRTtBQU5FLEdBTUY7QUFMRixFQUtFO0FBTEUsR0FLRjtFQUNFLGNBQUE7O0FBSUo7QUFBSTtFQUFNLGVBQUE7O0FBQ1Y7QUFBSTtFQUFNLGVBQUE7O0FBQ1Y7QUFBSTtFQUFNLGVBQUE7O0FBQ1Y7QUFBSTtFQUFNLGVBQUE7O0FBQ1Y7QUFBSTtFQUFNLGVBQUE7O0FBQ1Y7QUFBSTtFQUFNLGVBQUE7O0FBTVY7RUFDRSxrQkFBQTs7QUFHRjtFQUNFLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7O0FBRUEsUUFBbUM7RUFBbkM7SUFDRSxlQUFBOzs7QUFTSjtBQUNBO0VBQ0UsY0FBQTs7QUFHRjtBQUNBO0VBQ0UseUJBQUE7RUFDQSxhQUFBOztBQUlGO0VBQXVCLGdCQUFBOztBQUN2QjtFQUF1QixpQkFBQTs7QUFDdkI7RUFBdUIsa0JBQUE7O0FBQ3ZCO0VBQXVCLG1CQUFBOztBQUN2QjtFQUF1QixtQkFBQTs7QUFHdkI7RUFBdUIseUJBQUE7O0FBQ3ZCO0VBQXVCLHlCQUFBOztBQUN2QjtFQUF1QiwwQkFBQTs7QUFHdkI7RUFDRSxjQUFBOztBQUVGO0VMcW9CRSxjQUFBOztBTXp1QkEsQ0FBQyxhQUFDO0VBQ0EsY0FBQTs7QU55dUJGLENBQUMsYUFBQztFQUNBLGNBQUE7O0FLcG9CSjtFTGtvQkUsY0FBQTs7QU16dUJBLENBQUMsYUFBQztFQUNBLGNBQUE7O0FOeXVCRixDQUFDLGFBQUM7RUFDQSxjQUFBOztBS2pvQko7RUwrbkJFLGNBQUE7O0FNenVCQSxDQUFDLFVBQUM7RUFDQSxjQUFBOztBTnl1QkYsQ0FBQyxVQUFDO0VBQ0EsY0FBQTs7QUs5bkJKO0VMNG5CRSxjQUFBOztBTXp1QkEsQ0FBQyxhQUFDO0VBQ0EsY0FBQTs7QU55dUJGLENBQUMsYUFBQztFQUNBLGNBQUE7O0FLM25CSjtFTHluQkUsY0FBQTs7QU16dUJBLENBQUMsWUFBQztFQUNBLGNBQUE7O0FOeXVCRixDQUFDLFlBQUM7RUFDQSxjQUFBOztBS3BuQko7RUFHRSxXQUFBO0VMc21CQSx5QkFBQTs7QU9odUJBLENBQUMsV0FBQztFQUNBLHlCQUFBOztBUGd1QkYsQ0FBQyxXQUFDO0VBQ0EseUJBQUE7O0FLcm1CSjtFTG1tQkUseUJBQUE7O0FPaHVCQSxDQUFDLFdBQUM7RUFDQSx5QkFBQTs7QVBndUJGLENBQUMsV0FBQztFQUNBLHlCQUFBOztBS2xtQko7RUxnbUJFLHlCQUFBOztBT2h1QkEsQ0FBQyxRQUFDO0VBQ0EseUJBQUE7O0FQZ3VCRixDQUFDLFFBQUM7RUFDQSx5QkFBQTs7QUsvbEJKO0VMNmxCRSx5QkFBQTs7QU9odUJBLENBQUMsV0FBQztFQUNBLHlCQUFBOztBUGd1QkYsQ0FBQyxXQUFDO0VBQ0EseUJBQUE7O0FLNWxCSjtFTDBsQkUseUJBQUE7O0FPaHVCQSxDQUFDLFVBQUM7RUFDQSx5QkFBQTs7QVBndUJGLENBQUMsVUFBQztFQUNBLHlCQUFBOztBS3BsQko7RUFDRSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0NBQUE7O0FBUUY7QUFDQTtFQUNFLGFBQUE7RUFDQSxxQkFBQTs7QUFIRixFQUlFO0FBSEYsRUFHRTtBQUpGLEVBS0U7QUFKRixFQUlFO0VBQ0UsZ0JBQUE7O0FBT0o7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7O0FBSUY7RUFMRSxlQUFBO0VBQ0EsZ0JBQUE7RUFNQSxpQkFBQTs7QUFGRixZQUlFO0VBQ0UscUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBOztBQUtKO0VBQ0UsYUFBQTtFQUNBLG1CQUFBOztBQUVGO0FBQ0E7RUFDRSxvQkFBQTs7QUFFRjtFQUNFLGlCQUFBOztBQUVGO0VBQ0UsY0FBQTs7QUFhQSxRQUEyQztFQUEzQyxjQUNFO0lBQ0UsV0FBQTtJQUNBLFlBQUE7SUFDQSxXQUFBO0lBQ0EsaUJBQUE7SUw1SUosZ0JBQUE7SUFDQSx1QkFBQTtJQUNBLG1CQUFBOztFS3FJQSxjQVFFO0lBQ0Usa0JBQUE7OztBQVVOLElBQUk7QUFFSixJQUFJO0VBQ0YsWUFBQTtFQUNBLGlDQUFBOztBQUVGO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBQUlGO0VBQ0Usb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSw4QkFBQTs7QUFLRSxVQUhGLEVBR0c7QUFBRCxVQUZGLEdBRUc7QUFBRCxVQURGLEdBQ0c7RUFDQyxnQkFBQTs7QUFWTixVQWdCRTtBQWhCRixVQWlCRTtBQWpCRixVQWtCRTtFQUNFLGNBQUE7RUFDQSxjQUFBO0VBQ0Esb0JBQUE7RUFDQSxjQUFBOztBQUVBLFVBUkYsT0FRRztBQUFELFVBUEYsTUFPRztBQUFELFVBTkYsT0FNRztFQUNDLFNBQVMsYUFBVDs7QUFRTjtBQUNBLFVBQVU7RUFDUixtQkFBQTtFQUNBLGVBQUE7RUFDQSwrQkFBQTtFQUNBLGNBQUE7RUFDQSxpQkFBQTs7QUFNRSxtQkFIRixPQUdHO0FBQUQsVUFYTSxXQVFSLE9BR0c7QUFBRCxtQkFGRixNQUVHO0FBQUQsVUFYTSxXQVNSLE1BRUc7QUFBRCxtQkFERixPQUNHO0FBQUQsVUFYTSxXQVVSLE9BQ0c7RUFBVSxTQUFTLEVBQVQ7O0FBQ1gsbUJBSkYsT0FJRztBQUFELFVBWk0sV0FRUixPQUlHO0FBQUQsbUJBSEYsTUFHRztBQUFELFVBWk0sV0FTUixNQUdHO0FBQUQsbUJBRkYsT0FFRztBQUFELFVBWk0sV0FVUixPQUVHO0VBQ0MsU0FBUyxhQUFUOztBQU1OO0VBQ0UsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBOztBR3RTRjtBQUNBO0FBQ0E7QUFDQTtFQUNFLHNDQytEbUQsd0JEL0RuRDs7QUFJRjtFQUNFLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBOztBQUlGO0VBQ0UsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSw4Q0FBQTs7QUFORixHQVFFO0VBQ0UsVUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGdCQUFBOztBQUtKO0VBQ0UsY0FBQTtFQUNBLGFBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxvQkFBQTtFQUNBLHFCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQUFBO0VBQ0EsdUJBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBOztBQVhGLEdBY0U7RUFDRSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EscUJBQUE7RUFDQSw2QkFBQTtFQUNBLGdCQUFBOztBQUtKO0VBQ0UsaUJBQUE7RUFDQSxrQkFBQTs7QUUxREY7RVYyYUUsa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7O0FXMWFBLFVBQUM7QUFDRCxVQUFDO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsY0FBQTs7QUFFRixVQUFDO0VBQ0MsV0FBQTs7QUFORixVQUFDO0FBQ0QsVUFBQztFQUNDLFNBQVMsR0FBVDtFQUNBLGNBQUE7O0FBRUYsVUFBQztFQUNDLFdBQUE7O0FYREYsVUFBQztBQUNELFVBQUM7RUFDQyxTQUFTLEdBQVQ7O0VBQ0EsY0FBQTs7O0FBRUYsVUFBQztFQUNDLFdBQUE7O0FBTkYsVUFBQztBQUNELFVBQUM7RUFDQyxTQUFTLEdBQVQ7O0VBQ0EsY0FBQTs7O0FBRUYsVUFBQztFQUNDLFdBQUE7O0FVWkYsUUFBbUM7RUFBbkM7SUFDRSxZQUFBOzs7QUFFRixRQUFtQztFQUFuQztJQUNFLFlBQUE7OztBQUVGLFFBQW1DO0VBQW5DO0lBQ0UsYUFBQTs7O0FBVUo7RVZ1WkUsa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7O0FXMWFBLGdCQUFDO0FBQ0QsZ0JBQUM7RUFDQyxTQUFTLEdBQVQ7RUFDQSxjQUFBOztBQUVGLGdCQUFDO0VBQ0MsV0FBQTs7QUFORixnQkFBQztBQUNELGdCQUFDO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsY0FBQTs7QUFFRixnQkFBQztFQUNDLFdBQUE7O0FYREYsZ0JBQUM7QUFDRCxnQkFBQztFQUNDLFNBQVMsR0FBVDs7RUFDQSxjQUFBOzs7QUFFRixnQkFBQztFQUNDLFdBQUE7O0FBTkYsZ0JBQUM7QUFDRCxnQkFBQztFQUNDLFNBQVMsR0FBVDs7RUFDQSxjQUFBOzs7QUFFRixnQkFBQztFQUNDLFdBQUE7O0FVY0o7RVZ1WkUsa0JBQUE7RUFDQSxtQkFBQTs7QVdqYkEsSUFBQztBQUNELElBQUM7RUFDQyxTQUFTLEdBQVQ7RUFDQSxjQUFBOztBQUVGLElBQUM7RUFDQyxXQUFBOztBQU5GLElBQUM7QUFDRCxJQUFDO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsY0FBQTs7QUFFRixJQUFDO0VBQ0MsV0FBQTs7QVhERixJQUFDO0FBQ0QsSUFBQztFQUNDLFNBQVMsR0FBVDs7RUFDQSxjQUFBOzs7QUFFRixJQUFDO0VBQ0MsV0FBQTs7QUFORixJQUFDO0FBQ0QsSUFBQztFQUNDLFNBQVMsR0FBVDs7RUFDQSxjQUFBOzs7QUFFRixJQUFDO0VBQ0MsV0FBQTs7QVlSQTtFQUNFLGtCQUFBO0VBRUEsZUFBQTtFQUVBLGtCQUFBO0VBQ0EsbUJBQUE7O0FBZ0JGO0VBQ0UsV0FBQTs7QUFPSixLQUFLLEVBQVEsQ0FBQztFQUNaLFdBQUE7O0FBREYsS0FBSyxFQUFRLENBQUM7RUFDWixtQkFBQTs7QUFERixLQUFLLEVBQVEsQ0FBQztFQUNaLG1CQUFBOztBQURGLEtBQUssRUFBUSxDQUFDO0VBQ1osVUFBQTs7QUFERixLQUFLLEVBQVEsQ0FBQztFQUNaLG1CQUFBOztBQURGLEtBQUssRUFBUSxDQUFDO0VBQ1osbUJBQUE7O0FBREYsS0FBSyxFQUFRLENBQUM7RUFDWixVQUFBOztBQURGLEtBQUssRUFBUSxDQUFDO0VBQ1osbUJBQUE7O0FBREYsS0FBSyxFQUFRLENBQUM7RUFDWixtQkFBQTs7QUFERixLQUFLLEVBQVEsQ0FBQztFQUNaLFVBQUE7O0FBREYsS0FBSyxFQUFRLENBQUM7RUFDWixtQkFBQTs7QUFERixLQUFLLEVBQVEsQ0FBQztFQUNaLGtCQUFBOztBQWNGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLFdBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsbUJBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsbUJBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsVUFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixtQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixtQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixVQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLG1CQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLG1CQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLFVBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsbUJBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsa0JBQUE7O0FBSUYsS0FBSyxFQUFRO0VBQ1gsV0FBQTs7QUFoQkYsS0FBSyxFQUFRLE1BQU07RUFDakIsVUFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixrQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixrQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixTQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLGtCQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLGtCQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLFNBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsa0JBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsa0JBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsU0FBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixrQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixpQkFBQTs7QUFJRixLQUFLLEVBQVE7RUFDWCxVQUFBOztBQWNGLEtBQUssRUFBUSxRQUFRO0VBQ25CLGlCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLHlCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLHlCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLGdCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLHlCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLHlCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLGdCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLHlCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLHlCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLGdCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLHlCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLHdCQUFBOztBQURGLEtBQUssRUFBUSxRQUFRO0VBQ25CLGVBQUE7O0FGVEosUUFBbUM7RUV6Qi9CO0lBQ0UsV0FBQTs7RUFPSixLQUFLLEVBQVEsQ0FBQztJQUNaLFdBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osVUFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixVQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLFVBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLGtCQUFBOztFQWNGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFdBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsVUFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixVQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFVBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBSUYsS0FBSyxFQUFRO0lBQ1gsV0FBQTs7RUFoQkYsS0FBSyxFQUFRLE1BQU07SUFDakIsVUFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixTQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFNBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsU0FBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixpQkFBQTs7RUFJRixLQUFLLEVBQVE7SUFDWCxVQUFBOztFQWNGLEtBQUssRUFBUSxRQUFR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QUR5QkgsSUN4Qkc7QUlzZEgsZ0JBcUJFLFlKNWVDO0FJdWRILGdCQXFCRSxZSjNlQztBU29CSCxZVHJCRztBU3FCSCxZVHBCRztBU2dJSCxtQkFXRSxhVDVJQztBU2lJSCxtQkFXRSxhVDNJQztBY05ILElkS0c7QWNMSCxJZE1HO0FlSkgsT2ZHRztBZUhILE9mSUc7QWVnQkgsY2ZqQkc7QWVpQkgsY2ZoQkc7QWVtQ0gsZ0JmcENHO0Flb0NILGdCZm5DRztBcUJUSCxNckJRRztBcUJSSCxNckJTRztBa0NDSCxXbENGRztBa0NFSCxXbENERztBdUNzRkgsYXZDdkZHO0F1Q3VGSCxhdkN0Rkc7RUFDQyxTQUFTLEdBQVQ7RUFDQSxjQUFBOztBQUVGLFNBQUM7QU44TEgsY0FDRSxHTS9MQztBRFRILFVDU0c7QURXSCxnQkNYRztBRG9CSCxJQ3BCRztBSWtkSCxnQkFxQkUsWUp2ZUM7QVNnQkgsWVRoQkc7QVM0SEgsbUJBV0UsYVR2SUM7QWNWSCxJZFVHO0FlUkgsT2ZRRztBZVlILGNmWkc7QWUrQkgsZ0JmL0JHO0FxQmJILE1yQmFHO0FrQ0hILFdsQ0dHO0F1Q2tGSCxhdkNsRkc7RUFDQyxXQUFBOztBWERGLFNBQUM7QUFDRCxTQUFDO0FLNkxILGNBQ0UsR0wvTEM7QUs4TEgsY0FDRSxHTDlMQztBVVZILFVWU0c7QVVUSCxVVlVHO0FVVUgsZ0JWWEc7QVVXSCxnQlZWRztBVW1CSCxJVnBCRztBVW9CSCxJVm5CRztBZWlkSCxnQkFxQkUsWWZ2ZUM7QWVrZEgsZ0JBcUJFLFlmdGVDO0FvQmVILFlwQmhCRztBb0JnQkgsWXBCZkc7QW9CMkhILG1CQVdFLGFwQnZJQztBb0I0SEgsbUJBV0UsYXBCdElDO0F5QlhILEl6QlVHO0F5QlZILEl6QldHO0EwQlRILE8xQlFHO0EwQlJILE8xQlNHO0EwQldILGMxQlpHO0EwQllILGMxQlhHO0EwQjhCSCxnQjFCL0JHO0EwQitCSCxnQjFCOUJHO0FnQ2RILE1oQ2FHO0FnQ2JILE1oQ2NHO0E2Q0pILFc3Q0dHO0E2Q0hILFc3Q0lHO0FrRGlGSCxhbERsRkc7QWtEa0ZILGFs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QTs7QUFHRixFQUFFLFlBQWE7RUFDYixpQkFBQTtFQUNBLGtCQUFBOzs7QUFLRjtFQUNFLHNCQUFBOztFQUNBLGtCQUFBOztFQUNBLFlBQUE7O0VBQ0EsWUFBQTs7OztBQUlGLEdBQUcsVUFBVTtFQUNYLDRCQUFBOzs7QUFJRixDQUFDLGtCQUFrQixJQUFJLFlBQWEsS0FBSTtFQUN0QyxrQkFBQTtFQUNBLFFBQUE7O0FBRUYsQ0FBQyxrQkFBa0IsSUFBSSxZQUFjLEtBQUk7RUFDdkMsbUJBQUE7RUFDQSxXQUFBOztBQUVGLENBQUMsa0JBQWtCLFVBQVcsS0FBSTtFQUNoQyxtQkFBQTtFQUNBLFdBQUE7O0FBRUYsQ0FBQyxrQkFBa0IsVUFBWSxLQUFJO0VBQ2pDLGtCQUFBO0VBQ0EsUUFBQSIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLy9cbi8vIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4vLyAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbi8vICAgIHVzZXIgem9vbS5cbi8vXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLy8gMVxuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbn1cblxuLy9cbi8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbi8vXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbi8vIGFuZCBGaXJlZm94LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbi8vXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbi8vIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbi8vXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gMVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIDJcbn1cblxuLy9cbi8vIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4vLyBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuLy9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuLy8gSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuLy9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4vL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vXG4vLyBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuLy8gY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8vXG4vLyBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbi8vXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gR3JvdXBpbmcgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuLy9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbi8vXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8vIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbi8vIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbi8vXG5cbi8vXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAzXG59XG5cbi8vXG4vLyBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuLy8gQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4vLyBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4vL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4vLyAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbi8vIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbi8vIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4vLyAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4vL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIDFcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbn1cblxuLy9cbi8vIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4vL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4vL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbi8vIHRoZSBVQSBzdHlsZXNoZWV0LlxuLy9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vL1xuLy8gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuLy8gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vXG4vLyAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuLy8gMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbi8vXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbi8vIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4vLyBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4vL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy9cbi8vIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy8gMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuLy8gICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4vL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMlxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuLy9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKiEgU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDogaDVicC5jb20vclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvLyBoNWJwLmNvbS90XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuICAgIC8vXG4gICAgLy8gQ2hyb21lIChPU1gpIGZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTI0NVxuICAgIC8vIE9uY2UgZml4ZWQsIHdlIGNhbiBqdXN0IHN0cmFpZ2h0IHVwIHJlbW92ZSB0aGlzLlxuICAgIHNlbGVjdCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYnRuLFxuICAgIC5kcm9wdXAgPiAuYnRuIHtcbiAgICAgICAgPiAuY2FyZXQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5sYWJlbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgfVxuXG4gICAgLnRhYmxlIHtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIHRkLFxuICAgICAgICB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxufVxuIiwiLy9cbi8vIEdseXBoaWNvbnMgZm9yIEJvb3RzdHJhcFxuLy9cbi8vIFNpbmNlIGljb25zIGFyZSBmb250cywgdGhleSBjYW4gYmUgcGxhY2VkIGFueXdoZXJlIHRleHQgaXMgcGxhY2VkIGFuZCBhcmVcbi8vIHRodXMgYXV0b21hdGljYWxseSBzaXplZCB0byBtYXRjaCB0aGUgc3Vycm91bmRpbmcgY2hpbGQuIFRvIHVzZSwgY3JlYXRlIGFuXG4vLyBpbmxpbmUgZWxlbWVudCB3aXRoIHRoZSBhcHByb3ByaWF0ZSBjbGFzc2VzLCBsaWtlIHNvOlxuLy9cbi8vIDxhIGhyZWY9XCIjXCI+PHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXN0YXJcIj48L3NwYW4+IFN0YXI8L2E+XG5cbi8vIEltcG9ydCB0aGUgZm9udHNcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dseXBoaWNvbnMgSGFsZmxpbmdzJztcbiAgc3JjOiB1cmwoJ0B7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0uZW90Jyk7XG4gIHNyYzogdXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJ0B7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5zdmcjQHtpY29uLWZvbnQtc3ZnLWlkfScpIGZvcm1hdCgnc3ZnJyk7XG59XG5cbi8vIENhdGNoYWxsIGJhc2VjbGFzc1xuLmdseXBoaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLyBJbmRpdmlkdWFsIGljb25zXG4uZ2x5cGhpY29uLWFzdGVyaXNrICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyYVwiOyB9IH1cbi5nbHlwaGljb24tcGx1cyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDJiXCI7IH0gfVxuLmdseXBoaWNvbi1ldXJvLFxuLmdseXBoaWNvbi1ldXIgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjBhY1wiOyB9IH1cbi5nbHlwaGljb24tbWludXMgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIyMTJcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNjAxXCI7IH0gfVxuLmdseXBoaWNvbi1lbnZlbG9wZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjcwOVwiOyB9IH1cbi5nbHlwaGljb24tcGVuY2lsICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI3MGZcIjsgfSB9XG4uZ2x5cGhpY29uLWdsYXNzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAxXCI7IH0gfVxuLmdseXBoaWNvbi1tdXNpYyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwMlwiOyB9IH1cbi5nbHlwaGljb24tc2VhcmNoICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYXJ0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA1XCI7IH0gfVxuLmdseXBoaWNvbi1zdGFyICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwNlwiOyB9IH1cbi5nbHlwaGljb24tc3Rhci1lbXB0eSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDdcIjsgfSB9XG4uZ2x5cGhpY29uLXVzZXIgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA4XCI7IH0gfVxuLmdseXBoaWNvbi1maWxtICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwOVwiOyB9IH1cbi5nbHlwaGljb24tdGgtbGFyZ2UgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRoICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDExXCI7IH0gfVxuLmdseXBoaWNvbi10aC1saXN0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMlwiOyB9IH1cbi5nbHlwaGljb24tb2sgICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTNcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE0XCI7IH0gfVxuLmdseXBoaWNvbi16b29tLWluICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNVwiOyB9IH1cbi5nbHlwaGljb24tem9vbS1vdXQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTZcIjsgfSB9XG4uZ2x5cGhpY29uLW9mZiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE3XCI7IH0gfVxuLmdseXBoaWNvbi1zaWduYWwgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxOFwiOyB9IH1cbi5nbHlwaGljb24tY29nICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyYXNoICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIwXCI7IH0gfVxuLmdseXBoaWNvbi1ob21lICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMVwiOyB9IH1cbi5nbHlwaGljb24tZmlsZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjJcIjsgfSB9XG4uZ2x5cGhpY29uLXRpbWUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIzXCI7IH0gfVxuLmdseXBoaWNvbi1yb2FkICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNFwiOyB9IH1cbi5nbHlwaGljb24tZG93bmxvYWQtYWx0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjVcIjsgfSB9XG4uZ2x5cGhpY29uLWRvd25sb2FkICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI2XCI7IH0gfVxuLmdseXBoaWNvbi11cGxvYWQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyN1wiOyB9IH1cbi5nbHlwaGljb24taW5ib3ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjhcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYXktY2lyY2xlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI5XCI7IH0gfVxuLmdseXBoaWNvbi1yZXBlYXQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMFwiOyB9IH1cbi5nbHlwaGljb24tcmVmcmVzaCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWxpc3QtYWx0ICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMyXCI7IH0gfVxuLmdseXBoaWNvbi1sb2NrICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzM1wiOyB9IH1cbi5nbHlwaGljb24tZmxhZyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzRcIjsgfSB9XG4uZ2x5cGhpY29uLWhlYWRwaG9uZXMgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM1XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtb2ZmICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNlwiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzdcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS11cCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM4XCI7IH0gfVxuLmdseXBoaWNvbi1xcmNvZGUgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzOVwiOyB9IH1cbi5nbHlwaGljb24tYmFyY29kZSAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDBcIjsgfSB9XG4uZ2x5cGhpY29uLXRhZyAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQxXCI7IH0gfVxuLmdseXBoaWNvbi10YWdzICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MlwiOyB9IH1cbi5nbHlwaGljb24tYm9vayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDNcIjsgfSB9XG4uZ2x5cGhpY29uLWJvb2ttYXJrICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ0XCI7IH0gfVxuLmdseXBoaWNvbi1wcmludCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NVwiOyB9IH1cbi5nbHlwaGljb24tY2FtZXJhICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDZcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ3XCI7IH0gfVxuLmdseXBoaWNvbi1ib2xkICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0OFwiOyB9IH1cbi5nbHlwaGljb24taXRhbGljICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtaGVpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUwXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LXdpZHRoICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MVwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tbGVmdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTJcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLWNlbnRlciAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUzXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1yaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NFwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tanVzdGlmeSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTVcIjsgfSB9XG4uZ2x5cGhpY29uLWxpc3QgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU2XCI7IH0gfVxuLmdseXBoaWNvbi1pbmRlbnQtbGVmdCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1N1wiOyB9IH1cbi5nbHlwaGljb24taW5kZW50LXJpZ2h0ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNThcIjsgfSB9XG4uZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU5XCI7IH0gfVxuLmdseXBoaWNvbi1waWN0dXJlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2MFwiOyB9IH1cbi5nbHlwaGljb24tbWFwLW1hcmtlciAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjJcIjsgfSB9XG4uZ2x5cGhpY29uLWFkanVzdCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYzXCI7IH0gfVxuLmdseXBoaWNvbi10aW50ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NFwiOyB9IH1cbi5nbHlwaGljb24tZWRpdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNoYXJlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY2XCI7IH0gfVxuLmdseXBoaWNvbi1jaGVjayAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2N1wiOyB9IH1cbi5nbHlwaGljb24tbW92ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjhcIjsgfSB9XG4uZ2x5cGhpY29uLXN0ZXAtYmFja3dhcmQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY5XCI7IH0gfVxuLmdseXBoaWNvbi1mYXN0LWJhY2t3YXJkICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MFwiOyB9IH1cbi5nbHlwaGljb24tYmFja3dhcmQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzFcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYXkgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcyXCI7IH0gfVxuLmdseXBoaWNvbi1wYXVzZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3M1wiOyB9IH1cbi5nbHlwaGljb24tc3RvcCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzRcIjsgfSB9XG4uZ2x5cGhpY29uLWZvcndhcmQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc1XCI7IH0gfVxuLmdseXBoaWNvbi1mYXN0LWZvcndhcmQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NlwiOyB9IH1cbi5nbHlwaGljb24tc3RlcC1mb3J3YXJkICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzdcIjsgfSB9XG4uZ2x5cGhpY29uLWVqZWN0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc4XCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3OVwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1yaWdodCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODBcIjsgfSB9XG4uZ2x5cGhpY29uLXBsdXMtc2lnbiAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH0gfVxuLmdseXBoaWNvbi1taW51cy1zaWduICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MlwiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlLXNpZ24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODNcIjsgfSB9XG4uZ2x5cGhpY29uLW9rLXNpZ24gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH0gfVxuLmdseXBoaWNvbi1xdWVzdGlvbi1zaWduICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NVwiOyB9IH1cbi5nbHlwaGljb24taW5mby1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODZcIjsgfSB9XG4uZ2x5cGhpY29uLXNjcmVlbnNob3QgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4OFwiOyB9IH1cbi5nbHlwaGljb24tb2stY2lyY2xlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODlcIjsgfSB9XG4uZ2x5cGhpY29uLWJhbi1jaXJjbGUgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkwXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1sZWZ0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MVwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctcmlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTJcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LXVwICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkzXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1kb3duICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NFwiOyB9IH1cbi5nbHlwaGljb24tc2hhcmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTVcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1mdWxsICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk2XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtc21hbGwgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5N1wiOyB9IH1cbi5nbHlwaGljb24tZXhjbGFtYXRpb24tc2lnbiAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDFcIjsgfSB9XG4uZ2x5cGhpY29uLWdpZnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAyXCI7IH0gfVxuLmdseXBoaWNvbi1sZWFmICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwM1wiOyB9IH1cbi5nbHlwaGljb24tZmlyZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDRcIjsgfSB9XG4uZ2x5cGhpY29uLWV5ZS1vcGVuICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA1XCI7IH0gfVxuLmdseXBoaWNvbi1leWUtY2xvc2UgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNlwiOyB9IH1cbi5nbHlwaGljb24td2FybmluZy1zaWduICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDdcIjsgfSB9XG4uZ2x5cGhpY29uLXBsYW5lICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA4XCI7IH0gfVxuLmdseXBoaWNvbi1jYWxlbmRhciAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwOVwiOyB9IH1cbi5nbHlwaGljb24tcmFuZG9tICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTBcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbW1lbnQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTExXCI7IH0gfVxuLmdseXBoaWNvbi1tYWduZXQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMlwiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi11cCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tZG93biAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE0XCI7IH0gfVxuLmdseXBoaWNvbi1yZXR3ZWV0ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNVwiOyB9IH1cbi5nbHlwaGljb24tc2hvcHBpbmctY2FydCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTZcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbGRlci1jbG9zZSAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE3XCI7IH0gfVxuLmdseXBoaWNvbi1mb2xkZXItb3BlbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExOFwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLXZlcnRpY2FsICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTlcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1ob3Jpem9udGFsICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIwXCI7IH0gfVxuLmdseXBoaWNvbi1oZGQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMVwiOyB9IH1cbi5nbHlwaGljb24tYnVsbGhvcm4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjJcIjsgfSB9XG4uZ2x5cGhpY29uLWJlbGwgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIzXCI7IH0gfVxuLmdseXBoaWNvbi1jZXJ0aWZpY2F0ZSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNFwiOyB9IH1cbi5nbHlwaGljb24tdGh1bWJzLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjVcIjsgfSB9XG4uZ2x5cGhpY29uLXRodW1icy1kb3duICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI2XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLXJpZ2h0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyN1wiOyB9IH1cbi5nbHlwaGljb24taGFuZC1sZWZ0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjhcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtdXAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI5XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLWRvd24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMFwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LXJpZ2h0ICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMyXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzM1wiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd24gICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzRcIjsgfSB9XG4uZ2x5cGhpY29uLWdsb2JlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM1XCI7IH0gfVxuLmdseXBoaWNvbi13cmVuY2ggICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNlwiOyB9IH1cbi5nbHlwaGljb24tdGFza3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzdcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbHRlciAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM4XCI7IH0gfVxuLmdseXBoaWNvbi1icmllZmNhc2UgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzOVwiOyB9IH1cbi5nbHlwaGljb24tZnVsbHNjcmVlbiAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDBcIjsgfSB9XG4uZ2x5cGhpY29uLWRhc2hib2FyZCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQxXCI7IH0gfVxuLmdseXBoaWNvbi1wYXBlcmNsaXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MlwiOyB9IH1cbi5nbHlwaGljb24taGVhcnQtZW1wdHkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDNcIjsgfSB9XG4uZ2x5cGhpY29uLWxpbmsgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ0XCI7IH0gfVxuLmdseXBoaWNvbi1waG9uZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NVwiOyB9IH1cbi5nbHlwaGljb24tcHVzaHBpbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDZcIjsgfSB9XG4uZ2x5cGhpY29uLXVzZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ4XCI7IH0gfVxuLmdseXBoaWNvbi1nYnAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0OVwiOyB9IH1cbi5nbHlwaGljb24tc29ydCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUxXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdCAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MlwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlciAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTNcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktb3JkZXItYWx0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU0XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NVwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzLWFsdCB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTZcIjsgfSB9XG4uZ2x5cGhpY29uLXVuY2hlY2tlZCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU3XCI7IH0gfVxuLmdseXBoaWNvbi1leHBhbmQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1OFwiOyB9IH1cbi5nbHlwaGljb24tY29sbGFwc2UtZG93biAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTlcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbGxhcHNlLXVwICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYwXCI7IH0gfVxuLmdseXBoaWNvbi1sb2ctaW4gICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MVwiOyB9IH1cbi5nbHlwaGljb24tZmxhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjJcIjsgfSB9XG4uZ2x5cGhpY29uLWxvZy1vdXQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYzXCI7IH0gfVxuLmdseXBoaWNvbi1uZXctd2luZG93ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NFwiOyB9IH1cbi5nbHlwaGljb24tcmVjb3JkICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjVcIjsgfSB9XG4uZ2x5cGhpY29uLXNhdmUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY2XCI7IH0gfVxuLmdseXBoaWNvbi1vcGVuICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2N1wiOyB9IH1cbi5nbHlwaGljb24tc2F2ZWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjhcIjsgfSB9XG4uZ2x5cGhpY29uLWltcG9ydCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY5XCI7IH0gfVxuLmdseXBoaWNvbi1leHBvcnQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MFwiOyB9IH1cbi5nbHlwaGljb24tc2VuZCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzFcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1kaXNrICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcyXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktc2F2ZWQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3M1wiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXJlbW92ZSAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzRcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc1XCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktb3BlbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NlwiOyB9IH1cbi5nbHlwaGljb24tY3JlZGl0LWNhcmQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzdcIjsgfSB9XG4uZ2x5cGhpY29uLXRyYW5zZmVyICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc4XCI7IH0gfVxuLmdseXBoaWNvbi1jdXRsZXJ5ICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3OVwiOyB9IH1cbi5nbHlwaGljb24taGVhZGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODBcIjsgfSB9XG4uZ2x5cGhpY29uLWNvbXByZXNzZWQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgxXCI7IH0gfVxuLmdseXBoaWNvbi1lYXJwaG9uZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MlwiOyB9IH1cbi5nbHlwaGljb24tcGhvbmUtYWx0ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODNcIjsgfSB9XG4uZ2x5cGhpY29uLXRvd2VyICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg0XCI7IH0gfVxuLmdseXBoaWNvbi1zdGF0cyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NVwiOyB9IH1cbi5nbHlwaGljb24tc2QtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODZcIjsgfSB9XG4uZ2x5cGhpY29uLWhkLXZpZGVvICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg3XCI7IH0gfVxuLmdseXBoaWNvbi1zdWJ0aXRsZXMgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4OFwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtc3RlcmVvICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODlcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLWRvbGJ5ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkwXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC01LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MVwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNi0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTJcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTctMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkzXCI7IH0gfVxuLmdseXBoaWNvbi1jb3B5cmlnaHQtbWFyayAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5NFwiOyB9IH1cbi5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcmsgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTVcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkLWRvd25sb2FkICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk3XCI7IH0gfVxuLmdseXBoaWNvbi1jbG91ZC11cGxvYWQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5OFwiOyB9IH1cbi5nbHlwaGljb24tdHJlZS1jb25pZmVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAwXCI7IH0gfVxuIiwiLy9cbi8vIFNjYWZmb2xkaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFJlc2V0IHRoZSBib3gtc2l6aW5nXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgcmVzZXQgbWF5IGNhdXNlIGNvbmZsaWN0cyB3aXRoIHNvbWUgdGhpcmQtcGFydHkgd2lkZ2V0cy5cbi8vIEZvciByZWNvbW1lbmRhdGlvbnMgb24gcmVzb2x2aW5nIHN1Y2ggY29uZmxpY3RzLCBzZWVcbi8vIGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jdGhpcmQtYm94LXNpemluZ1xuKiB7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG59XG5cblxuLy8gQm9keSByZXNldFxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmc7XG59XG5cbi8vIFJlc2V0IGZvbnRzIGZvciByZWxldmFudCBlbGVtZW50c1xuaW5wdXQsXG5idXR0b24sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cbi8vIExpbmtzXG5cbmEge1xuICBjb2xvcjogQGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBAbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgLnRhYi1mb2N1cygpO1xuICB9XG59XG5cblxuLy8gRmlndXJlc1xuLy9cbi8vIFdlIHJlc2V0IHRoaXMgaGVyZSBiZWNhdXNlIHByZXZpb3VzbHkgTm9ybWFsaXplIGhhZCBubyBgZmlndXJlYCBtYXJnaW5zLiBUaGlzXG4vLyBlbnN1cmVzIHdlIGRvbid0IGJyZWFrIGFueW9uZSdzIHVzZSBvZiB0aGUgZWxlbWVudC5cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5cbi8vIEltYWdlc1xuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cylcbi5pbWctcmVzcG9uc2l2ZSB7XG4gIC5pbWctcmVzcG9uc2l2ZSgpO1xufVxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi5pbWctcm91bmRlZCB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xufVxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byB0aHVtYm5haWxzLmxlc3MgZm9yIGAudGh1bWJuYWlsYC5cbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogQHRodW1ibmFpbC1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0aHVtYm5haWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEB0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM7XG4gIC50cmFuc2l0aW9uKGFsbCAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gIC8vIEtlZXAgdGhlbSBhdCBtb3N0IDEwMCUgd2lkZVxuICAuaW1nLXJlc3BvbnNpdmUoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBzZXQgcmFkaXVzIGluIHBlcmNlbnRzXG59XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICAgIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAaHItYm9yZGVyO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsMCwwLDApO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFVzZSBpbiBjb25qdW5jdGlvbiB3aXRoIC5zci1vbmx5IHRvIG9ubHkgZGlzcGxheSBjb250ZW50IHdoZW4gaXQncyBmb2N1c2VkLlxuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vLyBDcmVkaXQ6IEhUTUw1IEJvaWxlcnBsYXRlXG5cbi5zci1vbmx5LWZvY3VzYWJsZSB7XG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgfVxufVxuIiwiLy9cbi8vIE1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVXRpbGl0aWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENsZWFyZml4XG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi5jbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiOyAvKiAxICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDIgKi9cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBXZWJraXQtc3R5bGUgZm9jdXNcbi50YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gIC8vIFdlYmtpdFxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG4uY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gU2l6aW5nIHNob3J0Y3V0c1xuLnNpemUoQHdpZHRoOyBAaGVpZ2h0KSB7XG4gIHdpZHRoOiBAd2lkdGg7XG4gIGhlaWdodDogQGhlaWdodDtcbn1cbi5zcXVhcmUoQHNpemUpIHtcbiAgLnNpemUoQHNpemU7IEBzaXplKTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuLnBsYWNlaG9sZGVyKEBjb2xvcjogQGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gICY6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAgIHsgY29sb3I6IEBjb2xvcjsgfSAvLyBGaXJlZm94IDQtMThcbiAgJjo6LW1vei1wbGFjZWhvbGRlciAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyAgIC8vIEZpcmVmb3ggMTkrXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfSAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbiAgJi5wbGFjZWhvbGRlciAgICAgICAgICAgICAgICAgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEZhbGxiYWNrXG59XG5cbi5wbGFjZWhvbGRlci1oZWlnaHQoQGhlaWdodCkge1xuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVpZ2h0O1xuICB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVpZ2h0O1xuICB9XG4gICYucGxhY2Vob2xkZXIge1xuICAgIGxpbmUtaGVpZ2h0OiBAaGVpZ2h0O1xuICB9XG59XG5cbi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcbi50ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4udGV4dC1oaWRlKCkge1xuICBmb250OiB+XCIwLzBcIiBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBDU1MzIFBST1BFUlRJRVNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5ib3JkZXItcmFkaXVzIChAcmFkaXVzOiA1cHgpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICAtbW96LWJvcmRlci1yYWRpdXM6ICAgIEByYWRpdXM7XG4gIGJvcmRlci1yYWRpdXM6ICAgICAgICAgQHJhZGl1cztcblxuICAtbW96LWJhY2tncm91bmQtY2xpcDogICAgcGFkZGluZztcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBiYWNrZ3JvdW5kLWNsaXA6ICAgICAgICAgcGFkZGluZy1ib3g7XG59XG5cbi5tYXNrKEBhcmd1bWVudHMpIHtcbiAgLXdlYmtpdC1tYXNrOiBAYXJndW1lbnRzO1xuICAgICAgICAgIG1hc2s6IEBhcmd1bWVudHM7XG59XG5cbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcbi5ib3JkZXItdG9wLXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItcmlnaHQtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1ib3R0b20tcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1sZWZ0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG4gICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLmJveC1zaGFkb3coQHNoYWRvdykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IEBzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi50cmFuc2l0aW9uKEB0cmFuc2l0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG4udHJhbnNpdGlvbi1wcm9wZXJ0eShAdHJhbnNpdGlvbi1wcm9wZXJ0eSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IEB0cmFuc2l0aW9uLXByb3BlcnR5O1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IEB0cmFuc2l0aW9uLXByb3BlcnR5O1xufVxuLnRyYW5zaXRpb24tZGVsYXkoQHRyYW5zaXRpb24tZGVsYXkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiBAdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiBAdHJhbnNpdGlvbi1kZWxheTtcbn1cbi50cmFuc2l0aW9uLWR1cmF0aW9uKEB0cmFuc2l0aW9uLWR1cmF0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb24tZHVyYXRpb247XG59XG4udHJhbnNpdGlvbi10cmFuc2Zvcm0oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbi5yb3RhdGUoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xufVxuLnNjYWxlKEByYXRpbzsgQHJhdGlvLXkuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbywgQHJhdGlvLXkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvLCBAcmF0aW8teSk7IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8sIEByYXRpby15KTtcbn1cbi50cmFuc2xhdGUoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbn1cbi5za2V3KEB4OyBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgICAgIHRyYW5zZm9ybTogc2tldyhAeCwgQHkpO1xufVxuLnRyYW5zbGF0ZTNkKEB4OyBAeTsgQHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG59XG5cbi5yb3RhdGVYKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTtcbn1cbi5yb3RhdGVZKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpOyAvLyBJRTkrXG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTtcbn1cbi5wZXJzcGVjdGl2ZShAcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbn1cbi5wZXJzcGVjdGl2ZS1vcmlnaW4oQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG4gICAgICAgICAgcGVyc3BlY3RpdmUtb3JpZ2luOiBAcGVyc3BlY3RpdmU7XG59XG4udHJhbnNmb3JtLW9yaWdpbihAb3JpZ2luKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luO1xuICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47IC8vIElFOSBvbmx5XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbn1cblxuLy8gQW5pbWF0aW9uc1xuLmFuaW1hdGlvbihAYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbn1cbi5hbmltYXRpb24tbmFtZShAbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBAbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogQG5hbWU7XG59XG4uYW5pbWF0aW9uLWR1cmF0aW9uKEBkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogQGR1cmF0aW9uO1xufVxuLmFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oQHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbn1cbi5hbmltYXRpb24tZGVsYXkoQGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiBAZGVsYXk7XG59XG4uYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudChAaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogQGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBAaXRlcmF0aW9uLWNvdW50O1xufVxuLmFuaW1hdGlvbi1kaXJlY3Rpb24oQGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbn1cblxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuLy8gU2VlIGdpdCBwdWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9kYW5ueWtlYW5lL2Jvb3RzdHJhcC5naXQgYmFja2ZhY2UtdmlzaWJpbGl0eSBmb3IgZXhhbXBsZXNcbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbn1cblxuLy8gQmFja2dyb3VuZCBjbGlwXG4uYmFja2dyb3VuZC1jbGlwKEBjbGlwOiBib3JkZXItYm94KSB7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbiAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogQGNsaXA7XG59XG5cbi8vIEJveCBzaXppbmdcbi5ib3gtc2l6aW5nKEBib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogQGJveG1vZGVsO1xufVxuLy8gQmFja2dyb3VuZCBzaXppbmdcbi5iYWNrZ3JvdW5kLXNpemUoQHNpemUpIHtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgICAgLW8tYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xufVxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0OyAvLyBJRTEwK1xuICAgICAgIC1vLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xufVxuXG4vLyBSZXNpemUgYW55dGhpbmdcbi5yZXNpemFibGUoQGRpcmVjdGlvbikge1xuICByZXNpemU6IEBkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBTYWZhcmkgZml4XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG4uY29udGVudC1jb2x1bW5zKEBjb2x1bW4tY291bnQ7IEBjb2x1bW4tZ2FwOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiBAY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbi5oeXBoZW5zKEBtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBAbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiBAbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBAbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiBAbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiBAbW9kZTtcbn1cblxuLy8gT3BhY2l0eVxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogQG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgQG9wYWNpdHktaWU6IChAb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogflwiYWxwaGEob3BhY2l0eT1Ae29wYWNpdHktaWV9KVwiO1xufVxuXG5cblxuLy8gR1JBRElFTlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jZ3JhZGllbnQge1xuXG4gIC8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuICAvL1xuICAvLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuICAvLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuICAuaG9yaXpvbnRhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgY29sb3Itc3RvcChAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQpLCBjb2xvci1zdG9wKEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KSk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4gIC8vXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4gIC8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG4gIC52ZXJ0aWNhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cblxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAZGVnOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICB9XG4gIC5ob3Jpem9udGFsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAudmVydGljYWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIH1cbiAgLnJhZGlhbChAaW5uZXItY29sb3I6ICM1NTU7IEBvdXRlci1jb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lci1jb2xvciwgQG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5zdHJpcGVkKEBjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpOyBAYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG5cbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuLnJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiKSk7XG59XG5cblxuXG4vLyBSZXRpbmEgaW1hZ2VzXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplXG5cbi5pbWctcmV0aW5hKEBmaWxlLTF4OyBAZmlsZS0yeDsgQHdpZHRoLTF4OyBAaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmlsZS0xeH1cIik7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTJ4fVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IEB3aWR0aC0xeCBAaGVpZ2h0LTF4O1xuICB9XG59XG5cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5cbi5pbWctcmVzcG9uc2l2ZShAZGlzcGxheTogYmxvY2s7KSB7XG4gIGRpc3BsYXk6IEBkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4ucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCkge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB0ciYgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCYsXG4gIHRkJiB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4ucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKSB7XG4gICAgJixcbiAgdHImLFxuICB0aCYsXG4gIHRkJiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuXG4vLyBHcmlkIFN5c3RlbVxuLy8gLS0tLS0tLS0tLS1cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbi5jb250YWluZXItZml4ZWQoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogIChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICAuY2xlYXJmaXgoKTtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbi5tYWtlLXJvdyhAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLWxlZnQ6ICAoQGd1dHRlciAvIC0yKTtcbiAgbWFyZ2luLXJpZ2h0OiAoQGd1dHRlciAvIC0yKTtcbiAgLmNsZWFyZml4KCk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG4ubWFrZS14cy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcbn1cbi5tYWtlLXhzLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4teHMtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS14cy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi14cy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UteHMtY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4teHMtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXNtLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbi5tYWtlLW1kLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuLm1ha2UtbGctY29sdW1uKEBjb2x1bW5zOyBAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogIChAZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tb2Zmc2V0KEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1c2goQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG5cbi8vIENPTVBPTkVOVCBNSVhJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENvbG9yIHN3YXRjaGVzIGdyaWRcbi5jYWxjLWNvbG9yKEBmaXJzdC1jb2xvciwgQHNlY29uZC1jb2xvcikge1xuICAucGFsZXR0ZS1Ae2ZpcnN0LWNvbG9yfSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogflwiQHtAe2ZpcnN0LWNvbG9yfX1cIjtcbiAgfVxuICAucGFsZXR0ZS1Ae3NlY29uZC1jb2xvcn0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IH5cIkB7QHtzZWNvbmQtY29sb3J9fVwiO1xuICB9ICBcbn1cblxuLy8gRHJvcGRvd24gYXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kcm9wZG93bi1hcnJvdyhAY29sb3I6IEBicmFuZC1wcmltYXJ5OyBAdG9wOiA1cHg7IEBsZWZ0OiAxNXB4OyBAc2l6ZTogOXB4KSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEBzaXplIEBzaXplIEBzaXplO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgQGNvbG9yIHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogQGxlZnQ7XG4gICAgdG9wOiBAdG9wO1xuICAgIHdpZHRoOiAwO1xuICAgIC8vIE1ha2UgY29ybmVycyBzbW9vdGhcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHZhcmlhbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcbi5idXR0b24tdmFyaWFudChAY29sb3I7IEBiYWNrZ3JvdW5kOyBAaG92ZXItYmFja2dyb3VuZDsgQGFjdGl2ZS1iYWNrZ3JvdW5kOyBAZGlzYWJsZWQtYmFja2dyb3VuZDogQGdyYXktbGlnaHQpIHtcbiAgY29sb3I6IEBjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiAuZHJvcGRvd24tdG9nZ2xlJiB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXItYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6IEBob3Zlci1iYWNrZ3JvdW5kO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSYge1xuICAgIGJhY2tncm91bmQ6IEBhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6IEBhY3RpdmUtYmFja2dyb3VuZDtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uLXNpemUoQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcbn1cblxuLy8gU29jaWFsIGJ1dHRvbiB2YXJpYW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNvY2lhbC1idXR0b24tdmFyaWFudChAY29sb3I7IEBiYWNrZ3JvdW5kKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAYmFja2dyb3VuZCwgd2hpdGUsIDgwJSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQGJhY2tncm91bmQsIGJsYWNrLCA4NSUpO1xuICB9XG59XG5cbi5zd2FwLWRpYWxvZy1jb2xvcihAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBjb2xvciwgd2hpdGUsIDklKTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogbWl4KEBjb2xvciwgd2hpdGUsIDIwJSk7XG59XG5cbi5kcm9wZG93bi1hcnJvdy1pbnZlcnNlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogQGJyYW5kLXByaW1hcnkgIWltcG9ydGFudDtcbn1cblxuLnN3YXAtaWNvbmJhci1jb2xvcihAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICA+IHVsIHtcbiAgICA+IGxpIHtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogbWl4KEBjb2xvciwgYmxhY2ssIDY2JSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gYSB7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiBtaXgoQGNvbG9yLCBibGFjaywgNjYlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaWNvbmJhci11bnJlYWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQGNvbG9yLCBibGFjaywgNjYlKTsgfVxufVxuXG4uc3dhcC1wYWdpbmF0aW9uLWNvbG9yKEBjb2xvciwgQGhvdmVyLCBAYWN0aXZlKSB7XG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG5cbiAgICBsaSB7XG4gICAgICAmLnByZXZpb3VzIHtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IG1peChAY29sb3IsIHdoaXRlLCA2NiUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+IGEsID4gc3BhbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtaXgoQGNvbG9yLCB3aGl0ZSwgNjYlKTtcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgPiBhLCA+IHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5wYWdpbmF0aW9uLWRyb3Bkb3duLmRyb3B1cCB7XG4gICAgICAgIC5kcm9wZG93bi1hcnJvdyB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmxhYmVsLXZhcmlhbnQoQGNvbG9yLCBAaG92ZXItY29sb3IsIEB0ZXh0LWNvbG9yOiBAaW52ZXJzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgXG4gICZbaHJlZl0ge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uYmctdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICBhJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgfVxufVxuXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udGV4dC1lbXBoYXNpcy12YXJpYW50KEBjb2xvcikge1xuICBjb2xvcjogQGNvbG9yO1xuICBhJjpob3ZlciB7XG4gICAgY29sb3I6IG1peChAY29sb3IsIGJsYWNrLCA4MCUpO1xuICB9XG59XG5cbi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cbi5uYXZiYXItdmVydGljYWwtYWxpZ24oQGVsZW1lbnQtaGVpZ2h0OyBAbmF2YmFyLWhlaWdodDogQG5hdmJhci1oZWlnaHQtYmFzZSkge1xuICBwYWRkaW5nLXRvcDogKChAbmF2YmFyLWhlaWdodCAtIEBlbGVtZW50LWhlaWdodCkgLyAyKTtcbiAgcGFkZGluZy1ib3R0b206ICgoQG5hdmJhci1oZWlnaHQgLSBAZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG5cbi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG4uZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHRleHQtY29sb3I6IEBicmFuZC1wcmltYXJ5OyBAYm9yZGVyLWNvbG9yOiBAZ3JheS1saWdodDsgQGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnNlKSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvcjtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgICAucGxhY2Vob2xkZXIoQHRleHQtY29sb3IpO1xuICAgIFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgICAgLmJveC1zaGFkb3cobm9uZSk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYEBpbnB1dC1mb2N1cy1ib3JkZXJgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5cbi5mb3JtLWNvbnRyb2wtZm9jdXMoQGNvbG9yOiBAYnJhbmQtc2Vjb25kYXJ5KSB7XG4gIC5mb3JtLWdyb3VwLmZvY3VzICYsXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG5cbi5pbnB1dC1zaXplKEBpbnB1dC1oZWlnaHQ7IEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZSkge1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XG5cbiAgc2VsZWN0JiB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEmLFxuICBzZWxlY3RbbXVsdGlwbGVdJiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi8vIFJlc2V0IHJvdW5kZWQgY29ybmVycyBmb3IgZm9ybSBjb250cm9sc1xuLy9cbi5mb3JtLWNvbnRyb2xzLWNvcm5lcnMtcmVzZXQoKSB7XG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuICAuaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLFxuICAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gICAgLmJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbiAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbiAgLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsXG4gIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4gIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4gIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuICB9XG59XG5cbi8vIFNwaW5uZXIgdmFyaWFudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zcGlubmVyLXZhcmlhbnQoQHVwLWJ0bi1oZWlnaHQ7IEBkb3duLWJ0bi1oZWlnaHQ7IEBsaW5lLWhlaWdodCkge1xuICAmICsgLnVpLXNwaW5uZXItYnV0dG9uIHtcbiAgICBoZWlnaHQ6IEB1cC1idG4taGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIH1cbiAgJiArIC51aS1zcGlubmVyLWJ1dHRvbiArIC51aS1zcGlubmVyLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBAZG93bi1idG4taGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIH1cbn0iLCIvLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0IGZvciBib2R5IHRleHQsIGhlYWRpbmdzIGFuZCBtb3JlXG5cbi8vIENvbG9yIHN3YXRjaGVzXG5AcHVycGxlOiBcdFx0ICAgICAjNGIyZTgzO1xuQGdyYXk6ICBcdFx0ICAgICAjZDlkOWQ5O1xuQGRhcmtncmF5Olx0ICAgICAjNUE1QTVBO1xuQGxpbms6IFx0XHRcdCAgICAgIzAwODhERDtcbkBicmlnaHRnb2xkOiAgICAgI2ZmZDgwMDtcbkB1bHRyYWxpZ2h0Z29sZDogI2U4ZTNkMztcbkBsaWdodGdvbGQ6XHRcdCAgICNiN2E1N2E7XG5AZGFya2dvbGQ6IFx0XHQgICAjODU3NTRkO1xuXG5cbi8vIEZvbnRzXG5AZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XG5AZm9udC1mYW1pbHktaGVhZGxpbmU6ICAgICAgXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbkBmb250LWZhbWlseS1oMTogICAgICAgICAgICBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuQGZvbnQtZmFtaWx5LWRhd2dkcm9wczogICAgIFwiRW5jb2RlIFNhbnMgQ29tcHJlc3NlZFwiLCBzYW5zLXNlcmlmO1xuXG5AZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgMTZweDtcbkBmb250LXdlaWdodC1iYXNlOiAgXHRcdCAgICBub3JtYWw7XG5AZm9udC1jb2xvci1iYXNlOlx0XHRcdCAgICAgICMzRDNEM0Q7XG5cbkBoZWFkaW5ncy1mb250LWZhbWlseTogXHRcdEBmb250LWZhbWlseS1oZWFkbGluZTtcblxuXG5AZm9udC1zaXplLWgxOiAgICAgICAgICAgICAgZmxvb3IoQGZvbnQtc2l6ZS1iYXNlICogMi4zKTsgXG5AZm9udC1zaXplLWgyOiAgICAgICAgICAgICAgY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjgpOyBcbkBmb250LXNpemUtaDM6ICAgICAgICAgICAgICBjZWlsKEBmb250LXNpemUtYmFzZSAqIDEuNCk7IFxuQGZvbnQtc2l6ZS1oNDogICAgICAgICAgICAgIGNlaWwoQGZvbnQtc2l6ZS1iYXNlICogMS4yKTsgXG5AZm9udC1zaXplLWg1OiAgICAgICAgICAgICAgZmxvb3IoQGZvbnQtc2l6ZS1iYXNlICogMS4xMTEpOyBcbkBmb250LXNpemUtaDY6ICAgICAgICAgICAgICBjZWlsKEBmb250LXNpemUtYmFzZSAqIDEuMTExKTsgXG5cbkBoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAxLjM7XG5cblxuXG5AbG9jYWwtZm9udC1wYXRoOiAgICAgICAgICAgXHRcImFzc2V0cy9mb250cy9cIjtcbkBsb2NhbC1mb250LW5hbWUtdGhpbjpcdFx0XHRcImVuY29kZXNhbnNjb21wcmVzc2VkLTEwMC10aGluLXdlYmZvbnRcIjtcbkBsb2NhbC1mb250LW5hbWUtZXh0cmFsaWdodDpcdFwiZW5jb2Rlc2Fuc2NvbXByZXNzZWQtMjAwLWV4dHJhbGlnaHQtd2ViZm9udFwiO1xuQGxvY2FsLWZvbnQtbmFtZS1saWdodDpcdFx0XHRcImVuY29kZXNhbnNjb21wcmVzc2VkLTMwMC1saWdodC13ZWJmb250LmVvdFwiO1xuQGxvY2FsLWZvbnQtbmFtZS1yZWd1bGFyOlx0XHRcImVuY29kZXNhbnNjb25kZW5zZWQtNDAwLXJlZ3VsYXItd2ViZm9udFwiO1xuQGxvY2FsLWZvbnQtbmFtZS1tZWRpdW06XHRcdFwiZW5jb2Rlc2Fuc2NvbmRlbnNlZC01MDAtbWVkaXVtLXdlYmZvbnRcIjtcbkBsb2NhbC1mb250LW5hbWUtc2VtaWJvbGQ6XHRcdFwiZW5jb2Rlc2Fuc2NvbXByZXNzZWQtNjAwLXNlbWlib2xkLXdlYmZvbnRcIjtcbkBsb2NhbC1mb250LW5hbWUtYm9sZDpcdFx0XHRcImVuY29kZXNhbnNjb21wcmVzc2VkLTcwMC1ib2xkLXdlYmZvbnRcIjtcbkBsb2NhbC1mb250LW5hbWUtZXh0cmFib2xkOlx0XHRcImVuY29kZXNhbnNjb21wcmVzc2VkLTgwMC1leHRyYWJvbGQtd2ViZm9udFwiO1xuQGxvY2FsLWZvbnQtbmFtZS1ibGFjazogXHRcdFwiZW5jb2Rlc2Fuc2NvbXByZXNzZWQtOTAwLWJsYWNrLXdlYmZvbnRcIjtcblxuLy8gVmFyaWFibGUgaGVhZGxpbmUgd2VpZ2h0XG5AdWx0cmEtZm9udC13ZWlnaHQ6IFx0XHQ5MDA7XG5AaGVhZGluZ3MtZm9udC13ZWlnaHQ6XHRcdDcwMDtcbkBib2R5LWZvbnQtd2VpZ2h0Olx0XHRcdDMwMDtcblxuXG5cbi8vIEljb25vZ3JhcGh5XG5AaWNvbi1mb250LXBhdGg6ICAgICAgICAgICAgXCJhc3NldHMvaWNvbnMvXCI7XG5AaWNvbi1mb250LW5hbWU6ICAgICAgICAgICAgXCJmbGF0LXVpLWljb25zLXJlZ3VsYXJcIjtcbkBpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgICBcImZsYXQtdWktaWNvbnMtcmVndWxhclwiO1xuXG4vLyBJbWFnZSBhc3NldHNcbkBsb2NhbC1pbWFnZS1wYXRoOiAgICAgICAgICAgXCJhc3NldHMvaW1hZ2VzL1wiO1xuXG4vLyBCcmFuZCBjb2xvcnNcbkBicmFuZC1wcmltYXJ5OiAgICAgICAgICAgICBAcHVycGxlO1xuQGJyYW5kLXNlY29uZGFyeTogICAgICAgICAgIEBwdXJwbGU7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbkBsaW5rLWNvbG9yOiAgICAgICAgICAgICAgICBAbGluaztcbkBsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBAZ3JheTtcblxuLy8gU2xpZGVzaG93IGRpc3BsYXllZCBvbiBmcm9udCBwYWdlXG5Ac2xpZGVzaG93X2hlaWdodCA6IDYwMHB4O1xuQG1vYmlsZV9zbGlkZXNob3dfaGVpZ2h0OiAzNTBweDtcbkBtb2JpbGVfc2xpZGVzaG93X3RleHRfYm94X2hlaWdodDogMjUwcHg7IiwiLy9cbi8vIFRodW1ibmFpbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTWl4aW4gYW5kIGFkanVzdCB0aGUgcmVndWxhciBpbWFnZSBjbGFzc1xuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiBAdGh1bWJuYWlsLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICAudHJhbnNpdGlvbihib3JkZXIgLjJzIGVhc2UtaW4tb3V0KTtcblxuICA+IGltZyxcbiAgYSA+IGltZyB7XG4gICAgJjpleHRlbmQoLmltZy1yZXNwb25zaXZlKTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyBBZGQgYSBob3ZlciBzdGF0ZSBmb3IgbGlua2VkIHZlcnNpb25zIG9ubHlcbiAgYSY6aG92ZXIsXG4gIGEmOmZvY3VzLFxuICBhJi5hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogQGxpbmstY29sb3I7XG4gIH1cblxuICAvLyBJbWFnZSBjYXB0aW9uc1xuICAuY2FwdGlvbiB7XG4gICAgcGFkZGluZzogQHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc7XG4gICAgY29sb3I6IEB0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIENhcm91c2VsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgZm9yIHRoZSBzbGlkZSBjb250YWluZXIgYW5kIGluZGljYXRvcnNcbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAudHJhbnNpdGlvbiguNnMgZWFzZS1pbi1vdXQgbGVmdCk7XG5cbiAgICAvLyBBY2NvdW50IGZvciBqYW5raXR1ZGUgb24gaW1hZ2VzXG4gICAgPiBpbWcsXG4gICAgPiBhID4gaW1nIHtcbiAgICAgICY6ZXh0ZW5kKC5pbWctcmVzcG9uc2l2ZSk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAvLyBXZWJLaXQgQ1NTMyB0cmFuc2Zvcm1zIGZvciBzdXBwb3J0ZWQgZGV2aWNlc1xuICAgIEBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBwZXJzcGVjdGl2ZTogMTAwMDtcblxuICAgICAgJi5uZXh0LFxuICAgICAgJi5hY3RpdmUucmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5uZXh0LmxlZnQsXG4gICAgICAmLnByZXYucmlnaHQsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlLFxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLm5leHQsXG4gID4gLnByZXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5uZXh0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG4gID4gLnByZXYge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLm5leHQubGVmdCxcbiAgPiAucHJldi5yaWdodCB7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gID4gLmFjdGl2ZS5sZWZ0IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5hY3RpdmUucmlnaHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cblxufVxuXG4vLyBMZWZ0L3JpZ2h0IGNvbnRyb2xzIGZvciBuYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2Fyb3VzZWwtY29udHJvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiBAY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgLm9wYWNpdHkoQGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eSk7XG4gIGZvbnQtc2l6ZTogQGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplO1xuICBjb2xvcjogQGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IEBjYXJvdXNlbC10ZXh0LXNoYWRvdztcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgI2dyYWRpZW50ID4gLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC41KTsgQGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSkpO1xuICB9XG4gICYucmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgI2dyYWRpZW50ID4gLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKTsgQGVuZC1jb2xvcjogcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gSG92ZXIvZm9jdXMgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBjb2xvcjogQGNhcm91c2VsLWNvbnRyb2wtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC5vcGFjaXR5KC45KTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHdpZHRoOiAgMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICB9XG5cblxuICAuaWNvbi1wcmV2IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDM5JzsvLyBTSU5HTEUgTEVGVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDM5KVxuICAgIH1cbiAgfVxuICAuaWNvbi1uZXh0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDNhJzsvLyBTSU5HTEUgUklHSFQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzQSlcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gdW5vcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAgMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOC05IGhhY2sgZm9yIGV2ZW50IGhhbmRsaW5nXG4gICAgLy9cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciA4LTkgZG9lcyBub3Qgc3VwcG9ydCBjbGlja3Mgb24gZWxlbWVudHMgd2l0aG91dCBhIHNldFxuICAgIC8vIGBiYWNrZ3JvdW5kLWNvbG9yYC4gV2UgY2Fubm90IHVzZSBgZmlsdGVyYCBzaW5jZSB0aGF0J3Mgbm90IHZpZXdlZCBhcyBhXG4gICAgLy8gYmFja2dyb3VuZCBjb2xvciBieSB0aGUgYnJvd3Nlci4gVGh1cywgYSBoYWNrIGlzIG5lZWRlZC5cbiAgICAvL1xuICAgIC8vIEZvciBJRTgsIHdlIHNldCBzb2xpZCBibGFjayBhcyBpdCBkb2Vzbid0IHN1cHBvcnQgYHJnYmEoKWAuIEZvciBJRTksIHdlXG4gICAgLy8gc2V0IGFscGhhIHRyYW5zcGFyZW5jeSBmb3IgdGhlIGJlc3QgcmVzdWx0cyBwb3NzaWJsZS5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIFxcOTsgLy8gSUU4XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwKTsgLy8gSUU5XG4gIH1cbiAgLmFjdGl2ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAgMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgY2FwdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIaWRkZW4gYnkgZGVmYXVsdCBmb3Igc21hbGxlciB2aWV3cG9ydHNcbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxNSU7XG4gIHJpZ2h0OiAxNSU7XG4gIGJvdHRvbTogMjBweDtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6IEBjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiBAY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gICYgLmJ0biB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7IC8vIE5vIHNoYWRvdyBmb3IgYnV0dG9uIGVsZW1lbnRzIGluIGNhcm91c2VsLWNhcHRpb25cbiAgfVxufVxuXG5cbi8vIFNjYWxlIHVwIGNvbnRyb2xzIGZvciB0YWJsZXRzIGFuZCB1cFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcblxuICAvLyBTY2FsZSB1cCB0aGUgY29udHJvbHMgYSBzbWlkZ2VcbiAgLmNhcm91c2VsLWNvbnRyb2wge1xuICAgIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuICAgIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCxcbiAgICAuaWNvbi1wcmV2LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgfVxuICAgIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCxcbiAgICAuaWNvbi1uZXh0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgfVxuICB9XG5cbiAgLy8gU2hvdyBhbmQgbGVmdCBhbGlnbiB0aGUgY2FwdGlvbnNcbiAgLmNhcm91c2VsLWNhcHRpb24ge1xuICAgIGxlZnQ6IDIwJTtcbiAgICByaWdodDogMjAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLy8gTW92ZSB1cCB0aGUgaW5kaWNhdG9yc1xuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgYm90dG9tOiAyMHB4O1xuICB9XG59XG4iLCIvLyBWZW5kb3IgUHJlZml4ZXNcbi8vXG4vLyBBbGwgdmVuZG9yIG1peGlucyBhcmUgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgZHVlIHRvIHRoZSBpbnRyb2R1Y3Rpb24gb2Zcbi8vIEF1dG9wcmVmaXhlciBpbiBvdXIgR3J1bnRmaWxlLiBUaGV5IHdpbGwgYmUgcmVtb3ZlZCBpbiB2NC5cblxuLy8gLSBBbmltYXRpb25zXG4vLyAtIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIC0gQm94IHNoYWRvd1xuLy8gLSBCb3ggc2l6aW5nXG4vLyAtIENvbnRlbnQgY29sdW1uc1xuLy8gLSBIeXBoZW5zXG4vLyAtIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0gVHJhbnNmb3JtYXRpb25zXG4vLyAtIFRyYW5zaXRpb25zXG4vLyAtIFVzZXIgU2VsZWN0XG5cblxuLy8gQW5pbWF0aW9uc1xuLmFuaW1hdGlvbihAYW5pbWF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xuICAgICAgIC1vLWFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbiAgICAgICAgICBhbmltYXRpb246IEBhbmltYXRpb247XG59XG4uYW5pbWF0aW9uLW5hbWUoQG5hbWUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogQG5hbWU7XG4gICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IEBuYW1lO1xufVxuLmFuaW1hdGlvbi1kdXJhdGlvbihAZHVyYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbn1cbi5hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKEB0aW1pbmctZnVuY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG59XG4uYW5pbWF0aW9uLWRlbGF5KEBkZWxheSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogQGRlbGF5O1xuICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogQGRlbGF5O1xufVxuLmFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoQGl0ZXJhdGlvbi1jb3VudCkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IEBpdGVyYXRpb24tY291bnQ7XG4gICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogQGl0ZXJhdGlvbi1jb3VudDtcbn1cbi5hbmltYXRpb24tZGlyZWN0aW9uKEBkaXJlY3Rpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IEBkaXJlY3Rpb247XG59XG4uYW5pbWF0aW9uLWZpbGwtbW9kZShAZmlsbC1tb2RlKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogQGZpbGwtbW9kZTtcbiAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBAZmlsbC1tb2RlO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuYFxuXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSl7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLy9cbi8vIE5vdGU6IERlcHJlY2F0ZWQgYC5ib3gtc2hhZG93KClgIGFzIG9mIHYzLjEuMCBzaW5jZSBhbGwgb2YgQm9vdHN0cmFwJ3Ncbi8vIHN1cHBvcnRlZCBicm93c2VycyB0aGF0IGhhdmUgYm94IHNoYWRvdyBjYXBhYmlsaXRpZXMgbm93IHN1cHBvcnQgaXQuXG5cbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6IEBzaGFkb3c7XG59XG5cbi8vIEJveCBzaXppbmdcbi5ib3gtc2l6aW5nKEBib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogQGJveG1vZGVsO1xufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuLmNvbnRlbnQtY29sdW1ucyhAY29sdW1uLWNvdW50OyBAY29sdW1uLWdhcDogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogQGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogQG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogQG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogQG1vZGU7IC8vIElFMTArXG4gICAgICAgLW8taHlwaGVuczogQG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogQG1vZGU7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbi5wbGFjZWhvbGRlcihAY29sb3I6IEBpbnB1dC1jb2xvci1wbGFjZWhvbGRlcikge1xuICAvLyBGaXJlZm94XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gICAgb3BhY2l0eTogMTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4uc2NhbGUoQHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnNjYWxlKEByYXRpb1g7IEByYXRpb1kpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZShAcmF0aW9YLCBAcmF0aW9ZKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xufVxuLnNjYWxlWChAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xufVxuLnNjYWxlWShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xufVxuLnNrZXcoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7XG59XG4udHJhbnNsYXRlKEB4OyBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4udHJhbnNsYXRlM2QoQHg7IEB5OyBAeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbn1cbi5yb3RhdGUoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4ucm90YXRlWChAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG59XG4ucm90YXRlWShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG59XG4ucGVyc3BlY3RpdmUoQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG59XG4ucGVyc3BlY3RpdmUtb3JpZ2luKEBwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xufVxuLnRyYW5zZm9ybS1vcmlnaW4oQG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi50cmFuc2l0aW9uLXByb3BlcnR5KEB0cmFuc2l0aW9uLXByb3BlcnR5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihAdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG59XG4udHJhbnNpdGlvbi10cmFuc2Zvcm0oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IEBoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IEBoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6IEBoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBAaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6IEBmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6IEBmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6IEBmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6IEBmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6IEBmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6IEBmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogQGZvbnQtc2l6ZS1zbWFsbCAvIEBmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6IEB0ZXh0LW11dGVkO1xufVxuLnRleHQtcHJpbWFyeSB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGJyYW5kLXByaW1hcnkpO1xufVxuLnRleHQtc3VjY2VzcyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLXN1Y2Nlc3MtdGV4dCk7XG59XG4udGV4dC1pbmZvIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtaW5mby10ZXh0KTtcbn1cbi50ZXh0LXdhcm5pbmcge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS13YXJuaW5nLXRleHQpO1xufVxuLnRleHQtZGFuZ2VyIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtZGFuZ2VyLXRleHQpO1xufVxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4vLyBGb3Igbm93IHdlJ2xsIGxlYXZlIHRoZXNlIGFsb25nc2lkZSB0aGUgdGV4dCBjbGFzc2VzIHVudGlsIHY0IHdoZW4gd2UgY2FuXG4vLyBzYWZlbHkgc2hpZnQgdGhpbmdzIGFyb3VuZCAocGVyIFNlbVZlciBydWxlcykuXG4uYmctcHJpbWFyeSB7XG4gIC8vIEdpdmVuIHRoZSBjb250cmFzdCBoZXJlLCB0aGlzIGlzIHRoZSBvbmx5IGNsYXNzIHRvIGhhdmUgaXRzIGNvbG9yIGludmVydGVkXG4gIC8vIGF1dG9tYXRpY2FsbHkuXG4gIGNvbG9yOiAjZmZmO1xuICAuYmctdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7XG59XG4uYmctc3VjY2VzcyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5iZy1pbmZvIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWluZm8tYmcpO1xufVxuLmJnLXdhcm5pbmcge1xuICAuYmctdmFyaWFudChAc3RhdGUtd2FybmluZy1iZyk7XG59XG4uYmctZGFuZ2VyIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLWRhbmdlci1iZyk7XG59XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbi5saXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgLmxpc3QtdW5zdHlsZWQoKTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xuZGwge1xuICBtYXJnaW4tdG9wOiAwOyAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIERlZmF1bHRzIHRvIGJlaW5nIHN0YWNrZWQgd2l0aG91dCBhbnkgb2YgdGhlIGJlbG93IHN0eWxlcyBhcHBsaWVkLCB1bnRpbCB0aGVcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXG5cbi5kbC1ob3Jpem9udGFsIHtcbiAgZGQge1xuICAgICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpOyAvLyBDbGVhciB0aGUgZmxvYXRlZCBgZHRgIGlmIGFuIGVtcHR5IGBkZGAgaXMgcHJlc2VudFxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBkdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAoQGRsLWhvcml6b250YWwtb2Zmc2V0IC0gMjApO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIC50ZXh0LW92ZXJmbG93KCk7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZGwtaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG4vLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgQGFiYnItYm9yZGVyLWNvbG9yO1xufVxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogQGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBAYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgLy8gZW0gZGFzaCwgbmJzcFxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHBvc2l0ZSBhbGlnbm1lbnQgb2YgYmxvY2txdW90ZVxuLy9cbi8vIEhlYWRzIHVwOiBgYmxvY2txdW90ZS5wdWxsLXJpZ2h0YCBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHYzLjEuMC5cbi5ibG9ja3F1b3RlLXJldmVyc2UsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIEBibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC8vIEFjY291bnQgZm9yIGNpdGF0aW9uXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgJjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGEmOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4uYmctdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICBhJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIENvZGUgKGlubGluZSBhbmQgYmxvY2spXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiBAY29kZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvZGUtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IEBrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBrYmQtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLXNtYWxsO1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAxKSAvIDIpO1xuICBtYXJnaW46IDAgMCAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAtIDEpOyAvLyAxNHB4IHRvIDEzcHhcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgY29sb3I6IEBwcmUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcmUtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwcmUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiBAcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gPT0gQ29sb3JzXG4vL1xuLy8jI1xuXG4vLyBDb2xvciBzd2F0Y2hlc1xuQHR1cnF1b2lzZTogICAgICAgICAgICAgICAgICMxYWJjOWM7XG5AZ3JlZW4tc2VhOiAgICAgICAgICAgICAgICAgIzE2YTA4NTtcblxuQGVtZXJhbGQ6ICAgICAgICAgICAgICAgICAgICMyZWNjNzE7XG5AbmVwaHJpdGlzOiAgICAgICAgICAgICAgICAgIzI3YWU2MDtcblxuQHBldGVyLXJpdmVyOiAgICAgICAgICAgICAgICMzNDk4ZGI7XG5AYmVsaXplLWhvbGU6ICAgICAgICAgICAgICAgIzI5ODBiOTtcblxuQGFtZXRoeXN0OiAgICAgICAgICAgICAgICAgICM5YjU5YjY7XG5Ad2lzdGVyaWE6ICAgICAgICAgICAgICAgICAgIzhlNDRhZDtcblxuQHdldC1hc3BoYWx0OiAgICAgICAgICAgICAgICMzNDQ5NWU7XG5AbWlkbmlnaHQtYmx1ZTogICAgICAgICAgICAgIzJjM2U1MDtcblxuQHN1bi1mbG93ZXI6ICAgICAgICAgICAgICAgICNmMWM0MGY7XG5Ab3JhbmdlOiAgICAgICAgICAgICAgICAgICAgI2YzOWMxMjtcblxuQGNhcnJvdDogICAgICAgICAgICAgICAgICAgICNlNjdlMjI7XG5AcHVtcGtpbjogICAgICAgICAgICAgICAgICAgI2QzNTQwMDtcblxuQGFsaXphcmluOiAgICAgICAgICAgICAgICAgICNlNzRjM2M7XG5AcG9tZWdyYW5hdGU6ICAgICAgICAgICAgICAgI2MwMzkyYjtcblxuQGNsb3VkczogICAgICAgICAgICAgICAgICAgICNlY2YwZjE7XG5Ac2lsdmVyOiAgICAgICAgICAgICAgICAgICAgI2JkYzNjNztcblxuQGNvbmNyZXRlOiAgICAgICAgICAgICAgICAgICM5NWE1YTY7XG5AYXNiZXN0b3M6ICAgICAgICAgICAgICAgICAgIzdmOGM4ZDtcblxuQGRhcmtncmV5Olx0XHRcdFx0XHQjNTk1OTU5O1xuXG4vLyBHcmF5c1xuQGdyYXk6ICAgICAgICAgICAgICAgICAgICAgIEBjb25jcmV0ZTtcbkBncmF5LWxpZ2h0OiAgICAgICAgICAgICAgICBAc2lsdmVyO1xuQGludmVyc2U6ICAgICAgICAgICAgICAgICAgIHdoaXRlO1xuXG4vLyBCcmFuZCBjb2xvcnNcbkBicmFuZC1wcmltYXJ5OiAgICAgICAgICAgICBAd2V0LWFzcGhhbHQ7XG5AYnJhbmQtc2Vjb25kYXJ5OiAgICAgICAgICAgQHR1cnF1b2lzZTtcbkBicmFuZC1zdWNjZXNzOiAgICAgICAgICAgICBAZW1lcmFsZDtcbkBicmFuZC13YXJuaW5nOiAgICAgICAgICAgICBAc3VuLWZsb3dlcjtcbkBicmFuZC1kYW5nZXI6ICAgICAgICAgICAgICBAYWxpemFyaW47XG5AYnJhbmQtaW5mbzogICAgICAgICAgICAgICAgQHBldGVyLXJpdmVyO1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbkBib2R5LWJnOiAgICAgICAgICAgICAgICAgICAjZmZmO1xuQHRleHQtY29sb3I6ICAgICAgICAgICAgICAgIEBkYXJrZ3JleTtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuQGxpbmstY29sb3I6ICAgICAgICAgICAgICAgIEBncmVlbi1zZWE7XG5AbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgQHR1cnF1b2lzZTtcblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vXG4vLyMjIEZvbnQsIGxpbmUtaGVpZ2h0IGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuQGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgIFwiTGF0b1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuQGZvbnQtZmFtaWx5LWRlbW86ICAgICAgICAgIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbkBmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICBNb25hY28sIE1lbmxvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5AZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgMThweDtcblxuQGxvY2FsLWZvbnQtcGF0aDogICAgICAgICAgICAgICBcIi4uL2ZvbnRzL2xhdG8vXCI7XG5AbG9jYWwtZm9udC1uYW1lOiAgICAgICAgICAgICAgIFwibGF0by1yZWd1bGFyXCI7XG5AbG9jYWwtZm9udC1zdmctaWQ6ICAgICAgICAgICAgIFwibGF0b3JlZ3VsYXJcIjtcbkBsb2NhbC1mb250LW5hbWUtbGlnaHQ6ICAgICAgICAgXCJsYXRvLWxpZ2h0XCI7XG5AbG9jYWwtZm9udC1zdmctaWQtbGlnaHQ6ICAgICAgIFwibGF0b2xpZ2h0XCI7XG5AbG9jYWwtZm9udC1uYW1lLWJsYWNrOiAgICAgICAgIFwibGF0by1ibGFja1wiO1xuQGxvY2FsLWZvbnQtc3ZnLWlkLWJsYWNrOiAgICAgICBcImxhdG9ibGFja1wiO1xuQGxvY2FsLWZvbnQtbmFtZS1ib2xkOiAgICAgICAgICBcImxhdG8tYm9sZFwiO1xuQGxvY2FsLWZvbnQtc3ZnLWlkLWJvbGQ6ICAgICAgICBcImxhdG9ib2xkXCI7XG5AbG9jYWwtZm9udC1uYW1lLWl0YWxpYzogICAgICAgIFwibGF0by1pdGFsaWNcIjtcbkBsb2NhbC1mb250LXN2Zy1pZC1pdGFsaWM6ICAgICAgXCJsYXRvaXRhbGljXCI7XG5AbG9jYWwtZm9udC1uYW1lLWJvbGQtaXRhbGljOiAgIFwibGF0by1ib2xkaXRhbGljXCI7XG5AbG9jYWwtZm9udC1zdmctaWQtYm9sZC1pdGFsaWM6IFwibGF0b2JvbGQtaXRhbGljXCI7XG5cbkBmb250LXNpemUtaDE6ICAgICAgICAgICAgICBmbG9vcihAZm9udC1zaXplLWJhc2UgKiAyLjIyMik7IC8vIH42MnB4XG5AZm9udC1zaXplLWgyOiAgICAgICAgICAgICAgY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjYxMSk7IC8vIH41MnB4XG5AZm9udC1zaXplLWgzOiAgICAgICAgICAgICAgY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjU1Nik7IC8vIH40MHB4XG5AZm9udC1zaXplLWg0OiAgICAgICAgICAgICAgY2VpbChAZm9udC1zaXplLWJhc2UgKiAxLjMzMyk7IC8vIH4yOXB4XG5AZm9udC1zaXplLWg1OiAgICAgICAgICAgICAgZmxvb3IoQGZvbnQtc2l6ZS1iYXNlICogMS4yMjIpOyAvLyB+MjhweFxuQGZvbnQtc2l6ZS1oNjogICAgICAgICAgICAgIGNlaWwoQGZvbnQtc2l6ZS1iYXNlICogMS4xMTEpOyAvLyB+MjBweFxuXG5AbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgMS43MjIyMjsgLy8gMzEvMThcbkBsaW5lLWhlaWdodC1jb21wdXRlZDogICAgICBmbG9vcihAZm9udC1zaXplLWJhc2UgKiBAbGluZS1oZWlnaHQtYmFzZSk7IC8vIH4zMXB4XG5cbkBoZWFkaW5ncy1mb250LWZhbWlseTogICAgICBpbmhlcml0O1xuQGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgIDcwMDtcbkBoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAxLjE7XG5AaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgaW5oZXJpdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbnMgb2YgdGhlIGluY2x1ZGUgR2x5cGhpY29ucyBpY29uIGZvbnQuXG5cbkBpY29uLWZvbnQtcGF0aDogICAgICAgICAgICBcIi4uL2ZvbnRzL1wiO1xuQGljb24tZm9udC1uYW1lOiAgICAgICAgICAgIFwiZmxhdC11aS1pY29ucy1yZWd1bGFyXCI7XG5AaWNvbi1mb250LXN2Zy1pZDogICAgICAgICAgXCJmbGF0LXVpLWljb25zLXJlZ3VsYXJcIjtcblxuLy8qKiBJY29uIHNpemVzIGZvciB1c2UgaW4gY29tcG9uZW50c1xuQGljb24tbm9ybWFsOiAgICAgICAgICAgICAgIDE2cHg7XG5AaWNvbi1tZWRpdW06ICAgICAgICAgICAgICAgMThweDtcbkBpY29uLWxhcmdlOiAgICAgICAgICAgICAgICAzMnB4O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyoqIERlZmF1bHQgZm9udC1zaXplIGluIGNvbXBvbmVudHNcbkBjb21wb25lbnQtZm9udC1zaXplLWJhc2U6ICBjZWlsKEBmb250LXNpemUtYmFzZSAqIDAuODMzKTsgLy8gfjE1cHhcblxuLy8gQm9yZGVyLXJhZGl1c1xuQGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweDtcbkBib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHg7XG5AYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4O1xuXG5cbi8vPT0gQnV0dG9uc1xuLy9cbi8vIyMgRm9yIGVhY2ggb2YgRmxhdCBVSSdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBmb250IHNpemUgYW5kIGhlaWdodC5cblxuQGJ0bi1mb250LXNpemUtYmFzZTogICAgICAgICBAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlO1xuQGJ0bi1mb250LXNpemUteHM6ICAgICAgICAgICBjZWlsKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAwLjgwKTsgICAvLyB+MTJweFxuQGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICBmbG9vcihAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMC44NjcpOyAvLyB+MTNweFxuQGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICBjZWlsKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAxLjEzMyk7ICAvLyB+MTdweFxuQGJ0bi1mb250LXNpemUtaGc6ICAgICAgICAgICBmbG9vcihAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMS40NjcpOyAvLyB+MjJweFxuXG5AYnRuLWxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgIDEuNDsgICAvLyB+MjFweFxuQGJ0bi1saW5lLWhlaWdodC1oZzogICAgICAgICAxLjIyNzsgLy8gfjI3cHhcbkBidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgMS40NzE7IC8vIH4yNXB4XG5AYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgIDEuMzg1OyAvLyB+MTZweFxuQGJ0bi1saW5lLWhlaWdodC14czogICAgICAgICAxLjA4MzsgLy8gfjEzcHhcblxuQGJ0bi1zb2NpYWwtZm9udC1zaXplLWJhc2U6ICAgZmxvb3IoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDAuODY3KTsgLy8gfjEzcHhcbkBidG4tc29jaWFsLWxpbmUtaGVpZ2h0LWJhc2U6IDEuMDc3OyAgLy8gfjE0cHhcblxuQGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICBub3JtYWw7XG5cbkBidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICAgQGludmVyc2U7XG5AYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xuQGJ0bi1ob3Zlci1iZzogICAgICAgICAgICAgICBtaXgoQGdyYXktbGlnaHQsIHdoaXRlLCA4MCUpO1xuQGJ0bi1hY3RpdmUtYmc6ICAgICAgICAgICAgICBtaXgoQGdyYXktbGlnaHQsIGJsYWNrLCA4NSUpO1xuXG5AYnRuLXByaW1hcnktaG92ZXItYmc6ICAgICAgIG1peChAYnJhbmQtc2Vjb25kYXJ5LCB3aGl0ZSwgODAlKTtcbkBidG4tcHJpbWFyeS1hY3RpdmUtYmc6ICAgICAgbWl4KEBicmFuZC1zZWNvbmRhcnksIGJsYWNrLCA4NSUpO1xuXG5AYnRuLWluZm8taG92ZXItYmc6ICAgICAgICAgIG1peChAYnJhbmQtaW5mbywgd2hpdGUsIDgwJSk7XG5AYnRuLWluZm8tYWN0aXZlLWJnOiAgICAgICAgIG1peChAYnJhbmQtaW5mbywgYmxhY2ssIDg1JSk7XG5cbkBidG4tc3VjY2Vzcy1ob3Zlci1iZzogICAgICAgbWl4KEBicmFuZC1zdWNjZXNzLCB3aGl0ZSwgODAlKTtcbkBidG4tc3VjY2Vzcy1hY3RpdmUtYmc6ICAgICAgbWl4KEBicmFuZC1zdWNjZXNzLCBibGFjaywgODUlKTtcblxuQGJ0bi1kYW5nZXItaG92ZXItYmc6ICAgICAgICBtaXgoQGJyYW5kLWRhbmdlciwgd2hpdGUsIDgwJSk7XG5AYnRuLWRhbmdlci1hY3RpdmUtYmc6ICAgICAgIG1peChAYnJhbmQtZGFuZ2VyLCBibGFjaywgODUlKTtcblxuQGJ0bi13YXJuaW5nLWhvdmVyLWJnOiAgICAgICBvdmVybGF5KEBicmFuZC13YXJuaW5nLCBkYXJrZW4od2hpdGUsIDM3LjUlKSk7XG5AYnRuLXdhcm5pbmctYWN0aXZlLWJnOiAgICAgIG1peChAYnJhbmQtd2FybmluZywgYmxhY2ssIDg1JSk7XG5cbkBidG4taW52ZXJzZS1ob3Zlci1iZzogICAgICAgb3ZlcmxheShAYnJhbmQtcHJpbWFyeSwgZGFya2VuKHdoaXRlLCAzNy41JSkpO1xuQGJ0bi1pbnZlcnNlLWFjdGl2ZS1iZzogICAgICBtaXgoQGJyYW5kLXByaW1hcnksIGJsYWNrLCA4NSUpO1xuXG5AYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgIEBncmF5LWxpZ2h0O1xuXG5cbi8vPT0gRm9ybXNcbi8vXG4vLyMjXG5cbkBpbnB1dC1mb250LXNpemUtYmFzZTogICAgICBAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlO1xuQGlucHV0LWZvbnQtc2l6ZS1zbWFsbDogICAgIGZsb29yKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAwLjg2Nyk7IC8vIH4xM3B4XG5AaW5wdXQtZm9udC1zaXplLWxhcmdlOiAgICAgY2VpbChAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMS4xMzMpOyAvLyB+MTdweFxuQGlucHV0LWZvbnQtc2l6ZS1odWdlOiAgICAgIGZsb29yKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAxLjQ2Nyk7IC8vIH4yMnB4XG5cbkBpbnB1dC1saW5lLWhlaWdodC1iYXNlOiAgICAxLjQ2NzsgLy8gfjIycHhcbkBpbnB1dC1saW5lLWhlaWdodC1zbWFsbDogICAxLjQ2MjsgLy8gfjE5cHhcbkBpbnB1dC1saW5lLWhlaWdodC1sYXJnZTogICAxLjIzNTsgLy8gfjIxcHhcbkBpbnB1dC1saW5lLWhlaWdodC1odWdlOiAgICAxLjMxODsgLy8gfjI5cHhcblxuQGlucHV0LWljb24tZm9udC1zaXplOiAgICAgIGNlaWwoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDEuMzMzKTsgIC8vIH4yMHB4ICAgICAgIFxuXG5AaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgQGludmVyc2U7XG5AaW5wdXQtYmctZGlzYWJsZWQ6ICAgICAgICAgbWl4KEBncmF5LCB3aGl0ZSwgMTAlKTtcblxuQGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgIDM1cHg7XG5AaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgNDFweDtcbkBpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICA0NXB4O1xuQGlucHV0LWhlaWdodC1odWdlOiAgICAgICAgIDUzcHg7XG5cbkBpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcblxuQGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQ7XG5cblxuLy89PSBGb3Jtc1xuLy9cbi8vIyNcblxuQGlucHV0LWZvbnQtc2l6ZS1iYXNlOiAgICAgIEBjb21wb25lbnQtZm9udC1zaXplLWJhc2U7XG5AaW5wdXQtZm9udC1zaXplLXNtYWxsOiAgICAgZmxvb3IoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDAuODY3KTsgLy8gfjEzcHhcbkBpbnB1dC1mb250LXNpemUtbGFyZ2U6ICAgICBjZWlsKEBjb21wb25lbnQtZm9udC1zaXplLWJhc2UgKiAxLjEzMyk7IC8vIH4xN3B4XG5AaW5wdXQtZm9udC1zaXplLWh1Z2U6ICAgICAgZmxvb3IoQGNvbXBvbmVudC1mb250LXNpemUtYmFzZSAqIDEuNDY3KTsgLy8gfjIycHhcblxuQGlucHV0LWxpbmUtaGVpZ2h0LWJhc2U6ICAgIDEuNDY3OyAvLyB+MjJweFxuQGlucHV0LWxpbmUtaGVpZ2h0LXNtYWxsOiAgIDEuNDYyOyAvLyB+MTlweFxuQGlucHV0LWxpbmUtaGVpZ2h0LWxhcmdlOiAgIDEuMjM1OyAvLyB+MjFweFxuQGlucHV0LWxpbmUtaGVpZ2h0LWh1Z2U6ICAgIDEuMzE4OyAvLyB+MjlweFxuXG5AaW5wdXQtaWNvbi1mb250LXNpemU6ICAgICAgY2VpbChAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMS4zMzMpOyAgLy8gfjIwcHggICAgICAgXG5cbkBpbnB1dC1iZzogICAgICAgICAgICAgICAgICBAaW52ZXJzZTtcbkBpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICBtaXgoQGdyYXksIHdoaXRlLCAxMCUpO1xuXG5AaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgMzVweDtcbkBpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICA0MXB4O1xuQGlucHV0LWhlaWdodC1sYXJnZTogICAgICAgIDQ1cHg7XG5AaW5wdXQtaGVpZ2h0LWh1Z2U6ICAgICAgICAgNTNweDtcblxuQGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgIEBib3JkZXItcmFkaXVzLWxhcmdlO1xuXG5AbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgaW5oZXJpdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbkBwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgbWl4KEBicmFuZC1wcmltYXJ5LCB3aGl0ZSwgMjAlKTtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG5AcGFnZXItcGFkZGluZzogICAgICAgICAgICAgIDlweCAxNXB4IDEwcHg7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuQHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgICAxMDAwO1xuQHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgICAxMDMwO1xuQG5hdmJhci1oZWlnaHQtYmFzZTogICAgICAgICA1M3B4O1xuQG5hdmJhci1oZWlnaHQtbGFyZ2U6ICAgICAgICA3NnB4O1xuQG5hdmJhci1pbnB1dC1saW5lLWhlaWdodDogICAxLjQ7IC8vIH4yMXB4XG5AbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbkBuYXZiYXItYm9yZGVyLXJhZGl1czogICAgICAgQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG5cbkBuYXZiYXItZGVmYXVsdC1iZzogICAgICAgICAgc2F0dXJhdGUoc3Bpbih0aW50KEBicmFuZC1wcmltYXJ5LCA5MSUpLCAtMTgpLCAyJSk7XG5cbi8vIE5hdmJhciBsaW5rc1xuQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcbkBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgQGJyYW5kLXNlY29uZGFyeTtcbkBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiAgICAgICAgdHJhbnNwYXJlbnQ7XG5AbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgIEBicmFuZC1zZWNvbmRhcnk7XG5AbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgIHRyYW5zcGFyZW50O1xuQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICAjY2NjO1xuQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICB0cmFuc3BhcmVudDtcblxuLy8gTmF2YmFyIG5hdiBjYXJldHNcbkBuYXZiYXItZGVmYXVsdC1jYXJldC1jb2xvcjogICAgICAgICAgQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG5AbmF2YmFyLWRlZmF1bHQtY2FyZXQtaG92ZXItY29sb3I6ICAgIEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuQG5hdmJhci1kZWZhdWx0LWNhcmV0LWFjdGl2ZS1jb2xvcjogICBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG5cbi8vIE5hdmJhciBicmFuZCBsYWJlbFxuQG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbkBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG5AbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc6ICAgICAgIHRyYW5zcGFyZW50O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG5AbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWNvbG9yOiAgICAgICAgIEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1jb2xvcjogICBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcblxuLy8gTmF2YmFyIGZvcm1cbkBuYXZiYXItZGVmYXVsdC1mb3JtLXBsYWNlaG9sZGVyOiAgICAgc3Bpbih0aW50KEBicmFuZC1wcmltYXJ5LCA2MCUpLCAyKTtcbkBuYXZiYXItZGVmYXVsdC1mb3JtLWljb246ICAgICAgICAgICAgZGVzYXR1cmF0ZSh0aW50KEBicmFuZC1wcmltYXJ5LCA0NSUpLCAyJSk7XG5AbmF2YmFyLWRlZmF1bHQtZm9ybS1ib3JkZXI6ICAgICAgICAgIHNoYWRlKEBuYXZiYXItZGVmYXVsdC1iZywgMyUpO1xuXG5cbi8vIEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuQG5hdmJhci1pbnZlcnNlLWRpdmlkZXI6ICAgICAgICAgICAgICBkYXJrZW4oQGJyYW5kLXByaW1hcnksIDMlKTtcblxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuQG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICBAaW52ZXJzZTtcbkBuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XG5AbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyLWludmVyc2UtYmcsIDEwJSk7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICBAaW52ZXJzZTtcbkBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgQGJyYW5kLXNlY29uZGFyeTtcbkBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgdHJhbnNwYXJlbnQ7XG5AbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgIEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICBAYnJhbmQtc2Vjb25kYXJ5O1xuQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAjNDQ0O1xuQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICB0cmFuc3BhcmVudDtcblxuLy8gTmF2YmFyIG5hdiBjYXJldHNcbkBuYXZiYXItaW52ZXJzZS1jYXJldC1jb2xvcjogICAgICAgICAgbGlnaHRlbihkZXNhdHVyYXRlKEBicmFuZC1wcmltYXJ5LCA3JSksIDklKTtcbkBuYXZiYXItaW52ZXJzZS1jYXJldC1ob3Zlci1jb2xvcjogICAgQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG5AbmF2YmFyLWludmVyc2UtY2FyZXQtYWN0aXZlLWNvbG9yOiAgIEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG5AbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgIEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgdHJhbnNwYXJlbnQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbkBuYXZiYXItaW52ZXJzZS10b2dnbGUtY29sb3I6ICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5AbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgIEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuXG4vLyBOYXZiYXIgZm9ybVxuQG5hdmJhci1pbnZlcnNlLWZvcm0tYmc6ICAgICAgICAgICAgICBkYXJrZW4oQGJyYW5kLXByaW1hcnksIDYlKTtcbkBuYXZiYXItaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyOiAgICAgZGVzYXR1cmF0ZShsaWdodGVuKEBicmFuZC1wcmltYXJ5LCAxMyUpLCA3JSk7XG5AbmF2YmFyLWludmVyc2UtZm9ybS1pY29uOiAgICAgICAgICAgIGRlc2F0dXJhdGUobGlnaHRlbihAYnJhbmQtcHJpbWFyeSwgMTMlKSwgNiUpO1xuQG5hdmJhci1pbnZlcnNlLWZvcm0tYm9yZGVyOiAgICAgICAgICBAbmF2YmFyLWludmVyc2UtZGl2aWRlcjtcblxuLy8gRHJvcGRvd24gbWVudVxuQG5hdmJhci1pbnZlcnNlLWRyb3Bkb3duLWFycm93OiAgICAgICAgICAgICBAbmF2YmFyLWludmVyc2UtYmc7XG5AbmF2YmFyLWludmVyc2UtZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgIEBuYXZiYXItaW52ZXJzZS1iZztcbkBuYXZiYXItaW52ZXJzZS1kcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgbWl4KEBuYXZiYXItaW52ZXJzZS1iZywgQG5hdmJhci1pbnZlcnNlLWNvbG9yLCAxNSUpO1xuQG5hdmJhci1pbnZlcnNlLWRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICBAaW52ZXJzZTtcbkBuYXZiYXItaW52ZXJzZS1kcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgQGJyYW5kLXNlY29uZGFyeTtcblxuXG4vLz09IERyb3Bkb3duIE1lbnVcbi8vXG4vLyMjXG5cbkBkcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgbWl4KEBpbnZlcnNlLCBAYnJhbmQtcHJpbWFyeSwgOTQlKTtcblxuXG4vLz09IEljb25iYXJcbi8vXG4vLyMjXG5cbkBpY29uYmFyLWJhY2tncm91bmQ6ICAgICAgICAgbWl4KEBicmFuZC1wcmltYXJ5LCBibGFjaywgODUlKTtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbkBwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgMTJweDtcblxuXG4vLz09IFNsaWRlclxuLy9cbi8vIyNcblxuQHNsaWRlci1oZWlnaHQ6ICAgICAgICAgICAgICAxMnB4O1xuQHNsaWRlci12YWx1ZS1mb250LXNpemU6ICAgICBmbG9vcihAY29tcG9uZW50LWZvbnQtc2l6ZS1iYXNlICogMC44NjcpOyAvLyB+MTNweDtcblxuQHNsaWRlci1oYW5kbGUtYmc6ICAgICAgICAgICBtaXgoQGJyYW5kLXNlY29uZGFyeSwgYmxhY2ssIDg1JSk7XG5Ac2xpZGVyLWhhbmRsZS1ob3Zlci1iZzogICAgIG1peChAYnJhbmQtc2Vjb25kYXJ5LCB3aGl0ZSwgODAlKTtcbkBzbGlkZXItaGFuZGxlLWFjdGl2ZS1iZzogICAgbWl4KEBicmFuZC1zZWNvbmRhcnksIGJsYWNrLCA4NSUpO1xuXG5Ac2xpZGVyLXJhbmdlLWJnOiAgICAgICAgICAgIEBicmFuZC1zZWNvbmRhcnk7XG5cbkBzbGlkZXItc2VnbWVudC1iZzogICAgICAgICAgbWl4KGRlc2F0dXJhdGUoQGJyYW5kLXByaW1hcnksIDE1JSksIHdoaXRlLCAyMCUpO1xuXG5cbi8vPT0gU3dpdGNoXG4vL1xuLy8jI1xuXG5Ac3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgIDMwcHg7XG5Ac3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgIDgwcHg7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbkB0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbkB0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgIEBib2R5LWJnO1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG5AdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICBAZ3JheS1saWdodDtcbi8vKiogVGh1bWJuYWlsIGJvcmRlciByYWRpdXNcbkB0aHVtYm5haWwtYm9yZGVyLXJhZGl1czogICAgIEBib3JkZXItcmFkaXVzLWxhcmdlO1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbkB0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgIEB0ZXh0LWNvbG9yO1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbkB0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG5Ac2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICA0ODBweDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG5Ac2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICA3NjhweDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbkBzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgIDk5MnB4O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbkBzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgIDEyMDBweDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG5Ac2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICAoQHNjcmVlbi1zbS1taW4gLSAxKTtcbkBzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgIChAc2NyZWVuLW1kLW1pbiAtIDEpO1xuQHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAgKEBzY3JlZW4tbGctbWluIC0gMSk7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbkBncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyO1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbkBncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHg7XG4vLyBOYXZiYXIgY29sbGFwc2Vcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxuQGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICAgQHNjcmVlbi1zbS1taW47XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG5AZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogICAoQGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpO1xuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuQHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgQGJyYW5kLXN1Y2Nlc3M7XG5Ac3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAjZGZmMGQ4O1xuQHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgZGFya2VuKHNwaW4oQHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKTtcblxuQHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgQGJyYW5kLWluZm87XG5Ac3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAjZDllZGY3O1xuQHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgZGFya2VuKHNwaW4oQHN0YXRlLWluZm8tYmcsIC0xMCksIDclKTtcblxuQHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgQGJyYW5kLXdhcm5pbmc7XG5Ac3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAjZmNmOGUzO1xuQHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgZGFya2VuKHNwaW4oQHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKTtcblxuQHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgQGJyYW5kLWRhbmdlcjtcbkBzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICNmMmRlZGU7XG5Ac3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSk7XG5cblxuLy8gQ29kZVxuLy9cbi8vIyNcblxuQGNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgI2M3MjU0ZTtcbkBjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQ7XG5cbkBrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgIEBpbnZlcnNlO1xuQGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XG5cbkBwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgIEBpbnZlcnNlO1xuQHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgaW5oZXJpdDtcbkBwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIG1peChAYnJhbmQtcHJpbWFyeSwgQGludmVyc2UsIDEyJSk7XG5AcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAzNDBweDtcbkBwcmUtYm9yZGVyLXJhZGl1czogICAgICAgICAgIEBib3JkZXItcmFkaXVzLWxhcmdlO1xuXG5cbi8vIFR5cGVcbi8vXG4vLyMjXG5cbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuQHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuQGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgQGdyYXktbGlnaHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG5AaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICBtaXgoQGJyYW5kLXByaW1hcnksIEBpbnZlcnNlLCAxMiUpO1xuLy8qKiBCbG9ja3F1b3RlIHNtYWxsIGNvbG9yXG5AYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICBpbmhlcml0O1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuQGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgbWl4KEBicmFuZC1wcmltYXJ5LCBAaW52ZXJzZSwgMTIlKTtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG5AcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICBtaXgoQGJyYW5kLXByaW1hcnksIEBpbnZlcnNlLCAxMiUpO1xuXG5cbi8vIE1pc2NlbGxhbmVvdXNcbi8vXG4vLyMjXG5cbi8vKiogSHIgYm9yZGVyIGNvbG9yXG5AaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICBtaXgoQGJyYW5kLXByaW1hcnksIEBpbnZlcnNlLCA2MyUpO1xuXG4vLyoqIEhvcml6b250YWwgZm9ybXMgJiBsaXN0c1xuQGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHg7XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIC5jb250YWluZXItZml4ZWQoKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogQGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgLmNvbnRhaW5lci1maXhlZCgpO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICAubWFrZS1yb3coKTtcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKTtcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbi5tYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAubWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikge1xuICAubWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gIC5tYWtlLWdyaWQobGcpO1xufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuLmNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYEBncmlkLWNvbHVtbnNgLlxuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKSB7XG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGFsbCBzaXplcyBvZiBncmlkIGNvbHVtbnMsIHdpZHRocyAxLTEyXG4gIC5jb2woQGluZGV4KSB7IC8vIGluaXRpYWxcbiAgICBAaXRlbTogflwiLmNvbC14cy1Ae2luZGV4fSwgLmNvbC1zbS1Ae2luZGV4fSwgLmNvbC1tZC1Ae2luZGV4fSwgLmNvbC1sZy1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCBAaXRlbSk7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsOyBcIj08XCIgaXNuJ3QgYSB0eXBvXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgflwiQHtsaXN0fSwgQHtpdGVtfVwiKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcbiAgICBAe2xpc3R9IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgICBwYWRkaW5nLWxlZnQ6ICAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gICAgfVxuICB9XG4gIC5jb2woMSk7IC8vIGtpY2tzdGFydCBpdFxufVxuXG4uZmxvYXQtZ3JpZC1jb2x1bW5zKEBjbGFzcykge1xuICAuY29sKEBpbmRleCkgeyAvLyBpbml0aWFsXG4gICAgQGl0ZW06IH5cIi5jb2wtQHtjbGFzc30tQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgQGl0ZW0pO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID08IEBncmlkLWNvbHVtbnMpIHsgLy8gZ2VuZXJhbFxuICAgIEBpdGVtOiB+XCIuY29sLUB7Y2xhc3N9LUB7aW5kZXh9XCI7XG4gICAgLmNvbCgoQGluZGV4ICsgMSksIH5cIkB7bGlzdH0sIEB7aXRlbX1cIik7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPiBAZ3JpZC1jb2x1bW5zKSB7IC8vIHRlcm1pbmFsXG4gICAgQHtsaXN0fSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cbiAgLmNvbCgxKTsgLy8ga2lja3N0YXJ0IGl0XG59XG5cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSB3aWR0aCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tQHtpbmRleH0ge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdXNoKSBhbmQgKEBpbmRleCA+IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdXNoLUB7aW5kZXh9IHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdXNoKSBhbmQgKEBpbmRleCA9IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBwdWxsKSBhbmQgKEBpbmRleCA+IDApIHtcbiAgLmNvbC1Ae2NsYXNzfS1wdWxsLUB7aW5kZXh9IHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVsbCkgYW5kIChAaW5kZXggPSAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVsbC0wIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IG9mZnNldCkge1xuICAuY29sLUB7Y2xhc3N9LW9mZnNldC1Ae2luZGV4fSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBCYXNpYyBsb29waW5nIGluIExFU1Ncbi5sb29wLWdyaWQtY29sdW1ucyhAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEBpbmRleCA+PSAwKSB7XG4gIC5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSk7XG4gIC8vIG5leHQgaXRlcmF0aW9uXG4gIC5sb29wLWdyaWQtY29sdW1ucygoQGluZGV4IC0gMSksIEBjbGFzcywgQHR5cGUpO1xufVxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3Ncbi5tYWtlLWdyaWQoQGNsYXNzKSB7XG4gIC5mbG9hdC1ncmlkLWNvbHVtbnMoQGNsYXNzKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgd2lkdGgpO1xuICAubG9vcC1ncmlkLWNvbHVtbnMoQGdyaWQtY29sdW1ucywgQGNsYXNzLCBwdWxsKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgcHVzaCk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIG9mZnNldCk7XG59XG4iLCIvL1xuLy8gVGFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnO1xufVxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiBAdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6IEB0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxudGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5cbi8vIEJhc2VsaW5lIHN0eWxlc1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIC8vIENlbGxzXG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiBAdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBCb3R0b20gYWxpZ24gZm9yIGNvbHVtbiBoZWFkaW5nc1xuICA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuICAvLyBSZW1vdmUgdG9wIGJvcmRlciBmcm9tIHRoZWFkIGJ5IGRlZmF1bHRcbiAgPiBjYXB0aW9uICsgdGhlYWQsXG4gID4gY29sZ3JvdXAgKyB0aGVhZCxcbiAgPiB0aGVhZDpmaXJzdC1jaGlsZCB7XG4gICAgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEFjY291bnQgZm9yIG11bHRpcGxlIHRib2R5IGluc3RhbmNlc1xuICA+IHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gTmVzdGluZ1xuICAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBib2R5LWJnO1xuICB9XG59XG5cblxuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuXG4udGFibGUtY29uZGVuc2VkIHtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IEB0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvcmRlcmVkIHZlcnNpb25cbi8vXG4vLyBBZGQgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IHRoZWFkID4gdHIge1xuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmctaG92ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBjZWxsIHNpemluZ1xuLy9cbi8vIFJlc2V0IGRlZmF1bHQgdGFibGUgYmVoYXZpb3JcblxudGFibGUgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LzEwIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjtcbn1cbnRhYmxlIHtcbiAgdGQsXG4gIHRoIHtcbiAgICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS8xMCAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbi50YWJsZS1yb3ctdmFyaWFudChhY3RpdmU7IEB0YWJsZS1iZy1hY3RpdmUpO1xuLnRhYmxlLXJvdy12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnKTtcbi50YWJsZS1yb3ctdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZyk7XG4udGFibGUtcm93LXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmcpO1xuLnRhYmxlLXJvdy12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuLnRhYmxlLXJvdy12YXJpYW50KEBzdGF0ZTsgQGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC5Ae3N0YXRlfSxcbiAgICA+IHRoLkB7c3RhdGV9LFxuICAgICYuQHtzdGF0ZX0gPiB0ZCxcbiAgICAmLkB7c3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC5Ae3N0YXRlfTpob3ZlcixcbiAgICA+IHRoLkB7c3RhdGV9OmhvdmVyLFxuICAgICYuQHtzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLkB7c3RhdGV9LFxuICAgICYuQHtzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IEBsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG4vLyBQb3NpdGlvbiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYmV0dGVyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vIFNldCB0aGUgaGVpZ2h0IG9mIGZpbGUgY29udHJvbHMgdG8gbWF0Y2ggdGV4dCBpbnB1dHNcbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE1ha2UgcmFuZ2UgaW5wdXRzIGJlaGF2ZSBsaWtlIHRleHR1YWwgZm9ybSBjb250cm9sc1xuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb2N1cyBmb3IgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICAudGFiLWZvY3VzKCk7XG59XG5cbi8vIEFkanVzdCBvdXRwdXQgZWxlbWVudFxub3V0cHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xufVxuXG5cbi8vIENvbW1vbiBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzIGZvciBmb3JtIGNvbnRyb2xzLiBBcHBseSBgLmZvcm0tY29udHJvbGAgdG8gYW55XG4vLyBvZiB0aGUgZm9sbG93aW5nIGZvcm0gY29udHJvbHM6XG4vL1xuLy8gc2VsZWN0XG4vLyB0ZXh0YXJlYVxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl1cbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRlXCJdXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl1cbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwid2Vla1wiXVxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXVxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCBAaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICAudHJhbnNpdGlvbih+XCJib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzXCIpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgLmZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIC5wbGFjZWhvbGRlcigpO1xuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnRcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbiAgdGV4dGFyZWEmIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuLy9cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuXG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgfVxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5pbnB1dC1zbSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtc20sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pbnB1dC1zbSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLmlucHV0LXNtIHtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgfVxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5pbnB1dC1sZyxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtbGcsXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pbnB1dC1sZyxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLmlucHV0LWxnIHtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDsgLy8gRW5zdXJlIHRoZSBpbnB1dCBkb2Vzbid0IGp1bXAgd2hlbiB0aGVyZSBpcyBubyB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5O1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmFkaW8taW5saW5lICsgLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUgKyAuY2hlY2tib3gtaW5saW5lIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIHNwYWNlIG91dCBjb25zZWN1dGl2ZSBpbmxpbmUgY29udHJvbHNcbn1cblxuLy8gQXBwbHkgc2FtZSBkaXNhYmxlZCBjdXJzb3IgdHdlYWsgYXMgZm9yIGlucHV0c1xuLy8gU29tZSBzcGVjaWFsIGNhcmUgaXMgbmVlZGVkIGJlY2F1c2UgPGxhYmVsPnMgZG9uJ3QgaW5oZXJpdCB0aGVpciBwYXJlbnQncyBgY3Vyc29yYC5cbi8vXG4vLyBOb3RlOiBOZWl0aGVyIHJhZGlvcyBub3IgY2hlY2tib3hlcyBjYW4gYmUgcmVhZG9ubHkuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBkaXJlY3RseSBvbiA8bGFiZWw+c1xuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIG9uIGVsZW1lbnRzIHdpdGggPGxhYmVsPiBkZXNjZW5kYW50c1xuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGxhYmVsIHtcbiAgICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGF0aWMgZm9ybSBjb250cm9sIHRleHRcbi8vXG4vLyBBcHBseSBjbGFzcyB0byBhIGBwYCBlbGVtZW50IHRvIG1ha2UgYW55IHN0cmluZyBvZiB0ZXh0IGFsaWduIHdpdGggbGFiZWxzIGluXG4vLyBhIGhvcml6b250YWwgZm9ybSBsYXlvdXQuXG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgLy8gU2l6ZSBpdCBhcHByb3ByaWF0ZWx5IG5leHQgdG8gcmVhbCBmb3JtIGNvbnRyb2xzXG4gIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBwYWRkaW5nLWJvdHRvbTogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gYHBgXG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgJi5pbnB1dC1sZyxcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG5cbi5pbnB1dC1zbSxcbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wge1xuICAuaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0LXNtYWxsOyBAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG5cbi5pbnB1dC1sZyxcbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wge1xuICAuaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0LWxhcmdlOyBAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDsgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1sYXJnZTsgQGxpbmUtaGVpZ2h0LWxhcmdlOyBAaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZlZWRiYWNrIHN0YXRlc1xuLy9cbi8vIEFwcGx5IGNvbnRleHR1YWwgYW5kIHNlbWFudGljIHN0YXRlcyB0byBpbmRpdmlkdWFsIGZvcm0gY29udHJvbHMuXG5cbi5oYXMtZmVlZGJhY2sge1xuICAvLyBFbmFibGUgYWJzb2x1dGUgcG9zaXRpb25pbmdcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIEVuc3VyZSBpY29ucyBkb24ndCBvdmVybGFwIHRleHRcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogKEBpbnB1dC1oZWlnaHQtYmFzZSAqIDEuMjUpO1xuICB9XG59XG4vLyBGZWVkYmFjayBpY29uIChyZXF1aXJlcyAuZ2x5cGhpY29uIGNsYXNzZXMpXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAyOyAvLyBFbnN1cmUgaWNvbiBpcyBhYm92ZSBpbnB1dCBncm91cHNcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmlucHV0LWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xufVxuLmlucHV0LXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHdpZHRoOiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LXNtYWxsO1xufVxuXG4vLyBGZWVkYmFjayBzdGF0ZXNcbi5oYXMtc3VjY2VzcyB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtc3VjY2Vzcy10ZXh0OyBAc3RhdGUtc3VjY2Vzcy10ZXh0OyBAc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uaGFzLXdhcm5pbmcge1xuICAuZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHN0YXRlLXdhcm5pbmctdGV4dDsgQHN0YXRlLXdhcm5pbmctdGV4dDsgQHN0YXRlLXdhcm5pbmctYmcpO1xufVxuLmhhcy1lcnJvciB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtZGFuZ2VyLXRleHQ7IEBzdGF0ZS1kYW5nZXItdGV4dDsgQHN0YXRlLWRhbmdlci1iZyk7XG59XG5cbi8vIFJlcG9zaXRpb24gZmVlZGJhY2sgaWNvbiBpZiBpbnB1dCBoYXMgdmlzaWJsZSBsYWJlbCBhYm92ZVxuLmhhcy1mZWVkYmFjayBsYWJlbCB7XG5cbiAgJiB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICB0b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogMDtcbiAgfVxufVxuXG5cbi8vIEhlbHAgdGV4dFxuLy9cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHlvdSB3aXNoIHRvIGNyZWF0ZSBsaWdodCB0ZXh0IGZvciBwbGFjZW1lbnQgaW1tZWRpYXRlbHlcbi8vIGJlbG93IGEgZm9ybSBjb250cm9sLiBVc2UgZm9yIGdlbmVyYWwgaGVscCwgZm9ybWF0dGluZywgb3IgaW5zdHJ1Y3Rpb25hbCB0ZXh0LlxuXG4uaGVscC1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvLyBhY2NvdW50IGZvciBhbnkgZWxlbWVudCB1c2luZyBoZWxwLWJsb2NrXG4gIG1hcmdpbi10b3A6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgY29sb3I6IGxpZ2h0ZW4oQHRleHQtY29sb3IsIDI1JSk7IC8vIGxpZ2h0ZW4gdGhlIHRleHQgc29tZSBmb3IgY29udHJhc3Rcbn1cblxuXG4vLyBJbmxpbmUgZm9ybXNcbi8vXG4vLyBNYWtlIGZvcm1zIGFwcGVhciBpbmxpbmUoLWJsb2NrKSBieSBhZGRpbmcgdGhlIGAuZm9ybS1pbmxpbmVgIGNsYXNzLiBJbmxpbmVcbi8vIGZvcm1zIGJlZ2luIHN0YWNrZWQgb24gZXh0cmEgc21hbGwgKG1vYmlsZSkgZGV2aWNlcyBhbmQgdGhlbiBnbyBpbmxpbmUgd2hlblxuLy8gdmlld3BvcnRzIHJlYWNoIDw3NjhweC5cbi8vXG4vLyBSZXF1aXJlcyB3cmFwcGluZyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoIGAuZm9ybS1ncm91cGAgZm9yIHByb3BlciBkaXNwbGF5IG9mXG4vLyBkZWZhdWx0IEhUTUwgZm9ybSBjb250cm9scyBhbmQgb3VyIGN1c3RvbSBmb3JtIGNvbnRyb2xzIChlLmcuLCBpbnB1dCBncm91cHMpLlxuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gYC5uYXZiYXItZm9ybWAgaW4gbmF2YmFycy5sZXNzLlxuXG4uZm9ybS1pbmxpbmUge1xuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAvLyBJbmxpbmUtYmxvY2sgYWxsIHRoZSB0aGluZ3MgZm9yIFwiaW5saW5lXCJcbiAgICAuZm9ybS1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBJbiBuYXZiYXItZm9ybSwgYWxsb3cgZm9sa3MgdG8gKm5vdCogdXNlIGAuZm9ybS1ncm91cGBcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvOyAvLyBQcmV2ZW50IGxhYmVscyBmcm9tIHN0YWNraW5nIGFib3ZlIGlucHV0cyBpbiBgLmZvcm0tZ3JvdXBgXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3RhdGljIGNvbnRyb2xzIGJlaGF2ZSBsaWtlIHJlZ3VsYXIgb25lc1xuICAgIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgICAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnB1dCBncm91cHMgbmVlZCB0aGF0IDEwMCUgd2lkdGggdGhvdWdoXG4gICAgLmlucHV0LWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gb24gcmFkaW9zL2NoZWNrYm94ZXMgdGhhdCB3ZXJlIHVzZWQgZm9yIHN0YWNraW5nLCBhbmRcbiAgICAvLyB0aGVuIHVuZG8gdGhlIGZsb2F0aW5nIG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlcyB0byBtYXRjaCAod2hpY2ggYWxzbyBhdm9pZHNcbiAgICAvLyBhIGJ1ZyBpbiBXZWJLaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTk2OSkuXG4gICAgLnJhZGlvLFxuICAgIC5jaGVja2JveCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gUmUtb3ZlcnJpZGUgdGhlIGZlZWRiYWNrIGljb24uXG4gICAgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIb3Jpem9udGFsIGZvcm1zXG4vL1xuLy8gSG9yaXpvbnRhbCBmb3JtcyBhcmUgYnVpbHQgb24gZ3JpZCBjbGFzc2VzIGFuZCBhbGxvdyB5b3UgdG8gY3JlYXRlIGZvcm1zIHdpdGhcbi8vIGxhYmVscyBvbiB0aGUgbGVmdCBhbmQgaW5wdXRzIG9uIHRoZSByaWdodC5cblxuLmZvcm0taG9yaXpvbnRhbCB7XG5cbiAgLy8gQ29uc2lzdGVudCB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzXG4gIC8vXG4gIC8vIExhYmVscyBhbHNvIGdldCBzb21lIHJlc2V0IHN0eWxlcywgYnV0IHRoYXQgaXMgc2NvcGVkIHRvIGEgbWVkaWEgcXVlcnkgYmVsb3cuXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgcGFkZGluZyB3ZSdyZSBhZGRpbmcgdG8gZW5zdXJlIHRoZSBhbGlnbm1lbnQgYW5kIG9mIGhlbHAgdGV4dFxuICAvLyBhbmQgb3RoZXIgY29udGVudCBiZWxvdyBpdGVtc1xuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSkpO1xuICB9XG5cbiAgLy8gTWFrZSBmb3JtIGdyb3VwcyBiZWhhdmUgbGlrZSByb3dzXG4gIC5mb3JtLWdyb3VwIHtcbiAgICAubWFrZS1yb3coKTtcbiAgfVxuXG4gIC8vIFJlc2V0IHNwYWNpbmcgYW5kIHJpZ2h0IGFsaWduIGxhYmVscywgYnV0IHNjb3BlIHRvIG1lZGlhIHF1ZXJpZXMgc28gdGhhdFxuICAvLyBsYWJlbHMgb24gbmFycm93IHZpZXdwb3J0cyBzdGFjayB0aGUgc2FtZSBhcyBhIGRlZmF1bHQgZm9ybSBleGFtcGxlLlxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIHN0YXRlc1xuICAvL1xuICAvLyBSZXBvc2l0aW9uIHRoZSBpY29uIGJlY2F1c2UgaXQncyBub3cgd2l0aGluIGEgZ3JpZCBjb2x1bW4gYW5kIGNvbHVtbnMgaGF2ZVxuICAvLyBgcG9zaXRpb246IHJlbGF0aXZlO2Agb24gdGhlbS4gQWxzbyBhY2NvdW50cyBmb3IgdGhlIGdyaWQgZ3V0dGVyIHBhZGRpbmcuXG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgcmlnaHQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgfVxuXG4gIC8vIEZvcm0gZ3JvdXAgc2l6ZXNcbiAgLy9cbiAgLy8gUXVpY2sgdXRpbGl0eSBjbGFzcyBmb3IgYXBwbHlpbmcgYC5pbnB1dC1sZ2AgYW5kIGAuaW5wdXQtc21gIHN0eWxlcyB0byB0aGVcbiAgLy8gaW5wdXRzIGFuZCBsYWJlbHMgd2l0aGluIGEgYC5mb3JtLWdyb3VwYC5cbiAgLmZvcm0tZ3JvdXAtbGcge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogKChAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIEBsaW5lLWhlaWdodC1sYXJnZSkgKyAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tZ3JvdXAtc20ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogKEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCb290c3RyYXAgdmFyaWFibGVzLlxuQGltcG9ydCAndmFyaWFibGVzLmxlc3MnO1xuXG4vLyBNZWRpYSBxdWVyeSB2YXJpYWJsZXMuXG5AdGFibGV0OiAgflwic2NyZWVuIGFuZCAobWluLXdpZHRoOiBAe3NjcmVlbi1zbS1taW59KVwiO1xuQG5vcm1hbDogIH5cInNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHtzY3JlZW4tbWQtbWlufSlcIjtcbkB3aWRlOiAgICB+XCJzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB7c2NyZWVuLWxnLW1pbn0pXCI7XG5cbi8vIERyb3Agc2hhZG93cy5cbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuaHRtbCB7XG4gICYub3ZlcmxheS1vcGVuIC5uYXZiYXItZml4ZWQtdG9wIHtcbiAgICB6LWluZGV4OiA0MDA7XG4gIH1cbiAgJi5qcyB7XG4gICAgLy8gQ29sbGFwc2libGUgZmllbGRzZXRzLlxuICAgIGZpZWxkc2V0LmNvbGxhcHNlZCB7XG4gICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgLy8gVGhyb2JiZXJzLlxuICAgIGlucHV0LmZvcm0tYXV0b2NvbXBsZXRlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5ib2R5IHtcbiAgLy8gRml4IGhvcml6b250YWwgc2Nyb2xsaW5nIG9uIGlPUyBkZXZpY2VzLlxuICAvLyBodHRwOi8vZHJ1cGFsLm9yZy9ub2RlLzE4NzAwNzZcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmLmFkbWluLWV4cGFuZGVkLmFkbWluLXZlcnRpY2FsLmFkbWluLW53IC5uYXZiYXIsXG4gICYuYWRtaW4tZXhwYW5kZWQuYWRtaW4tdmVydGljYWwuYWRtaW4tc3cgLm5hdmJhciB7XG4gICAgbWFyZ2luLWxlZnQ6IDI2MHB4O1xuICB9XG4gIC8vIEFkZCBwYWRkaW5nIHRvIGJvZHkgaWYgdmFyaW91cyB0b29sYmFyIG9yIG5hdmJhcnMgYXJlIGZpeGVkIG9uIHRvcC5cbiAgJi5uYXZiYXItaXMtZml4ZWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNjRweCAhaW1wb3J0YW50O1xuICB9XG4gICYubmF2YmFyLWlzLWZpeGVkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDY0cHggIWltcG9ydGFudDtcbiAgfVxuICAmLnRvb2xiYXIge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgLm5hdmJhci1maXhlZC10b3Age1xuICAgICAgdG9wOiAzMHB4O1xuICAgIH1cbiAgICAmLm5hdmJhci1pcy1maXhlZC10b3Age1xuICAgICAgcGFkZGluZy10b3A6IDk0cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi50b29sYmFyLWRyYXdlciB7XG4gICAgcGFkZGluZy10b3A6IDY0cHggIWltcG9ydGFudDtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCB7XG4gICAgICB0b3A6IDY0cHg7XG4gICAgfVxuICAgICYubmF2YmFyLWlzLWZpeGVkLXRvcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMTI4cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLy8gQWRtaW5fbWVudSB0b29sYmFyLlxuICAmLmFkbWluLW1lbnUge1xuICAgIC5uYXZiYXItZml4ZWQtdG9wIHtcbiAgICAgIHRvcDogMjlweDtcbiAgICB9XG4gICAgJi5uYXZiYXItaXMtZml4ZWQtdG9wIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5M3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIGRpdiNhZG1pbi10b29sYmFyIHtcbiAgICB6LWluZGV4OiAxNjAwO1xuICB9XG4gIC8vIE92ZXJyaWRlIGJveC1zaGFkb3cgc3R5bGVzIG9uIGFsbCBcImFkbWluXCIgbWVudXMuXG4gICN0b29sYmFyLCAjYWRtaW4tbWVudSwgI2FkbWluLXRvb2xiYXIge1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gIC8vIE92ZXJyaWRlICNhZG1pbi1tZW51IHN0eWxlLlxuICAjYWRtaW4tbWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDE2MDA7XG4gICAgLmRyb3Bkb3duIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxuICB9XG59XG5cbi8vIERlZmF1bHQgbmF2YmFyLlxuLm5hdmJhci5jb250YWluZXIge1xuICBAbWVkaWEgQHRhYmxldCB7XG4gICAgbWF4LXdpZHRoOiAoKEBjb250YWluZXItc20gLSAzMHB4KSk7XG4gIH1cbiAgQG1lZGlhIEBub3JtYWwge1xuICAgIG1heC13aWR0aDogKChAY29udGFpbmVyLW1kIC0gMzBweCkpO1xuICB9XG4gIEBtZWRpYSBAd2lkZSB7XG4gICAgbWF4LXdpZHRoOiAoKEBjb250YWluZXItbGcgLSAzMHB4KSk7XG4gIH1cbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgPiAuY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLyBBZGp1c3Qgei1pbmRleCBvZiBjb3JlIGNvbXBvbmVudHMuXG4jb3ZlcmxheS1jb250YWluZXIsXG4ub3ZlcmxheS1tb2RhbC1iYWNrZ3JvdW5kLFxuLm92ZXJsYXktZWxlbWVudCB7XG4gIHotaW5kZXg6IDE1MDA7XG59XG4jdG9vbGJhciB7XG4gIHotaW5kZXg6IDE2MDA7XG59XG4vLyBBZGp1c3Qgei1pbmRleCBvZiBib290c3RyYXAgbW9kYWxzXG4ubW9kYWwge1xuICB6LWluZGV4OiAxNjIwO1xufVxuLm1vZGFsLWRpYWxvZyB7XG4gIHotaW5kZXg6IDE2MzA7XG59XG4ubW9kYWwtYmFja2Ryb3Age1xuICB6LWluZGV4OiAxNjEwO1xufVxuXG4vLyBFbGVtZW50IGludmlzaWJsZSBmaXhcbi5lbGVtZW50LWludmlzaWJsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gQnJhbmRpbmcuXG4ubmF2YmFyIC5sb2dvIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBAbWVkaWEgQHRhYmxldCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBOYXZpZ2F0aW9uLlxudWwuc2Vjb25kYXJ5IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIEBtZWRpYSBAdGFibGV0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLy8gUGFnZSBoZWFkZXIuXG4ucGFnZS1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vLyBCbG9ja3Ncbi5ibG9jayB7XG4gICY6Zmlyc3QtY2hpbGQgaDIuYmxvY2stdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLy8gUGFyYWdyYXBocy5cbnA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8vIEhlbHAgcmVnaW9uLlxuLnJlZ2lvbi1oZWxwIHtcbiAgPiAuZ2x5cGhpY29uIHtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAtMC4wNWVtIDAuNWVtIDAgMDtcbiAgfVxuICAuYmxvY2sge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gU2VhcmNoIGZvcm0uXG5mb3JtI3NlYXJjaC1ibG9jay1mb3JtIHtcbiAgbWFyZ2luOiAwO1xufVxuLm5hdmJhciAjYmxvY2stc2VhcmNoLWZvcm0ge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiA1cHggMCA1cHggNXB4O1xuICBAbWVkaWEgQG5vcm1hbCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG4ubmF2YmFyLXNlYXJjaCAuY29udHJvbC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206MHB4O1xufVxuXG4vLyBBY3Rpb24gTGlua3NcbnVsLmFjdGlvbi1saW5rcyB7XG4gIG1hcmdpbjogQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAwIDA7XG4gIH1cbiAgLmdseXBoaWNvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gIH1cbn1cblxuLy8gRm9ybSBlbGVtZW50cy5cbmlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCAudW5lZGl0YWJsZS1pbnB1dCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG59XG5pbnB1dC5lcnJvciB7XG4gIGNvbG9yOiBAc3RhdGUtZGFuZ2VyLXRleHQ7XG4gIGJvcmRlci1jb2xvcjogQHN0YXRlLWRhbmdlci1ib3JkZXI7XG59XG5maWVsZHNldCBsZWdlbmQucGFuZWwtaGVhZGluZyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDA7XG59XG5maWVsZHNldCAucGFuZWwtYm9keSB7XG4gIGNsZWFyOiBib3RoO1xufVxuZmllbGRzZXQgLnBhbmVsLWhlYWRpbmcgYS5wYW5lbC10aXRsZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAtMTBweCAtMTVweDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi5mb3JtLWFjdGlvbnN7XG4gIGNsZWFyOiBib3RoO1xufVxuLnJlc2l6YWJsZS10ZXh0YXJlYSB0ZXh0YXJlYSB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG59XG4ucmFkaW8sIC5jaGVja2JveCB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uaGVscC1ibG9jaywgLmNvbnRyb2wtZ3JvdXAgLmhlbHAtaW5saW5lIHtcbiAgY29sb3I6IEBncmF5LWxpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbjogNXB4IDAgMTBweDtcbiAgcGFkZGluZzogMDtcbn1cbi5wYW5lbC1oZWFkaW5nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5hLnRhYmxlZHJhZy1oYW5kbGUgLmhhbmRsZSB7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8vIEVycm9yIGNvbnRhaW5lcnMuXG4uZXJyb3Ige1xuICBjb2xvcjogQHN0YXRlLWRhbmdlci10ZXh0O1xufVxuZGl2LmVycm9yLFxudGFibGUgdHIuZXJyb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RhdGUtZGFuZ2VyLWJnO1xuICBjb2xvcjogQHN0YXRlLWRhbmdlci10ZXh0O1xufVxuLmNvbnRyb2wtZ3JvdXAuZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBsYWJlbCwgLmNvbnRyb2wtbGFiZWwge1xuICAgIGNvbG9yOiBAc3RhdGUtZGFuZ2VyLXRleHQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuICBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgLnVuZWRpdGFibGUtaW5wdXQge1xuICAgIGNvbG9yOiBAaW5wdXQtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGlucHV0LWJvcmRlcjtcbiAgfVxuICAuaGVscC1ibG9jaywgLmhlbHAtaW5saW5lIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cbn1cblxuLy8gTGlzdHNcbi5saXN0LWlubGluZSB7XG4gID4gbGkuZmlyc3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuLm5hdi10YWJzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbnVsIGxpLmNvbGxhcHNlZCxcbnVsIGxpLmV4cGFuZGVkLFxudWwgbGkubGVhZiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG59XG4udGFicy0tc2Vjb25kYXJ5IHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbn1cblxuLy8gU3VibWl0dGVkXG4uc3VibWl0dGVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjNzc3O1xufVxuXG4vLyBQYXNzd29yZCBzdHJlbmd0aCBpbmRpY2F0b3IuXG4ucGFzc3dvcmQtc3RyZW5ndGgge1xuICB3aWR0aDogMTdlbTtcbiAgZmxvYXQ6IHJpZ2h0OyAgLyogTFRSICovXG4gIG1hcmdpbi10b3A6IDEuNGVtO1xufVxuLnBhc3N3b3JkLXN0cmVuZ3RoLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnBhc3N3b3JkLXN0cmVuZ3RoLXRleHQge1xuICBmbG9hdDogcmlnaHQ7IC8qIExUUiAqL1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi5wYXNzd29yZC1pbmRpY2F0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyLCAyJSk7XG4gIGhlaWdodDogMC4zZW07XG4gIHdpZHRoOiAxMDAlO1xuICBkaXYge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyO1xuICB9XG59XG5pbnB1dC5wYXNzd29yZC1jb25maXJtLFxuaW5wdXQucGFzc3dvcmQtZmllbGQge1xuICB3aWR0aDogMTZlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG59XG5kaXYucGFzc3dvcmQtY29uZmlybSB7XG4gIGZsb2F0OiByaWdodDsgIC8qIExUUiAqL1xuICBtYXJnaW4tdG9wOiAxLjVlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMTdlbTtcbn1cbmRpdi5mb3JtLWl0ZW0gZGl2LnBhc3N3b3JkLXN1Z2dlc3Rpb25zIHtcbiAgcGFkZGluZzogMC4yZW0gMC41ZW07XG4gIG1hcmdpbjogMC43ZW0gMDtcbiAgd2lkdGg6IDM4LjVlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0I0QjRCNDtcbn1cbmRpdi5wYXNzd29yZC1zdWdnZXN0aW9ucyB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uY29uZmlybS1wYXJlbnQsXG4ucGFzc3dvcmQtcGFyZW50IHtcbiAgY2xlYXI6IGxlZnQ7IC8qIExUUiAqL1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAzNi4zZW07XG59XG5cbi8vIFByb2dyZXNzIGJhci5cbi5wcm9ncmVzcy13cmFwcGVyIC5wcm9ncmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi8vIFZpZXdzIEFKQVggcGFnZXIuXG4ucGFnaW5hdGlvbiB1bCA+IGxpID4gYSB7XG4gICYucHJvZ3Jlc3MtZGlzYWJsZWQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi8vIEF1dG9jb21wbGV0ZSBhbmQgdGhyb2JiZXJcbi5mb3JtLWF1dG9jb21wbGV0ZSB7XG4gIC5nbHlwaGljb24ge1xuICAgIGNvbG9yOiBAZ3JheS1saWdodDtcbiAgICBmb250LXNpemU6IDEyMCU7XG4gICAgJi5nbHlwaGljb24tc3BpbiB7XG4gICAgICBjb2xvcjogQGJyYW5kLXByaW1hcnk7XG4gICAgfVxuICB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICB9XG59XG5cbi8vIEFKQVggXCJUaHJvYmJlclwiLlxuLmFqYXgtcHJvZ3Jlc3Mge1xuICAuZ2x5cGhpY29uIHtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICBtYXJnaW46IDAgLS4yNWVtIDAgMC41ZW07XG4gIH1cbn1cblxuLmdseXBoaWNvbi1zcGluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAtbW96LWFuaW1hdGlvbjogc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIC1vLWFuaW1hdGlvbjogc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBzcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbn1cbmEgLmdseXBoaWNvbi1zcGluIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5ALW1vei1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkAtby1rZXlmcmFtZXMgc3BpbiB7XG4gIDAlIHtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5ALW1zLWtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cblxuLmdseXBoaWNvbi1yZWZyZXNoIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNDUlO1xuICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA0NSU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNDUlO1xuICAtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNDUlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNDUlO1xufVxuXG4vKipcbiAqIE1pc3NpbmcgQm9vdHN0cmFwIDIgdGFiIHN0eWxpbmcuXG4gKiBAc2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0MzI1Nzcvc3RhY2tlZC10YWJzLWluLWJvb3RzdHJhcC0zXG4gKiBAc2VlIGh0dHA6Ly9ib290cGx5LmNvbS83NDkyNlxuICovXG4udGFiYmFibGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuLnRhYnMtYmVsb3csIC50YWJzLWxlZnQsIC50YWJzLXJpZ2h0IHtcbiAgPiAubmF2LXRhYnMge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgLnN1bW1hcnkge1xuICAgICAgY29sb3I6IEBuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgICB9XG4gIH1cbn1cbi50YWItcGFuZSA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gQmVsb3cuXG4udGFicy1iZWxvdyB7XG4gID4gLm5hdi10YWJzIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgPiBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUge1xuICAgICAgPiBhLFxuICAgICAgPiBhOmhvdmVyLFxuICAgICAgPiBhOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3IgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTGVmdCBhbmQgcmlnaHQgdGFicy5cbi50YWJzLWxlZnQsXG4udGFicy1yaWdodCB7XG4gID4gLm5hdi10YWJzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB3aWR0aDogMjIwcHg7XG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgfVxuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiAudGFiLWNvbnRlbnQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2U7XG4gICAgLmJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgfVxufVxuXG4vLyBMZWZ0IHRhYnMuXG4udGFicy1sZWZ0IHtcbiAgPiAubmF2LXRhYnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICA+IGxpID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMCBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEsXG4gICAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogQG5hdi10YWJzLWJvcmRlci1jb2xvciB0cmFuc3BhcmVudCBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICAuYm94LXNoYWRvdygtMXB4IDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUmlnaHQgdGFicy5cbi50YWJzLXJpZ2h0IHtcbiAgPiAubmF2LXRhYnMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICA+IGxpID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICAgIC5ib3gtc2hhZG93KDFweCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEsXG4gICAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogQG5hdi10YWJzLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIENoZWNrYm94IGNlbGwgZml4LlxudGguY2hlY2tib3gsXG50ZC5jaGVja2JveCxcbnRoLnJhZGlvLFxudGQucmFkaW8ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4vLyBWaWV3cyBVSSBmaXhlcy5cbi52aWV3cy1kaXNwbGF5LXNldHRpbmdzIHtcbiAgLmxhYmVsIHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgY29sb3I6IzY2NjY2NjtcbiAgfVxuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nOjA7XG4gICAgbWFyZ2luOjRweCAwIDAgMDtcbiAgfVxufVxuXG4vLyBSYWRpbyBhbmQgY2hlY2tib3ggaW4gdGFibGUgZml4ZXNcbnRhYmxlIHtcbiAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIEV4cG9zZWQgZmlsdGVyc1xuLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cCBsYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKDIgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gVHJlYXQgYWxsIGxpbmtzIGluc2lkZSBhbGVydCBhcyAuYWxlcnQtbGlua1xuLmFsZXJ0IGEge1xuICBmb250LXdlaWdodDogQGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG59XG4uYWxlcnQtc3VjY2VzcyBhIHtcbiAgY29sb3I6IGRhcmtlbihAYWxlcnQtc3VjY2Vzcy10ZXh0LCAxMCUpO1xufVxuLmFsZXJ0LWluZm8gYSB7XG4gIGNvbG9yOiBkYXJrZW4oQGFsZXJ0LWluZm8tdGV4dCwgMTAlKTtcbn1cbi5hbGVydC13YXJuaW5nIGEge1xuICBjb2xvcjogZGFya2VuKEBhbGVydC13YXJuaW5nLXRleHQsIDEwJSk7XG59XG4uYWxlcnQtZGFuZ2VyIGEge1xuICBjb2xvcjogZGFya2VuKEBhbGVydC1kYW5nZXItdGV4dCwgMTAlKTtcbn1cbiIsIi8vIEZvcm0gdmFsaWRhdGlvbiBzdGF0ZXNcbi8vXG4vLyBVc2VkIGluIGZvcm1zLmxlc3MgdG8gZ2VuZXJhdGUgdGhlIGZvcm0gdmFsaWRhdGlvbiBDU1MgZm9yIHdhcm5pbmdzLCBlcnJvcnMsXG4vLyBhbmQgc3VjY2Vzc2VzLlxuXG4uZm9ybS1jb250cm9sLXZhbGlkYXRpb24oQHRleHQtY29sb3I6ICM1NTU7IEBib3JkZXItY29sb3I6ICNjY2M7IEBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIENvbG9yIHRoZSBsYWJlbCBhbmQgaGVscCB0ZXh0XG4gIC5oZWxwLWJsb2NrLFxuICAuY29udHJvbC1sYWJlbCxcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gsXG4gIC5yYWRpby1pbmxpbmUsXG4gIC5jaGVja2JveC1pbmxpbmUsXG4gICYucmFkaW8gbGFiZWwsXG4gICYuY2hlY2tib3ggbGFiZWwsXG4gICYucmFkaW8taW5saW5lIGxhYmVsLFxuICAmLmNoZWNrYm94LWlubGluZSBsYWJlbCAge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgfVxuICAvLyBTZXQgdGhlIGJvcmRlciBhbmQgYm94IHNoYWRvdyBvbiBzcGVjaWZpYyBpbnB1dHMgdG8gbWF0Y2hcbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICBAc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKEBib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICAuYm94LXNoYWRvdyhAc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGBAaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuLmZvcm0tY29udHJvbC1mb2N1cyhAY29sb3I6IEBpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgQGNvbG9yLXJnYmE6IHJnYmEocmVkKEBjb2xvciksIGdyZWVuKEBjb2xvciksIGJsdWUoQGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgOHB4IEB7Y29sb3ItcmdiYX1cIik7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4uaW5wdXQtc2l6ZShAaW5wdXQtaGVpZ2h0OyBAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGxpbmUtaGVpZ2h0OyBAYm9yZGVyLXJhZGl1cykge1xuICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nLXZlcnRpY2FsIEBwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXM7XG5cbiAgc2VsZWN0JiB7XG4gICAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEmLFxuICBzZWxlY3RbbXVsdGlwbGVdJiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvL1xuLy8gQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gRm9yIGlucHV0LmJ0blxuICBmb250LXdlaWdodDogQGJ0bi1mb250LXdlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAuYnV0dG9uLXNpemUoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbDsgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWJhc2U7IEBsaW5lLWhlaWdodC1iYXNlOyBAYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgLnVzZXItc2VsZWN0KG5vbmUpO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIC50YWItZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogQGJ0bi1kZWZhdWx0LWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrc1xuICAgIC5vcGFjaXR5KC42NSk7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1kZWZhdWx0IHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGVmYXVsdC1jb2xvcjsgQGJ0bi1kZWZhdWx0LWJnOyBAYnRuLWRlZmF1bHQtYm9yZGVyKTtcbn1cbi5idG4tcHJpbWFyeSB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXByaW1hcnktY29sb3I7IEBidG4tcHJpbWFyeS1iZzsgQGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXN1Y2Nlc3MtY29sb3I7IEBidG4tc3VjY2Vzcy1iZzsgQGJ0bi1zdWNjZXNzLWJvcmRlcik7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYmx1ZS1ncmVlblxuLmJ0bi1pbmZvIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4taW5mby1jb2xvcjsgQGJ0bi1pbmZvLWJnOyBAYnRuLWluZm8tYm9yZGVyKTtcbn1cbi8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIC5idXR0b24tdmFyaWFudChAYnRuLXdhcm5pbmctY29sb3I7IEBidG4td2FybmluZy1iZzsgQGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGFuZ2VyLWNvbG9yOyBAYnRuLWRhbmdlci1iZzsgQGJ0bi1kYW5nZXItYm9yZGVyKTtcbn1cblxuXG4vLyBMaW5rIGJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayB7XG4gIGNvbG9yOiBAbGluay1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMDtcblxuICAmLFxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQnV0dG9uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWxnIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBldmVuLW51bWJlcmVkIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBsYXJnZSBpbnB1dFxuICAuYnV0dG9uLXNpemUoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBsaW5lLWhlaWdodC1sYXJnZTsgQGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuLmJ0bi1zbSB7XG4gIC8vIGxpbmUtaGVpZ2h0OiBlbnN1cmUgcHJvcGVyIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBzbWFsbCBpbnB1dFxuICAuYnV0dG9uLXNpemUoQHBhZGRpbmctc21hbGwtdmVydGljYWw7IEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7IEBmb250LXNpemUtc21hbGw7IEBsaW5lLWhlaWdodC1zbWFsbDsgQGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmJ0bi14cyB7XG4gIC5idXR0b24tc2l6ZShAcGFkZGluZy14cy12ZXJ0aWNhbDsgQHBhZGRpbmcteHMtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1zbWFsbDsgQGxpbmUtaGVpZ2h0LXNtYWxsOyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG5cblxuLy8gQmxvY2sgYnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4uYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi5idXR0b24tdmFyaWFudChAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYm9yZGVyKSB7XG4gIGNvbG9yOiBAY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUmIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG4uYnV0dG9uLXNpemUoQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vXG4vLyBCdXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuLmJ0bi1ncm91cCB7XG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDsgLy8gT2Zmc2V0IHRoZSBmaXJzdCBjaGlsZCdzIG1hcmdpblxuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLy8gTmVlZCAuZHJvcGRvd24tdG9nZ2xlIHNpbmNlIDpsYXN0LWNoaWxkIGRvZXNuJ3QgYXBwbHkgZ2l2ZW4gYSAuZHJvcGRvd24tbWVudSBpbW1lZGlhdGVseSBhZnRlciBpdFxuLmJ0bi1ncm91cCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbi5idG4tZ3JvdXAgPiAuZHJvcGRvd24tdG9nZ2xlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgLmJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gQ3VzdG9tIGVkaXRzIGZvciBpbmNsdWRpbmcgYnRuLWdyb3VwcyB3aXRoaW4gYnRuLWdyb3VwcyAodXNlZnVsIGZvciBpbmNsdWRpbmcgZHJvcGRvd24gYnV0dG9ucyB3aXRoaW4gYSBidG4tZ3JvdXApXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQge1xuICA+IC5idG46bGFzdC1jaGlsZCxcbiAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZCA+IC5idG46Zmlyc3QtY2hpbGQge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC14cyA+IC5idG4geyAmOmV4dGVuZCguYnRuLXhzKTsgfVxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyAmOmV4dGVuZCguYnRuLXNtKTsgfVxuLmJ0bi1ncm91cC1sZyA+IC5idG4geyAmOmV4dGVuZCguYnRuLWxnKTsgfVxuXG5cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIC5ib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gUmVwb3NpdGlvbiB0aGUgY2FyZXRcbi5idG4gLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vLyBDYXJldHMgaW4gb3RoZXIgYnV0dG9uIHNpemVzXG4uYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogQGNhcmV0LXdpZHRoLWxhcmdlIEBjYXJldC13aWR0aC1sYXJnZSAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xufVxuLy8gVXBzaWRlIGRvd24gY2FyZXRzIGZvciAuZHJvcHVwXG4uZHJvcHVwIC5idG4tbGcgLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwIEBjYXJldC13aWR0aC1sYXJnZSBAY2FyZXQtd2lkdGgtbGFyZ2U7XG59XG5cblxuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyIGZsb2F0cyBzbyBkcm9wZG93biBtZW51cyBjYW4gYmUgcHJvcGVybHkgcGxhY2VkXG4gID4gLmJ0bi1ncm91cCB7XG4gICAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gICAgPiAuYnRuIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICAmOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgJjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb21wb25lbnQgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGVhZHMgdXAhXG4vL1xuLy8gV2UgZG9uJ3QgdXNlIHRoZSBgLm9wYWNpdHkoKWAgbWl4aW4gaGVyZSBzaW5jZSBpdCBjYXVzZXMgYSBidWcgd2l0aCB0ZXh0XG4vLyBmaWVsZHMgaW4gSUU3LTguIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzU1Mi5cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICAudHJhbnNpdGlvbihvcGFjaXR5IC4xNXMgbGluZWFyKTtcbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgJi5pbiAgICAgIHsgZGlzcGxheTogYmxvY2s7IHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdHImLmluICAgIHsgZGlzcGxheTogdGFibGUtcm93OyB9XG4gIHRib2R5Ji5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxufVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAudHJhbnNpdGlvbi1wcm9wZXJ0eSh+XCJoZWlnaHQsIHZpc2liaWxpdHlcIik7XG4gIC50cmFuc2l0aW9uLWR1cmF0aW9uKC4zNXMpO1xuICAudHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oZWFzZSk7XG59XG4iLCIvL1xuLy8gRHJvcGRvd24gbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogICBAY2FyZXQtd2lkdGgtYmFzZSBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiBAY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICBAY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGRpdilcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnUgKHVsKVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOyAvLyBJRTggZmFsbGJhY2tcbiAgYm9yZGVyOiAxcHggc29saWQgQGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgLmJveC1zaGFkb3coMCA2cHggMTJweCByZ2JhKDAsMCwwLC4xNzUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICAvLyBBbGlnbnMgdGhlIGRyb3Bkb3duIG1lbnUgdG8gcmlnaHRcbiAgLy9cbiAgLy8gRGVwcmVjYXRlZCBhcyBvZiAzLjEuMCBpbiBmYXZvciBvZiBgLmRyb3Bkb3duLW1lbnUtW2Rpcl1gXG4gICYucHVsbC1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cbiAgLmRpdmlkZXIge1xuICAgIC5uYXYtZGl2aWRlcihAZHJvcGRvd24tZGl2aWRlci1iZyk7XG4gIH1cblxuICAvLyBMaW5rcyB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBwcmV2ZW50IGxpbmtzIGZyb20gcmFuZG9tbHkgYnJlYWtpbmcgb250byBuZXcgbGluZXNcbiAgfVxufVxuXG4vLyBIb3Zlci9Gb2N1cyBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bi1saW5rLWhvdmVyLWJnO1xuICB9XG59XG5cbi8vIEFjdGl2ZSBzdGF0ZVxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG4vL1xuLy8gR3JheSBvdXQgdGV4dCBhbmQgZW5zdXJlIHRoZSBob3Zlci9mb2N1cyBzdGF0ZSByZW1haW5zIGdyYXlcblxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhIHtcbiAgJixcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50XG4gICAgLnJlc2V0LWZpbHRlcigpO1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi5vcGVuIHtcbiAgLy8gU2hvdyB0aGUgbWVudVxuICA+IC5kcm9wZG93bi1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIDpmb2N1cyBpcyB0cmlnZ2VyZWRcbiAgPiBhIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vIE1lbnUgcG9zaXRpb25pbmdcbi8vXG4vLyBBZGQgZXh0cmEgY2xhc3MgdG8gYC5kcm9wZG93bi1tZW51YCB0byBmbGlwIHRoZSBhbGlnbm1lbnQgb2YgdGhlIGRyb3Bkb3duXG4vLyBtZW51IHdpdGggdGhlIHBhcmVudC5cbi5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgbGVmdDogYXV0bzsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBgLmRyb3Bkb3duLW1lbnVgXG4gIHJpZ2h0OiAwO1xufVxuLy8gV2l0aCB2Mywgd2UgZW5hYmxlZCBhdXRvLWZsaXBwaW5nIGlmIHlvdSBoYXZlIGEgZHJvcGRvd24gd2l0aGluIGEgcmlnaHRcbi8vIGFsaWduZWQgbmF2IGNvbXBvbmVudC4gVG8gZW5hYmxlIHRoZSB1bmRvaW5nIG9mIHRoYXQsIHdlIHByb3ZpZGUgYW4gb3ZlcnJpZGVcbi8vIHRvIHJlc3RvcmUgdGhlIGRlZmF1bHQgZHJvcGRvd24gbWVudSBhbGlnbm1lbnQuXG4vL1xuLy8gVGhpcyBpcyBvbmx5IGZvciBsZWZ0LWFsaWduaW5nIGEgZHJvcGRvd24gbWVudSB3aXRoaW4gYSBgLm5hdmJhci1yaWdodGAgb3Jcbi8vIGAucHVsbC1yaWdodGAgbmF2IGNvbXBvbmVudC5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6IEBkcm9wZG93bi1oZWFkZXItY29sb3I7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIGFzIHdpdGggPiBsaSA+IGFcbn1cblxuLy8gQmFja2Ryb3AgdG8gY2F0Y2ggYm9keSBjbGlja3Mgb24gbW9iaWxlLCBldGMuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogKEB6aW5kZXgtZHJvcGRvd24gLSAxMCk7XG59XG5cbi8vIFJpZ2h0IGFsaWduZWQgZHJvcGRvd25zXG4ucHVsbC1yaWdodCA+IC5kcm9wZG93bi1tZW51IHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy9cbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldCwgYnJvLlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG5cbi5kcm9wdXAsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24ge1xuICAvLyBSZXZlcnNlIHRoZSBjYXJldFxuICAuY2FyZXQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogQGNhcmV0LXdpZHRoLWJhc2Ugc29saWQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZWl0ZXJhdGUgcGVyIG5hdmJhci5sZXNzIGFuZCB0aGUgbW9kaWZpZWQgY29tcG9uZW50IGFsaWdubWVudCB0aGVyZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1yaWdodCB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgLmRyb3Bkb3duLW1lbnUtcmlnaHQoKTtcbiAgICB9XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBvdmVycmlkZXMgb2YgdGhlIGRlZmF1bHQgcmlnaHQgYWxpZ25lZCBtZW51LlxuICAgIC8vIFdpbGwgcmVtb3ZlIGNvbWUgdjQgaW4gYWxsIGxpa2VsaWhvb2QuXG4gICAgLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gICAgICAuZHJvcGRvd24tbWVudS1sZWZ0KCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbi5uYXYtZGl2aWRlcihAY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbn1cbiIsIi8vXG4vLyBJbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBkcm9wZG93bnNcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8vIHByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlbiBwbGFjZWQgd2l0aGluIGEgdGFibGVcblxuICAvLyBVbmRvIHBhZGRpbmcgYW5kIGZsb2F0IG9mIGdyaWQgY2xhc3Nlc1xuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTYxI2lzc3VlY29tbWVudC0yODkzNjg1NVxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgLmlucHV0LWxnKCk7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICAuaW5wdXQtc20oKTtcbn1cblxuXG4vLyBEaXNwbGF5IGFzIHRhYmxlLWNlbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4vLyBBZGRvbiBhbmQgYWRkb24gd3JhcHBlciBmb3IgYnV0dG9uc1xuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gU2l6aW5nXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsIEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gICYuaW5wdXQtbGcge1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsIEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgLmJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gSmFua2lseSBwcmV2ZW50IGlucHV0IGJ1dHRvbiBncm91cHMgZnJvbSB3cmFwcGluZyB3aXRoIGB3aGl0ZS1zcGFjZWAgYW5kXG4gIC8vIGBmb250LXNpemVgIGluIGNvbWJpbmF0aW9uIHdpdGggYGlubGluZS1ibG9ja2Agb24gYnV0dG9ucy5cbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXG4gIC8vIGVsZW1lbnQgYWJvdmUgdGhlIHNpYmxpbmdzLlxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gdG8gb25seSBoYXZlIGEgMXB4IGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBOYXZzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXYge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgdWwvb2xcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG5cbiAgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogQG5hdi1saW5rLXBhZGRpbmc7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdi1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlIHNldHMgdGV4dCB0byBncmF5IGFuZCBudWtlcyBob3Zlci90YWIgZWZmZWN0c1xuICAgICYuZGlzYWJsZWQgPiBhIHtcbiAgICAgIGNvbG9yOiBAbmF2LWRpc2FibGVkLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE9wZW4gZHJvcGRvd25zXG4gIC5vcGVuID4gYSB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdi1saW5rLWhvdmVyLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAbGluay1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBOYXYgZGl2aWRlcnMgKGRlcHJlY2F0ZWQgd2l0aCB2My4wLjEpXG4gIC8vXG4gIC8vIFRoaXMgc2hvdWxkIGhhdmUgYmVlbiByZW1vdmVkIGluIHYzIHdpdGggdGhlIGRyb3BwaW5nIG9mIGAubmF2LWxpc3RgLCBidXRcbiAgLy8gd2UgbWlzc2VkIGl0LiBXZSBkb24ndCBjdXJyZW50bHkgc3VwcG9ydCB0aGlzIGFueXdoZXJlLCBidXQgaW4gdGhlIGludGVyZXN0XG4gIC8vIG9mIG1haW50YWluaW5nIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgaW4gY2FzZSB5b3UgdXNlIGl0LCBpdCdzIGRlcHJlY2F0ZWQuXG4gIC5uYXYtZGl2aWRlciB7XG4gICAgLm5hdi1kaXZpZGVyKCk7XG4gIH1cblxuICAvLyBQcmV2ZW50IElFOCBmcm9tIG1pc3BsYWNpbmcgaW1nc1xuICAvL1xuICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzk4NCNpc3N1ZWNvbW1lbnQtMzk4NTk4OVxuICA+IGxpID4gYSA+IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cblxuLy8gVGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHaXZlIHRoZSB0YWJzIHNvbWV0aGluZyB0byBzaXQgb25cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAvLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuXG4gICAgLy8gQWN0dWFsIHRhYnMgKGFzIGxpbmtzKVxuICAgID4gYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZSBAYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6IEBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciBAbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGUsIGFuZCBpdHMgOmhvdmVyIHRvIG92ZXJyaWRlIG5vcm1hbCA6aG92ZXJcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBwdWxsaW5nIHRoaXMgaW4gbWFpbmx5IGZvciBsZXNzIHNob3J0aGFuZFxuICAmLm5hdi1qdXN0aWZpZWQge1xuICAgIC5uYXYtanVzdGlmaWVkKCk7XG4gICAgLm5hdi10YWJzLWp1c3RpZmllZCgpO1xuICB9XG59XG5cblxuLy8gUGlsbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXYtcGlsbHMge1xuICA+IGxpIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIExpbmtzIHJlbmRlcmVkIGFzIHBpbGxzXG4gICAgPiBhIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBuYXYtcGlsbHMtYm9yZGVyLXJhZGl1cztcbiAgICB9XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdGFja2VkIHBpbGxzXG4ubmF2LXN0YWNrZWQge1xuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyAvLyBubyBuZWVkIGZvciB0aGlzIGdhcCBiZXR3ZWVuIG5hdiBpdGVtc1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdiB2YXJpYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBKdXN0aWZpZWQgbmF2IGxpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXYtanVzdGlmaWVkIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgPiBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cblxuICA+IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICA+IGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBNb3ZlIGJvcmRlcnMgdG8gYW5jaG9ycyBpbnN0ZWFkIG9mIGJvdHRvbSBvZiBsaXN0XG4vL1xuLy8gTWl4aW4gZm9yIGFkZGluZyBvbiB0b3AgdGhlIHNoYXJlZCBgLm5hdi1qdXN0aWZpZWRgIHN0eWxlcyBmb3Igb3VyIHRhYnNcbi5uYXYtdGFicy1qdXN0aWZpZWQge1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gID4gbGkgPiBhIHtcbiAgICAvLyBPdmVycmlkZSBtYXJnaW4gZnJvbSAubmF2LXRhYnNcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgfVxuXG4gID4gLmFjdGl2ZSA+IGEsXG4gID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEsXG4gICAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRhYmJhYmxlIHRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGlkZSB0YWJiYWJsZSBwYW5lcyB0byBzdGFydCwgc2hvdyB0aGVtIHdoZW4gYC5hY3RpdmVgXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cblxuLy8gRHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNwZWNpZmljIGRyb3Bkb3duc1xuLm5hdi10YWJzIC5kcm9wZG93bi1tZW51IHtcbiAgLy8gbWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIC8vIFJlbW92ZSB0aGUgdG9wIHJvdW5kZWQgY29ybmVycyBoZXJlIHNpbmNlIHRoZXJlIGlzIGEgaGFyZCBlZGdlIGFib3ZlIHRoZSBtZW51XG4gIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBOYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgYW5kIGJhc2UgY2xhc3Ncbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IEBuYXZiYXItaGVpZ2h0OyAvLyBFbnN1cmUgYSBuYXZiYXIgYWx3YXlzIHNob3dzIChlLmcuLCB3aXRob3V0IGEgLm5hdmJhci1icmFuZCBpbiBjb2xsYXBzZWQgbW9kZSlcbiAgbWFyZ2luLWJvdHRvbTogQG5hdmJhci1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAvLyBQcmV2ZW50IGZsb2F0cyBmcm9tIGJyZWFraW5nIHRoZSBuYXZiYXJcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiBAbmF2YmFyLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgaGVhZGluZ1xuLy9cbi8vIEdyb3VwcyBgLm5hdmJhci1icmFuZGAgYW5kIGAubmF2YmFyLXRvZ2dsZWAgaW50byBhIHNpbmdsZSBjb21wb25lbnQgZm9yIGVhc3lcbi8vIHN0eWxpbmcgb2YgcmVzcG9uc2l2ZSBhc3BlY3RzLlxuXG4ubmF2YmFyLWhlYWRlciB7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgY29sbGFwc2UgKGJvZHkpXG4vL1xuLy8gR3JvdXAgeW91ciBuYXZiYXIgY29udGVudCBpbnRvIHRoaXMgZm9yIGVhc3kgY29sbGFwc2luZyBhbmQgZXhwYW5kaW5nIGFjcm9zc1xuLy8gdmFyaW91cyBkZXZpY2Ugc2l6ZXMuIEJ5IGRlZmF1bHQsIHRoaXMgY29udGVudCBpcyBjb2xsYXBzZWQgd2hlbiA8NzY4cHgsIGJ1dFxuLy8gd2lsbCBleHBhbmQgcGFzdCB0aGF0IGZvciBhIGhvcml6b250YWwgZGlzcGxheS5cbi8vXG4vLyBUbyBzdGFydCAob24gbW9iaWxlIGRldmljZXMpIHRoZSBuYXZiYXIgbGlua3MsIGZvcm1zLCBhbmQgYnV0dG9ucyBhcmUgc3RhY2tlZFxuLy8gdmVydGljYWxseSBhbmQgaW5jbHVkZSBhIGBtYXgtaGVpZ2h0YCB0byBvdmVyZmxvdyBpbiBjYXNlIHlvdSBoYXZlIHRvbyBtdWNoXG4vLyBjb250ZW50IGZvciB0aGUgdXNlcidzIHZpZXdwb3J0LlxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmctbGVmdDogIEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJi5pbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzZXR0aW5nXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBVbmRvIHRoZSBjb2xsYXBzZSBzaWRlIHBhZGRpbmcgZm9yIG5hdmJhcnMgd2l0aCBjb250YWluZXJzIHRvIGVuc3VyZVxuICAgIC8vIGFsaWdubWVudCBvZiByaWdodC1hbGlnbmVkIGNvbnRlbnRzLlxuICAgIC5uYXZiYXItZml4ZWQtdG9wICYsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wICYsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWF4LWhlaWdodDogQG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0O1xuXG4gICAgQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiBAc2NyZWVuLXhzLW1pbikgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3RoIG5hdmJhciBoZWFkZXIgYW5kIGNvbGxhcHNlXG4vL1xuLy8gV2hlbiBhIGNvbnRhaW5lciBpcyBwcmVzZW50LCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBoZWFkZXIgYW5kIGNvbGxhcHNlLlxuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gID4gLm5hdmJhci1oZWFkZXIsXG4gID4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLWxlZnQ6ICAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcbi8vXG4vLyBEaXNwbGF5IHRoZSBuYXZiYXIgYWNyb3NzIHRoZSBlbnRpcmV0eSBvZiB0aGUgcGFnZSBvciBmaXhlZCBpdCB0byB0aGUgdG9wIG9yXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXG5cbi8vIFN0YXRpYyB0b3AgKHVuZml4ZWQsIGJ1dCAxMDAlIHdpZGUpIG5hdmJhclxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogQHppbmRleC1uYXZiYXI7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LW5hdmJhci1maXhlZDtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG92ZXJyaWRlIC5uYXZiYXIgZGVmYXVsdHNcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xufVxuXG5cbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IEBuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBoZWlnaHQ6IEBuYXZiYXItaGVpZ2h0O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgLm5hdmJhciA+IC5jb250YWluZXIgJixcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLm5hdmJhci10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzRweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIFdlIHJlbW92ZSB0aGUgYG91dGxpbmVgIGhlcmUsIGJ1dCBsYXRlciBjb21wZW5zYXRlIGJ5IGF0dGFjaGluZyBgOmhvdmVyYFxuICAvLyBzdHlsZXMgdG8gYDpmb2N1c2AuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBCYXJzXG4gIC5pY29uLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICB9XG4gIC5pY29uLWJhciArIC5pY29uLWJhciB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdiBsaW5rc1xuLy9cbi8vIEJ1aWxkcyBvbiB0b3Agb2YgdGhlIGAubmF2YCBjb21wb25lbnRzIHdpdGggaXRzIG93biBtb2RpZmllciBjbGFzcyB0byBtYWtlXG4vLyB0aGUgbmF2IHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgaG9yaXpvbnRhbCBuYXYgKGFib3ZlIDc2OHB4KS5cblxuLm5hdmJhci1uYXYge1xuICBtYXJnaW46IChAbmF2YmFyLXBhZGRpbmctdmVydGljYWwgLyAyKSAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgPiBsaSA+IGEge1xuICAgIHBhZGRpbmctdG9wOiAgICAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgPiBsaSA+IGEsXG4gICAgICAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHggNXB4IDI1cHg7XG4gICAgICB9XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBVbmNvbGxhcHNlIHRoZSBuYXZcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgPiBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICAgIEBuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IEBuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgZm9ybVxuLy9cbi8vIEV4dGVuc2lvbiBvZiB0aGUgYC5mb3JtLWlubGluZWAgd2l0aCBzb21lIGV4dHJhIGZsYXZvciBmb3Igb3B0aW11bSBkaXNwbGF5IGluXG4vLyBvdXIgbmF2YmFycy5cblxuLm5hdmJhci1mb3JtIHtcbiAgbWFyZ2luLWxlZnQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgbWFyZ2luLXJpZ2h0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmc6IDEwcHggQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBAc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpLCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICAuYm94LXNoYWRvdyhAc2hhZG93KTtcblxuICAvLyBNaXhpbiBiZWhhdmlvciBmb3Igb3B0aW11bSBkaXNwbGF5XG4gIC5mb3JtLWlubGluZSgpO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAaW5wdXQtaGVpZ2h0LWJhc2UpO1xuXG4gIC8vIFVuZG8gMTAwJSB3aWR0aCBmb3IgcHVsbCBjbGFzc2VzXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duIG1lbnVzXG5cbi8vIE1lbnUgcG9zaXRpb24gYW5kIG1lbnUgY2FyZXRzXG4ubmF2YmFyLW5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAwO1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0IHN1cHBvcnQgZm9yIGRyb3B1cHMgdmlhIGV4dHJhIGRyb3B1cCBjbGFzc1xuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgLmJvcmRlci10b3AtcmFkaXVzKEBuYXZiYXItYm9yZGVyLXJhZGl1cyk7XG4gIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbn1cblxuXG4vLyBCdXR0b25zIGluIG5hdmJhcnNcbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBhIGJ1dHRvbiB3aXRoaW4gYSBuYXZiYXIgKHdoZW4gKm5vdCogaW4gYSBmb3JtKS5cblxuLm5hdmJhci1idG4ge1xuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1zbWFsbCk7XG4gIH1cbiAgJi5idG4teHMge1xuICAgIC5uYXZiYXItdmVydGljYWwtYWxpZ24oMjIpO1xuICB9XG59XG5cblxuLy8gVGV4dCBpbiBuYXZiYXJzXG4vL1xuLy8gQWRkIGEgY2xhc3MgdG8gbWFrZSBhbnkgZWxlbWVudCBwcm9wZXJseSBhbGlnbiBpdHNlbGYgdmVydGljYWxseSB3aXRoaW4gdGhlIG5hdmJhcnMuXG5cbi5uYXZiYXItdGV4dCB7XG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCAgeyAucHVsbC1sZWZ0KCk7IH1cbiAgLm5hdmJhci1yaWdodCB7XG4gICAgLnB1bGwtcmlnaHQoKTtcbiAgICBtYXJnaW4tcmlnaHQ6IC1AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgIH4gLm5hdmJhci1yaWdodCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIG5hdmJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIERlZmF1bHQgbmF2YmFyXG4ubmF2YmFyLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtYmc7XG4gIGJvcmRlci1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJvcmRlcjtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIG1lbnUgaXRlbXNcbiAgLm5hdmJhci1uYXYge1xuICAgIC8vIFJlbW92ZSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gb3BlbiBkcm9wZG93blxuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyBMaW5rcyBpbiBuYXZiYXJzXG4gIC8vXG4gIC8vIEFkZCBhIGNsYXNzIHRvIGVuc3VyZSBsaW5rcyBvdXRzaWRlIHRoZSBuYXZiYXIgbmF2IGFyZSBjb2xvcmVkIGNvcnJlY3RseS5cblxuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSW52ZXJzZSBuYXZiYXJcblxuLm5hdmJhci1pbnZlcnNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJnO1xuICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBEYXJrZW4gdGhlIHJlc3BvbnNpdmUgbmF2IHRvZ2dsZVxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbihAbmF2YmFyLWludmVyc2UtYmcsIDclKTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duc1xuICAubmF2YmFyLW5hdiB7XG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheVxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICAuZGl2aWRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAuYnRuLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgICAmW2Rpc2FibGVkXSxcbiAgICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbi5uYXZiYXItdmVydGljYWwtYWxpZ24oQGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6ICgoQG5hdmJhci1oZWlnaHQgLSBAZWxlbWVudC1oZWlnaHQpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgoQG5hdmJhci1oZWlnaHQgLSBAZWxlbWVudC1oZWlnaHQpIC8gMik7XG59XG4iLCIvL1xuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEZsb2F0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2xlYXJmaXgge1xuICAuY2xlYXJmaXgoKTtcbn1cbi5jZW50ZXItYmxvY2sge1xuICAuY2VudGVyLWJsb2NrKCk7XG59XG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuLnB1bGwtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC5oaWRlIGluIGZhdm9yIG9mIC5oaWRkZW4gb3IgLnNyLW9ubHkgKGFzIGFwcHJvcHJpYXRlKSBpbiB2My4wLjFcbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi50ZXh0LWhpZGUge1xuICAudGV4dC1oaWRlKCk7XG59XG5cblxuLy8gSGlkZSBmcm9tIHNjcmVlbnJlYWRlcnMgYW5kIGJyb3dzZXJzXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuXG4vLyBGb3IgQWZmaXggcGx1Z2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiIsIi8vXG4vLyBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IEBicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWwgQGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicmVhZGNydW1iLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICsgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiQHticmVhZGNydW1iLXNlcGFyYXRvcn1cXDAwYTBcIjsgLy8gVW5pY29kZSBzcGFjZSBhZGRlZCBzaW5jZSBpbmxpbmUtYmxvY2sgbWVhbnMgbm9uLWNvbGxhcHNpbmcgd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6IEBicmVhZGNydW1iLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgY29sb3I6IEBicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2luYXRpb24gKG11bHRpcGxlIHBhZ2VzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lOyAvLyBSZW1vdmUgbGlzdC1zdHlsZSBhbmQgYmxvY2stbGV2ZWwgZGVmYXVsdHNcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgICAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAuYm9yZGVyLWxlZnQtcmFkaXVzKEBib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiBsaSA+IGEsXG4gID4gbGkgPiBzcGFuIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBzcGFuIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgY29sb3I6IEBwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICA+IC5kaXNhYmxlZCB7XG4gICAgPiBzcGFuLFxuICAgID4gc3Bhbjpob3ZlcixcbiAgICA+IHNwYW46Zm9jdXMsXG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6IEBwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMYXJnZVxuLnBhZ2luYXRpb24tbGcge1xuICAucGFnaW5hdGlvbi1zaXplKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOyBAcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOyBAZm9udC1zaXplLWxhcmdlOyBAYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbSB7XG4gIC5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctc21hbGwtdmVydGljYWw7IEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7IEBmb250LXNpemUtc21hbGw7IEBib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuLnBhZ2luYXRpb24tc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZTsgQGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2VyIHBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IEBsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBAcGFnZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogQHBhZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5leHQge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmV2aW91cyB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzLFxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogQHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHBhZ2VyLWJnO1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBsYWJlbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXG4gIC8vIEFkZCBob3ZlciBlZmZlY3RzLCBidXQgb25seSBmb3IgbGlua3NcbiAgYSYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGxhYmVsLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgbGFiZWxzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBsYWJlbHMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gQ29sb3JzXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBsYWJlbHMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpXG5cbi5sYWJlbC1kZWZhdWx0IHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWRlZmF1bHQtYmcpO1xufVxuXG4ubGFiZWwtcHJpbWFyeSB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1wcmltYXJ5LWJnKTtcbn1cblxuLmxhYmVsLXN1Y2Nlc3Mge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtc3VjY2Vzcy1iZyk7XG59XG5cbi5sYWJlbC1pbmZvIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWluZm8tYmcpO1xufVxuXG4ubGFiZWwtd2FybmluZyB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC13YXJuaW5nLWJnKTtcbn1cblxuLmxhYmVsLWRhbmdlciB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1kYW5nZXItYmcpO1xufVxuIiwiLy8gTGFiZWxzXG5cbi5sYWJlbC12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQmFkZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAxMHB4O1xuICBwYWRkaW5nOiAzcHggN3B4O1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGZvbnQtd2VpZ2h0OiBAYmFkZ2UtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiBAYmFkZ2UtY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiBAYmFkZ2UtbGluZS1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFkZ2UtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBiYWRnZS1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5IChub3QgYXZhaWxhYmxlIGluIElFOClcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbiAgLmJ0biAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICB9XG4gIC5idG4teHMgJiB7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFweCA1cHg7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZSwgYnV0IG9ubHkgZm9yIGxpbmtzXG4gIGEmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBiYWRnZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjY291bnQgZm9yIGJhZGdlcyBpbiBuYXZzXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlID4gJixcbiAgLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gJiB7XG4gICAgY29sb3I6IEBiYWRnZS1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhZGdlLWFjdGl2ZS1iZztcbiAgfVxuICAubGlzdC1ncm91cC1pdGVtID4gJiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmICsgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cbiAgLm5hdi1waWxscyA+IGxpID4gYSA+ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gIH1cbn1cbiIsIi8vXG4vLyBKdW1ib3Ryb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmp1bWJvdHJvbiB7XG4gIHBhZGRpbmc6IEBqdW1ib3Ryb24tcGFkZGluZyAoQGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IEBqdW1ib3Ryb24tcGFkZGluZztcbiAgY29sb3I6IEBqdW1ib3Ryb24tY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBqdW1ib3Ryb24tYmc7XG5cbiAgaDEsXG4gIC5oMSB7XG4gICAgY29sb3I6IEBqdW1ib3Ryb24taGVhZGluZy1jb2xvcjtcbiAgfVxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAoQGp1bWJvdHJvbi1wYWRkaW5nIC8gMik7XG4gICAgZm9udC1zaXplOiBAanVtYm90cm9uLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG5cbiAgPiBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKEBqdW1ib3Ryb24tYmcsIDEwJSk7XG4gIH1cblxuICAuY29udGFpbmVyICYsXG4gIC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7IC8vIE9ubHkgcm91bmQgY29ybmVycyBhdCBoaWdoZXIgcmVzb2x1dGlvbnMgaWYgY29udGFpbmVkIGluIGEgY29udGFpbmVyXG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIHBhZGRpbmc6IChAanVtYm90cm9uLXBhZGRpbmcgKiAxLjYpIDA7XG5cbiAgICAuY29udGFpbmVyICYsXG4gICAgLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogIChAanVtYm90cm9uLXBhZGRpbmcgKiAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IChAanVtYm90cm9uLXBhZGRpbmcgKiAyKTtcbiAgICB9XG5cbiAgICBoMSxcbiAgICAuaDEge1xuICAgICAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlICogNC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogQGFsZXJ0LXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBhbGVydC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8vIFNwZWNpZmllZCBmb3IgdGhlIGg0IHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nIEBoZWFkaW5ncy1jb2xvclxuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG4gIC8vIFByb3ZpZGUgY2xhc3MgZm9yIGxpbmtzIHRoYXQgbWF0Y2ggYWxlcnRzXG4gIC5hbGVydC1saW5rIHtcbiAgICBmb250LXdlaWdodDogQGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ7XG4gIH1cblxuICAvLyBJbXByb3ZlIGFsaWdubWVudCBhbmQgc3BhY2luZyBvZiBpbm5lciBjb250ZW50XG4gID4gcCxcbiAgPiB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICA+IHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzYWJsZSwgLy8gVGhlIG1pc3NwZWxsZWQgLmFsZXJ0LWRpc21pc3NhYmxlIHdhcyBkZXByZWNhdGVkIGluIDMuMi4wLlxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogKEBhbGVydC1wYWRkaW5nICsgMjApO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogLTIxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LXN1Y2Nlc3MtYmc7IEBhbGVydC1zdWNjZXNzLWJvcmRlcjsgQGFsZXJ0LXN1Y2Nlc3MtdGV4dCk7XG59XG4uYWxlcnQtaW5mbyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1pbmZvLWJnOyBAYWxlcnQtaW5mby1ib3JkZXI7IEBhbGVydC1pbmZvLXRleHQpO1xufVxuLmFsZXJ0LXdhcm5pbmcge1xuICAuYWxlcnQtdmFyaWFudChAYWxlcnQtd2FybmluZy1iZzsgQGFsZXJ0LXdhcm5pbmctYm9yZGVyOyBAYWxlcnQtd2FybmluZy10ZXh0KTtcbn1cbi5hbGVydC1kYW5nZXIge1xuICAuYWxlcnQtdmFyaWFudChAYWxlcnQtZGFuZ2VyLWJnOyBAYWxlcnQtZGFuZ2VyLWJvcmRlcjsgQGFsZXJ0LWRhbmdlci10ZXh0KTtcbn1cbiIsIi8vIEFsZXJ0c1xuXG4uYWxlcnQtdmFyaWFudChAYmFja2dyb3VuZDsgQGJvcmRlcjsgQHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcbiAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKEB0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvL1xuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXIgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBXZWJLaXRcbkAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi8vIFNwZWMgYW5kIElFMTArXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuXG4vLyBCYXIgaXRzZWxmXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE91dGVyIGNvbnRhaW5lclxuLnByb2dyZXNzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByb2dyZXNzLWJnO1xuICBib3JkZXItcmFkaXVzOiBAcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1cztcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpKTtcbn1cblxuLy8gQmFyIG9mIHByb2dyZXNzXG4ucHJvZ3Jlc3MtYmFyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGNvbG9yOiBAcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcm9ncmVzcy1iYXItYmc7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjE1KSk7XG4gIC50cmFuc2l0aW9uKHdpZHRoIC42cyBlYXNlKTtcbn1cblxuLy8gU3RyaXBlZCBiYXJzXG4vL1xuLy8gYC5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXJgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGluIGZhdm9yIG9mIHRoZVxuLy8gYC5wcm9ncmVzcy1iYXItc3RyaXBlZGAgY2xhc3MsIHdoaWNoIHlvdSBqdXN0IGFkZCB0byBhbiBleGlzdGluZ1xuLy8gYC5wcm9ncmVzcy1iYXJgLlxuLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gICNncmFkaWVudCA+IC5zdHJpcGVkKCk7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4O1xufVxuXG4vLyBDYWxsIGFuaW1hdGlvbiBmb3IgdGhlIGFjdGl2ZSBvbmVcbi8vXG4vLyBgLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLmFjdGl2ZWAgYXBwcm9hY2guXG4ucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLmFjdGl2ZSB7XG4gIC5hbmltYXRpb24ocHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlKTtcbn1cblxuXG4vLyBWYXJpYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWluZm8ge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci1pbmZvLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci13YXJuaW5nIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItd2FybmluZy1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItZGFuZ2VyLWJnKTtcbn1cbiIsIi8vIEdyYWRpZW50c1xuXG4jZ3JhZGllbnQge1xuXG4gIC8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuICAvL1xuICAvLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuICAvLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuICAuaG9yaXpvbnRhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gT3BlcmEgMTJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4gIC8vXG4gIC8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG4gIC8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG4gIC52ZXJ0aWNhbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBzdGFydC1wZXJjZW50OiAwJTsgQGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgIC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG5cbiAgLmRpcmVjdGlvbmFsKEBzdGFydC1jb2xvcjogIzU1NTsgQGVuZC1jb2xvcjogIzMzMzsgQGRlZzogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0LWNvbG9yLCBAZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIE9wZXJhIDEyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgfVxuICAuaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG4gIH1cbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnQtY29sb3I6ICMwMGIzZWU7IEBtaWQtY29sb3I6ICM3YTQzYjY7IEBjb2xvci1zdG9wOiA1MCU7IEBlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC5yYWRpYWwoQGlubmVyLWNvbG9yOiAjNTU1OyBAb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lci1jb2xvciwgQG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuICAuc3RyaXBlZChAY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KTsgQGFuZ2xlOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbiIsIi8vIFByb2dyZXNzIGJhcnNcblxuLnByb2dyZXNzLWJhci12YXJpYW50KEBjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG5cbiAgLy8gRGVwcmVjYXRlZCBwYXJlbnQgY2xhc3MgcmVxdWlyZW1lbnQgYXMgb2YgdjMuMi4wXG4gIC5wcm9ncmVzcy1zdHJpcGVkICYge1xuICAgICNncmFkaWVudCA+IC5zdHJpcGVkKCk7XG4gIH1cbn1cbiIsIi5tZWRpYSB7XG4gIC8vIFByb3BlciBzcGFjaW5nIGJldHdlZW4gaW5zdGFuY2VzIG9mIC5tZWRpYVxuICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhID4gLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5tZWRpYS1sZWZ0LFxuLm1lZGlhID4gLnB1bGwtbGVmdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG5cbi5tZWRpYS1sZWZ0LFxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhLWJvZHkge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4ubWVkaWEtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLm1lZGlhLWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi8vIFJlc2V0IG1hcmdpbnMgb24gaGVhZGluZ3MgZm9yIHRpZ2h0ZXIgZGVmYXVsdCBzcGFjaW5nXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLy8gTWVkaWEgbGlzdCB2YXJpYXRpb25cbi8vXG4vLyBVbmRvIGRlZmF1bHQgdWwvb2wgc3R5bGVzXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBMaXN0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQGxpc3QtZ3JvdXAtYm9yZGVyO1xuXG4gIC8vIFJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLXRvcC1yYWRpdXMoQGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cyhAbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vIExpbmtlZCBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBlbGVtZW50cyBpbnN0ZWFkIG9mIGBsaWBzIG9yIGBkaXZgcyB0byBjcmVhdGUgbGlua2VkIGxpc3QgaXRlbXMuXG4vLyBJbmNsdWRlcyBhbiBleHRyYSBgLmFjdGl2ZWAgbW9kaWZpZXIgY2xhc3MgZm9yIHNob3dpbmcgc2VsZWN0ZWQgaXRlbXMuXG5cbmEubGlzdC1ncm91cC1pdGVtIHtcbiAgY29sb3I6IEBsaXN0LWdyb3VwLWxpbmstY29sb3I7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogQGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG59XG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmLmRpc2FibGVkLFxuICAmLmRpc2FibGVkOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC1iZztcbiAgICBjb2xvcjogQGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICBjb2xvcjogQGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgY2xhc3Mgb24gaXRlbSBpdHNlbGYsIG5vdCBwYXJlbnRcbiAgJi5hY3RpdmUsXG4gICYuYWN0aXZlOmhvdmVyLFxuICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogQGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6IEBsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI7XG5cbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCxcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgICBjb2xvcjogQGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQ29udGV4dHVhbCB2YXJpYW50c1xuLy9cbi8vIEFkZCBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGluZGl2aWR1YWwgaXRlbXMuXG4vLyBPcmdhbml6YXRpb25hbGx5LCB0aGlzIG11c3QgY29tZSBhZnRlciB0aGUgYDpob3ZlcmAgc3RhdGVzLlxuXG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzczsgQHN0YXRlLXN1Y2Nlc3MtYmc7IEBzdGF0ZS1zdWNjZXNzLXRleHQpO1xuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGluZm87IEBzdGF0ZS1pbmZvLWJnOyBAc3RhdGUtaW5mby10ZXh0KTtcbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudCh3YXJuaW5nOyBAc3RhdGUtd2FybmluZy1iZzsgQHN0YXRlLXdhcm5pbmctdGV4dCk7XG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyOyBAc3RhdGUtZGFuZ2VyLWJnOyBAc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KEBzdGF0ZTsgQGJhY2tncm91bmQ7IEBjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLUB7c3RhdGV9IHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuXG4gICAgYSYge1xuICAgICAgY29sb3I6IEBjb2xvcjtcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFuZWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiBAcGFuZWwtYm9yZGVyLXJhZGl1cztcbiAgLmJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6IEBwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICA+IC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBXaXRoaW4gaGVhZGluZywgc3RyaXAgYW55IGBoKmAgdGFnIG9mIGl0cyBkZWZhdWx0IG1hcmdpbnMgZm9yIHNwYWNpbmcuXG4ucGFuZWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuMTI1KSk7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgZm9vdGVyIChzdGF5cyBncmF5IGluIGV2ZXJ5IG1vZGlmaWVyIGNsYXNzKVxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6IEBwYW5lbC1mb290ZXItcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBhbmVsLWZvb3Rlci1iZztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBwYW5lbC1pbm5lci1ib3JkZXI7XG4gIC5ib3JkZXItYm90dG9tLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG59XG5cblxuLy8gTGlzdCBncm91cHMgaW4gcGFuZWxzXG4vL1xuLy8gQnkgZGVmYXVsdCwgc3BhY2Ugb3V0IGxpc3QgZ3JvdXAgY29udGVudCBmcm9tIHBhbmVsIGhlYWRpbmdzIHRvIGFjY291bnQgZm9yXG4vLyBhbnkga2luZCBvZiBjdXN0b20gY29udGVudCBiZXR3ZWVuIHRoZSB0d28uXG5cbi5wYW5lbCB7XG4gID4gLmxpc3QtZ3JvdXAsXG4gID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8vIEFkZCBib3JkZXIgdG9wIHJhZGl1cyBmb3IgZmlyc3Qgb25lXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8gQ29sbGFwc2Ugc3BhY2UgYmV0d2VlbiB3aGVuIHRoZXJlJ3Mgbm8gYWRkaXRpb25hbCBjb250ZW50LlxuLnBhbmVsLWhlYWRpbmcgKyAubGlzdC1ncm91cCB7XG4gIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cbi5saXN0LWdyb3VwICsgLnBhbmVsLWZvb3RlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG5cbi8vIFRhYmxlcyBpbiBwYW5lbHNcbi8vXG4vLyBQbGFjZSBhIG5vbi1ib3JkZXJlZCBgLnRhYmxlYCB3aXRoaW4gYSBwYW5lbCAobm90IHdpdGhpbiBhIGAucGFuZWwtYm9keWApIGFuZFxuLy8gd2F0Y2ggaXQgZ28gZnVsbCB3aWR0aC5cblxuLnBhbmVsIHtcbiAgPiAudGFibGUsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUsXG4gID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBAcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICA+IC50YWJsZTpmaXJzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0Ym9keTpsYXN0LWNoaWxkLFxuICAgID4gdGZvb3Q6bGFzdC1jaGlsZCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUsXG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUtcmVzcG9uc2l2ZSxcbiAgPiAudGFibGUgKyAucGFuZWwtYm9keSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSArIC5wYW5lbC1ib2R5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuICA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGgsXG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICA+IC50YWJsZS1ib3JkZXJlZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgID4gdHIge1xuICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8vIENvbGxhcHNhYmxlIHBhbmVscyAoYWthLCBhY2NvcmRpb24pXG4vL1xuLy8gV3JhcCBhIHNlcmllcyBvZiBwYW5lbHMgaW4gYC5wYW5lbC1ncm91cGAgdG8gdHVybiB0aGVtIGludG8gYW4gYWNjb3JkaW9uIHdpdGhcbi8vIHRoZSBoZWxwIG9mIG91ciBjb2xsYXBzZSBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLnBhbmVsLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuXG4gIC8vIFRpZ2h0ZW4gdXAgbWFyZ2luIHNvIGl0J3Mgb25seSBiZXR3ZWVuIHBhbmVsc1xuICAucGFuZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogQHBhbmVsLWJvcmRlci1yYWRpdXM7XG5cbiAgICArIC5wYW5lbCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWhlYWRpbmcge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LFxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBwYW5lbC1pbm5lci1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnNcbi5wYW5lbC1kZWZhdWx0IHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWRlZmF1bHQtYm9yZGVyOyBAcGFuZWwtZGVmYXVsdC10ZXh0OyBAcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOyBAcGFuZWwtZGVmYXVsdC1ib3JkZXIpO1xufVxuLnBhbmVsLXByaW1hcnkge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtcHJpbWFyeS1ib3JkZXI7IEBwYW5lbC1wcmltYXJ5LXRleHQ7IEBwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc7IEBwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1zdWNjZXNzLWJvcmRlcjsgQHBhbmVsLXN1Y2Nlc3MtdGV4dDsgQHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzsgQHBhbmVsLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi5wYW5lbC1pbmZvIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWluZm8tYm9yZGVyOyBAcGFuZWwtaW5mby10ZXh0OyBAcGFuZWwtaW5mby1oZWFkaW5nLWJnOyBAcGFuZWwtaW5mby1ib3JkZXIpO1xufVxuLnBhbmVsLXdhcm5pbmcge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtd2FybmluZy1ib3JkZXI7IEBwYW5lbC13YXJuaW5nLXRleHQ7IEBwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc7IEBwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWRhbmdlci1ib3JkZXI7IEBwYW5lbC1kYW5nZXItdGV4dDsgQHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOyBAcGFuZWwtZGFuZ2VyLWJvcmRlcik7XG59XG4iLCIvLyBQYW5lbHNcblxuLnBhbmVsLXZhcmlhbnQoQGJvcmRlcjsgQGhlYWRpbmctdGV4dC1jb2xvcjsgQGhlYWRpbmctYmctY29sb3I7IEBoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBFbWJlZHMgcmVzcG9uc2l2ZVxuLy9cbi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBNb2RpZmllciBjbGFzcyBmb3IgMTY6OSBhc3BlY3QgcmF0aW9cbiAgJi5lbWJlZC1yZXNwb25zaXZlLTE2Ynk5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICB9XG5cbiAgLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDQ6MyBhc3BlY3QgcmF0aW9cbiAgJi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICAgIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIH1cbn1cbiIsIi8vXG4vLyBXZWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ud2VsbCB7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDE5cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3ZWxsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAd2VsbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gIH1cbn1cblxuLy8gU2l6ZXNcbi53ZWxsLWxnIHtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG4ud2VsbC1zbSB7XG4gIHBhZGRpbmc6IDlweDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG59XG4iLCIvL1xuLy8gQ2xvc2UgaWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBmb250LXdlaWdodDogQGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBjbG9zZS10ZXh0LXNoYWRvdztcbiAgLm9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAub3BhY2l0eSguNSk7XG4gIH1cblxuICAvLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4gIC8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuICAvLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbiAgYnV0dG9uJiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuIiwiLy9cbi8vIE1vZGFsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLm1vZGFsLW9wZW4gICAgICAtIGJvZHkgY2xhc3MgZm9yIGtpbGxpbmcgdGhlIHNjcm9sbFxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXG4vLyAubW9kYWwtZGlhbG9nICAgIC0gcG9zaXRpb25pbmcgc2hlbGwgZm9yIHRoZSBhY3R1YWwgbW9kYWxcbi8vIC5tb2RhbC1jb250ZW50ICAgLSBhY3R1YWwgbW9kYWwgdy8gYmcgYW5kIGNvcm5lcnMgYW5kIHNoaXRcblxuLy8gS2lsbCB0aGUgc2Nyb2xsIG9uIHRoZSBib2R5XG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxuLm1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtbW9kYWw7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDk1MS5cbiAgb3V0bGluZTogMDtcblxuICAvLyBXaGVuIGZhZGluZyBpbiB0aGUgbW9kYWwsIGFuaW1hdGUgaXQgdG8gc2xpZGUgZG93blxuICAmLmZhZGUgLm1vZGFsLWRpYWxvZyB7XG4gICAgLnRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICAudHJhbnNpdGlvbi10cmFuc2Zvcm0oflwiMC4zcyBlYXNlLW91dFwiKTtcbiAgfVxuICAmLmluIC5tb2RhbC1kaWFsb2cgeyAudHJhbnNsYXRlKDAsIDApIH1cbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbW9kYWwtY29udGVudC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOyAvL29sZCBicm93c2VycyBmYWxsYmFjayAoaWU4IGV0YylcbiAgYm9yZGVyOiAxcHggc29saWQgQG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgLmJveC1zaGFkb3coMCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLy8gUmVtb3ZlIGZvY3VzIG91dGxpbmUgZnJvbSBvcGVuZWQgbW9kYWxcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gTW9kYWwgYmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbW9kYWwtYmFja2Ryb3AtYmc7XG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IC5vcGFjaXR5KDApOyB9XG4gICYuaW4geyAub3BhY2l0eShAbW9kYWwtYmFja2Ryb3Atb3BhY2l0eSk7IH1cbn1cblxuLy8gTW9kYWwgaGVhZGVyXG4vLyBUb3Agc2VjdGlvbiBvZiB0aGUgbW9kYWwgdy8gdGl0bGUgYW5kIGRpc21pc3Ncbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiBAbW9kYWwtdGl0bGUtcGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBtaW4taGVpZ2h0OiAoQG1vZGFsLXRpdGxlLXBhZGRpbmcgKyBAbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQpO1xufVxuLy8gQ2xvc2UgaWNvblxuLm1vZGFsLWhlYWRlciAuY2xvc2Uge1xuICBtYXJnaW4tdG9wOiAtMnB4O1xufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IEBtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbn1cblxuLy8gTW9kYWwgYm9keVxuLy8gV2hlcmUgYWxsIG1vZGFsIGNvbnRlbnQgcmVzaWRlcyAoc2libGluZyBvZiAubW9kYWwtaGVhZGVyIGFuZCAubW9kYWwtZm9vdGVyKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IEBtb2RhbC1pbm5lci1wYWRkaW5nO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6IEBtb2RhbC1pbm5lci1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpOyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGFjY291bnQgZm9yIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gd2hpY2ggZ2V0cyB0aGUgYm90dG9tIG1hcmdpbiBsaWtlIGFsbCBvdGhlciBpbnB1dHNcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgLy8gQXV0b21hdGljYWxseSBzZXQgbW9kYWwncyB3aWR0aCBmb3IgbGFyZ2VyIHZpZXdwb3J0c1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogQG1vZGFsLW1kO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICB9XG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICAuYm94LXNoYWRvdygwIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIE1vZGFsIHNpemVzXG4gIC5tb2RhbC1zbSB7IHdpZHRoOiBAbW9kYWwtc207IH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gIC5tb2RhbC1sZyB7IHdpZHRoOiBAbW9kYWwtbGc7IH1cbn1cbiIsIi8vXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogQHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLy8gUmVzZXQgZm9udCBhbmQgdGV4dCBwcm9wZXJ0ZXMgZ2l2ZW4gbmV3IGluc2VydGlvbiBtZXRob2RcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIC5vcGFjaXR5KDApO1xuXG4gICYuaW4gICAgIHsgLm9wYWNpdHkoQHRvb2x0aXAtb3BhY2l0eSk7IH1cbiAgJi50b3AgICAgeyBtYXJnaW4tdG9wOiAgLTNweDsgcGFkZGluZzogQHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLnJpZ2h0ICB7IG1hcmdpbi1sZWZ0OiAgM3B4OyBwYWRkaW5nOiAwIEB0b29sdGlwLWFycm93LXdpZHRoOyB9XG4gICYuYm90dG9tIHsgbWFyZ2luLXRvcDogICAzcHg7IHBhZGRpbmc6IEB0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5sZWZ0ICAgeyBtYXJnaW4tbGVmdDogLTNweDsgcGFkZGluZzogMCBAdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogQHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogQHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9vbHRpcC1iZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcbn1cblxuLy8gQXJyb3dzXG4udG9vbHRpcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnRvcC1sZWZ0LCAudG9wLXJpZ2h0LCAuYm90dG9tLWxlZnQsIGFuZCAuYm90dG9tLXJpZ2h0IGFzIG9mIHYzLjMuMVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYucmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYubGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIFBvcG92ZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtcG9wb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiBAcG9wb3Zlci1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6IDFweDtcbiAgLy8gUmVzZXQgZm9udCBhbmQgdGV4dCBwcm9wZXJ0ZXMgZ2l2ZW4gbmV3IGluc2VydGlvbiBtZXRob2RcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9wb3Zlci1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgQHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yO1xuICBib3JkZXI6IDFweCBzb2xpZCBAcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xuICAuYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcblxuICAvLyBPdmVycmlkZXMgZm9yIHByb3BlciBpbnNlcnRpb25cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAvLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbiAgJi50b3AgICAgIHsgbWFyZ2luLXRvcDogLUBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYucmlnaHQgICB7IG1hcmdpbi1sZWZ0OiBAcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSAgeyBtYXJnaW4tdG9wOiBAcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmxlZnQgICAgeyBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LXdpZHRoOyB9XG59XG5cbi5wb3BvdmVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3BvdmVyLXRpdGxlLWJnO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKEBwb3BvdmVyLXRpdGxlLWJnLCA1JSk7XG4gIGJvcmRlci1yYWRpdXM6IChAYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpIChAYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpIDAgMDtcbn1cblxuLnBvcG92ZXItY29udGVudCB7XG4gIHBhZGRpbmc6IDlweCAxNHB4O1xufVxuXG4vLyBBcnJvd3Ncbi8vXG4vLyAuYXJyb3cgaXMgb3V0ZXIsIC5hcnJvdzphZnRlciBpcyBpbm5lclxuXG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gICYsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG59XG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gIGJvcmRlci13aWR0aDogQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG59XG4ucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7XG4gIGJvcmRlci13aWR0aDogQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5wb3BvdmVyIHtcbiAgJi50b3AgPiAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIGJvdHRvbTogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYucmlnaHQgPiAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYm90dG9tOiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYuYm90dG9tID4gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB0b3A6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCA+IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgYm90dG9tOiAtQHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHA6Ly9nZXRib290c3RyYXAuY29tL2dldHRpbmctc3RhcnRlZC8jc3VwcG9ydC1pZTEwLXdpZHRoXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTMvMDEvd2luZG93cy1waG9uZS04LWFuZC1kZXZpY2Utd2lkdGgvXG4vLyBTb3VyY2U6IGh0dHA6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDtcbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG4udmlzaWJsZS14cyxcbi52aXNpYmxlLXNtLFxuLnZpc2libGUtbWQsXG4udmlzaWJsZS1sZyB7XG4gIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xufVxuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnZpc2libGUteHMge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi52aXNpYmxlLXNtIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1zbS1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi52aXNpYmxlLW1kIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1tZC1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi52aXNpYmxlLWxnIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpO1xuICB9XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZGVuLXhzIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi5oaWRkZW4tc20ge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiBAc2NyZWVuLXNtLW1heCkge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4uaGlkZGVuLW1kIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1tZC1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuLmhpZGRlbi1sZyB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG4udmlzaWJsZS1wcmludCB7XG4gIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpO1xuICB9XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaGlkZGVuLXByaW50IHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZSB1dGlsaXRpZXNcblxuLy9cbi8vIE1vcmUgZWFzaWx5IGluY2x1ZGUgYWxsIHRoZSBzdGF0ZXMgZm9yIHJlc3BvbnNpdmUtdXRpbGl0aWVzLmxlc3MuXG4ucmVzcG9uc2l2ZS12aXNpYmlsaXR5KCkge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB0YWJsZSYgIHsgZGlzcGxheTogdGFibGU7IH1cbiAgdHImICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoJixcbiAgdGQmICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4ucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vICBAZm9udC1mYWNlIHtcbi8vICAgIGZvbnQtZmFtaWx5OiAnRW5jb2RlIFNhbnMgQ29tcHJlc3NlZCc7XG4vLyAgICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtdGhpbn0uZW90JylcIjtcbi8vICAgIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS10aGlufS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4vLyAgICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtdGhpbn0ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4vLyAgICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtdGhpbn0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpXCIsXG4vLyAgICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtdGhpbn0uc3ZnI0B7bG9jYWwtZm9udC1uYW1lLXRoaW59JykgZm9ybWF0KCdzdmcnKVwiO1xuLy8gICAgZm9udC13ZWlnaHQ6IDEwMDtcbi8vICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICB9XG4vLyAgXG4vLyAgQGZvbnQtZmFjZSB7XG4vLyAgICBmb250LWZhbWlseTogJ0VuY29kZSBTYW5zIENvbXByZXNzZWQnO1xuLy8gICAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWV4dHJhbGlnaHR9LmVvdCcpXCI7XG4vLyAgICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFsaWdodH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuLy8gICAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWV4dHJhbGlnaHR9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuLy8gICAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWV4dHJhbGlnaHR9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKVwiLFxuLy8gICAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWV4dHJhbGlnaHR9LnN2ZyNAe2xvY2FsLWZvbnQtbmFtZS1leHRyYWxpZ2h0fScpIGZvcm1hdCgnc3ZnJylcIjtcbi8vICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4vLyAgICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyAgfVxuLy8gIFxuLy8gIEBmb250LWZhY2Uge1xuLy8gICAgZm9udC1mYW1pbHk6ICdFbmNvZGUgU2FucyBDb21wcmVzc2VkJztcbi8vICAgIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1saWdodH0uZW90JylcIjtcbi8vICAgIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1saWdodH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuLy8gICAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWxpZ2h0fS53b2ZmJykgZm9ybWF0KCd3b2ZmJylcIixcbi8vICAgICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1saWdodH0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpXCIsXG4vLyAgICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtbGlnaHR9LnN2ZyNAe2xvY2FsLWZvbnQtbmFtZS1saWdodH0nKSBmb3JtYXQoJ3N2ZycpXCI7XG4vLyAgICBmb250LXdlaWdodDogMzAwO1xuLy8gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gIH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRW5jb2RlIFNhbnMgQ29tcHJlc3NlZCc7XG4gIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1yZWd1bGFyfS5lb3QnKVwiO1xuICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtcmVndWxhcn0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtcmVndWxhcn0ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1yZWd1bGFyfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLXJlZ3VsYXJ9LnN2ZyNAe2xvY2FsLWZvbnQtbmFtZS1yZWd1bGFyfScpIGZvcm1hdCgnc3ZnJylcIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFbmNvZGUgU2FucyBDb21wcmVzc2VkJztcbiAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLW1lZGl1bX0uZW90JylcIjtcbiAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLW1lZGl1bX0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtbWVkaXVtfS53b2ZmJykgZm9ybWF0KCd3b2ZmJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLW1lZGl1bX0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1tZWRpdW19LnN2ZyNAe2xvY2FsLWZvbnQtbmFtZS1tZWRpdW19JykgZm9ybWF0KCdzdmcnKVwiO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0VuY29kZSBTYW5zIENvbXByZXNzZWQnO1xuICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtc2VtaWJvbGR9LmVvdCcpXCI7XG4gIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1zZW1pYm9sZH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtc2VtaWJvbGR9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtc2VtaWJvbGR9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtc2VtaWJvbGR9LnN2ZyNAe2xvY2FsLWZvbnQtbmFtZS1zZW1pYm9sZH0nKSBmb3JtYXQoJ3N2ZycpXCI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRW5jb2RlIFNhbnMgQ29tcHJlc3NlZCc7XG4gIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ib2xkfS5lb3QnKVwiO1xuICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtYm9sZH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtYm9sZH0ud29mZicpIGZvcm1hdCgnd29mZicpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ib2xkfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWJvbGR9LnN2ZyNAe2xvY2FsLWZvbnQtbmFtZS1ib2xkfScpIGZvcm1hdCgnc3ZnJylcIjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdFbmNvZGUgU2FucyBDb21wcmVzc2VkJztcbiAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWV4dHJhYm9sZH0uZW90JylcIjtcbiAgc3JjOiB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWV4dHJhYm9sZH0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtZXh0cmFib2xkfS53b2ZmJykgZm9ybWF0KCd3b2ZmJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7bG9jYWwtZm9udC1wYXRofUB7bG9jYWwtZm9udC1uYW1lLWV4dHJhYm9sZH0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1leHRyYWJvbGR9LnN2ZyNAe2xvY2FsLWZvbnQtbmFtZS1leHRyYWJvbGR9JykgZm9ybWF0KCdzdmcnKVwiO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0VuY29kZSBTYW5zIENvbXByZXNzZWQnO1xuICBzcmM6IH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtYmxhY2t9LmVvdCcpXCI7XG4gIHNyYzogflwidXJsKCdAe2xvY2FsLWZvbnQtcGF0aH1Ae2xvY2FsLWZvbnQtbmFtZS1ibGFja30uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtYmxhY2t9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtYmxhY2t9LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKVwiLFxuICAgICAgIH5cInVybCgnQHtsb2NhbC1mb250LXBhdGh9QHtsb2NhbC1mb250LW5hbWUtYmxhY2t9LnN2ZyNAe2xvY2FsLWZvbnQtbmFtZS1ibGFja30nKSBmb3JtYXQoJ3N2ZycpXCI7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIvL1xuLy8gR2x5cGhpY29ucyBmb3IgRmxhdCBVSSBGcmVlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiRmxhdC1VSS1JY29uc1wiO1xuICBzcmM6IH5cInVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5lb3QnKVwiO1xuICBzcmM6IH5cInVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXCIsXG4gICAgICAgflwidXJsKCdAe2ljb24tZm9udC1wYXRofUB7aWNvbi1mb250LW5hbWV9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKVwiLFxuICAgICAgIH5cInVybCgnQHtpY29uLWZvbnQtcGF0aH1Ae2ljb24tZm9udC1uYW1lfS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJylcIixcbiAgICAgICB+XCJ1cmwoJ0B7aWNvbi1mb250LXBhdGh9QHtpY29uLWZvbnQtbmFtZX0uc3ZnI0B7aWNvbi1mb250LXN2Zy1pZH0nKSBmb3JtYXQoJ3N2ZycpXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG4vKiBVc2UgdGhlIGZvbGxvd2luZyBDU1MgY29kZSBpZiB5b3Ugd2FudCB0byB1c2UgZGF0YSBhdHRyaWJ1dGVzIGZvciBpbnNlcnRpbmcgeW91ciBpY29ucyAqL1xuW2RhdGEtaWNvbl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6ICdGbGF0LVVJLUljb25zJztcbiAgY29udGVudDogYXR0cihkYXRhLWljb24pO1xuICBzcGVhazogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLyogVXNlIHRoZSBmb2xsb3dpbmcgQ1NTIGNvZGUgaWYgeW91IHdhbnQgdG8gaGF2ZSBhIGNsYXNzIHBlciBpY29uICovXG4vKlxuSW5zdGVhZCBvZiBhIGxpc3Qgb2YgYWxsIGNsYXNzIHNlbGVjdG9ycyxcbnlvdSBjYW4gdXNlIHRoZSBnZW5lcmljIHNlbGVjdG9yIGJlbG93LCBidXQgaXQncyBzbG93ZXI6XG5bY2xhc3MqPVwiZnVpLVwiXSB7XG4qL1xuLmZ1aS1hcnJvdy1yaWdodCwgLmZ1aS1hcnJvdy1sZWZ0LCAuZnVpLWNtZCwgLmZ1aS1jaGVjay1pbnZlcnRlZCwgLmZ1aS1oZWFydCwgLmZ1aS1sb2NhdGlvbiwgLmZ1aS1wbHVzLCAuZnVpLWNoZWNrLCAuZnVpLWNyb3NzLCAuZnVpLWxpc3QsIC5mdWktbmV3LCAuZnVpLXZpZGVvLCAuZnVpLXBob3RvLCAuZnVpLXZvbHVtZSwgLmZ1aS10aW1lLCAuZnVpLWV5ZSwgLmZ1aS1jaGF0LCAuZnVpLXNlYXJjaCwgLmZ1aS11c2VyLCAuZnVpLW1haWwsIC5mdWktbG9jaywgLmZ1aS1nZWFyLCAuZnVpLXJhZGlvLXVuY2hlY2tlZCwgLmZ1aS1yYWRpby1jaGVja2VkLCAuZnVpLWNoZWNrYm94LXVuY2hlY2tlZCwgLmZ1aS1jaGVja2JveC1jaGVja2VkLCAuZnVpLWNhbGVuZGFyLXNvbGlkLCAuZnVpLXBhdXNlLCAuZnVpLXBsYXksIC5mdWktY2hlY2staW52ZXJ0ZWQtMiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICdGbGF0LVVJLUljb25zJztcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbi5mdWktYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMmNcIjtcbn1cbi5mdWktYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyZFwiO1xufVxuLmZ1aS1jbWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMmZcIjtcbn1cbi5mdWktY2hlY2staW52ZXJ0ZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDZcIjtcbn1cbi5mdWktaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDdcIjtcbn1cbi5mdWktbG9jYXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDhcIjtcbn1cbi5mdWktcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwOVwiO1xufVxuLmZ1aS1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwYVwiO1xufVxuLmZ1aS1jcm9zczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwYlwiO1xufVxuLmZ1aS1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDBjXCI7XG59XG4uZnVpLW5ldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwZFwiO1xufVxuLmZ1aS12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwZVwiO1xufVxuLmZ1aS1waG90bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwZlwiO1xufVxuLmZ1aS12b2x1bWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTBcIjtcbn1cbi5mdWktdGltZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxMVwiO1xufVxuLmZ1aS1leWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTJcIjtcbn1cbi5mdWktY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxM1wiO1xufVxuLmZ1aS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWNcIjtcbn1cbi5mdWktdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxZFwiO1xufVxuLmZ1aS1tYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7XG59XG4uZnVpLWxvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWZcIjtcbn1cbi5mdWktZ2VhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyNFwiO1xufVxuLmZ1aS1yYWRpby11bmNoZWNrZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMmJcIjtcbn1cbi5mdWktcmFkaW8tY2hlY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzMlwiO1xufVxuLmZ1aS1jaGVja2JveC11bmNoZWNrZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzNcIjtcbn1cbi5mdWktY2hlY2tib3gtY2hlY2tlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzNFwiO1xufVxuLmZ1aS1jYWxlbmRhci1zb2xpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyMlwiO1xufVxuLmZ1aS1wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzYlwiO1xufVxuLmZ1aS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDNjXCI7XG59XG4uZnVpLWNoZWNrLWludmVydGVkLTI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMDBcIjtcbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCb2R5IHJlc2V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmJvZHkge1xuICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWJhc2U7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJvZHktYmc7XG59XG5cbi8vIExpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmEge1xuICBjb2xvcjogQGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLnRyYW5zaXRpb24oLjI1cyk7XG4gICAgXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4vLyBJbWFnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IEB0aHVtYm5haWwtcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDJweCBzb2xpZCBAdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICAudHJhbnNpdGlvbihhbGwgLjI1cyBlYXNlLWluLW91dCk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIC5pbWctcmVzcG9uc2l2ZShpbmxpbmUtYmxvY2spO1xufVxuXG4vLyBEZXNjcmlwdGlvbiB0ZXh0IHVuZGVyIGltYWdlXG4uaW1nLWNvbW1lbnQge1xuICBmb250LXNpemU6IGNlaWwoQGZvbnQtc2l6ZS1iYXNlICogMC44MzMzKTsgLy8gfjE1cHhcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW46IDI0cHggMDtcbn0iLCIvL1xuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBIZWFkaW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBAaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiBAaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBAaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiBAaGVhZGluZ3MtY29sb3I7XG4gIFxuICBzbWFsbCB7XG4gICAgY29sb3I6IEBoZWFkaW5ncy1zbWFsbC1jb2xvcjtcbiAgfVxufVxuXG5oMSxcbmgyLFxuaDMge1xuICBtYXJnaW4tdG9wOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbi10b3A6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xufVxuXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6IEBmb250LXNpemUtaDE7IH0gLy8gfjYycHhcbmgyLCAuaDIgeyBmb250LXNpemU6IEBmb250LXNpemUtaDI7IH0gLy8gfjUycHhcbmgzLCAuaDMgeyBmb250LXNpemU6IEBmb250LXNpemUtaDM7IH0gLy8gfjQwcHhcbmg0LCAuaDQgeyBmb250LXNpemU6IEBmb250LXNpemUtaDQ7IH0gLy8gfjI5cHhcbmg1LCAuaDUgeyBmb250LXNpemU6IEBmb250LXNpemUtaDU7IH0gLy8gfjI4cHggXG5oNiwgLmg2IHsgZm9udC1zaXplOiBAZm9udC1zaXplLWg2OyB9IC8vIH4yNHB4XG5cblxuLy8gQm9keSB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnAge1xuICBmb250LXNpemU6ICAgQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIG1hcmdpbjogMCAwIChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgZm9udC13ZWlnaHQ6IEBmb250LXdlaWdodC1iYXNlO1xuICBjb2xvcjogQGZvbnQtY29sb3ItYmFzZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi5sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICAgZmxvb3IoQGZvbnQtc2l6ZS1iYXNlICogMS41NTYpOyAgLy8gfjI4cHhcbiAgbGluZS1oZWlnaHQ6IDEuNDY0Mjg1NzE7ICAgICAgICAgICAgICAgICAgICAgIC8vIH40MXB4XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIFxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjY2Nyk7ICAgICAgIC8vIH4zMHB4XG4gIH1cbn1cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAxOHB4IGJhc2UgZm9udCAqIDgzJSA9IGFib3V0IDE1cHhcbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MyU7ICAgICAvLyB+MTVweFxuICBsaW5lLWhlaWdodDogMi4wNjc7IC8vIH4zMXB4XG59XG5cbi8vIENvbnRleHR1YWwgZW1waGFzaXNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6IEB0ZXh0LW11dGVkO1xufVxuLnRleHQtaW52ZXJzZSB7XG4gIGNvbG9yOiBAaW52ZXJzZTtcbn1cbi50ZXh0LXByaW1hcnkge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBicmFuZC1zZWNvbmRhcnkpO1xufVxuLnRleHQtd2FybmluZyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLXdhcm5pbmctdGV4dCk7XG59XG4udGV4dC1kYW5nZXIge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1kYW5nZXItdGV4dCk7XG59XG4udGV4dC1zdWNjZXNzIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbn1cbi50ZXh0LWluZm8ge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1pbmZvLXRleHQpO1xufVxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG4uYmctcHJpbWFyeSB7XG4gIC8vIEdpdmVuIHRoZSBjb250cmFzdCBoZXJlLCB0aGlzIGlzIHRoZSBvbmx5IGNsYXNzIHRvIGhhdmUgaXRzIGNvbG9yIGludmVydGVkXG4gIC8vIGF1dG9tYXRpY2FsbHkuXG4gIGNvbG9yOiBAaW52ZXJzZTtcbiAgLmJnLXZhcmlhbnQoQGJyYW5kLXByaW1hcnkpO1xufVxuLmJnLXN1Y2Nlc3Mge1xuICAuYmctdmFyaWFudChAc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uYmctaW5mbyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1pbmZvLWJnKTtcbn1cbi5iZy13YXJuaW5nIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLXdhcm5pbmctYmcpO1xufVxuLmJnLWRhbmdlciB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1kYW5nZXItYmcpO1xufVxuXG5cbi8vIFBhZ2UgaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSk7XG4gIC8vbWFyZ2luOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICBcbn1cblxuXG4vLyBMaXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXG51bCxcbm9sIHtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xufVxuXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xuZGwge1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG59XG5kdCxcbmRkIHtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xufVxuXG4vLyBIb3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gRGVmYXVsdHMgdG8gYmVpbmcgc3RhY2tlZCB3aXRob3V0IGFueSBvZiB0aGUgYmVsb3cgc3R5bGVzIGFwcGxpZWQsIHVudGlsIHRoZVxuLy8gZ3JpZCBicmVha3BvaW50IGlzIHJlYWNoZWQgKGRlZmF1bHQgb2Ygfjc2OHB4KS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLmRsLWhvcml6b250YWwge1xuICAgIGR0IHtcbiAgICAgIHdpZHRoOiAoQGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbCAtIDIwKTtcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw7XG4gICAgfVxuICB9XG59XG5cbi8vIE1JU0Ncbi8vIC0tLS1cblxuLy8gQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXNcbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgQGFiYnItYm9yZGVyLWNvbG9yO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgQGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBwYWRkaW5nOiAwIDAgMCAxNnB4O1xuICBtYXJnaW46IDAgMCBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIFxuICBwIHtcbiAgICBmb250LXNpemU6IGNlaWwoQGZvbnQtc2l6ZS1iYXNlICogMS4xMTEpOyAvLyB+MjBweFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU1OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIH4zMXB4XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNGVtO1xuICB9XG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6IEBibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEZsb2F0IHJpZ2h0IHdpdGggdGV4dC1hbGlnbjogcmlnaHRcbiAgJi5wdWxsLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDNweCBzb2xpZCBAYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG5cbiAgICBzbWFsbCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcmVzc2VzXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG59IiwiLyogU3R5bGVzIG5lY2Vzc2FyeSBmb3IgcXVpY2tsaW5rcyAqL1xuXG5cbiN1dy1jb250YWluZXJcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgI3F1aWNrbGlua3NcbiAgICB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzRkNGQ0ZDtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMCA5MHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0ZDRkNGQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDYsNDYsNDYsMSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNDYsNDYsNDYsMSkgMCUsIHJnYmEoNzcsNzcsNzcsMSkgNCUsIHJnYmEoNzcsNzcsNzcsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIHJpZ2h0IHRvcCwgY29sb3Itc3RvcCgwJSwgcmdiYSg0Niw0Niw0NiwxKSksIGNvbG9yLXN0b3AoNCUsIHJnYmEoNzcsNzcsNzcsMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoNzcsNzcsNzcsMSkpKTtcbiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg0Niw0Niw0NiwxKSAwJSwgcmdiYSg3Nyw3Nyw3NywxKSA0JSwgcmdiYSg3Nyw3Nyw3NywxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNDYsNDYsNDYsMSkgMCUsIHJnYmEoNzcsNzcsNzcsMSkgNCUsIHJnYmEoNzcsNzcsNzcsMSkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg0Niw0Niw0NiwxKSAwJSwgcmdiYSg3Nyw3Nyw3NywxKSA0JSwgcmdiYSg3Nyw3Nyw3NywxKSAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDQ2LDQ2LDQ2LDEpIDAlLCByZ2JhKDc3LDc3LDc3LDEpIDQlLCByZ2JhKDc3LDc3LDc3LDEpIDEwMCUpO1xuICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzJlMmUyZScsIGVuZENvbG9yc3RyPScjNGQ0ZDRkJywgR3JhZGllbnRUeXBlPTEgKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIDE5MCwgMCk7XG4gICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgMTkwLCAwKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAxOTAsIDApO1xuICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIDE5MCwgMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgMTkwLCAwKTtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICB1bCNiaWctbGlua3Mge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgIGxpXG4gICAgICAgICAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggMCAwIDA7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xuICAgICAgICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtaDY7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGJyaWdodGdvbGQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgd2lkdGg6MzBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OjMwcHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgICAgICAgICAgICYuaWNvbi1tYXBzXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2cHggLTMwM3B4O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5pY29uLWRpcmVjdG9yaWVzXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtODRweCAtMzAzcHg7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLmljb24tY2FsZW5kYXJcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zOXB4IC0zMDNweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuaWNvbi1saWJyYXJpZXNcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMjlweCAtMzAzcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5pY29uLW1lZGljaW5lXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY0cHggLTMwM3B4O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuaWNvbi1teXV3XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTc0cHggLTMwM3B4O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJi5pY29uLXV3dG9kYXlcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTlweCAtMzAzcHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgaDN7XG4gICAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBtYXJnaW46IDQwcHggMCAzMHB4IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtMTlweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdWwjbGl0dGxlLWxpbmtze1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmlnaHRnb2xkO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogLTE1cHg7XG4gICAgICAgICAgICB0b3A6IDEzcHg7XG4gICAgICAgICAgICAuYm9yZGVyLXRvcC1yYWRpdXMoMTAwJSk7XG4gICAgICAgICAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cygxMDAlKTtcbiAgICAgICAgICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygxMDAlKTtcbiAgICAgICAgICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogIzliYzM0MzsgfVxuXG5cbiAgICAgICAgICBhe1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1oNjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICBjb2xvcjogQGJyaWdodGdvbGQ7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAgIGFcbiAgICAgICAge1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYub3BlblxuICAgICAgICB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKTtcbiAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCk7XG4gICAgICAgICAgICAgICAtby10cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBkaXYjdXctY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMTBweCAwcHggMTFweCAtNnB4ICMxZjFmMWY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgICAgICAgLy9kaXYudXctYm9keS13cmFwe1xuICAgICAgICAvLyAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgLy8gICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLy8gICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgICAgICAgLy99XG4gICAgfVxuICAgICYub3BlblxuICAgIHtcbiAgICAgICAgZGl2I3V3LWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIC0yNzAsIDApO1xuICAgICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAtMjcwLCAwKTtcbiAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBtYXRyaXgoMSwgMCwgMCwgMSwgLTI3MCwgMCk7XG4gICAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIC0yNzAsIDApO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG1hdHJpeCgxLCAwLCAwLCAxLCAtMjcwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi8vIE1vYmlsZVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuICAjdXctY29udGFpbmVyIHtcbiAgICAjcXVpY2tsaW5rcyAge1xuICAgICAgcGFkZGluZzogMCAwIDAgNzBweDtcbiAgICB9XG59XG59XG4iLCIvLyBVVyBEcm93cGRvd25zXG5cbi5hc3Npc3RpdmUtdGV4dCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Y2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpO1xuXHRjbGlwOiByZWN0KDFweCwxcHgsMXB4LDFweCk7XG5cdHotaW5kZXg6IC0xO1xufVxuXG4vLyBSZXNldHNcblxuI2Rhd2dkcm9wcyB7XG5cdC5ib3gtc2hhZG93KDAgMXB4IDNweCByZ2JhKDM0LCAyNSwgMjUsIDAuNCkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXHR1bCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGxpc3Qtc3R5bGU6bm9uZTtcblx0XHQvLyBGb3IgZXF1YWwgd2lkdGhcblx0XHQvL2Rpc3BsYXk6IHRhYmxlO1xuXHRcdC8vdGFibGUtbGF5b3V0OiBmaXhlZDtcblx0XHQvL292ZXJmbG93OiBoaWRkZW47XG5cdFx0Ly93aWR0aDogMTAwJVxuXHR9XG5cdGxpIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHQvL2Rpc3BsYXk6IHRhYmxlLWNlbGw7IC8vIEZvciBlcXVhbCB3aWR0aFxuXHRcdGxpIHtcblx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRtYXJnaW46IDAgMTAlO1xuXHRcdH1cblx0fVxufVxuXG4uZGF3Z2Ryb3BzLWlubmVyIHtcblx0Ly9wb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmc6IDIwcHggMCA1cHggMDtcbn1cblxuLy8gTWVudSBibG9ja3NcblxuLm1lbnUtYmxvY2sge1xuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6MjMwcHg7XG59XG5cbi5kYXdnZHJvcHMtaXRlbSB7XG5cdCYuZGF3Z2Ryb3BzLWl0ZW0ge1xuXHRcdGEge1xuXHRcdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktZGF3Z2Ryb3BzO1xuXHRcdGZvbnQtd2VpZ2h0OiBAaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdHBhZGRpbmc6IDVweCAxMHB4IDIxcHggMTVweDtcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IEBkYXJrZ29sZDtcblx0XHRcdH1cblx0XHR9XG5cdFx0bGkgYSB7XG5cdFx0XHRmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWRhd2dkcm9wcztcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA0cHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cdFx0XHRwYWRkaW5nLXRvcDogNHB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRtYXJnaW4tdG9wOiA2cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA2cHg7XG5cdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMjhweDtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Y29sb3I6IEBwdXJwbGU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNFN0U3RTc7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGEge1xuXG5cdFx0Y29sb3I6IEBwdXJwbGU7XG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cGFkZGluZzogMjRweCAxMHB4IDE5cHggMTVweDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0Ly9DYXJldFxuXHRcdCYuZHJvcGRvd24tdG9nZ2xlIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdFx0XHQmOmhvdmVyOmJlZm9yZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtMjAzcHggLTQ5MHB4O1xuXHRcdFx0XHQucm90YXRlKDkwZGVnKTtcblx0XHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0XHR3aWR0aDogMThweDtcblx0XHRcdFx0cmlnaHQ6IDRweDtcblx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHR9XG5cdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xuXHRcdFx0XHR3aWR0aDogMTBweDtcblx0XHRcdFx0cmlnaHQ6IDhweDtcblx0XHRcdFx0dG9wOiAxN3B4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTM1M3B4IDBweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gRm9yd2FyZCBzbGFzaCBtZW51LXNlcGFyYXRvclxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHJpZ2h0OiAtMTRweDtcblx0XHRcdGhlaWdodDogMjRweDtcblx0XHRcdHdpZHRoOiAxMnB4O1xuXHRcdFx0dG9wOiAxNHB4O1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCdhc3NldHMvc3ZnL3NsYXNoLnN2ZycpIG5vLXJlcGVhdDtcblx0XHR9XG5cdFx0Jjpmb2N1cyB7XG5cblx0XHR9XG5cdH1cblx0Jjpob3ZlciAuZGF3Z2Ryb3BzLW1lbnUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdCY6bGFzdC1jaGlsZCBhOmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxufVxuXG4uZGF3Z2Ryb3BzLW1lbnUge1xuXHR0b3A6IDY2cHg7XG5cdGxlZnQ6IDA7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTpub25lO1xuXHRtaW4td2lkdGg6IDI2MHB4O1xuXHQvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG5cdGJvcmRlcjogMDtcblx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkIEBwdXJwbGU7XG5cdHBhZGRpbmc6IDEwcHggMDtcblx0bWFyZ2luOiAtMXB4IDAgMDtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0ei1pbmRleDoxO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMXB4IDFweCA4cHggcmdiYSgwLDAsMCwuNSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAxcHggMXB4IDhweCByZ2JhKDAsMCwwLC41KTtcbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDhweCByZ2JhKDAsMCwwLC41KTtcblxuXHRsaSB7XG5cdFx0ZmxvYXQ6bGVmdDtcblx0XHRjbGVhcjpsZWZ0O1xuXHRcdGJvcmRlci1ib3R0b206IHRoaW4gc29saWQgI2VlZTtcblx0XHRhIHtcblx0XHRcdGNvbG9yOiAjNzA3MDcwO1xuXHRcdFx0Zm9udC1zaXplOiAxN3B4O1xuXHRcdFx0bWFyZ2luOiAxMHB4IDMwcHggMHB4IDIwcHg7XG5cdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDpub25lO1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0fVxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH1cblx0fVxuXG59XG5cblxuLyogU21hbGwgRGV2aWNlcywgVGFibGV0cyAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXHRzZWN0aW9uLmJsb2NrLW1lbnUge1xuXHRcdHotaW5kZXg6IDEwMDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cdFxuXHQjZGF3Z2Ryb3BzIHtcbiBcdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0I21lbnUtdG9nZ2xlIHtcblx0XHR6LWluZGV4OiAxMDAwO1xuXHRcdFxuXHRcdHVsLm1lbnUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZTtcdFxuXHRcdH1cblx0XHRcblx0XHR1bC5tZW51ICB1bC5kcm9wZG93bi1tZW51IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0XG5cdFx0XHRsaSB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMzVweDtcblx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdFxuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0dWwubWVudSAgbGkuZHJvcGRvd24gYS5kcm9wZG93bi10b2dnbGUge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHR9XG5cdH1cblxufVxuXG4vKiBNZWRpdW0gRGV2aWNlcywgRGVza3RvcHMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDk5MnB4KSB7XG5cdC5kYXdnZHJvcHMtaW5uZXIge1xuXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0fVxuXHQuZGF3Z2Ryb3BzLWl0ZW0uZGF3Z2Ryb3BzLWl0ZW0ge1xuXHRcdCY6aG92ZXIgLmRhd2dkcm9wcy1tZW51IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHRcdGEge1xuXHRcdFx0cGFkZGluZzogNHB4IDEwcHggMTBweCAxNXB4O1xuXHRcdFx0Ji5kcm9wZG93bi10b2dnbGUge1xuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdHRvcDogMTNweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA5OTNweCkgYW5kIChtYXgtd2lkdGggOiAxMjAwcHgpIHtcblx0LmRhd2dkcm9wcy1pdGVtLmRhd2dkcm9wcy1pdGVtIGEge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjNweDtcblx0fVxufVxuXG4vLyBTcGVjaWFsIE15VVcgYnV0dG9uXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSB7XG5cdG5hdiNkYXdnZHJvcHMgLmJ0bi1teXV3IGEge1xuICBcdFx0Zm9udC1zaXplOiAxOHB4O1xuICBcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIFx0XHRjb2xvcjogI0ZGRjtcbiAgXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG4gIFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gIFx0XHR0b3A6IDY1cHg7XG4gIFx0XHRyaWdodDogMDtcbiAgXHRcdHBhZGRpbmc6IDE1cHggMjBweCAyMHB4IDEwMHB4O1xuICBcdFx0ei1pbmRleDogLTE7XG4gIFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHQgICAgJjphZnRlciB7XG4gIFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG4gIFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuICBcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gIFx0XHRcdHdpZHRoOiA0MHB4O1xuICBcdFx0XHRoZWlnaHQ6IDMzcHg7XG4gIFx0XHRcdGxlZnQ6IDU4cHg7XG4gIFx0XHRcdHRvcDogMTZweDtcblx0ICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy9wZXJzb24uc3ZnKSBuby1yZXBlYXQgMCAwO1xuXHQgICAgfVxuXHQgICAgJjpob3ZlciB7XG5cdCAgICAgIGNvbG9yOiBibGFjaztcblx0ICAgIH1cblx0ICAgICY6YmVmb3JlIHtcblx0ICAgICAgICBjb250ZW50OiBcIlwiO1xuXHQgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHQgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgICAgICB0b3A6IDE3cHg7XG5cdCAgICAgICAgd2lkdGg6IDQ1MHB4O1xuXHQgICAgICAgIGhlaWdodDogNjBweDtcblx0ICAgICAgICBsZWZ0OiAzM3B4O1xuXHQgICAgICAgIHRvcDogLTFweDtcblx0ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGFya2dvbGQ7XG5cdCAgICAgICAgLnNrZXcoLTE1ZGVnLDApO1xuXHQgICAgICAgIHotaW5kZXg6IC0xO1xuXHQgICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggM3B4IHJnYmEoMCwwLDAsLjQpO1xuXHQgICAgfVxuXHR9XG59XG5cbi5kcm9wZG93bi1tZW51IHtcblx0cGFkZGluZzogMDtcblx0XG5cdGEge1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0fVxufSIsIi8vIFVXIFRoaW5zdHJpcFxuXG4udXctdGhpbnN0cmlwIHtcblx0aGVpZ2h0OiA5MHB4O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZDogQHB1cnBsZTtcblx0cGFkZGluZy10b3A6IDIycHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjtcblx0LmJveC1zaGFkb3coMCAycHggNXB4IHJnYmEoMCwwLDAsLjMpKTtcblxuXHQvLyBDb250YWluZXJcblx0LmNvbnRhaW5lciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG5cblx0Ly8gQWxsZW4gU2Nob29sIFdvcmRtYXJrXG5cblx0LmFsbGVuLXNjaG9vbC13b3JkbWFyayB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxN3B4O1xuXHRcdGxlZnQ6IDE1cHg7XG5cdFx0XG5cdFx0aW1nIHtcblx0XHRcdG1hcmdpbi10b3A6IC0yNXB4O1xuXHRcdFx0aGVpZ2h0OiA2MHB4O1xuXHRcdH1cblx0fVxuXG4gIGRpdi5hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgbmF2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG5cdC8vIEF1ZGllbmNlXG5cblx0dWwudXctdGhpbi1saW5rcyB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdGxpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdCY6bGFzdC1jaGlsZCBhOmFmdGVyIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHRcdGEsIGJ1dHRvbiB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktaGVhZGxpbmU7XG5cdFx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0XHRmb250LXNpemU6IDE3cHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggMjVweCAxMHB4IDA7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiAuMDFlbTtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHJpZ2h0OiA2cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OjMycHg7XG5cdFx0XHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRcdFx0dG9wOiA3cHg7XG5cdFx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0XHQvL2JhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtNjk2cHggMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRjb2xvcjogQGxpZ2h0Z29sZDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICYudXctc2VhcmNoIHtcbiAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OTlweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDc4cHg7XG4gICAgICAgICAgICAvL2JvcmRlcjogMnB4IHNvbGlkIHdoaXRlO1xuXHRcdFx0XHRcdFx0b3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgLmJvcmRlci1yYWRpdXMoMTAwJSk7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAvL2JvcmRlcjogMnB4IHNvbGlkIEBsaWdodGdvbGQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBwdXJwbGUsIDglKTtcbiAgICAgICAgICAgICAgICAudHJhbnNpdGlvbihhbGwgLjFzIGxpbmVhcilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnV3LXF1aWNrbGlua3Mge1xuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAtMjJweDtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjhweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDM0cHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTQ1MXB4IC0yMzVweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7ICAgICAgICAgICAgICAgIFx0XG4gICAgICAgICAgICAgICAgXHRjb2xvcjogI0ZGRjtcblx0XHRcdFx0XHR0ZXh0LXNoYWRvdzogMHB4IDBweCA0cHggcmdiYSgwLCAwLCAwLCAwLjU0KTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRcdC50cmFuc2l0aW9uKGFsbCAwLjJzIGVhc2UpO1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBcdHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAvL1x0cG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIC8vXHR0b3A6IDFweDtcbiAgICAgICAgICAgICAgICAvL1x0cmlnaHQ6IC03cHg7XG4gICAgICAgICAgICAgICAgLy9cdGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgLy9cdHdpZHRoOiA1MXB4O1xuICAgICAgICAgICAgICAgIC8vXHRoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgLy9cdGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIC8vXHR0cmFuc2Zvcm06IHNrZXdYKC0xNGRlZyk7XG4gICAgICAgICAgICAgICAgLy9cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwjMmUyZTJlIDAsIzY4Njg2OCA0JSwjNjg2ODY4IDEwMCUpO1xuICAgICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDExcHg7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgLnRyYW5zaXRpb24ocmlnaHQgMC4ycyBlYXNlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cdFx0XG4gICAgLy8gQWN0aXZlIHN0YXRlIG9mIHNlYXJjaCBidXR0b25cblxuICAgIC5zZWFyY2gtb3BlbiAudXctdGhpbnN0cmlwIGJ1dHRvbi51dy1zZWFyY2gge1xuICAgICAgICBzdmcge1xuXHRcdHRvcDogLTIwcHg7XG5cdFx0bGVmdDogMTBweDtcblx0fVxufVxuLm9wZW4gLnV3LXRoaW5zdHJpcCB1bC51dy10aGluLWxpbmtzIGxpLnV3LXF1aWNrbGlua3MgYnV0dG9uIHtcblx0Jjpob3ZlciBzdmcsXG5cdCY6Zm9jdXMgc3ZnIHtcblx0XHRyaWdodDogMTFweDtcblx0fVxuXHRzdmcge1xuXHRcdHRvcDogLTM3cHg7XG5cdH1cbn1cblxuXG4jdXctY29udGFpbmVyIHtcblx0Ji5vcGVuIC51dy1xdWlja2xpbmtzIGEge1xuXHRcdGNvbG9yOiBibGFjaztcblx0XHQvLyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDcycHggLTMxN3B4O1xuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Ly8gYmFja2dyb3VuZC1wb3NpdGlvbjogLTI1M3B4IC00NHB4O1xuICAgICAgdG9wOiAxMXB4O1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgIC1tb3otdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgIC1vLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuXHRcdH1cblx0fVxufVxuXG4jZGF3Z2Ryb3BzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogQGdyYXk7XG59XG5cblxuLyogU21hbGwgRGV2aWNlcywgVGFibGV0cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY3cHgpIHtcblxuXHQjdXctY29udGFpbmVyIHtcblx0XHQmLm9wZW4gLnV3LXF1aWNrbGlua3MgYnV0dG9uIHtcblx0XHRcdGNvbG9yOiBibGFjaztcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IC00OTJweCAtMzE3cHg7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTI5NHB4IC01MnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDg4MHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC51dy10aGluc3RyaXAge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0aGVpZ2h0OiA0NXB4O1xuXHRcdC5jb250YWluZXIge1xuXHRcdFx0cG9zaXRpb246IHN0YXRpYztcblx0XHR9XG5cdFx0XG5cdFx0LmFsbGVuLXNjaG9vbC13b3JkbWFyayB7XG5cdFx0XHR3aWR0aDogNzNweDtcblx0XHRcdGhlaWdodDogNDVweDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDQ3MHB4O1xuXHRcdFx0LnRyYW5zaXRpb24oYWxsIDBzKTtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0e1xuXHRcdFx0ICBiYWNrZ3JvdW5kLXNpemU6IDQ3MHB4O1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRoZWlnaHQ6IDM1cHg7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDVweDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LnV3LXdvcmRtYXJrIHtcblx0XHRcdHdpZHRoOiAxNTVweDtcblx0XHRcdGhlaWdodDogMzRweDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0dG9wOiA0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDM5N3B4O1xuXHRcdH1cblx0XHRidXR0b24ge1xuXHRcdFx0Ji51dy1xdWlja2xpbmtzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4NHB4IC0yNDdweDtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiA5MDBweDtcblx0XHRcdFx0dGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDlweCAwIDA7XG5cdFx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0yNTNweCA0cHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiA3ODBweDtcblx0XHRcdFx0XHR0b3A6IDExcHg7XG5cdFx0XHRcdFx0cmlnaHQ6IDlweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQvLyBXZSBoaWRlIHRoZSBzZWFyY2ggaWNvbiBhdCB0aGlzIHJlc29sdGlvbiwgYnV0IGl0IGFwcGVhcnMgaW4gdGhlXG5cdFx0XHQvLyBtb2JpbGUgbmF2IChjc2UubW9iaWxlLW1lbnUubGVzcylcblx0XHRcdCYudXctc2VhcmNoe1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHQvL3RvcDogMDtcblx0XHRcdFx0Ly9yaWdodDogMzZweDtcblx0XHRcdFx0Ly9oZWlnaHQ6IDQ3cHg7XG5cdFx0XHRcdC8vd2lkdGg6IDQ3cHg7XG5cdFx0XHRcdC8vbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHQvL2JvcmRlcjogbm9uZTtcblx0XHRcdFx0Ly9vdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHQvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ly8mOmhvdmVyIHtcblx0XHRcdFx0Ly9cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHQvL1x0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHQvL31cblx0XHRcdFx0Ly9zdmcge1xuXHRcdFx0XHQvL1x0dG9wOiAxNHB4O1xuXHRcdFx0XHQvL1x0bGVmdDogMTRweDtcblx0XHRcdFx0Ly99XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQudXctdGhpbi1saW5rcyB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcbiAgICAuc2VhcmNoLW9wZW4ge1xuICAgICAgICAudXctdGhpbnN0cmlwIHtcbiAgICAgICAgICAgIGJ1dHRvbi51dy1zZWFyY2gge1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTE3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cdC51dy10aGluc3RyaXAge1xuXHRcdHVsLnV3LXRoaW4tbGlua3Mge1xuXHRcdFx0bGkge1xuXHRcdFx0ICAgIGRpc3BsYXk6IG5vbmU7XG5cdFx0XHQgICAgJi51dy1zZWFyY2gsICYudXctcXVpY2tsaW5rcyB7XG5cdFx0XHQgICAgXHRkaXNwbGF5OiBibG9jaztcblx0XHRcdCAgICB9XG5cdCAgICAgICAgICAgICAgICAmLnV3LXF1aWNrbGlua3Mge1xuXHQgICAgICAgICAgICAgICAgXHRidXR0b246YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0ICAgICAgICAgICAgICAgIFx0ZGl2IHtcblx0ICAgICAgICAgICAgICAgICAgICBcdGRpc3BsYXk6IG5vbmU7XG5cdCAgICAgICAgICAgICAgICBcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA3NjhweCkgYW5kIChtYXgtd2lkdGggOiA5OTFweCkge1xuXHQudXctdGhpbnN0cmlwIHtcblx0XHRoZWlnaHQ6IDE0MHB4O1xuXHRcdC51dy1wYXRjaCB7XG5cdFx0XHQvL3RvcDogLTkwcHg7XG5cdFx0fVxuXHRcdC5hbGxlbi1zY2hvb2wtd29yZG1hcmsge1xuICAgICAgei1pbmRleDogMjtcblx0XHR9XG4gICAgZGl2LmFsaWduLXJpZ2h0IHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCNzZWFyY2gtcXVpY2tsaW5rcyB7XG5cdFx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0XHR0b3A6MHB4O1xuXHRcdFx0XHRyaWdodDowcHg7XG5cdFx0XHRcdG1pbi13aWR0aDogMjMwcHg7XG5cdFx0XHR9XG4gICAgfVxuXHRcdHVsLnV3LXRoaW4tbGlua3Mge1xuXHRcdFx0bGkge1xuXHRcdFx0XHQvL2Zsb2F0OiBub25lO1xuXHRcdFx0fVxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0aGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZTtcblx0XHRcdH1cblx0XHRcdGxpIGEsbGkgYnV0dG9uIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDI1cHggMTBweCAwO1xuXHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGxpIHtcblx0XHRcdG1hcmdpbi10b3A6IDY4cHg7XG5cdFx0fVxuXHRcdGxpLnV3LXF1aWNrbGlua3Mge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR0b3A6IC02OXB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0XHR1bC51dy10aGluLWxpbmtzIGxpLnV3LXNlYXJjaCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRyaWdodDogMTQ1cHg7XG5cdFx0XHR0b3A6IC02OXB4O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA3NjhweCkgYW5kIChtYXgtd2lkdGggOiAxMDIwcHgpIHtcblx0LnV3LXRoaW5zdHJpcCB7XG5cdFx0LmFsbGVuLXNjaG9vbC13b3JkbWFyayB7XG4gICAgICAuc2NhbGUoLjgsLjgpO1xuXHRcdFx0dG9wOiAxMnB4O1xuXHRcdFx0bGVmdDogLTE1cHg7XG5cdFx0fVxuXHR9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA5OTJweCkgYW5kIChtYXgtd2lkdGggOiAxMjAwcHgpIHtcblx0LnV3LXRoaW5zdHJpcCB7XG5cdFx0dWwudXctdGhpbi1saW5rcyBsaXtcbiAgICAgICAgICAgIGEsIGJ1dHRvbiB7XG5cdFx0XHQgICAgZm9udC1zaXplOiAxNnB4O1xuXHRcdFx0ICAgIHBhZGRpbmc6IDEwcHggMjVweCAxMHB4IDA7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHR9XG59XG4iLCJAaGVyby1oZWlnaHQ6IDQwMHB4O1xuXG4jaGVyby1iZyB7XG4gXHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogOTBweCAwO1xuXHRoZWlnaHQ6IEBoZXJvLWhlaWdodDtcblx0ZGl2Lm9yaWcsXG5cdGRpdi5ibHJkIHtcbiBcdFx0LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuIFx0XHQtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gXHRcdC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiBcdFx0dG9wOiAwO1xuIFx0XHRyaWdodDogMDtcbiBcdFx0bGVmdDogMDtcbiBcdFx0Ym90dG9tOiAwO1xuIFx0XHRwYWRkaW5nOiAwcHggOTBweCAwcHggOTBweDtcblx0XHRoZWlnaHQ6IEBoZXJvLWhlaWdodDtcblx0XHRcblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHR9XG5cdH1cblx0XG5cdGgxLCBoMiB7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0fVxuXHRcblx0LnVkdWItc2xhbnQge1xuXHRcdHNwYW4ge1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0XHR3aWR0aDogMTYwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQmLmhlcm8tbGlnaHQge1xuXHRcdGgxLCBoMiB7XG5cdFx0XHRjb2xvcjogQGJyYW5kLXByaW1hcnk7XG5cdFx0fVxuXHRcdFxuXHRcdHAge1xuXHRcdFx0Y29sb3I6ICBAZ3JheS1kYXJrXG5cdFx0fVxuXHRcdFxuXHRcdC51ZHViLXNsYW50IHtcblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG5cdCYuaGVyby1kYXJrIHtcblx0XHRcdGgxLCBoMiwgcCB7XG5cdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHR0ZXh0LXNoYWRvdzogMXB4IDFweCBAZ3JheS1kYXJrO1xuXHRcdH1cblx0XHRcblx0XHQudWR1Yi1zbGFudCB7XG5cdFx0XHRzcGFuIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuI2hlcm8tY29udGFpbmVyIHtcblx0bWFyZ2luOiAwIGF1dG87XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHBhZGRpbmctbGVmdDogNTBweDtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHRoMSB7XG5cdFx0Zm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0Zm9udC1zaXplOiA3NXB4O1xuXHRcdGNvbG9yOiAjZmZmO1xuXHR9XG5cblx0cCB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IDEuMWVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAyM3B4O1xuXHRcdG1hcmdpbjogMCAwIDMwcHg7XG5cdFx0d2lkdGg6IDcwJTtcblx0fVxufVxuXG4vLyBObyBpbWFnZSwgYnV0IHRpdGxlIHJlbWFpbnNcblxuLnV3LXNpdGUtdGl0bGUtYmxhbmsge1xuXHRmb250LXNpemU6IDUwcHg7XG5cdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRjb2xvcjogQHB1cnBsZTtcbn1cbi5uby10aXRsZSB7XG5cdGgxLnV3LXNpdGUtdGl0bGUtYmxhbmsge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuLmhlcm8tY29udGVudCB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdC51dy1zaXRlLXRpdGxlIHtcblx0XHRkaXNwbGF5OiBub25lOyBcblx0fVxufVxuXG5cbi8vIEhlcm8gc21hbGxcblxuLmhlcm8taGVpZ2h0MiB7XG5cdGhlaWdodDogMjQ1cHg7XG5cdC5jb250YWluZXIge1xuICAgIFx0aGVpZ2h0OiAxNDVweDtcbiAgICBcdGxpbmUtaGVpZ2h0OiAxNDVweDtcblx0fVxuXHRoMSB7XG5cdFx0Zm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIFx0Y29sb3I6ICNGRkYgIWltcG9ydGFudDtcbiAgICBcdGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgXHRmb250LXNpemU6IDYwcHg7XG4gICAgXHRtYXJnaW46IDA7XG4gICAgXHRsaW5lLWhlaWdodDogMTtcblx0XHR0ZXh0LXNoYWRvdzogMXB4IDFweCAycHggcmdiYSgwLDAsMCwuNSk7XHRcdFxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgXHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0JjphZnRlciB7XG5cdFx0ICBcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ICBcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAgXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICBcdHRvcDogMDtcblx0XHQgIFx0aGVpZ2h0OiAzNjBweDtcblx0XHQgIFx0bGVmdDogLTE0MHB4O1xuICBcdFx0XHRvcGFjaXR5OiAuMztcbiAgXHRcdFx0d2lkdGg6IDYwMHB4O1xuXHRcdCAgXHRiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy9zbGFzaGVzLWxpZ2h0LnN2Zykgbm8tcmVwZWF0IDAgMDtcblx0XHQgIFx0ei1pbmRleDogMDtcblx0XHR9XG5cdH1cblx0JjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQudWR1Yi1zbGFudCB7XG5cdFx0bWFyZ2luLXRvcDogMjJweDtcblx0XHRzcGFuIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEB1bHRyYWxpZ2h0Z29sZDtcblx0XHR9XG5cdH1cbn1cblxuLmhlcm8tYmxhbmsge1xuXHRoZWlnaHQ6IGF1dG87XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXHQuaGVyby1jb250ZW50IHtcblx0XHQudXctc2l0ZS10aXRsZSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jazsgXG5cdFx0fVxuXHR9XG59XG4iLCIvLyBVVyBCcmVhZGNydW1ic1xuXG4udXctYnJlYWRjcnVtYnMge1xuXHRtYXJnaW46IC0xN3B4IDAgMCAtMzBweDtcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0cGFkZGluZzogMjBweCAyMHB4IDAgMzBweDtcblx0dWwge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cdGxpIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRhIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0yNDlweCA1cHg7XG5cdFx0XHRcdHRleHQtaW5kZW50OiAtOTk5OTlweDtcblx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRcdHBhZGRpbmc6IDVweCAwIDVweCAwO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDI1cHg7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRyaWdodDogLTE4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHR0b3A6IDE3cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY3VycmVudCB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogQGRhcmtnb2xkO1x0XHRcdFx0XHRcdFxuICAgICAgICAgICAgfVxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XHRcblx0XHR9IFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRoZWlnaHQ6IDI5cHg7XG5cdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0dG9wOiA0cHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvYnJlYWRjcnVtYi1ncmFkaWVudC5wbmcnKSByaWdodCB0b3AgcmVwZWF0LXkgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcdFx0XHRcblx0XHRcdGhlaWdodDogMTBweDtcblx0XHRcdHdpZHRoOiAxMHB4O1xuXHRcdFx0cmlnaHQ6IDVweDtcblx0XHRcdHRvcDogN3B4O1xuXHRcdFx0Lm9wYWNpdHkoLjgpO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCdhc3NldHMvc3ZnL2NhcmV0LnN2ZycpIG5vLXJlcGVhdDtcblx0XHRcdC5iYWNrZ3JvdW5kLXNpemUoN3B4IDVweCk7XG5cdFx0XHQucm90YXRlKC05MGRlZyk7XG5cdFx0fVxuXHRcdCY6ZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdFx0YTpob3ZlciB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0fVxuXHR9XG5cdGEsIHNwYW4ge1xuXHRcdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktaGVhZGxpbmU7XG5cdFx0Y29sb3I6ICM1MzUzNTM7XG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdFx0cGFkZGluZzogMCAyNXB4IDAgMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Ly9DYXJldFxuXHR9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXHQudXctYnJlYWRjcnVtYnMge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwIDAgMCAtNXB4O1xuXHRcdGxpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0XHRcdGEsIHNwYW4ge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDI1cHggMCAwO1xuXHRcdFx0fVxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IC0yNTBweCAtM3B4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCBcblx0XHR9XG5cdH1cbn1cbiIsIi8vIFNldHMgYnVsbGV0ZWQgaXRlbXMgdG8gYSBkZWZhdWx0IHBhZGRpbmc6XG5cbnVsIHtcblx0cGFkZGluZy1sZWZ0OiAyNXB4O1xuXHQvL2xpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cbmRkIHtcblx0bWFyZ2luLWJvdHRvbTogMjQuNXB4O1xufVxuXG4vLyBCYXNpYyBzdHlsZXMgXG5cbmhyIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNFQkVCRUI7XG5cdGNsZWFyOiBib3RoO1xufVxuXG5pZnJhbWUge1xuXHRtYXJnaW46IDQwcHggMCAyMHB4O1xufVxuXG5cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBsaW5lLWhlaWdodCBpc3N1ZSB3aXRoIGJvb3RyYXBcbnNtYWxsLFxuLnNtYWxsIHtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRsaW5lLWhlaWdodDogMS41O1xufVxuXG5cbi5pbnRybyB7XG5cdGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktaGVhZGxpbmU7XG5cdGZvbnQtc2l6ZTogMjNweDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0bGluZS1oZWlnaHQ6IDEuNTtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLy8gTWFrZXMgaGVhdnlcbi51dy1ib2R5LWNvcHkgLndlaWdodC05MDAge1xuXHRmb250LXdlaWdodDogOTAwO1xufVxuXG5hLm1vcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL3V3LTIwMTQvYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTIwNnB4IC00OTJweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTI0cHg7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIC5yb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbi5uby1ibHVlLWxpbmtzIGEge1xuXHRjb2xvcjogQHB1cnBsZTtcbn1cblxuLm5vLWJsdWUtbGlua3MgYS5idG4tYnMge1xuXHRjb2xvcjogI0ZGRjtcbn1cbi8vIFdyYXBwZXJcblxuLnV3LWJvZHkge1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Ji5jb250YWluZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdC8vbWFyZ2luLWJvdHRvbTogODBweDtcblx0fVxufVxuXG5ib2R5LmZyb250IC5mcm9udC1iYWNrZ3JvdW5kIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGFzc2V0cy9pbWFnZXMvZnJvbnRfcGFnZV9iZy5naWYpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdC51dy1ib2R5LFxuXHQucm93IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0fVxufVxuLy8gQWN0dWFsIGNvbnRlbnQgYXJlYSAoaW5jbHVkZXMgc2lkZWFiYXIpXG5cblxuLnV3LWJvZHkge1xuXHRwYWRkaW5nLXRvcDogMTBweDtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdGgxLCBoMiB7XG5cdFx0Y29sb3I6IEBwdXJwbGU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0aDIsIGgzLCBoNCwgaDUge1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdH1cblx0YmxvY2txdW90ZSB7XG5cdFx0cCB7XG5cdFx0XHRmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWhlYWRsaW5lO1xuXHRcdFx0Zm9udC1zaXplOiAyMXB4O1xuXHRcdH1cblx0fVxuXHQudXctc2l0ZS10aXRsZSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTE1MHB4O1xuXHRcdGxlZnQ6IDExcHg7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0Zm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcblx0XHRmb250LXNpemU6IDUwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDU1cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDkwMDtcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRzcGFuIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0fVxuXHR9XG5cdGRpdi51dy1zaXRlLXRpdGxlIHtcblx0XHRtYXJnaW4tdG9wOiAyOXB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDE0LjVweDtcblx0fVxuICBwLmRhdGUge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTE5cHg7XG4gICAgLy8gJjpmaXJzdC1vZi10eXBle1xuICAgIC8vICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgLy8gfVxuICB9XG4gIC5hdXRob3ItaW5mbyB7XG4gICAgbWFyZ2luOiAtNC41cHggMCAyMHB4IDA7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICBcbn1cblxuLy8gTmV4dCBsaW5rIGluIHRoZSBibG9nXG5cbnNwYW4ubmV4dC1wYWdlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IDUwcHg7XG5cdGEge1xuXHQgIHBhZGRpbmc6IDEwcHggNDBweCAxMHB4IDE5cHg7XG5cdCAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBAdWx0cmFsaWdodGdvbGQ7XG5cdCAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcblx0ICBmb250LXdlaWdodDogQGhlYWRpbmdzLWZvbnQtd2VpZ2h0O1xuXHQgIGNvbG9yOiBAZGFya2dyYXk7XG5cdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG5cdCAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblx0ICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHQgIG1hcmdpbi1yaWdodDogNTVweDtcblx0ICB6LWluZGV4OiAxO1xuXHQgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHQgIGZvbnQtc2l6ZTogMTRweDtcblx0ICBmb250LXdlaWdodDogNzAwO1xuXHQgIGJvcmRlci1yYWRpdXM6MDtcblx0ICAtd2Via2l0LWJvcmRlci1yYWRpdXM6MDtcblx0ICAtbW96LWJvcmRlci1yYWRpdXM6MDtcblx0ICAmOmFmdGVyIHtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL3V3LTIwMTQvYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTIwNnB4IC00OTJweDtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTdweDtcblx0XHR0b3A6IDEycHg7XG5cdFx0Ym90dG9tOiAzcHg7XG5cdFx0d2lkdGg6IDE0cHg7XG5cdFx0aGVpZ2h0OiAyMXB4O1xuXHRcdC5yb3RhdGUoOTBkZWcpO1xuXHQgIH1cblx0ICAmOmhvdmVyIHtcblx0ICBcdCBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQHVsdHJhbGlnaHRnb2xkLCA1JSk7XG5cdCAgfVxuXHR9XG59XG5cblxuIC8vIChkb2Vzbid0IGluY2x1ZGUgc2lkZWJhcilcblxuLnV3LWJvZHktY29weSB7XG5cdGgxIGEsXG5cdGgyIGEsXG5cdGgzIGEsXG5cdGg0IGEsXG5cdGg1IGEge1xuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdH1cblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDNEM0QzO1xuXG5cdH1cbn1cblxuXG4uaW5mby1ib3gge1xuXHR3aWR0aDogMzEwcHg7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tcmlnaHQ6IDUwcHg7XG5cdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdG1hcmdpbi1sZWZ0OiAtMTUwcHg7XG5cdHBhZGRpbmc6IDMwcHggMzBweCAzMHB4O1xuXHQuYm94LXNoYWRvdygwcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMikpO1xuXHRib3JkZXItdG9wOiA2cHggc29saWQgQGxpZ2h0Z29sZDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc3RyaXBlcy1kYXJrLXRpbGUuc3ZnJykgcmVwZWF0LXggMCAtODhweCB0cmFuc3BhcmVudDtcblx0aW1nIHtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdHRvcDogYXV0bztcblx0XHRib3R0b206IC00MHB4O1xuXHR9XG5cdHAsIGxpLCBhIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNjtcblx0fVxuXHRoMSwgaDIsIGgzLCBoNCwgaDUge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cbi51dy1ib2R5LWNvcHkgdWwubGlua3Mge1xuXHRvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmxpbmtzIHtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdGEge1xuLy9cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuLy9cdFx0JjphZnRlciB7XG4vL1x0XHRcdGJhY2tncm91bmQ6IHVybCgvd3AtY29udGVudC90aGVtZXMvdXctMjAxNC9hc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtMjA2cHggLTQ5MnB4O1xuLy9cdFx0XHRjb250ZW50OiBcIlwiO1xuLy9cdFx0XHRvcGFjaXR5OiAuNDtcbi8vXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuLy9cdFx0XHRyaWdodDogLTIzcHg7XG4vL1x0XHRcdGJvdHRvbTogMXB4O1xuLy9cdFx0XHR3aWR0aDogMTRweDtcbi8vXHRcdFx0aGVpZ2h0OiAyMXB4O1xuLy9cdFx0XHQucm90YXRlKDkwZGVnKTtcbi8vXHRcdH1cblx0fVxuXHRsaSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbi1ib3R0b206IDZweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogNnB4O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUVFO1xuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5pbWcuYXR0YWNobWVudC1wb3N0LXRodW1ibmFpbC53cC1wb3N0LWltYWdlIHtcblx0ZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiA1cHggNTBweCAwIDA7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuaW1nLmltZy1mbG9hdC1sZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbi1yaWdodDogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuXG5pbWcuaW1nLWZsb2F0LXJpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRtYXJnaW4tbGVmdDogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLmRhd2dieXRlcy10aHVtYm5haWwtdGV4dC1jb250YWluZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcblx0aW1nIHtcblx0XHR3aWR0aDogODVweDtcblx0XHRoZWlnaHQ6IDEyNnB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDBweDtcblx0fVxuXHRcblx0aDMge1xuXHRcdG1hcmdpbi10b3A6IDBweDtcblx0fVxuXHRcbn1cblxuXG4vKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXHQudXctYm9keSB7XG5cdFx0cGFkZGluZzogMjBweDtcblx0XHQudXctc2l0ZS10aXRsZSB7XG5cdFx0XHRjb2xvcjogQHB1cnBsZTtcblx0XHRcdGZvbnQtc2l6ZTogMjVweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRmb250LXdlaWdodDogOTAwO1xuXHRcdFx0bWFyZ2luOiAtMjBweCAtMjBweCAyMHB4IC0yMHB4O1xuXHRcdFx0cGFkZGluZzogMTVweCAxNXB4IDE1cHggMjBweDtcblx0XHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0XHRib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwuMik7XG5cdFx0fVxuXHRcdGgxIHtcblx0XHRcdG1hcmdpbjogMTBweCA4MHB4IDEwcHggMDtcblx0XHRcdGZvbnQtc2l6ZTogMzNweDtcblx0XHR9XG4gICAgICAgIHAuZGF0ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTVweDtcbiAgICAgICAgfVxuXHR9XG4gICAgLmhvbWUge1xuICAgICAgICAudXctYm9keSB7XG4gICAgICAgICAgICAudXctc2l0ZS10aXRsZXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblx0XG5cdFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA3NjhweCkge1xuICAgIC51dy1ib2R5IHtcbiAgICAgICAgLnV3LXNpdGUtdGl0bGUge1xuICAgICAgICAgICAgJi5sb25nLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC5ob21lIC51dy1zaWRlYmFyLW1lbnUge1xuLy8gXHRkaXNwbGF5OiBub25lO1xuLy8gfVxuXG4ud2lkZ2V0IHtcblx0cGFkZGluZzogMTBweCAwIDAgNDBweDtcbn1cblxuXG4vLyBCaWcgU2NyZWVuc1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAxNjAwcHgpIHtcblx0LmluZm8tYm94IHtcblx0XHRtYXJnaW4tbGVmdDogLTUwcHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY3cHgpIHtcblxuXHQud2lkZ2V0IHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XHRcblx0LmluZm8tYm94IHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuICAgIC51dy1ib2R5LWNvcHkge1xuXHRcdFx0Ly8saDIsaDMsaDRcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgID5kaXYucm93IHtcbiAgICAgICAgICAgIGNsZWFyOmJvdGg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAc2NyZWVuLXhzKSB7XG5cdGJvZHkuZnJvbnQgLmZyb250LWJhY2tncm91bmQge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogNzY4cHgpIHtcblxuXHQudXctYm9keSB7XG5cdFx0LnV3LXNpdGUtdGl0bGUge1xuXHRcdFx0dGV4dC1zaGFkb3c6IDFweCAxcHggMnB4IHJnYmEoMCwwLDAsLjUpO1xuXHRcdH1cblx0fVxuXG5cdC8vIEZpeGVzIGZsb2F0ZWQgaW1hZ2VzIG5leHQgdG8gYSBidWxsZXRlZCBsaXN0LiBUaGUgYnVsbGV0cyB3ZXJlbid0IGluZGVudGluZyBwcm9wZXJseVxuXHQvLy51dy1ib2R5LWNvcHkge1xuXHQvL1x0dWwge1xuXHQvL1x0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHQvL1x0fVxuXHQvL31cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjhweCkge1xuXHRkaXYuZnJvbnQtYmFja2dyb3VuZCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRvcDogQG1vYmlsZV9zbGlkZXNob3dfdGV4dF9ib3hfaGVpZ2h0O1xuXHR9XG59XG4iLCJib2R5LnNlYXJjaC1vcGVuICN1d3NlYXJjaGFyZWEge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDApO1xuICAgICAgIC1tb3otdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDApO1xuICAgICAgICAgLW8tdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDApO1xuXG4gICAgLnV3LXNlYXJjaC13cmFwcGVyXG4gICAge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwwKTtcbiAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDApO1xuICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMCk7XG4gICAgfVxufVxuXG4jdXdzZWFyY2hhcmVhIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsLTEwMCk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLC0xMDApO1xuICAgICAgLW1zLXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwtMTAwKTtcbiAgICAgICAtby10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsLTEwMCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLC0xMDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gIC51dy1zZWFyY2gtd3JhcHBlciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsLTIwKTtcbiAgICAgICAtbW96LXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwtMjApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLC0yMCk7XG4gICAgICAgICAtby10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsLTIwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwtMjApO1xuICAgIC8vIHRyYW5zaXRpb246IHRvcCAycyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAgIC8vIHRyYW5zaXRpb246IGFsbCAxcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgfVxuICAudXctcmVzdWx0c1xuICB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdG9wOjE2MnB4O1xuICB9XG59XG5cbi51dy1zZWFyY2gtYmFyLWNvbnRhaW5lclxue1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXG4gIC5yYWRpby5jaGVja2VkLFxuICAucmFkaW8uY2hlY2tlZCAuc2Vjb25kLWljb25cbiAge1xuICAgIGNvbG9yOiBAcHVycGxlO1xuICB9XG4gIC5yYWRpbyAuaWNvbnMge1xuICAgIGNvbG9yOiAjQzdDN0M3O1xuICB9XG5cbiAgLmNvbnRhaW5lci5uby1oZWlnaHQge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICB9XG4gIC51dy1zZWFyY2gtd3JhcHBlclxuICB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgd2lkdGg6ODkwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuXG4gIGZvcm1cbiAge1xuXG4gICAgZmxvYXQ6bGVmdDtcbiAgICB3aWR0aDpjYWxjKH5cIjEwMCUgLSAyNDBweFwiKTtcbiAgICBvdXRsaW5lOiAycHggc29saWQgI0FEQURBRDtcblxuICAgIGlucHV0XG4gICAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDU0cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAxNXB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3NlYXJjaF9wdXJwbGUuc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIH1cblxuICAgIC5nc2MtY2xlYXItYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgZGl2LmxhYmVsc1xuICB7XG5cbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBjb2xvcjogIzcwNzA3MDtcbiAgICAucmFkaW8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBAZm9udC1mYW1pbHktaGVhZGxpbmU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIGRpdiNzZWFyY2gtbGFiZWxzLmxhYmVscy5oaWRkZW4teHMuZm9jdXNlZCB7XG4gICAgem9vbTogMS4yO1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICB9XG5cbiAgaW5wdXQuc2VhcmNoXG4gIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwcHg7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGhlaWdodDogNTRweDtcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzgwODA4MDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy9zZWFyY2guc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciBncmF5O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMjJweDtcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogMjJweDtcbiAgICAtby1iYWNrZ3JvdW5kLXNpemU6IDIycHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMnB4O1xuICAgIHBhZGRpbmc6IDBweCA2MHB4IDBweCAwcHg7XG4gIH1cblxuICBpbnB1dC5zZWFyY2g6Zm9jdXMge1xuICAgIHpvb206IDEuMjtcbiAgICBib3R0b206IDVweDtcbiAgfVxuXG4gIC51dy1yZXN1bHRzXG4gIHtcbiAgICB3aWR0aDogODkwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIC5yZXN1bHQge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiA2OTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTRFNEU0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC5pbmZvcm1hdGlvbiB7XG4gICAgICAgIG1hcmdpbjogLTEwcHggMCAyMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIH1cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0zcHg7XG4gICAgICB9XG4gICAgICAubWFpbCxcbiAgICAgIC5mYXgsXG4gICAgICAudGVsZXBob25lbnVtYmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogQHB1cnBsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1haWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc2VhcmNoLW1haWwucG5nJykgbm8tcmVwZWF0IDAgOHB4O1xuICAgICAgfVxuICAgICAgLmZheCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnYXNzZXRzL2ltYWdlcy9zZWFyY2gtZmF4LnBuZycpIG5vLXJlcGVhdCAwIDhweDtcbiAgICAgIH1cbiAgICAgIC50ZWxlcGhvbmVudW1iZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc2VhcmNoLXBob25lLnBuZycpIG5vLXJlcGVhdCAwIDZweDtcbiAgICAgIH1cbiAgICAgIC52Y2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnYXNzZXRzL2ltYWdlcy9zZWFyY2gtdmNhcmQucG5nJykgbm8tcmVwZWF0IDAgNnB4O1xuICAgICAgfVxuICAgICAgJi5vcGVuIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgIGNvbG9yOiBAcHVycGxlO1xuICAgICAgICB9XG4gICAgICAgIGEuZGlyZWN0b3J5LW1vcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0zMTBweCAtMjNweDtcbiAgICAgICAgICAudHJhbnNpdGlvbihub25lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkICB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgcGFkZGluZzogMTVweCAwIDE1cHggMTRweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgYS5kaXJlY3RvcnktbW9yZSB7XG4gICAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoYXNzZXRzL3N2Zy91dy1zcHJpdGUuc3ZnKSBuby1yZXBlYXQgLTI4M3B4IDFweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgdG9wOiAxNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgfVxuXG4gICAgLmluZm9ybWF0aW9uIHtcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgY29sb3I6ICM0RTRFNEU7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6ICM0RTRFNEU7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogIzRFNEU0RTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW9yZS1yZXN1bHRzIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgcGFkZGluZzogMTBweCAwIDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGNvbG9yOiAjNTI1MjUyO1xuICAgIH1cblxuICB9XG5cbn1cblxuYm9keSB7XG4gICAgI3V3LWNvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3M7XG4gICAgfVxuICAgICYuc2VhcmNoLW9wZW4ge1xuICAgICAgICAjdXctY29udGFpbmVyIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDEyMCk7XG4gICAgICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwxMjApO1xuICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMTIwKTtcbiAgICAgICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDEyMCk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwxMjApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxudGFibGUuZ3NjLXNlYXJjaC1ib3gge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG5cbnRhYmxlLmdzYy1zZWFyY2gtYm94IHRib2R5IHtcbiAgYm9yZGVyOiAwcHg7XG59XG5cbnRkLmdzYy1jbGVhci1idXR0b24ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAwcHg7XG59XG5cbnRkLmdzYy1pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICBcbiAgaW5wdXQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG4gICAgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgOjotbW96LXBsYWNlaG9sZGVyLCAgLyogRmlyZWZveCAxOSsgKi9cbiAgICA6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAgLyogSUUgMTArICovXG4gICAgOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNGRkY7XG4gICAgfVxuICB9XG59XG5cbmlucHV0LmdzYy1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogI0FBQSAhaW1wb3J0YW50O1xufVxuXG5pbnB1dC5nc2Mtc2VhcmNoLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvc2VhcmNoLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICBtYXJnaW4tbGVmdDogMTVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMzRweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzNHB4ICFpbXBvcnRhbnQ7XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogNzY4cHgpIGFuZCAobWF4LXdpZHRoIDogOTkxcHgpIHtcblxuICAgICN1d3NlYXJjaGFyZWEge1xuICAgICAgICAuY2VudGVyLWJsb2NrIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTW9iaWxlXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXG4gICN1d3NlYXJjaGFyZWEge1xuICAgIC51dy1yZXN1bHRze1xuICAgICAgICB0b3A6IDEyNnB4O1xuICAgIH1cbiAgfVxuXG4gIC51dy1zZWFyY2gtYmFyLWNvbnRhaW5lciB7XG4gICAvLyBtYXJnaW4tdG9wOiAtMTc2cHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIC5jb250YWluZXIubm8taGVpZ2h0e1xuICAgICAgICBwYWRkaW5nOjBweCAxMHB4O1xuICAgIH1cbiAgICAudXctc2VhcmNoLXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgLnNlYXJjaCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cbiAgICAgIGRpdi5sYWJlbHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cblxuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIH1cbiAgICBmb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnV3LXJlc3VsdHMge1xuICAgICAgaDQge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDYwcHggMTVweCAxNHB4O1xuICAgICAgfVxuICAgICAgLnJlc3VsdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgYm9keS5zZWFyY2gtb3BlbiB7XG4gICAgICAjdXctY29udGFpbmVyIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwxMzYpO1xuICAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDEzNik7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IG1hdHJpeCgxLDAsMCwxLDAsMTM2KTtcbiAgICAgICAgICAgICAgIC1vLXRyYW5zZm9ybTogbWF0cml4KDEsMCwwLDEsMCwxMzYpO1xuICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBtYXRyaXgoMSwwLDAsMSwwLDEzNik7XG4gICAgICB9XG4gIH1cbiAgXG4gIC8vIEhpZGUgdGhlIHBlb3BsZSBjdXN0b20gc2VhcmNoIGZvciB0YWJsZXQgYW5kIHNtYWxsZXJcbiAgI2Jsb2NrLWN1c3RvbS1zZWFyY2gtYmxvY2tzLTMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG59XG4iLCJ1bC51dy1zaWRlYmFyLW1lbnUsXG51bC51dy1tb2JpbGUtbWVudVxuXG57XG5cdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRtYXJnaW4tdG9wOiAtMTI0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cblx0dWwsIGxpXG5cdHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRsaXN0LXN0eWxlOm5vbmU7XG5cdFx0cGFkZGluZzowO1xuXHRcdG1hcmdpbjowO1xuXHRcdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87XG5cdH1cblxuXHRsaS5wYWdlbmF2LFxuXHQ+ZGl2XG5cdHtcblx0XHRcdGEsIHNwYW5cblx0XHRcdHtcblx0XHRcdFx0Ly8gZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHQgICAgZm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDEwcHggMTBweCAyMHB4O1xuXG5cdFx0XHRcdCYuaG9tZWxpbmtcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0XHRjb2xvcjpAcHVycGxlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZToyNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHVsXG5cdFx0XHR7XG5cblx0XHRcdFx0Zm9udC1zaXplOjIwcHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgXHRcdFx0Zm9udC1zaXplOiAxOXB4O1xuXG5cdFx0XHRcdGxpLmN1cnJlbnRfcGFnZV9pdGVtLCBsaS5jdXJyZW50X3BhZ2VfcGFyZW50XG5cdFx0XHRcdHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlO1xuXHRcdFx0XHRcdCYgPiBhLFxuXHRcdFx0XHRcdCYgPiBzcGFuIHtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxOXB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy10b3A6IDE2cHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMTZweDtcblx0XHRcdFx0XHR9XG4gICAgICAgICAgICAgICAgICAgIGEsXG5cdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRjb2xvcjp3aGl0ZTtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAjYjdhNTdhO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQmLmN1cnJlbnRfcGFnZV9hbmNlc3RvciB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHQmID4gYSB7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmZvY3Vze1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogQGxpZ2h0Z29sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0xOTFweCAtNDc4cHg7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogNTJweDtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNDRweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogN3B4O1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IC0yNnB4O1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0XHR0b3A6IDUwJTtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYjdhNTdhO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRhLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRsaS5wYWdlX2l0ZW1faGFzX2NoaWxkcmVuIHVsIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6bm9uZTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRsaS5wYWdlX2l0ZW1faGFzX2NoaWxkcmVuLmN1cnJlbnRfcGFnZV9pdGVtIHVsIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsaVxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0YVx0e1xuXHRcdFx0XHRcdFx0Y29sb3I6IEBwdXJwbGU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiB0aGluIHNvbGlkICNlZWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYuY3VycmVudF9wYWdlX2l0ZW0gdWwuY2hpbGRyZW4sICYuY3VycmVudF9wYWdlX2FuY2VzdG9yIHVsLmNoaWxkcmVuXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTdweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cblx0XHRcdFx0XHRcdGxpXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6I2VlZTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cdFx0XHRcdFx0XHRcdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhblxuXHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6QGRhcmtncmF5O1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDEwcHggMzBweCAxMHB4IDMwcHg7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0Jjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjREREO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdGxpLmN1cnJlbnRfcGFnZV9pdGVtXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdFx0XHRcdFx0XHRcdHVsLmNoaWxkcmVuIHtcblx0XHRcdFx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0UwRTBFMDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0bGk6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6IEBkYXJrZ3JheTtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAyNXB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiBcIi0gXCI7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdHNwYW5cblx0XHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHRcdC8vIGJhY2tncm91bmQtY29sb3I6Izc1NzU3NTtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMTBweCBzb2xpZCAjYjdhNTdhO1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuXHRcdFx0XHRcdFx0XHRcdGFcblx0XHRcdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjp3aGl0ZTtcblx0XHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdC8vIGNvbG9yOndoaXRlO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXG5cdFx0XHRcdFx0fVxuXG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGxpOmxhc3QtY2hpbGRcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGFcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHQvLyBjb2xvcjpAcHVycGxlO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0dWwuY2hpbGRyZW4ge1xuXHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdH1cblxufVxuXG4vLyBTaWRlYmFyIHdpZGdldCB0aXRsZXNcblxuLnV3LXNpZGViYXIge1xuXHQud2lkZ2V0dGl0bGUge1xuICAgICAgICBjbGVhcjpsZWZ0O1xuXHRcdGZvbnQtd2VpZ2h0OiA5MDA7XG5cdFx0Zm9udC1zaXplOiAyMnB4O1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXHRcdCY6YWZ0ZXIsXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdGJvdHRvbTogNXB4O1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogNHB4O1xuXHRcdH1cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHR3aWR0aDogMTAwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRnb2xkO1x0XHRcdFx0XHRcblx0XHR9XG5cdFx0JjphZnRlciB7XG5cdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdC5za2V3KC0yNWRlZywwKTtcblx0XHRcdGxlZnQ6IDgwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdGJvdHRvbTogM3B4O1xuXHRcdFx0aGVpZ2h0OiA4cHg7XG5cdFx0fVxuXHR9XG59XG5cblxuYm9keS5ob21lIC51dy1zaWRlYmFyLW1lbnUge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKiBNZWRpdW0gRGV2aWNlcywgRGVza3RvcHMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDk5MnB4KSB7XG5cdHVsLnV3LXNpZGViYXItbWVudSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRtYXJnaW46IDUwcHggMCAwIDA7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogNzY4cHgpIHtcblx0LnV3LXNpZGViYXIge1xuXHRcdHBhZGRpbmctdG9wOiA0MHB4O1xuXHR9XG59XG4iLCIjbW9iaWxlLXJlbGF0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHVsLnV3LW1vYmlsZS1tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgcGFkZGluZzowO1xuICAgICAgbWFyZ2luOjAgMCAyNXB4O1xuICAgICAgPiB1bFxuICAgICAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG59XG5cblxuLyo9PT09PT09PT09ICBNb2JpbGUgRmlyc3QgTWV0aG9kICA9PT09PT09PT09Ki9cblxuLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjdweCkge1xuXG4gIC8vSGlkZXMgZGVza3RvcCB2ZXJzaW9uXG4gICNkZXNrdG9wLXJlbGF0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnV3LW1vYmlsZS1tZW51IGxpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICB9XG4gICNtb2JpbGUtcmVsYXRpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgXG4gICAgYnV0dG9uLnV3LW1vYmlsZS1tZW51LXRvZ2dsZVxuICAgIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDpyaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlIC8gMS4yO1xuICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlIC8gMS4yO1xuICAgICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1oZWFkbGluZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBAaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjpAcHVycGxlO1xuICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC00NzVweCAyMHB4IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMjAwcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMjBweCAwO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA1NXB4O1xuICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtNjAwcHggMCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgdWwudXctbW9iaWxlLW1lbnUgbGkucGFnZW5hdiB1bCBsaS5jdXJyZW50X3BhZ2VfcGFyZW50LmN1cnJlbnRfcGFnZV9hbmNlc3RvciA+IGE6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5mcm9udHBhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMThweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBidXR0b24udXctbW9iaWxlLW1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdG9wOiAtNTBweDtcbiAgICAgICAgfVxuICAgICAgICB1bC51dy1tb2JpbGUtbWVudSB7XG4gICAgICAgICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIC8vcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiA2MnB4O1xuICAgICAgICAgICAgLy93aWR0aDogY2FsYyh+XCIxMDAlIC0gNDBweFwiKTtcbiAgICAgICAgICAgIC5tZW51LWRyb3Bkb3ducy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmJpZ2hlcm8ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBidXR0b24udXctbW9iaWxlLW1lbnUtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHVsLnV3LW1vYmlsZS1tZW51IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjc3BhY2VyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJjphZnRlciB7IC8vY2xlYXJmaXhcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGhlaWdodDogMDtcbiAgIH1cbiAgfVxuXG4gIC8vIE5leHQgZmV3IGxpbmVzIGZvciB0aGUgaG9tZXBhZ2Ugb25seVxuIC5ob21lXG4gICAjbW9iaWxlLXJlbGF0aXZlIHtcbiAgICBsaXtcbiAgICAgIGE6aG92ZXIsXG4gICAgICBhOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBhOmhvdmVyLFxuICAgICAgICBhOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICBcbiAgYnV0dG9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgICYudXctc2VhcmNoIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3OHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgLmJvcmRlci1yYWRpdXMoMTAwJSk7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICBsZWZ0OiAxMXB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICB9XG4gIFxuXG4gIC5zZWFyY2gtb3BlbiBidXR0b24udXctc2VhcmNoIHtcbiAgICBzdmcge1xuICAgICAgdG9wOiAtMjBweDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbiIsIiAvLyAuY2hlY2tib3gsIC5yYWRpb3tcbiAvLyAgICAgaW5wdXQge1xuIC8vICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gLy8gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gLy8gICAgICAgICBvcGFjaXR5OiAwO1xuIC8vICAgICB9XG4gLy8gfVxuYS5zY3JlZW4tcmVhZGVyLXNob3J0Y3V0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA2cHg7XG4gICAgICAgIHRvcDogLTk5cHg7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbiAgICAgICAgICAgIGNvbG9yOiBAcHVycGxlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLDAsMCwuNik7XG4gICAgICAgIH1cbn1cbmxhYmVsLnNjcmVlbi1yZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC8vb3BhY2l0eSBoYWNrIHF1ZXN0aW9uYWJsZSBzdXBwb3J0IGluIElFOFxuICAgIC8vbGVmdDogLTk5OTk5cHg7XG59XG4ub2Zmc2NyZWVuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZm9udC1zaXplOiAxcHg7XG4gICAgbGVmdDogLTk5OTlweDtcbn1cbiNkYXdnZHJvcHMge1xuICAgIGxpLmRhd2dkcm9wcy1pdGVte1xuICAgICAgICBhOmZvY3Vze1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgICAgdWwuZGF3Z2Ryb3BzLW1lbnUge1xuICAgICAgICAgICAgYTpmb2N1cyB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLnV3LWJvZHkge1xuICAgIGE6Zm9jdXMsXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBAZGFya2dvbGQ7XG4gICAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQkRCREJEO1xuICAgICAgICAvLyBXZSBkb24ndCB3YW50IGJ1dHRvbnMgdW5kZXJsaW5lZCBvbiBob3ZlclxuICAgICAgICAmLnV3LWJ0biB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIGEudXctYnRuOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICAgIC51dy1icmVhZGNydW1icyB7XG4gICAgICAgIGE6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuICAgICNtYWluX2NvbnRlbnQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTpub25lO1xuICAgIH1cbiAgICAud2lkZ2V0IHtcbiAgICAgICAgYS53aWRnZXQtbGlua3tcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6IEBkYXJrZ29sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIC8vIGNhbid0IG92ZXJyaWRlIGFjY29yZGluZyB0byBzcGVjLiBXZSdsbCBoYXZlIHRvIHJlZG8gdGhlIHN0cnVjdHVyZSB0byBnZXQgdGhpcyBkb25lXG4gICAgICAgICAgICAgICAgLy9wIHtcbiAgICAgICAgICAgICAgICAvLyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgLy99XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gRGFya2VuIGZvcm0gZGVmYXVsdCBjb2xvclxuICAgIGlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye1xuICAgICAgICAgY29sb3I6ICM3QjdCN0I7XG4gICAgfVxuICAgIGlucHV0Oi1tb3otcGxhY2Vob2xkZXJ7XG4gICAgICAgICBjb2xvcjogIzdCN0I3QjtcbiAgICB9XG4gICAgaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXJ7XG4gICAgICAgICBjb2xvcjogIzdCN0I3QjtcbiAgICB9ICAgIFxuICAgIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICBjb2xvcjogIzdCN0I3QjtcbiAgICB9XG4gICAgLy8gRGFya2VucyBmb3JtIGNvbG9yc1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBjb2xvcjogIzMwMzAzMDtcbiAgICB9XG59XG5cblxuXG4vLyBGb3IgdXcuZWR1L2FjY2Vzc2liaWxpdHkgb25seVxuXG4uc2l0ZS1hY2Nlc3NpYmlsaXR5IHtcbiAgICAudXctYm9keS1jb3B5LCBcbiAgICAudXctc2lkZWJhciB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNERkRGREY7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGRhcmtnb2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gSW5zZXJ0IHlvdXIgc3R5bGluZyBoZXJlLlxuXG4vLyBTZWFyY2ggZm9ybSBpbiByZWdpb24gc2VhcmNoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4udXctc2VhcmNoLWJhci1jb250YWluZXIge1xuICAgIGZvcm0ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAudXctc2VhcmNoLXdyYXBwZXIgeyAgICAgICAgXG4gICAgICAgIC5ibG9jay1zZWFyY2ggeyAgICAgICAgICAgIFxuICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgICBcbiAgICAgICAgLmJ0bi5zZWFyY2gge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuICAgIH0gIFxuICAgIC8vIGNvcHkgb2YgaW5wdXQuc2VhcmNoIGZyb20gdXcuc2VhcmNoLmxlc3MsIExuIDEzMlxuICAgIGJ1dHRvbi5zZWFyY2hcbiAgICAgIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgICBvdXRsaW5lOiAycHggc29saWQgIzgwODA4MDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvc2VhcmNoLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgZ3JheTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogMjJweDtcbiAgICAgICAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IDIycHg7XG4gICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogMjJweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAwcHggNjBweCAwcHggMHB4O1xuICAgICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnV3LXNlYXJjaC1iYXItY29udGFpbmVyIHtcbiAgICAgICAgLnV3LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgICAgIC5zZWFyY2gge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gbWFpbi1tZW51IGluIHJlZ2lvbiBuYXZpZ2F0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLy5kYXdnZHJvcHMtbWVudSB7XG4vLyAgICBsZWZ0OiBpbmhlcml0O1xuLy8gICAgdG9wOiA3OHB4O1xuLy99XG4vLy5hZG1pbi1tZW51IHtcbi8vICAgIC5kYXdnZHJvcHMtbWVudSB7XG4vLyAgICAgICAgdG9wOiA1OHB4O1xuLy8gICAgfVxuLy99XG5cbi8vIGZyb250cGFnZSB1dy1oZXJvLWltYWdlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZnJvbnQge1xuICAgIC51dy1oZXJvLWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiA1OTVweDtcbiAgICAgICAgcGFkZGluZzogNjBweCAwIDAgMDtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRW5jb2RlIFNhbnMgQ29tcHJlc3NlZFwiLHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBmb250LXNpemU6IDk1cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAycHggcmdiYSgwLDAsMCwuNSk7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCA1cHggcmdiYSgwLDAsMCwuOCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gSW5zZXJ0IHlvdXIgc3R5bGluZyBoZXJlLlxuLy8gU2l0ZSB0aXRsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnV3LWJvZHkge1xuICAgIC51dy1zaXRlLXRpdGxlIHtcbiAgICAgICAgK3Age1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDVweCByZ2JhKDAsMCwwLC44KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAudXctYm9keSB7XG4gICAgICAgIC51dy1zaXRlLXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDc1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGl2LmNvbnRhaW5lci51dy1ib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgfVxufVxuLy8gc29tZSBleGNlcHRpb25zIGZvciBzaXRlLXRpdGxlIGFuZCBzaXRlLXNsb2dhbiBcbi5mcm9udCB7XG4gICAgLnV3LWJvZHkge1xuICAgICAgICAudXctc2l0ZS10aXRsZSB7XG4gICAgICAgICAgICArcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpe1xuICAgIC51dy1ib2R5IHtcbiAgICAgICAgLnV3LXNpdGUtdGl0bGUge1xuICAgICAgICAgICAgK3Age1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZyb250IHtcbiAgICAgICAgLnV3LWJvZHkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgICAgXG4gICAgICAgICAgICA+LnJvdyB7XG4gICAgICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAtMzBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnV3LXNpdGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gU2lkZWJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnV3LXNpZGViYXIge1xuICAgIC5yZWdpb246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHtcbiAgICAudXctc2lkZWJhciB7IFxuICAgICAgICAucmVnaW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNb2JpbGUgbWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxubmF2I21vYmlsZS1yZWxhdGl2ZSB7XG4gICAgLy8gaGlkZSB0aGUgc3VibWVudSBkcm9wZG93bnMgb24gdGhlIHJlbmRlcmluZyBvZiAkcHJpbWFyeV9uYXYgXG4gICAgLm5hdmJhci1uYXYge1xuICAgICAgICAuZGF3Z2Ryb3BzLW1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM1YTVhNWE7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206MTA7XG4gICAgICAgICAgICAgICAgfSAgXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRhd2dkcm9wcy1pdGVtIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRhd2dkcm9wcy1pdGVtLW1lbnUtbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiRW5jb2RlIFNhbnMgQ29tcHJlc3NlZFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL2NhcmV0LnN2Zykgbm8tcmVwZWF0IDMzcHggMzVweDtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtNjAwcHggMCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhLmRhd2dkcm9wcy1pdGVtLW1lbnUtbGluayB7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLy8gZnJvbnRwYWdlIG1vYmlsZS1tZW51IG5hdiBjb250YWluZXJcbi8vLmZyb250IHtcbi8vICAgIG5hdiNtb2JpbGUtcmVsYXRpdmUge1xuLy8gICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4vLyAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuLy8gICAgfVxuLy99XG4vL1xuLy8ubm90LWZyb250IHtcbi8vICAgIG5hdiNtb2JpbGUtcmVsYXRpdmUge1xuLy8gICAgICAgIC5uYXZiYXItbmF2IHtcbi8vICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy99XG4vL1xuLy9AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4vLyAgICBuYXYjbW9iaWxlLXJlbGF0aXZlIHtcbi8vICAgICAgICBidXR0b24udXctbW9iaWxlLW1lbnUtdG9nZ2xlIHtcbi8vICAgICAgICAgICAgbWFyZ2luLXRvcDogLTU1cHg7XG4vLyAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbi8vICAgICAgICB9XG4vLyAgICB9XG4vL31cblxuLy8gQ29udGVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcGF0aCBmaXggZnJvbSB1dy5ib2R5LWNvbnRlbnQubGVzc1xuYS5tb3JlIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0yMDZweCAtNDkycHg7XG4gICAgfVxufVxuLy8gcGF0aCBmaXggZnJvbSB1dy5ib2R5LWNvbnRlbnQubGVzc1xuc3Bhbi5uZXh0LXBhZ2Uge1xuICAgIGEge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChhc3NldHMvc3ZnL3V3LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtMjA2cHggLTQ5MnB4O1xuICAgICAgfVxuICAgIH1cbn1cbi8vIHBhdGggZml4IGZyb20gdXcuYm9keS1jb250ZW50Lmxlc3Ncbi5saW5rcyB7XG4gICAgYSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKGFzc2V0cy9zdmcvdXctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0yMDZweCAtNDkycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmltZy5wdWxsLXJpZ2h0IHtcbiAgbWFyZ2luLWxlZnQ6MjBweDtcbiAgbWFyZ2luLWJvdHRvbToyMHB4O1xufVxuXG5pbWcucHVsbC1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OjIwcHg7XG4gIG1hcmdpbi1ib3R0b206MjBweDtcbn1cblxuLy8gZm9ybSBlbGVtZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSwgXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSwgXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cbi5jaGVja2JveCBpbnB1dCwgXG4ucmFkaW8gaW5wdXQge1xuICAgIG9wYWNpdHk6IDE7XG59XG4uZm9ybS10ZXh0LFxuLmZvcm0tdGV4dGFyZWEsXG4uZm9ybS1zZWxlY3QsXG4uZm9ybS1maWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjNTk1OTU5O1xufVxuLmZvcm0tc3VibWl0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuIiwiLy8gSW5zZXJ0IHlvdXIgc3R5bGluZyBoZXJlLlxuXG4ud2ViZm9ybS1jb21wb25lbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4iLCIvLyBDU0UgQm91bmRsZXNzIEN1c3RvbWl6YXRpb25zXG5cbkBmcm9udHBhZ2Vfc2VjdGlvbl9zcGFjaW5nOiA2MHB4O1xuXG4jYmxvY2stYmxvY2stMTM5LFxuI2Jsb2NrLWJsb2NrLTE0MixcbiNibG9jay1ibG9jay0xNDAge1xuICBtYXJnaW4tYm90dG9tOiBAZnJvbnRwYWdlX3NlY3Rpb25fc3BhY2luZztcbn1cblxuLy9cbi8vIEljb24gbWVudXMgZGlzcGxheSBpbmxpbmVcbi8vXG4uaWNvbi1tZW51IHtcbiAgZGlzcGxheTp0YWJsZTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBtYXJnaW46IDBweCA4cHggMHB4IDBweDtcbiAgbWFyZ2luLWxlZnQ6MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5pY29uLW1lbnUgbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5pY29uLW1lbnUgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBcbn1cblxuLy8gQXVkaWVuY2UgbWVudTogZnJvbnQgcGFnZSBvbmx5XG4jYXVkaWVuY2UtbWVudSB7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgY29sb3I6IEBkYXJrZ3JheTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXk7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xuICBcbiAgYSB7XG4gICAgY29sb3I6IEBncmF5O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgZGl2LmF1ZGllbmNlLW1lbnUtaWNvbiB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4zcztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIFxuICAgIGkge1xuICAgICAgY29sb3I6IEBkYXJrZ3JheTtcbiAgICAgIGZvbnQtc2l6ZTogMi41ZW07XG4gICAgfVxuICAgICBcbiAgICBwICB7XG4gICAgICBmb250LWZhbWlseTogQGZvbnQtZmFtaWx5LWRhd2dkcm9wcztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBjb2xvcjogQGRhcmtncmF5O1xuICAgIH1cbiAgICBcbiAgICA6aG92ZXIge1xuICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6IEBwdXJwbGU7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjdlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzO1xuICAgICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgICBjb2xvcjogQHB1cnBsZTtcbiAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgZGl2Lmljb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY1cHgpIHtcbiAgI2F1ZGllbmNlLW1lbnUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG4gIFxuICAjYXVkaWVuY2UtbWVudSBkaXYuaWNvbi1jb250YWluZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB9XG4gIFxuICBkaXYuYXVkaWVuY2UtbWVudS1pY29uIHtcbiAgICBoZWlnaHQ6IDkwcHg7XG4gICAgXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDEuM2VtO1xuICAgIH1cbiAgICBcbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICAgICBcbiAgfVxufVxuXG4jZnJvbnQtcGFnZS13ZWxjb21lLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwdXJwbGU7XG4gIGNvbG9yOiAjRkZGO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIFxuICBoMiB7XG4gICAgZm9udC1zaXplOjI0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGNvbG9yOiAjRkZGO1xuICB9XG4gIFxuICBwLCBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxuICBcbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG59XG5cblxuXG4jbmV3cy1ldmVudHMge1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nOiAwcHg7XG4gIFxuICBwLmJvdHRvbS1tb3JlLWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDVweDtcbiAgfVxuICBcbn1cblxuXG4ubmV3cy1oZWFkbGluZS1waG90by1ibG9jayB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmF5O1xuICBjb2xvcjogQHB1cnBsZTtcbiAgbWFyZ2luOiAwO1xuICBoZWlnaHQ6IDQwMHB4O1xuICBcbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIFxuICBkaXYuaW1nLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIFxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG4gIFxuICBoMyB7XG4gICAgcGFkZGluZzogNXB4IDVweCA1cHggMTVweDtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAtMzhweDtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgICBcbiAgICBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjRkZGO1xuICAgIH1cbiAgfVxuICBcbiAgcCB7XG4gICAgcGFkZGluZzogNXB4IDE1cHggMHB4IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbiAgXG4gIGEge1xuICAgIGNvbG9yOiBAcHVycGxlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG59XG5cbiNmcm9udC1wYWdlLW5ld3MtY29udGVudCxcbiNmcm9udC1wYWdlLWV2ZW50cy1jb250ZW50IHtcbiAgaGVpZ2h0OiAyMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICsgLmZhZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgXG4gICAgICAgIHJnYmEoMjE3LCAyMTcsIDIxNywgMCksIFxuICAgICAgICByZ2JhKDIxNywgMjE3LCAyMTcsIDAuOSlcbiAgICAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChcbiAgICAgICAgcmdiYSgyMTcsIDIxNywgMjE3LCAwKSAwJSxcbiAgICAgICAgcmdiYSgyMTcsIDIxNywgMjE3LCAxKSAxMDAlXG4gICAgKTsgXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoXG4gICAgICAgIHJnYmEoMjE3LCAyMTcsIDIxNywgMCkgMCUsXG4gICAgICAgIHJnYmEoMjE3LCAyMTcsIDIxNywgMSkgMTAwJVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KFxuICAgICAgICByZ2JhKDIxNywgMjE3LCAyMTcsIDApIDAlLFxuICAgICAgICByZ2JhKDIxNywgMjE3LCAyMTcsIDEpIDEwMCVcbiAgICApO1xuICB9XG59XG5cbi5mcm9udC1wYWdlLWV2ZW50cy1yb3cge1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBkaXYge1xuICAgIHBhZGRpbmc6IDBweCAxNXB4IDBweCAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDk5MnB4KSB7XG4gICNuZXdzLWV2ZW50cyB7XG4gICAgZGl2LmNvbC1zbS02IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2OHB4KSB7XG4gICNuZXdzLWV2ZW50cyB7XG4gICAgZGl2LmNvbC1zbS02IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDQ4MHB4KSB7XG4gICNuZXdzLWV2ZW50cyB7XG4gICAgZGl2LmNvbC14cy0xMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4jZmFzdC1mYWN0cy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZGFya2dyYXk7XG4gIHBhZGRpbmc6IDIwcHggMHB4O1xuICBtYXJnaW4tYm90dG9tOiAtMjVweDtcbiAgXG4gICNmYXN0LWZhY3RzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG4gIFxuXG4gIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwcHggMHB4IDVweCAwcHg7XG4gICAgY29sb3I6IEBwdXJwbGU7XG4gICAgZm9udC1zaXplOjI0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBcbiAgZGl2Lmljb24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogNWVtO1xuICAgICAgY29sb3I6IEBwdXJwbGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuICB9XG4gIFxuICBwICB7XG4gICAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1kYXdnZHJvcHM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBjb2xvcjogQGRhcmtncmF5O1xuICB9XG4gIFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjhweCkge1xuICAjZmFzdC1mYWN0cyBkaXYuaWNvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgfVxufVxuXG4vKiBQZW9wbGUgTGlzdGluZ3MgKi9cblxuLy8gQWxwaGFiZXQgbGlua3MgYXQgdG9wIG9mIGxpc3RzXG5kaXYuYWxpc3Qge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbmRpdi5hbGlzdCBhIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlO1xuICBtYXJnaW46IDJweDtcbiAgcGFkZGluZzogM3B4IDVweCAzcHggNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBEaXJlY3Rvcmllc1xuICovXG5kaXYuZGlyZWN0b3J5LXJvdyB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi8vIFRoZSB2aWV3IHRoYXQgcmVuZGVycyB0aGVzZSBoZWFkZXJzIGluaXN0cyBvbiB3cmFwcGluZyB0aGVtIGluIGEgPHA+PC9wPlxuaDIuZGlyZWN0b3J5LXBlb3BsZS10eXBlIHAge1xuICBmb250LXNpemU6IEBmb250LXNpemUtaDI7XG4gIGZvbnQtZmFtaWx5OiBAaGVhZGluZ3MtZm9udC1mYW1pbHk7XG5cdGNvbG9yOiBAcHVycGxlO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kaXYuZGlyZWN0b3J5LXBob3RvLWNvbnRhaW5lciB7XG4gIG1pbi13aWR0aDogMTU5cHg7XG4gIFxuICBpbWcge1xuICAgIHdpZHRoOiAxNTlweDtcbiAgfVxufSAgXG5cbmltZy5mYWN1bHR5LXBob3RvOmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvL3MzLXVzLXdlc3QtMi5hbWF6b25hd3MuY29tL3d3dy1jc2UtcHVibGljL3BvcnRyYWl0cy9fZGVmYXVsdF9zbS5qcGcpO1xufVxuXG5kaXYuZGlyZWN0b3J5LW5hbWUge1xuICBmb250LXNpemU6IDEuM2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IEBwdXJwbGU7XG59XG5cbmRpdi5kaXJlY3Rvcnktd29ya2luZy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5kaXYuZGlyZWN0b3J5IHtcbiAgXG59XG5kaXYuZGlyZWN0b3J5LW9mZmljZSB7XG4gIFxufVxuXG5kaXYuZGlyZWN0b3J5LXBob25lIHtcbiAgXG59XG5cbmRpdi5kaXJlY3RvcnktZW1haWwge1xuICBcbn1cblxuZGl2LmRpcmVjdG9yeS1ob21lcGFnZSB7XG4gIFxufVxuXG5kaXYuZGlyZWN0b3J5LXJlc2VhcmNoLWludGVyZXN0cyB7XG4gIFxufVxuXG4ucGVyc29uYWwtc29jaWFsLWljb24ge1xuICBjb2xvcjogQHB1cnBsZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnZpZXctZGlzcGxheS1pZC1wYWdlXzIgaDIgcCB7XG4gIGZvbnQtc2l6ZTogMjlweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IEBwdXJwbGU7XG59XG5cbiNibG9jay12aWV3cy1wZXJzb24tY29udGFjdC1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi8qKlxuICogUmVzZWFyY2ggUHJvamVjdCBMaXN0aW5nc1xuICovXG5kaXYudmlldy1yZXNlYXJjaC1wcm9qZWN0cyBoMiB7XG4gIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDtcbn1cblxuZGl2LnJlc2VhcmNoLXByb2plY3QtdGh1bWJuYWlsIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuZGl2LnJlc2VhcmNoLXByb2plY3QtdGh1bWJuYWlsIGltZyB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IGF1dG87XG59XG5kaXYucmVzZWFyY2gtcHJvamVjdC1ibHVyYiB7XG4gIG1hcmdpbjogMHB4IDEwcHggMjBweCA0MHB4O1xuICBjbGVhcjogYm90dG9tO1xufVxuXG5kaXYubm9kZS1yZXNlYXJjaC1wcm9qZWN0IGRpdi5maWVsZC1uYW1lLWZpZWxkLXJlc2VhcmNoLXByb2plY3QtaW1hZ2Uge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5kaXYubm9kZS1yZXNlYXJjaC1wcm9qZWN0IGltZyB7XG4gIHdpZHRoOiAyMDBweDsgIFxufVxuXG5kaXYubm9kZS1yZXNlYXJjaC1wcm9qZWN0IGRpdi5hc3NvY2lhdGVkLWNvbnRlbnQge1xuICBjbGVhcjogYm90aDsgIFxufVxuXG5kaXYuZ3JvdXBlZC1wcm9qZWN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMHB4IDBweCAyMHB4IDIwcHg7XG59XG5cbmRpdi5ncm91cGVkLXByb2plY3QtY29udGFpbmVyIGgyIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG5kaXYuZ3JvdXBlZC1wdWJsaWNhdGlvbi1jb250YWluZXIsXG5kaXYucHViLWdyb3VwLWhlYWRlciB7XG4gIG1hcmdpbjogMHB4IDBweCAyMHB4IDIwcHg7XG59XG5cbmRpdi5wdWJsaWNhdGlvbi1ncm91cCBoMiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuZGl2LnZpZXctcmVzZWFyY2gtcHJvamVjdHMgLnZpZXdzLXJvdyB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiogYm9keS5wYWdlLXJlc2VhcmNoLXJvYm90aWNzLXByb2plY3RzLWJ5LXRvcGljICovXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgZGl2Lmdyb3VwZWQtcHJvamVjdC1jb250YWluZXIgIHtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cblxuZGl2LnJvYm90aWNzLWdyb3VwZWQtdGlsZS12aWV3IGRpdi5yZXNlYXJjaC1wcm9qZWN0LXRodW1ibmFpbCB7XG4gIGZsb2F0OiBub25lO1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgd2lkdGg6IDE1OHB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xufVxuXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgZGl2LnJlc2VhcmNoLXByb2plY3QtdGh1bWJuYWlsIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogMzBweDtcbiAgY2xpcDpyZWN0KDBweCwxMDBweCwxMDBweCwwcHgpO1xufVxuXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgIGRpdi5ncm91cGVkLXByb2plY3QtY29udGFpbmVyIGgyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6MTA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgZGl2Lmdyb3VwZWQtcHJvamVjdC1jb250YWluZXIgZGl2LnZpZXdzLXJvdyB7XG4gIHdpZHRoOiAxNThweDtcbiAgaGVpZ2h0OiAxNjVweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlcjogdGhpbiBzb2xpZCAjQUFBO1xuICBwYWRkaW5nOiA1cHggNXB4IDVweCA1cHg7XG4gIGNsZWFyOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMHB4IDJweCAycHggMHB4O1xufVxuXG5kaXYucm9ib3RpY3MtZ3JvdXBlZC10aWxlLXZpZXcgZGl2LnJlc2VhcmNoLXByb2plY3QtYmx1cmIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qKlxuICogQ291cnNlIGxpc3RpbmdzXG4gKi9cbi5jb3Vyc2UtbGlzdGluZy10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmRpdi52aWV3LWNvdXJzZS1saXN0aW5nIGRpdi52aWV3cy1yb3cge1xuICBtYXJnaW46IDBweCAyMHB4IDEwcHggMjVweDtcbn1cblxuXG4vKlxuICogVGFiYmVkIG1lbnVzIGF0IHRoZSB0b3Agb2YgY29udGVudCByZWdpb25zXG4gKi9cbmRpdi5yZWdpb24tY29udGVudCB7XG4gIHNlY3Rpb24uYmxvY2stbWVudSB7XG4gICAgdWwubWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBncmF5O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIFxuICAgICAgPiBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgXG4gICAgICAgIGEsIHNwYW4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICBjb2xvcjogQHB1cnBsZTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjRkZGO1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICA+IGxpLmFjdGl2ZSB7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZGF3Z2Ryb3BzLWl0ZW0uZGF3Z2Ryb3BzLWl0ZW0gYTpob3ZlciB7XG4gIGNvbG9yOiBAbGlnaHRnb2xkO1xufVxuXG4ubGFzdC1lZGl0ZWQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKlxuICogRm9yIHRhYmxldCBhbmQgc21hbGxlciwgb2ZmZXIgaGFtYnVyZ2VyIG1lbnVzIHdpdGggZnVsbC13aWR0aFxuICogbWVudSBpdGVtcy5cbiAqXG4gKiBBZGFwdGVkIGZyb20gaHR0cHM6Ly9jb2RlcGVuLmlvL2Fub24vcGVuL3hMYUVnelxuICovXG4jbWVudS10b2dnbGUgaW5wdXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjhweCkgIHsgIFxuICAjbWVudS10b2dnbGUge1xuICAgIGhlaWdodDogNDBweDsgIFxuICB9XG5cbiAgLy8gTWVudSBub3JtYWxseSBjb2xsYXBzZWQoaGlkZGVuKSBhdCB0aGlzIHJlc29sdXRpb25cbiAgI21lbnUtdG9nZ2xlIHVsLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuMTVzIGVhc2Utb3V0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIFxuICAgIHVsIGxpIHtcbiAgICAgIHBhZGRpbmc6ICA1cHggMjBweCA1cHggNXB4O1xuICAgIH1cbiAgICBcbiAgICBzcGFuLmNhcmV0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZTtcbiAgICAgIFxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gIH1cbiAgXG4gIC8vIExpbmVzIG9mIGhhbWJ1cmdlclxuICAjbWVudS10b2dnbGUgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0zMHB4O1xuICAgIGxlZnQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDRweCAwcHg7XG4gIH1cbiAgI21lbnUtdG9nZ2xlIHNwYW46Zmlyc3QtY2hpbGRcbntcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG59XG5cbiNtZW51LXRvZ2dsZSBzcGFuOm50aC1sYXN0LWNoaWxkKDIpXG57XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDEwMCU7XG59XG4gIC8vIFRyYW5zcGFyZW50IGFuZCBvbiB0b3Agb2YgaGFtYnVyZ2VyXG4gICNtZW51LXRvZ2dsZSBpbnB1dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIG9wYWNpdHk6IDA7IFxuICAgIHotaW5kZXg6IDI7IFxuICB9XG4gIFxuICAjbWVudS10b2dnbGUgaW5wdXQ6Y2hlY2tlZCB+IHVsLm1lbnUge1xuICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LWhlaWdodDogMTAwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgLjI1cyBlYXNlLWluO1xuICB9XG4gIFxuICNtZW51LXRvZ2dsZSBpbnB1dDpjaGVja2VkIH4gc3BhblxuICB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSgtMnB4LCAtMXB4KTtcbiAgfVxuICBcbiAgI21lbnUtdG9nZ2xlIGlucHV0OmNoZWNrZWQgfiBzcGFuOm50aC1sYXN0LWNoaWxkKDMpICB7XG4gICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNjYWxlKDAuMSwgMC4xKTtcbiAgfVxuICBcbiAgI21lbnUtdG9nZ2xlIGlucHV0OmNoZWNrZWQgfiBzcGFuOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgwLCAtMXB4KTtcbiAgfVxufVxuXG4vKipcbiAqIFZpZXdzXG4gKi9cbmEuaW50ZXJuYWwtZWRpdC1saW5rIHtcbiAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IHNtYWxsZXI7XG59XG5cbi5jYWxsb3V0IHtcbiAgPiBoMiB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG4gIFxuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAxOXB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2VsbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHdlbGwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpKTtcbiAgXG4gIGFzaWRlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbiAgfVxuICBcbiAgLm1vcmUtbGluayB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG4gIFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gIH1cbn1cblxuXG4vKiBNU0IgKi9cbmRpdi5tc2Ige1xuICBtYXJnaW46IDNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAyNzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbiBcbmRpdi5tc2IgaW1nIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDI1OXB4OyBcbn1cblxuLyogU3BlY2lhbCByZXF1ZXN0IGZvciBNTCBzZW1pbmFycyAqL1xuZGl2LnZpZXctaWQtdGFsa19saXN0IHtcbiAgZm9udC1zaXplOiBsYXJnZXI7XG59IiwiLy8gU2xpZGVzaG93IGRpc3BsYXllZCBvbiBmcm9udCBwYWdlXG5cbiNzaWRlc2hvdyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkuZnJvbnQgI3NsaWRlc2hvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBoZWlnaHQ6IEBzbGlkZXNob3dfaGVpZ2h0O1xuICBoZWlnaHQ6IDYzNHB4OyBcbn1cblxuLnNsaWRlc2hvdy1yb3cge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IFxuICBoZWlnaHQ6IEBzbGlkZXNob3dfaGVpZ2h0O1xuICBtYXJnaW46IGF1dG87XG4gIGNvbG9yOiAjRkZGO1xuICBcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggIzMzMztcbiAgfVxuICBcbiAgcCB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggIzMzMztcbiAgfVxuICBcbiAgYSB7XG4gICAgY29sb3I6ICNGRkY7XG4gIH1cbiAgXG4gIC5tb3JlIHtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgXG4gIC5yb3cge1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLnZpZXdzLXNsaWRlc2hvdy1jeWNsZS1tYWluLWZyYW1lLXJvdyxcbi52aWV3cy1zbGlkZXNob3ctY3ljbGUtbWFpbi1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbiN2c2NjX2NvbnRyb2xzX2Zyb250X3BhZ2Vfc2xpZGVzaG93LWJsb2NrXzFfMSxcbiN2c2NjX2NvbnRyb2xzX2Zyb250X3BhZ2Vfc2xpZGVzaG93LWJsb2NrXzJfMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTAwO1xuICB0b3A6IC00MHB4O1xuICB3aWR0aDogMTAwcHg7XG4gIG1hcmdpbjogYXV0b1xufVxuXG4jdnNjY19jb250cm9sc19mcm9udF9wYWdlX3NsaWRlc2hvdy1ibG9ja18xXzEgaW1nLFxuI3ZzY2NfY29udHJvbHNfZnJvbnRfcGFnZV9zbGlkZXNob3ctYmxvY2tfMl8xIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAxMjAwcHgpIHtcbiAgLnNsaWRlc2hvdy1yb3cge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICB9XG59XG5cbi8vQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY3cHgpIHtcbi8vICAuc2xpZGVzaG93LXJvdyB7XG4vLyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDsgXG4vLyAgfVxuLy8gIFxuLy8gIGJvZHkuZnJvbnQgI3NsaWRlc2hvdyB7XG4vLyAgICBoZWlnaHQ6IEBtb2JpbGVfc2xpZGVzaG93X2hlaWdodDsgIFxuLy8gIH1cbi8vXG4vL31cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA3NjhweCkge1xuXG4gIGJvZHkuZnJvbnQgI3NsaWRlc2hvdyB7XG4gICAgaGVpZ2h0OiBAbW9iaWxlX3NsaWRlc2hvd19oZWlnaHQ7ICBcbiAgfVxuXG4gIC5zbGlkZXNob3ctcm93IHtcbiAgICBoZWlnaHQ6IEBtb2JpbGVfc2xpZGVzaG93X2hlaWdodDtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBtYXJnaW4tYm90dG9tOiBAbW9iaWxlX3NsaWRlc2hvd190ZXh0X2JveF9oZWlnaHQ7XG4gICAgXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cbiAgICBcbiAgICBkaXYucm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogQG1vYmlsZV9zbGlkZXNob3dfaGVpZ2h0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGRhcmtncmF5O1xuICAgICAgaGVpZ2h0OkBtb2JpbGVfc2xpZGVzaG93X3RleHRfYm94X2hlaWdodDtcbiAgICB9XG4gICAgXG4gICAgcCB7XG4gICAgICBjb2xvcjogI0ZGRjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjNcbiAgICB9XG4gICAgXG4gIH1cbiAgXG4gICN2c2NjX2NvbnRyb2xzX2Zyb250X3BhZ2Vfc2xpZGVzaG93LWJsb2NrXzJfMSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59IiwiLy8gRm9vdGVyXG5cbmZvb3Rlci5mb290ZXIge1xuICBjb2xvcjogI0ZGRjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDMwcHggMTBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNUU1RTU7XG4gIFxuICBoMiB7XG4gICAgZm9udC1zaXplOjI0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICBcbiAgcCwgYSB7XG4gICBjb2xvcjogI0ZGRjtcbiAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxuICBcbiBcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY4cHgpIHtcbiAgYm9keS5mcm9udCBmb290ZXIuZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiBAbW9iaWxlX3NsaWRlc2hvd190ZXh0X2JveF9oZWlnaHQ7XG4gIH1cbn1cblxuZm9vdGVyLmZvb3RlciAgIC53aGl0ZS1mb290ZXItdyB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbjogLTEwcHg7XG59XG5cbmZvb3Rlci5mb290ZXIgaSB7XG4gIGNvbG9yOiAjRkZGO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogNGVtO1xufVxuXG4uY29ubmVjdC13aXRoLXVzIHtcbiAgaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxufVxuXG4jbGVnYWxlc2Uge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4jYmxvY2stc2hpYi1hdXRoLWxvZ2luLWJveCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn0iLCIvKiBNYWtlIGJvb3RzdHJhcHB5IGJ1dHRvbnMgb24gdGhlIGxhYiBob21lIHBhZ2UgKi9cblxuLmJ0bi1icz46Zmlyc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDt0b3A6MDtib3R0b206MDtcbiAgICB3aWR0aDo0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OjQwcHg7XG4gICAgZm9udC1zaXplOjEuNmVtO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgwLDAsMCwwLjIpXG59XG5cbi5idG4tdHdpdHRlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzU1YWNlZTtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuLmJ0bi10d2l0dGVyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjc5NWU5O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5idG4tZ2l0bGFie2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNEI1MTVEO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLWdpdGxhYjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI2MzIzODtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLW15cG9ydGZvbGlve2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYWE2NmNjO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLW15cG9ydGZvbGlvOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojOTkzM2NjO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5idG4tbGludXgtdm17Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyQkJCQUQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4tbGludXgtdm06aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMGU2NzY7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi12ZGl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM0Mjg1RjQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4tdmRpOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzA0ZmZlO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5idG4tY2hhbmdlLXBhc3N3b3Jke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojOTY3QURDO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLWNoYW5nZS1wYXNzd29yZDpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I0FDOTJFQztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLXdpZml7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzQkFGREE7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4td2lmaTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzRGQzFFOTtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLWVtYWlse2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzdCQzlCO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLWVtYWlsOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNDhDRkFEO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5idG4tcHJpbnR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNGNkJCNDI7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4tcHJpbnQ6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNGRkNFNTQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi1yZXF1ZXN0LWFjY291bnR7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNBQUIyQkQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4tcmVxdWVzdC1hY2NvdW50OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojQ0NEMUQ5O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5idG4tc3VwcG9ydC1yZXF1ZXN0e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNEQ1MDVCO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG4uYnRuLXN1cHBvcnQtcmVxdWVzdDpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMwMzAyRjtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLW1hY2ludG9zaHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I0VDM0Y4Qztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuLmJ0bi1tYWNpbnRvc2g6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmNTAwNTc7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cblxuLmJ0bi1saW51eHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzFGRDI2QTtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuLmJ0bi1saW51eDpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwYzg1Mztib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLXdpbmRvd3N7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzOUIxQzY7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMC4yKX1cbi5idG4td2luZG93czpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI5NjJmZjtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwLjIpfVxuXG4uYnRuLXJlcG9ydC1lbWVyZ2VuY3kge2NvbG9yOiNGRkY7YmFja2dyb3VuZC1jb2xvcjojRjAwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9O1xuLmJ0bi1yZXBvcnQtZW1lcmdlbmN5OmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojQzAwO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDAuMil9XG5cbi5mYS10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG59XG5cbi5mYS1naXRsYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTZcIjtcbn1cbi5mYS1teXBvcnRmb2xpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3Y1wiO1xufVxuLmZhLXZkaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3YVwiO1xufVxuLmZhLWNoYW5nZS1wYXNzd29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuLmZhLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJmXCI7XG59XG4uZmEtcmVxdWVzdC1hY2NvdW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG59XG5cbi5mYS1saW51eC12bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiO1xufVxuXG4uZmEtc3VwcG9ydC1yZXF1ZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ1XCI7XG59XG5cbi5mYS1tYWNpbnRvc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjtcbn1cblxuLmZhLXdpbmRvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjtcbn1cblxuLmZhLWxpbnV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdjXCI7XG59XG5cbi5mYS13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XG59XG5cbi5mYS1lbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiO1xufVxuXG4uYnRuLWJzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBwYWRkaW5nOiA2cHggMTJweCA2cHggNDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpc1xufVxuXG4vLyBTZWFyY2ggZm9ybSBvbiBsYWIgcGFnZXNcbiNibG9jay1jdXN0b20tc2VhcmNoLWJsb2Nrcy00IHtcbiAgLmZvcm0taXRlbS1jdXN0b20tc2VhcmNoLWJsb2Nrcy1mb3JtLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIH1cblxuICBkaXYuZm9ybS1hY3Rpb25zIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTUycHg7XG4gIH1cblxuICBidXR0b24uZm9ybS1zdWJtaXQge1xuICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL3NlYXJjaF9pY29uLnBuZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDM0cHggIWltcG9ydGFudDtcbiAgICB3aWR0aDogMzRweCAhaW1wb3J0YW50O1xuICB9XG59IiwiLmNzZS1jYWxsb3V0IHtcbiAgLndlbGwoKTtcbiAgd2lkdGg6IDI1JTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDQ4MHB4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxufVxuXG4iLCJkaXYucHVibGljLWRpcmVjdG9yeS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuZGl2LnB1YmxpYy1kaXJlY3RvcnktbmFtZSxcbmRpdi5wdWJsaWMtZGlyZWN0b3J5LW5hbWUgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IEBwdXJwbGU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmRpdi5wdWJsaWMtZGlyZWN0b3J5LWVtYWlsIHtcbiAgXG59XG5cbmRpdi5wdWJsaWMtZGlyZWN0b3J5LXdvcmtpbmctdGl0bGUge1xuICBcbn1cblxuLnBvc3Rkb2MtYmx1cmIge1xuICBsaW5lLWhlaWdodDogMS4yO1xufSIsImgzLmJpYmxpby10aXRsZSB7XG4gY29sb3I6IEBsaW5rLWNvbG9yO1xuIGZvbnQtc2l6ZTogMThweDtcbiBtYXJnaW4tdG9wOiAyMHB4O1xuIG1hcmdpbi1ib3R0b206IDJweDtcbn0iLCIjY3NlLXN5c3RlbS1hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLmNzZS1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1OTcxODQ7XG4gIFxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG4gIFxuICBwLnN5c3RlbS1hbGVydC10ZXh0IHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG4gIFxuICBkaXYuY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgd2lkdGg6IDEwMDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgfVxuICBcbiAgYSB7XG4gICAgY29sb3I6IHllbGxvdztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmNzZS1hbGVydC5jb3ZpZC1hbGVydCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIFxuICBwIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICB9XG59XG5cbnAuc3lzdGVtLWFsZXJ0LXRpdGxlIHtcbiAgY29sb3I6IHllbGxvdztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYWxlcnQtc3R5bGUtODc2IGRpdi5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvc3lzdGVtLWFsZXJ0LXJlZC5wbmcnKTtcbn1cblxuLmFsZXJ0LXN0eWxlLTg3OCBkaXYuY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL3N5c3RlbS1hbGVydC15ZWxsb3cucG5nJyk7XG59XG5cbi5hbGVydC1zdHlsZS04NzcgIGRpdi5jb250YWluZXJ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9zeXN0ZW0tYWxlcnQtb3JhbmdlLnBuZycpO1xufVxuXG4uYWxlcnQtc3R5bGUtODc5ICBkaXYuY29udGFpbmVye1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvc3lzdGVtLWFsZXJ0LWdyZWVuLnBuZycpO1xufVxuXG4uY292aWQtYWxlcnQgIGRpdi5jb250YWluZXJ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9jb3ZpZC1iZy1ibGFjay5wbmcnKTtcbn1cblxuLmNvdmlkLXB1YmxpYy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgXG4gIGRpdi5jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBcbiAgYSB7XG4gICAgY29sb3I6ICNGRkY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbiAgXG4gIFxufVxuXG5cbi8vIGdyZWVuXG4jZWRpdC1maWVsZC1zeXN0ZW0tYWxlcnQtc3R5bGUtdW5kLTg3OSBsYWJlbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9zeXN0ZW0tYWxlcnQtZ3JlZW4ucG5nJyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICNGRkY7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG59XG5cbi8vIG9yYW5nZVxuI2VkaXQtZmllbGQtc3lzdGVtLWFsZXJ0LXN0eWxlLXVuZC04NzcgbGFiZWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvc3lzdGVtLWFsZXJ0LW9yYW5nZS5wbmcnKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI0ZGRjtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLy8gcmVkXG4jZWRpdC1maWVsZC1zeXN0ZW0tYWxlcnQtc3R5bGUtdW5kLTg3NiBsYWJlbCxcbiNlZGl0LWZpZWxkLXN5c3RlbS1hbGVydC1zdHlsZS11bmQtODgwICsgbGFiZWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvc3lzdGVtLWFsZXJ0LXJlZC5wbmcnKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI0ZGRjtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbn1cblxuLy8geWVsbG93XG4jZWRpdC1maWVsZC1zeXN0ZW0tYWxlcnQtc3R5bGUtdW5kLTg3OCBsYWJlbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9zeXN0ZW0tYWxlcnQteWVsbG93LnBuZycpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjRkZGO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufSIsIlxuZGl2LnNwYWNlYmVsb3cge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuIiwiLyogVGhpcyBjb250YWlucyBzb21lIHN0eWxlcyB0byBiZSB1c2VkIG9uIGEgcGFnZSB3aXRoXG4gKiB0aGUganF1ZXJ5IGZsaXAgZXh0ZW5zaW9uLlxuICovXG5cbkBwdXJwbGU6ICM0YjJlODM7XG5Ad2hpdGU6ICNmZmY7XG5AbmV1dHJhbDogI0VDRTlFMjtcbkB0ZXh0Y29sb3I6ICMzZDNkM2Q7XG5AZ29sZDogI2I3YTU3YTtcblxuQGJvZHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuQGRpc3BsYXk6IHNhbnMtc2VyaWY7XG5AYWx0ZXJuYXRlOiBzYW5zLXNlcmlmO1xuXG4jY2FyZGdyaWQge1xuICAgIGRpc3BsYXkgICAgICAgICAgICAgIDogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICBvdmVyZmxvdyAgICAgICAgICAgICA6IGhpZGRlbjtcbiAgICB3aWR0aCAgICAgICAgICAgICAgICA6IDk1JTtcbiAgICBtYXJnaW4gICAgICAgICAgICAgICA6IDEuM2VtIGF1dG8gM2VtIGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgI2NhcmRncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAjY2FyZGdyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5MHB4KSB7XG4gICAgI2NhcmRncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxufVxuXG4uY2FyZCB7XG4gICAgbWFyZ2luOiAxZW07XG4gICAgY3Vyc29yOiBoYW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNhcmQgLmZyb250IHtcbiAgICBiYWNrZ3JvdW5kOiBAcHVycGxlO1xuICAgIHBhZGRpbmcgICA6IDFlbSAxZW0gMS40ZW0gMWVtO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4yKTtcbn1cblxuLmNhcmQgLmJhY2sge1xuICAgIGJhY2tncm91bmQ6IEBuZXV0cmFsO1xuICAgIHBhZGRpbmcgICA6IDFlbSAxZW0gMS40ZW0gMWVtO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIC4yKTtcbn1cblxuLmNhcmQgaDMge1xuICAgIGZvbnQtc2l6ZSAgICAgOiAxLjZlbTtcbiAgICBjb2xvciAgICAgICAgIDogQHB1cnBsZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5ICAgOiBAZGlzcGxheTtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbn1cblxuLmNhcmQgLmZyb250IGgzIHtcbiAgICBjb2xvciAgICAgIDogQHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi5jYXJkIGg0IHtcbiAgICBmb250LWZhbWlseTogQGJvZHk7XG4gICAgZm9udC1zaXplICA6IDFlbTtcbiAgICBmb250LXN0eWxlIDogb2JsaXF1ZTtcbiAgICBtYXJnaW4gICAgIDogMDtcbiAgICBwYWRkaW5nICAgIDogMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yICAgICAgOiBAdGV4dGNvbG9yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbn1cblxuLmZpZ2xlYWRlci1wcm9ub3VuIHtcbiAgICBmb250LWZhbWlseTogQGFsdGVybmF0ZTtcbiAgICBmb250LXNpemUgIDogMS4yZW07XG4gICAgbWFyZ2luICAgICA6IDE2cHggMCAzcHggMDtcbn1cblxuLmZpZ2xlYWRlci1tYWpvciB7XG4gICAgZm9udC1mYW1pbHk6IEBhbHRlcm5hdGU7XG4gICAgZm9udC1zaXplICA6IDEuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICBtYXJnaW4gICAgIDogMCAwIDE2cHggMDtcbn1cblxuLmZpZ2xlYWRlci1zdG9yeSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIGZvbnQtc2l6ZSAgOiAxZW07XG4gICAgbWFyZ2luICAgICA6IDNweCAwIDAgMDtcbn1cblxuLmNhcmQgLnVkdWItc2xhbnQgc3BhbiB7XG4gICAgaGVpZ2h0OiA3cHg7XG4gICAgd2lkdGggOiAxMTBweDtcbn1cblxuLmNhcmQgLnVkdWItc2xhbnQge1xuICAgIG1hcmdpbiA6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmlubmVyZmlnIHtcbiAgICB3aWR0aCAgOiA5MyU7XG4gICAgbWFyZ2luIDogYXV0bztcbiAgICBwYWRkaW5nOiAyZW0gMCAzZW0gMDtcbn1cblxuLmlubmVyZmlnIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcCAgIDogMWVtO1xufVxuXG4ubmV1dHJhbCB7XG4gICAgYmFja2dyb3VuZDogQG5ldXRyYWw7XG59XG5cbi5maWdtaXNzaW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzZW07XG59XG5cbi51ZHViLXNsYW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXkgOiBibG9jaztcbiAgICBtYXJnaW4gIDogMjBweCAwIDI1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleCA6IDI7XG59XG5cbi51ZHViLXNsYW50IHNwYW4ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMjVkZWcpIHNrZXdZKDApO1xuICAgIC1vLXRyYW5zZm9ybSAgICAgOiBza2V3WCgtMjVkZWcpIHNrZXdZKDApO1xuICAgIHRyYW5zZm9ybSAgICAgICAgOiBza2V3WCgtMjVkZWcpIHNrZXdZKDApO1xuICAgIGRpc3BsYXkgICAgICAgICAgOiBibG9jaztcbiAgICBoZWlnaHQgICAgICAgICAgIDogMTFweDtcbiAgICB3aWR0aCAgICAgICAgICAgIDogMjEwcHg7XG4gICAgbWFyZ2luICAgICAgICAgICA6IDAgMCAwIC01cHg7XG4gICAgYmFja2dyb3VuZCAgICAgICA6IEBnb2xkO1xufVxuXG4gICAgIiwiLmJ0bi1jc2UtbGluayB7XG4gICBwYWRkaW5nOiAxMXB4IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGIyZTgzO1xuICAgIGZvbnQtZmFtaWx5OiBcIkVuY29kZSBTYW5zIENvbXByZXNzZWRcIixzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICNkOWQ5ZDk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7XG59XG5cbi5idG4tbmV4dCB7XG4gIGZsb2F0OnJpZ2h0O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYnRuLWJyZWFrLXdvcmQge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuYS5idG4tY3NlLWxpbms6OmJlZm9yZSB7XG4gICBjb250ZW50OiBcIlwiO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDQzcHg7XG4gICAgcmlnaHQ6IC00M3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgcmdiYSgwLDAsMCwuMyk7XG59XG5cbmEuYnRuLWNzZS1saW5rOjphZnRlciB7XG4gIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgICByaWdodDogLTQzcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3NDBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDEwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgcmlnaHQ6IC01MHB4O1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0yOHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgvaW1hZ2VzL3doaXRlLWFycm93LXNwcml0ZS5zdmcpIG5vLXJlcGVhdCAtMzZweCAtNDc1cHggdHJhbnNwYXJlbnQ7XG59XG5cbi5idG4tY3NlLWxpbmstcHJldiB7XG4gICBwYWRkaW5nOiAxMXB4IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGIyZTgzO1xuICAgIGZvbnQtZmFtaWx5OiBcIkVuY29kZSBTYW5zIENvbXByZXNzZWRcIixzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICNkOWQ5ZDk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lIWltcG9ydGFudDtcbn1cblxuXG5hLmJ0bi1jc2UtbGluay1wcmV2OjpiZWZvcmUge1xuICAgY29udGVudDogXCJcIjtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA0M3B4O1xuICAgIGxlZnQ6IC00M3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5O1xuICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpO1xufVxuXG5hLmJ0bi1jc2UtbGluay1wcmV2OjphZnRlciB7XG4gIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgICByaWdodDogLTQzcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3NDBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzJweCAtNDEwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgbGVmdDogLTUwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTI4cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC9pbWFnZXMvd2hpdGUtYXJyb3ctc3ByaXRlLnN2Zykgbm8tcmVwZWF0IC0zNnB4IC00NzVweCB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4ubGlzdC1oZWFkZXIge1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi10b3A6IDI3cHg7XG4gIG1hcmdpbi1ib3R0b206IDEzLjVweDtcbn1cblxuZGwud2lkZS1pbmRlbnQgZGQge1xuICBtYXJnaW4tbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuXG5cbi8qIFVzZWQgbW9zdGx5IChleGNsdXNpdmVseT8pIGJ5IEVsbGUgaW4gZ3JhZCBjb250ZW50ICAqL1xuLmNzZS10aHVtYiB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IC8qIEdyYXkgYm9yZGVyICovXG4gIGJvcmRlci1yYWRpdXM6IDRweDsgIC8qIFJvdW5kZWQgYm9yZGVyICovXG4gIHBhZGRpbmc6IDVweDsgLyogU29tZSBwYWRkaW5nICovXG4gIHdpZHRoOiAxNTBweDsgLyogU2V0IGEgc21hbGwgd2lkdGggKi9cbn1cblxuLyogQWRkIGEgaG92ZXIgZWZmZWN0IChzaGFkb3cpICovXG5pbWcuY3NlLWhvdmVyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDJweCAxcHggZ29sZDtcbn1cblxuLyogQWlkcyBpbiBhZGRpbmcgKyBhbmQgLSBpY29ucyB0byBhY2NvcmRpb25zICovXG5hLnRvZ2dsZS1wbHVzLW1pbnVzOm5vdCguY29sbGFwc2VkKSBzcGFuLmZhLXBsdXMge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xufVxuYS50b2dnbGUtcGx1cy1taW51czpub3QoLmNvbGxhcHNlZCkgIHNwYW4uZmEtbWludXMge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB3aWR0aDogYXV0bztcbn1cbmEudG9nZ2xlLXBsdXMtbWludXMuY29sbGFwc2VkIHNwYW4uZmEtcGx1cyB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHdpZHRoOiBhdXRvO1xufVxuYS50b2dnbGUtcGx1cy1taW51cy5jb2xsYXBzZWQgIHNwYW4uZmEtbWludXMge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAwO1xufVxuIl19 */