/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
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 {
  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;
  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; }
  .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; } }

* {
  -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: Quicksand, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.42857;
  color: #2c2c2c;
  background-color: #fff; }

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit; }

a {
  color: #2c2c2c;
  text-decoration: none; }
  a:hover, a:focus {
    color: #df2523;
    text-decoration: none; }
  a:focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }

figure {
  margin: 0; }

img {
  vertical-align: middle; }

.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

.img-rounded {
  border-radius: 6px; }

.img-thumbnail, .bpopup-container img,
.bpopup-container2 img,
.bpopup-container3 img {
  padding: 4px;
  line-height: 1.42857;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-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: 20px;
  margin-bottom: 20px;
  border: 0;
  border-top: 1px solid #b1b1b1; }

.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; }

[role="button"] {
  cursor: pointer; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit; }
  h1 small,
  h1 .small, h2 small,
  h2 .small, h3 small,
  h3 .small, h4 small,
  h4 .small, h5 small,
  h5 .small, h6 small,
  h6 .small,
  .h1 small,
  .h1 .small, .h2 small,
  .h2 .small, .h3 small,
  .h3 .small, .h4 small,
  .h4 .small, .h5 small,
  .h5 .small, .h6 small,
  .h6 .small {
    font-weight: normal;
    line-height: 1;
    color: #818181; }

h1, .h1,
h2, .h2,
h3, .h3 {
  margin-top: 20px;
  margin-bottom: 10px; }
  h1 small,
  h1 .small, .h1 small,
  .h1 .small,
  h2 small,
  h2 .small, .h2 small,
  .h2 .small,
  h3 small,
  h3 .small, .h3 small,
  .h3 .small {
    font-size: 65%; }

h4, .h4,
h5, .h5,
h6, .h6 {
  margin-top: 10px;
  margin-bottom: 10px; }
  h4 small,
  h4 .small, .h4 small,
  .h4 .small,
  h5 small,
  h5 .small, .h5 small,
  .h5 .small,
  h6 small,
  h6 .small, .h6 small,
  .h6 .small {
    font-size: 75%; }

h1, .h1 {
  font-size: 26px; }

h2, .h2 {
  font-size: 23px; }

h3, .h3 {
  font-size: 21px; }

h4, .h4 {
  font-size: 18px; }

h5, .h5 {
  font-size: 14px; }

h6, .h6 {
  font-size: 12px; }

p {
  margin: 0 0 10px; }

.lead {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.4; }
  @media (min-width: 768px) {
    .lead {
      font-size: 21px; } }

small,
.small {
  font-size: 85%; }

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, .initialism {
  text-transform: uppercase; }

.text-capitalize {
  text-transform: capitalize; }

.text-muted {
  color: #818181; }

.text-primary {
  color: #337ab7; }

a.text-primary:hover,
a.text-primary:focus {
  color: #286090; }

.text-success {
  color: #3c763d; }

a.text-success:hover,
a.text-success:focus {
  color: #2b542c; }

.text-info {
  color: #31708f; }

a.text-info:hover,
a.text-info:focus {
  color: #245269; }

.text-warning {
  color: #8a6d3b; }

a.text-warning:hover,
a.text-warning:focus {
  color: #66512c; }

.text-danger {
  color: #b51c1a; }

a.text-danger:hover,
a.text-danger:focus {
  color: #881514; }

.bg-primary {
  color: #fff; }

.bg-primary {
  background-color: #337ab7; }

a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #286090; }

.bg-success {
  background-color: #dff0d8; }

a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3; }

.bg-info {
  background-color: #d9edf7; }

a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee; }

.bg-warning {
  background-color: #fcf8e3; }

a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5; }

.bg-danger {
  background-color: #f2a9a9; }

a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #ec7d7c; }

.page-header {
  padding-bottom: 9px;
  margin: 40px 0 20px;
  border-bottom: 1px solid #b1b1b1; }

ul,
ol {
  margin-top: 0;
  margin-bottom: 10px; }
  ul ul,
  ul ol,
  ol ul,
  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: 20px; }

dt,
dd {
  line-height: 1.42857; }

dt {
  font-weight: bold; }

dd {
  margin-left: 0; }

.dl-horizontal dd:before, .dl-horizontal dd:after {
  content: " ";
  display: table; }

.dl-horizontal dd:after {
  clear: both; }

@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 #818181; }

.initialism {
  font-size: 90%; }

blockquote {
  padding: 10px 20px;
  margin: 0 0 20px;
  font-size: 17.5px;
  border-left: 5px solid #b1b1b1; }
  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.42857;
    color: #818181; }
    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 #b1b1b1;
  border-left: 0;
  text-align: right; }
  .blockquote-reverse footer:before,
  .blockquote-reverse small:before,
  .blockquote-reverse .small:before,
  blockquote.pull-right footer:before,
  blockquote.pull-right small:before,
  blockquote.pull-right .small:before {
    content: ''; }
  .blockquote-reverse footer:after,
  .blockquote-reverse small:after,
  .blockquote-reverse .small:after,
  blockquote.pull-right footer:after,
  blockquote.pull-right small:after,
  blockquote.pull-right .small:after {
    content: '\00A0 \2014'; }

address {
  margin-bottom: 20px;
  font-style: normal;
  line-height: 1.42857; }

.container, .cms {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }
  .container:before, .cms:before, .container:after, .cms:after {
    content: " ";
    display: table; }
  .container:after, .cms:after {
    clear: both; }
  @media (min-width: 768px) {
    .container, .cms {
      width: 750px; } }
  @media (min-width: 992px) {
    .container, .cms {
      width: 970px; } }
  @media (min-width: 1200px) {
    .container, .cms {
      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; }

.row {
  margin-left: -15px;
  margin-right: -15px; }
  .row:before, .row:after {
    content: " ";
    display: table; }
  .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-1 {
  width: 8.33333%; }

.col-xs-2 {
  width: 16.66667%; }

.col-xs-3 {
  width: 25%; }

.col-xs-4 {
  width: 33.33333%; }

.col-xs-5 {
  width: 41.66667%; }

.col-xs-6 {
  width: 50%; }

.col-xs-7 {
  width: 58.33333%; }

.col-xs-8 {
  width: 66.66667%; }

.col-xs-9 {
  width: 75%; }

.col-xs-10 {
  width: 83.33333%; }

.col-xs-11 {
  width: 91.66667%; }

.col-xs-12 {
  width: 100%; }

.col-xs-pull-0 {
  right: auto; }

.col-xs-pull-1 {
  right: 8.33333%; }

.col-xs-pull-2 {
  right: 16.66667%; }

.col-xs-pull-3 {
  right: 25%; }

.col-xs-pull-4 {
  right: 33.33333%; }

.col-xs-pull-5 {
  right: 41.66667%; }

.col-xs-pull-6 {
  right: 50%; }

.col-xs-pull-7 {
  right: 58.33333%; }

.col-xs-pull-8 {
  right: 66.66667%; }

.col-xs-pull-9 {
  right: 75%; }

.col-xs-pull-10 {
  right: 83.33333%; }

.col-xs-pull-11 {
  right: 91.66667%; }

.col-xs-pull-12 {
  right: 100%; }

.col-xs-push-0 {
  left: auto; }

.col-xs-push-1 {
  left: 8.33333%; }

.col-xs-push-2 {
  left: 16.66667%; }

.col-xs-push-3 {
  left: 25%; }

.col-xs-push-4 {
  left: 33.33333%; }

.col-xs-push-5 {
  left: 41.66667%; }

.col-xs-push-6 {
  left: 50%; }

.col-xs-push-7 {
  left: 58.33333%; }

.col-xs-push-8 {
  left: 66.66667%; }

.col-xs-push-9 {
  left: 75%; }

.col-xs-push-10 {
  left: 83.33333%; }

.col-xs-push-11 {
  left: 91.66667%; }

.col-xs-push-12 {
  left: 100%; }

.col-xs-offset-0 {
  margin-left: 0%; }

.col-xs-offset-1 {
  margin-left: 8.33333%; }

.col-xs-offset-2 {
  margin-left: 16.66667%; }

.col-xs-offset-3 {
  margin-left: 25%; }

.col-xs-offset-4 {
  margin-left: 33.33333%; }

.col-xs-offset-5 {
  margin-left: 41.66667%; }

.col-xs-offset-6 {
  margin-left: 50%; }

.col-xs-offset-7 {
  margin-left: 58.33333%; }

.col-xs-offset-8 {
  margin-left: 66.66667%; }

.col-xs-offset-9 {
  margin-left: 75%; }

.col-xs-offset-10 {
  margin-left: 83.33333%; }

.col-xs-offset-11 {
  margin-left: 91.66667%; }

.col-xs-offset-12 {
  margin-left: 100%; }

@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-1 {
    width: 8.33333%; }
  .col-sm-2 {
    width: 16.66667%; }
  .col-sm-3 {
    width: 25%; }
  .col-sm-4 {
    width: 33.33333%; }
  .col-sm-5 {
    width: 41.66667%; }
  .col-sm-6 {
    width: 50%; }
  .col-sm-7 {
    width: 58.33333%; }
  .col-sm-8 {
    width: 66.66667%; }
  .col-sm-9 {
    width: 75%; }
  .col-sm-10 {
    width: 83.33333%; }
  .col-sm-11 {
    width: 91.66667%; }
  .col-sm-12 {
    width: 100%; }
  .col-sm-pull-0 {
    right: auto; }
  .col-sm-pull-1 {
    right: 8.33333%; }
  .col-sm-pull-2 {
    right: 16.66667%; }
  .col-sm-pull-3 {
    right: 25%; }
  .col-sm-pull-4 {
    right: 33.33333%; }
  .col-sm-pull-5 {
    right: 41.66667%; }
  .col-sm-pull-6 {
    right: 50%; }
  .col-sm-pull-7 {
    right: 58.33333%; }
  .col-sm-pull-8 {
    right: 66.66667%; }
  .col-sm-pull-9 {
    right: 75%; }
  .col-sm-pull-10 {
    right: 83.33333%; }
  .col-sm-pull-11 {
    right: 91.66667%; }
  .col-sm-pull-12 {
    right: 100%; }
  .col-sm-push-0 {
    left: auto; }
  .col-sm-push-1 {
    left: 8.33333%; }
  .col-sm-push-2 {
    left: 16.66667%; }
  .col-sm-push-3 {
    left: 25%; }
  .col-sm-push-4 {
    left: 33.33333%; }
  .col-sm-push-5 {
    left: 41.66667%; }
  .col-sm-push-6 {
    left: 50%; }
  .col-sm-push-7 {
    left: 58.33333%; }
  .col-sm-push-8 {
    left: 66.66667%; }
  .col-sm-push-9 {
    left: 75%; }
  .col-sm-push-10 {
    left: 83.33333%; }
  .col-sm-push-11 {
    left: 91.66667%; }
  .col-sm-push-12 {
    left: 100%; }
  .col-sm-offset-0 {
    margin-left: 0%; }
  .col-sm-offset-1 {
    margin-left: 8.33333%; }
  .col-sm-offset-2 {
    margin-left: 16.66667%; }
  .col-sm-offset-3 {
    margin-left: 25%; }
  .col-sm-offset-4 {
    margin-left: 33.33333%; }
  .col-sm-offset-5 {
    margin-left: 41.66667%; }
  .col-sm-offset-6 {
    margin-left: 50%; }
  .col-sm-offset-7 {
    margin-left: 58.33333%; }
  .col-sm-offset-8 {
    margin-left: 66.66667%; }
  .col-sm-offset-9 {
    margin-left: 75%; }
  .col-sm-offset-10 {
    margin-left: 83.33333%; }
  .col-sm-offset-11 {
    margin-left: 91.66667%; }
  .col-sm-offset-12 {
    margin-left: 100%; } }

@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-1 {
    width: 8.33333%; }
  .col-md-2 {
    width: 16.66667%; }
  .col-md-3 {
    width: 25%; }
  .col-md-4 {
    width: 33.33333%; }
  .col-md-5 {
    width: 41.66667%; }
  .col-md-6 {
    width: 50%; }
  .col-md-7 {
    width: 58.33333%; }
  .col-md-8 {
    width: 66.66667%; }
  .col-md-9 {
    width: 75%; }
  .col-md-10 {
    width: 83.33333%; }
  .col-md-11 {
    width: 91.66667%; }
  .col-md-12 {
    width: 100%; }
  .col-md-pull-0 {
    right: auto; }
  .col-md-pull-1 {
    right: 8.33333%; }
  .col-md-pull-2 {
    right: 16.66667%; }
  .col-md-pull-3 {
    right: 25%; }
  .col-md-pull-4 {
    right: 33.33333%; }
  .col-md-pull-5 {
    right: 41.66667%; }
  .col-md-pull-6 {
    right: 50%; }
  .col-md-pull-7 {
    right: 58.33333%; }
  .col-md-pull-8 {
    right: 66.66667%; }
  .col-md-pull-9 {
    right: 75%; }
  .col-md-pull-10 {
    right: 83.33333%; }
  .col-md-pull-11 {
    right: 91.66667%; }
  .col-md-pull-12 {
    right: 100%; }
  .col-md-push-0 {
    left: auto; }
  .col-md-push-1 {
    left: 8.33333%; }
  .col-md-push-2 {
    left: 16.66667%; }
  .col-md-push-3 {
    left: 25%; }
  .col-md-push-4 {
    left: 33.33333%; }
  .col-md-push-5 {
    left: 41.66667%; }
  .col-md-push-6 {
    left: 50%; }
  .col-md-push-7 {
    left: 58.33333%; }
  .col-md-push-8 {
    left: 66.66667%; }
  .col-md-push-9 {
    left: 75%; }
  .col-md-push-10 {
    left: 83.33333%; }
  .col-md-push-11 {
    left: 91.66667%; }
  .col-md-push-12 {
    left: 100%; }
  .col-md-offset-0 {
    margin-left: 0%; }
  .col-md-offset-1 {
    margin-left: 8.33333%; }
  .col-md-offset-2 {
    margin-left: 16.66667%; }
  .col-md-offset-3 {
    margin-left: 25%; }
  .col-md-offset-4 {
    margin-left: 33.33333%; }
  .col-md-offset-5 {
    margin-left: 41.66667%; }
  .col-md-offset-6 {
    margin-left: 50%; }
  .col-md-offset-7 {
    margin-left: 58.33333%; }
  .col-md-offset-8 {
    margin-left: 66.66667%; }
  .col-md-offset-9 {
    margin-left: 75%; }
  .col-md-offset-10 {
    margin-left: 83.33333%; }
  .col-md-offset-11 {
    margin-left: 91.66667%; }
  .col-md-offset-12 {
    margin-left: 100%; } }

@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-1 {
    width: 8.33333%; }
  .col-lg-2 {
    width: 16.66667%; }
  .col-lg-3 {
    width: 25%; }
  .col-lg-4 {
    width: 33.33333%; }
  .col-lg-5 {
    width: 41.66667%; }
  .col-lg-6 {
    width: 50%; }
  .col-lg-7 {
    width: 58.33333%; }
  .col-lg-8 {
    width: 66.66667%; }
  .col-lg-9 {
    width: 75%; }
  .col-lg-10 {
    width: 83.33333%; }
  .col-lg-11 {
    width: 91.66667%; }
  .col-lg-12 {
    width: 100%; }
  .col-lg-pull-0 {
    right: auto; }
  .col-lg-pull-1 {
    right: 8.33333%; }
  .col-lg-pull-2 {
    right: 16.66667%; }
  .col-lg-pull-3 {
    right: 25%; }
  .col-lg-pull-4 {
    right: 33.33333%; }
  .col-lg-pull-5 {
    right: 41.66667%; }
  .col-lg-pull-6 {
    right: 50%; }
  .col-lg-pull-7 {
    right: 58.33333%; }
  .col-lg-pull-8 {
    right: 66.66667%; }
  .col-lg-pull-9 {
    right: 75%; }
  .col-lg-pull-10 {
    right: 83.33333%; }
  .col-lg-pull-11 {
    right: 91.66667%; }
  .col-lg-pull-12 {
    right: 100%; }
  .col-lg-push-0 {
    left: auto; }
  .col-lg-push-1 {
    left: 8.33333%; }
  .col-lg-push-2 {
    left: 16.66667%; }
  .col-lg-push-3 {
    left: 25%; }
  .col-lg-push-4 {
    left: 33.33333%; }
  .col-lg-push-5 {
    left: 41.66667%; }
  .col-lg-push-6 {
    left: 50%; }
  .col-lg-push-7 {
    left: 58.33333%; }
  .col-lg-push-8 {
    left: 66.66667%; }
  .col-lg-push-9 {
    left: 75%; }
  .col-lg-push-10 {
    left: 83.33333%; }
  .col-lg-push-11 {
    left: 91.66667%; }
  .col-lg-push-12 {
    left: 100%; }
  .col-lg-offset-0 {
    margin-left: 0%; }
  .col-lg-offset-1 {
    margin-left: 8.33333%; }
  .col-lg-offset-2 {
    margin-left: 16.66667%; }
  .col-lg-offset-3 {
    margin-left: 25%; }
  .col-lg-offset-4 {
    margin-left: 33.33333%; }
  .col-lg-offset-5 {
    margin-left: 41.66667%; }
  .col-lg-offset-6 {
    margin-left: 50%; }
  .col-lg-offset-7 {
    margin-left: 58.33333%; }
  .col-lg-offset-8 {
    margin-left: 66.66667%; }
  .col-lg-offset-9 {
    margin-left: 75%; }
  .col-lg-offset-10 {
    margin-left: 83.33333%; }
  .col-lg-offset-11 {
    margin-left: 91.66667%; }
  .col-lg-offset-12 {
    margin-left: 100%; } }

table {
  background-color: transparent; }

caption {
  padding-top: 8px;
  padding-bottom: 8px;
  color: #818181;
  text-align: left; }

th {
  text-align: left; }

.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px; }
  .table > thead > tr > th,
  .table > thead > tr > td,
  .table > tbody > tr > th,
  .table > tbody > tr > td,
  .table > tfoot > tr > th,
  .table > tfoot > tr > td {
    padding: 8px;
    line-height: 1.42857;
    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 > caption + thead > tr:first-child > td,
  .table > colgroup + thead > tr:first-child > th,
  .table > colgroup + thead > tr:first-child > td,
  .table > thead:first-child > tr:first-child > th,
  .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 > thead > tr > td,
.table-condensed > tbody > tr > th,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > th,
.table-condensed > tfoot > tr > td {
  padding: 5px; }

.table-bordered {
  border: 1px solid #ddd; }
  .table-bordered > thead > tr > th,
  .table-bordered > thead > tr > td,
  .table-bordered > tbody > tr > th,
  .table-bordered > tbody > tr > td,
  .table-bordered > tfoot > tr > th,
  .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-of-type(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 > thead > tr > th.active,
.table > thead > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr > td.active,
.table > tbody > tr > th.active,
.table > tbody > tr.active > td,
.table > tbody > tr.active > th,
.table > tfoot > tr > td.active,
.table > tfoot > tr > th.active,
.table > tfoot > tr.active > td,
.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 > thead > tr > th.success,
.table > thead > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr > td.success,
.table > tbody > tr > th.success,
.table > tbody > tr.success > td,
.table > tbody > tr.success > th,
.table > tfoot > tr > td.success,
.table > tfoot > tr > th.success,
.table > tfoot > tr.success > td,
.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 > thead > tr > th.info,
.table > thead > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr > td.info,
.table > tbody > tr > th.info,
.table > tbody > tr.info > td,
.table > tbody > tr.info > th,
.table > tfoot > tr > td.info,
.table > tfoot > tr > th.info,
.table > tfoot > tr.info > td,
.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 > thead > tr > th.warning,
.table > thead > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr > td.warning,
.table > tbody > tr > th.warning,
.table > tbody > tr.warning > td,
.table > tbody > tr.warning > th,
.table > tfoot > tr > td.warning,
.table > tfoot > tr > th.warning,
.table > tfoot > tr.warning > td,
.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 > thead > tr > th.danger,
.table > thead > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr > td.danger,
.table > tbody > tr > th.danger,
.table > tbody > tr.danger > td,
.table > tbody > tr.danger > th,
.table > tfoot > tr > td.danger,
.table > tfoot > tr > th.danger,
.table > tfoot > tr.danger > td,
.table > tfoot > tr.danger > th {
  background-color: #f2a9a9; }

.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: #ef9392; }

.table-responsive {
  overflow-x: auto;
  min-height: 0.01%; }
  @media screen and (max-width: 767px) {
    .table-responsive {
      width: 100%;
      margin-bottom: 15px;
      overflow-y: hidden;
      -ms-overflow-style: -ms-autohiding-scrollbar;
      border: 1px solid #ddd; }
      .table-responsive > .table {
        margin-bottom: 0; }
        .table-responsive > .table > thead > tr > th,
        .table-responsive > .table > thead > tr > td,
        .table-responsive > .table > tbody > tr > th,
        .table-responsive > .table > tbody > tr > td,
        .table-responsive > .table > tfoot > tr > th,
        .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 > thead > tr > td:first-child,
        .table-responsive > .table-bordered > tbody > tr > th:first-child,
        .table-responsive > .table-bordered > tbody > tr > td:first-child,
        .table-responsive > .table-bordered > tfoot > tr > th: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 > thead > tr > td:last-child,
        .table-responsive > .table-bordered > tbody > tr > th:last-child,
        .table-responsive > .table-bordered > tbody > tr > td:last-child,
        .table-responsive > .table-bordered > tfoot > tr > th: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 > tbody > tr:last-child > td,
        .table-responsive > .table-bordered > tfoot > tr:last-child > th,
        .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: 20px;
  font-size: 21px;
  line-height: inherit;
  color: #3d3d3d;
  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: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

output {
  display: block;
  padding-top: 7px;
  font-size: 14px;
  line-height: 1.42857;
  color: #5f5f5f; }

.form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857;
  color: #5f5f5f;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  -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);
  -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; }
  .form-control:focus {
    border-color: #818181;
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(129, 129, 129, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(129, 129, 129, 0.6); }
  .form-control::-moz-placeholder {
    color: #999;
    opacity: 1; }
  .form-control:-ms-input-placeholder {
    color: #999; }
  .form-control::-webkit-input-placeholder {
    color: #999; }
  .form-control::-ms-expand {
    border: 0;
    background-color: transparent; }
  .form-control[disabled], .form-control[readonly],
  fieldset[disabled] .form-control {
    background-color: #b1b1b1;
    opacity: 1; }
  .form-control[disabled],
  fieldset[disabled] .form-control {
    cursor: not-allowed; }

textarea.form-control {
  height: auto; }

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

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 34px; }
  input[type="date"].input-sm,
  .input-group-sm input[type="date"],
  input[type="time"].input-sm,
  .input-group-sm
  input[type="time"],
  input[type="datetime-local"].input-sm,
  .input-group-sm
  input[type="datetime-local"],
  input[type="month"].input-sm,
  .input-group-sm
  input[type="month"] {
    line-height: 30px; }
  input[type="date"].input-lg,
  .input-group-lg input[type="date"],
  input[type="time"].input-lg,
  .input-group-lg
  input[type="time"],
  input[type="datetime-local"].input-lg,
  .input-group-lg
  input[type="datetime-local"],
  input[type="month"].input-lg,
  .input-group-lg
  input[type="month"] {
    line-height: 46px; } }

.form-group {
  margin-bottom: 15px; }

.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px; }
  .radio label,
  .checkbox label {
    min-height: 20px;
    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 {
  position: relative;
  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="radio"].disabled,
fieldset[disabled] input[type="radio"],
input[type="checkbox"][disabled],
input[type="checkbox"].disabled,
fieldset[disabled]
input[type="checkbox"] {
  cursor: not-allowed; }

.radio-inline.disabled,
fieldset[disabled] .radio-inline,
.checkbox-inline.disabled,
fieldset[disabled]
.checkbox-inline {
  cursor: not-allowed; }

.radio.disabled label,
fieldset[disabled] .radio label,
.checkbox.disabled label,
fieldset[disabled]
.checkbox label {
  cursor: not-allowed; }

.form-control-static {
  padding-top: 7px;
  padding-bottom: 7px;
  margin-bottom: 0;
  min-height: 34px; }
  .form-control-static.input-lg, .form-control-static.input-sm {
    padding-left: 0;
    padding-right: 0; }

.input-sm {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 0; }

select.input-sm {
  height: 30px;
  line-height: 30px; }

textarea.input-sm,
select[multiple].input-sm {
  height: auto; }

.form-group-sm .form-control {
  height: 30px;
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 0; }

.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px; }

.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto; }

.form-group-sm .form-control-static {
  height: 30px;
  min-height: 32px;
  padding: 6px 10px;
  font-size: 12px;
  line-height: 1.5; }

.input-lg {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.33333;
  border-radius: 0; }

select.input-lg {
  height: 46px;
  line-height: 46px; }

textarea.input-lg,
select[multiple].input-lg {
  height: auto; }

.form-group-lg .form-control {
  height: 46px;
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.33333;
  border-radius: 0; }

.form-group-lg select.form-control {
  height: 46px;
  line-height: 46px; }

.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto; }

.form-group-lg .form-control-static {
  height: 46px;
  min-height: 38px;
  padding: 11px 16px;
  font-size: 18px;
  line-height: 1.33333; }

.has-feedback {
  position: relative; }
  .has-feedback .form-control {
    padding-right: 42.5px; }

.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 34px;
  height: 34px;
  line-height: 34px;
  text-align: center;
  pointer-events: none; }

.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 46px;
  height: 46px;
  line-height: 46px; }

.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px; }

.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: #3c763d; }

.has-success .form-control {
  border-color: #3c763d;
  -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: #2b542c;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; }

.has-success .input-group-addon {
  color: #3c763d;
  border-color: #3c763d;
  background-color: #dff0d8; }

.has-success .form-control-feedback {
  color: #3c763d; }

.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: #8a6d3b; }

.has-warning .form-control {
  border-color: #8a6d3b;
  -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: #66512c;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; }

.has-warning .input-group-addon {
  color: #8a6d3b;
  border-color: #8a6d3b;
  background-color: #fcf8e3; }

.has-warning .form-control-feedback {
  color: #8a6d3b; }

.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: #b51c1a; }

.has-error .form-control {
  border-color: #b51c1a;
  -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: #881514;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #e55150;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #e55150; }

.has-error .input-group-addon {
  color: #b51c1a;
  border-color: #b51c1a;
  background-color: #f2a9a9; }

.has-error .form-control-feedback {
  color: #b51c1a; }

.has-feedback label ~ .form-control-feedback {
  top: 25px; }

.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0; }

.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #6c6c6c; }

@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: 27px; }

.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; }

@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: 11px;
    font-size: 18px; } }

@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px; } }

.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: 14px;
  line-height: 1.42857;
  border-radius: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus {
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn:hover, .btn:focus, .btn.focus {
    color: #333;
    text-decoration: none; }
  .btn:active, .btn.active {
    outline: 0;
    background-image: none;
    -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;
    opacity: 0.65;
    filter: alpha(opacity=65);
    -webkit-box-shadow: none;
    box-shadow: none; }

a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none; }

.btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc; }
  .btn-default:focus, .btn-default.focus {
    color: #333;
    background-color: #e6e6e6;
    border-color: #8c8c8c; }
  .btn-default:hover {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad; }
  .btn-default:active, .btn-default.active,
  .open > .btn-default.dropdown-toggle {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad; }
    .btn-default:active:hover, .btn-default:active:focus, .btn-default:active.focus, .btn-default.active:hover, .btn-default.active:focus, .btn-default.active.focus,
    .open > .btn-default.dropdown-toggle:hover,
    .open > .btn-default.dropdown-toggle:focus,
    .open > .btn-default.dropdown-toggle.focus {
      color: #333;
      background-color: #d4d4d4;
      border-color: #8c8c8c; }
  .btn-default:active, .btn-default.active,
  .open > .btn-default.dropdown-toggle {
    background-image: none; }
  .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled.focus, .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled].focus,
  fieldset[disabled] .btn-default:hover,
  fieldset[disabled] .btn-default:focus,
  fieldset[disabled] .btn-default.focus {
    background-color: #fff;
    border-color: #ccc; }
  .btn-default .badge {
    color: #fff;
    background-color: #333; }

.btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4; }
  .btn-primary:focus, .btn-primary.focus {
    color: #fff;
    background-color: #286090;
    border-color: #122b40; }
  .btn-primary:hover {
    color: #fff;
    background-color: #286090;
    border-color: #204d74; }
  .btn-primary:active, .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #286090;
    border-color: #204d74; }
    .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus,
    .open > .btn-primary.dropdown-toggle:hover,
    .open > .btn-primary.dropdown-toggle:focus,
    .open > .btn-primary.dropdown-toggle.focus {
      color: #fff;
      background-color: #204d74;
      border-color: #122b40; }
  .btn-primary:active, .btn-primary.active,
  .open > .btn-primary.dropdown-toggle {
    background-image: none; }
  .btn-primary.disabled:hover, .btn-primary.disabled:focus, .btn-primary.disabled.focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus, .btn-primary[disabled].focus,
  fieldset[disabled] .btn-primary:hover,
  fieldset[disabled] .btn-primary:focus,
  fieldset[disabled] .btn-primary.focus {
    background-color: #337ab7;
    border-color: #2e6da4; }
  .btn-primary .badge {
    color: #337ab7;
    background-color: #fff; }

.btn-success {
  color: #fff;
  background-color: #5cb85c;
  border-color: #4cae4c; }
  .btn-success:focus, .btn-success.focus {
    color: #fff;
    background-color: #449d44;
    border-color: #255625; }
  .btn-success:hover {
    color: #fff;
    background-color: #449d44;
    border-color: #398439; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #449d44;
    border-color: #398439; }
    .btn-success:active:hover, .btn-success:active:focus, .btn-success:active.focus, .btn-success.active:hover, .btn-success.active:focus, .btn-success.active.focus,
    .open > .btn-success.dropdown-toggle:hover,
    .open > .btn-success.dropdown-toggle:focus,
    .open > .btn-success.dropdown-toggle.focus {
      color: #fff;
      background-color: #398439;
      border-color: #255625; }
  .btn-success:active, .btn-success.active,
  .open > .btn-success.dropdown-toggle {
    background-image: none; }
  .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled.focus, .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled].focus,
  fieldset[disabled] .btn-success:hover,
  fieldset[disabled] .btn-success:focus,
  fieldset[disabled] .btn-success.focus {
    background-color: #5cb85c;
    border-color: #4cae4c; }
  .btn-success .badge {
    color: #5cb85c;
    background-color: #fff; }

.btn-info {
  color: #fff;
  background-color: #5bc0de;
  border-color: #46b8da; }
  .btn-info:focus, .btn-info.focus {
    color: #fff;
    background-color: #31b0d5;
    border-color: #1b6d85; }
  .btn-info:hover {
    color: #fff;
    background-color: #31b0d5;
    border-color: #269abc; }
  .btn-info:active, .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    color: #fff;
    background-color: #31b0d5;
    border-color: #269abc; }
    .btn-info:active:hover, .btn-info:active:focus, .btn-info:active.focus, .btn-info.active:hover, .btn-info.active:focus, .btn-info.active.focus,
    .open > .btn-info.dropdown-toggle:hover,
    .open > .btn-info.dropdown-toggle:focus,
    .open > .btn-info.dropdown-toggle.focus {
      color: #fff;
      background-color: #269abc;
      border-color: #1b6d85; }
  .btn-info:active, .btn-info.active,
  .open > .btn-info.dropdown-toggle {
    background-image: none; }
  .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled.focus, .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled].focus,
  fieldset[disabled] .btn-info:hover,
  fieldset[disabled] .btn-info:focus,
  fieldset[disabled] .btn-info.focus {
    background-color: #5bc0de;
    border-color: #46b8da; }
  .btn-info .badge {
    color: #5bc0de;
    background-color: #fff; }

.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236; }
  .btn-warning:focus, .btn-warning.focus {
    color: #fff;
    background-color: #ec971f;
    border-color: #985f0d; }
  .btn-warning:hover {
    color: #fff;
    background-color: #ec971f;
    border-color: #d58512; }
  .btn-warning:active, .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #ec971f;
    border-color: #d58512; }
    .btn-warning:active:hover, .btn-warning:active:focus, .btn-warning:active.focus, .btn-warning.active:hover, .btn-warning.active:focus, .btn-warning.active.focus,
    .open > .btn-warning.dropdown-toggle:hover,
    .open > .btn-warning.dropdown-toggle:focus,
    .open > .btn-warning.dropdown-toggle.focus {
      color: #fff;
      background-color: #d58512;
      border-color: #985f0d; }
  .btn-warning:active, .btn-warning.active,
  .open > .btn-warning.dropdown-toggle {
    background-image: none; }
  .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled.focus, .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled].focus,
  fieldset[disabled] .btn-warning:hover,
  fieldset[disabled] .btn-warning:focus,
  fieldset[disabled] .btn-warning.focus {
    background-color: #f0ad4e;
    border-color: #eea236; }
  .btn-warning .badge {
    color: #f0ad4e;
    background-color: #fff; }

.btn-danger {
  color: #fff;
  background-color: #d9534f;
  border-color: #d43f3a; }
  .btn-danger:focus, .btn-danger.focus {
    color: #fff;
    background-color: #c9302c;
    border-color: #761c19; }
  .btn-danger:hover {
    color: #fff;
    background-color: #c9302c;
    border-color: #ac2925; }
  .btn-danger:active, .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #c9302c;
    border-color: #ac2925; }
    .btn-danger:active:hover, .btn-danger:active:focus, .btn-danger:active.focus, .btn-danger.active:hover, .btn-danger.active:focus, .btn-danger.active.focus,
    .open > .btn-danger.dropdown-toggle:hover,
    .open > .btn-danger.dropdown-toggle:focus,
    .open > .btn-danger.dropdown-toggle.focus {
      color: #fff;
      background-color: #ac2925;
      border-color: #761c19; }
  .btn-danger:active, .btn-danger.active,
  .open > .btn-danger.dropdown-toggle {
    background-image: none; }
  .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled.focus, .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled].focus,
  fieldset[disabled] .btn-danger:hover,
  fieldset[disabled] .btn-danger:focus,
  fieldset[disabled] .btn-danger.focus {
    background-color: #d9534f;
    border-color: #d43f3a; }
  .btn-danger .badge {
    color: #d9534f;
    background-color: #fff; }

.btn-link {
  color: #2c2c2c;
  font-weight: normal;
  border-radius: 0; }
  .btn-link, .btn-link:active, .btn-link.active, .btn-link[disabled],
  fieldset[disabled] .btn-link {
    background-color: transparent;
    -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: #df2523;
    text-decoration: none;
    background-color: transparent; }
  .btn-link[disabled]:hover, .btn-link[disabled]:focus,
  fieldset[disabled] .btn-link:hover,
  fieldset[disabled] .btn-link:focus {
    color: #818181;
    text-decoration: none; }

.btn-lg {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.33333;
  border-radius: 0; }

.btn-sm {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 0; }

.btn-xs {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 0; }

.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;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
  .fade.in {
    opacity: 1; }

.collapse {
  display: none; }
  .collapse.in {
    display: block; }

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; }

.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none; }
  .nav:before, .nav:after {
    content: " ";
    display: table; }
  .nav:after {
    clear: both; }
  .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: #b1b1b1; }
    .nav > li.disabled > a {
      color: #818181; }
      .nav > li.disabled > a:hover, .nav > li.disabled > a:focus {
        color: #818181;
        text-decoration: none;
        background-color: transparent;
        cursor: not-allowed; }
  .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
    background-color: #b1b1b1;
    border-color: #2c2c2c; }
  .nav .nav-divider {
    height: 1px;
    margin: 9px 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.42857;
      border: 1px solid transparent;
      border-radius: 4px 4px 0 0; }
      .nav-tabs > li > a:hover {
        border-color: #b1b1b1 #b1b1b1 #ddd; }
    .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
      color: #5f5f5f;
      background-color: #fff;
      border: 1px solid #ddd;
      border-bottom-color: transparent;
      cursor: default; }

.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: #337ab7; }

.nav-stacked > li {
  float: none; }
  .nav-stacked > li + li {
    margin-top: 2px;
    margin-left: 0; }

.nav-justified, .nav-tabs.nav-justified {
  width: 100%; }
  .nav-justified > li, .nav-tabs.nav-justified > li {
    float: none; }
    .nav-justified > li > a, .nav-tabs.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, .nav-tabs.nav-justified > li {
      display: table-cell;
      width: 1%; }
      .nav-justified > li > a, .nav-tabs.nav-justified > li > a {
        margin-bottom: 0; } }

.nav-tabs-justified, .nav-tabs.nav-justified {
  border-bottom: 0; }
  .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
    margin-right: 0;
    border-radius: 4px; }
  .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus,
  .nav-tabs.nav-justified > .active > a:focus {
    border: 1px solid #ddd; }
  @media (min-width: 768px) {
    .nav-tabs-justified > li > a, .nav-tabs.nav-justified > li > a {
      border-bottom: 1px solid #ddd;
      border-radius: 4px 4px 0 0; }
    .nav-tabs-justified > .active > a, .nav-tabs.nav-justified > .active > a,
    .nav-tabs-justified > .active > a:hover,
    .nav-tabs.nav-justified > .active > a:hover,
    .nav-tabs-justified > .active > a:focus,
    .nav-tabs.nav-justified > .active > a:focus {
      border-bottom-color: #fff; } }

.tab-content > .tab-pane {
  display: none; }

.tab-content > .active {
  display: block; }

.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: 20px;
  border: 1px solid transparent; }
  .navbar:before, .navbar:after {
    content: " ";
    display: table; }
  .navbar:after {
    clear: both; }
  @media (min-width: 768px) {
    .navbar {
      border-radius: 4px; } }

.navbar-header:before, .navbar-header:after {
  content: " ";
  display: table; }

.navbar-header:after {
  clear: both; }

@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:before, .navbar-collapse:after {
    content: " ";
    display: table; }
  .navbar-collapse:after {
    clear: both; }
  .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;
        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, .cms > .navbar-header,
.container > .navbar-collapse,
.cms > .navbar-collapse,
.container-fluid > .navbar-header,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px; }
  @media (min-width: 768px) {
    .container > .navbar-header, .cms > .navbar-header,
    .container > .navbar-collapse,
    .cms > .navbar-collapse,
    .container-fluid > .navbar-header,
    .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: 15px 15px;
  font-size: 18px;
  line-height: 20px;
  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 > .cms .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;
  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: 7.5px -15px; }
  .navbar-nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 20px; }
  @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: 20px; }
        .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: 15px;
          padding-bottom: 15px; } }

.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -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: 8px;
  margin-bottom: 8px; }
  @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;
      -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 {
  margin-bottom: 0;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0; }

.navbar-btn {
  margin-top: 8px;
  margin-bottom: 8px; }
  .navbar-btn.btn-sm {
    margin-top: 10px;
    margin-bottom: 10px; }
  .navbar-btn.btn-xs {
    margin-top: 14px;
    margin-bottom: 14px; }

.navbar-text {
  margin-top: 15px;
  margin-bottom: 15px; }
  @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: #f8f8f8;
  border-color: #e7e7e7; }
  .navbar-default .navbar-brand {
    color: #777; }
    .navbar-default .navbar-brand:hover, .navbar-default .navbar-brand:focus {
      color: #5e5e5e;
      background-color: transparent; }
  .navbar-default .navbar-text {
    color: #777; }
  .navbar-default .navbar-nav > li > a {
    color: #777; }
    .navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > li > a:focus {
      color: #333;
      background-color: transparent; }
  .navbar-default .navbar-nav > .active > a, .navbar-default .navbar-nav > .active > a:hover, .navbar-default .navbar-nav > .active > a:focus {
    color: #555;
    background-color: #e7e7e7; }
  .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: #e7e7e7; }
  .navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
    background-color: #e7e7e7;
    color: #555; }
  @media (max-width: 767px) {
    .navbar-default .navbar-nav .open .dropdown-menu > li > a {
      color: #777; }
      .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #333;
        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: #555;
      background-color: #e7e7e7; }
    .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: #777; }
    .navbar-default .navbar-link:hover {
      color: #333; }
  .navbar-default .btn-link {
    color: #777; }
    .navbar-default .btn-link:hover, .navbar-default .btn-link:focus {
      color: #333; }
    .navbar-default .btn-link[disabled]:hover, .navbar-default .btn-link[disabled]:focus,
    fieldset[disabled] .navbar-default .btn-link:hover,
    fieldset[disabled] .navbar-default .btn-link:focus {
      color: #ccc; }

.navbar-inverse {
  background-color: #222;
  border-color: #090909; }
  .navbar-inverse .navbar-brand {
    color: #a7a7a7; }
    .navbar-inverse .navbar-brand:hover, .navbar-inverse .navbar-brand:focus {
      color: #fff;
      background-color: transparent; }
  .navbar-inverse .navbar-text {
    color: #a7a7a7; }
  .navbar-inverse .navbar-nav > li > a {
    color: #a7a7a7; }
    .navbar-inverse .navbar-nav > li > a:hover, .navbar-inverse .navbar-nav > li > a:focus {
      color: #fff;
      background-color: transparent; }
  .navbar-inverse .navbar-nav > .active > a, .navbar-inverse .navbar-nav > .active > a:hover, .navbar-inverse .navbar-nav > .active > a:focus {
    color: #fff;
    background-color: #090909; }
  .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: #101010; }
  .navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover, .navbar-inverse .navbar-nav > .open > a:focus {
    background-color: #090909;
    color: #fff; }
  @media (max-width: 767px) {
    .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
      border-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
      background-color: #090909; }
    .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
      color: #a7a7a7; }
      .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
        color: #fff;
        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: #fff;
      background-color: #090909; }
    .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: #a7a7a7; }
    .navbar-inverse .navbar-link:hover {
      color: #fff; }
  .navbar-inverse .btn-link {
    color: #a7a7a7; }
    .navbar-inverse .btn-link:hover, .navbar-inverse .btn-link:focus {
      color: #fff; }
    .navbar-inverse .btn-link[disabled]:hover, .navbar-inverse .btn-link[disabled]:focus,
    fieldset[disabled] .navbar-inverse .btn-link:hover,
    fieldset[disabled] .navbar-inverse .btn-link:focus {
      color: #444; }

.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; }
  .label:empty {
    display: none; }
  .btn .label {
    position: relative;
    top: -1px; }

a.label:hover, a.label:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer; }

.label-default {
  background-color: #818181; }
  .label-default[href]:hover, .label-default[href]:focus {
    background-color: #686868; }

.label-primary {
  background-color: #337ab7; }
  .label-primary[href]:hover, .label-primary[href]:focus {
    background-color: #286090; }

.label-success {
  background-color: #5cb85c; }
  .label-success[href]:hover, .label-success[href]:focus {
    background-color: #449d44; }

.label-info {
  background-color: #5bc0de; }
  .label-info[href]:hover, .label-info[href]:focus {
    background-color: #31b0d5; }

.label-warning {
  background-color: #f0ad4e; }
  .label-warning[href]:hover, .label-warning[href]:focus {
    background-color: #ec971f; }

.label-danger {
  background-color: #d9534f; }
  .label-danger[href]:hover, .label-danger[href]:focus {
    background-color: #c9302c; }

.thumbnail {
  display: block;
  padding: 4px;
  margin-bottom: 20px;
  line-height: 1.42857;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out; }
  .thumbnail > img,
  .thumbnail a > img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto; }
  .thumbnail .caption {
    padding: 9px;
    color: #2c2c2c; }

a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #2c2c2c; }

.alert {
  padding: 15px;
  margin-bottom: 20px;
  border: 1px solid transparent;
  border-radius: 0; }
  .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: #3c763d; }
  .alert-success hr {
    border-top-color: #c9e2b3; }
  .alert-success .alert-link {
    color: #2b542c; }

.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #31708f; }
  .alert-info hr {
    border-top-color: #a6e1ec; }
  .alert-info .alert-link {
    color: #245269; }

.alert-warning {
  background-color: #fcf8e3;
  border-color: #faebcc;
  color: #8a6d3b; }
  .alert-warning hr {
    border-top-color: #f7e1b5; }
  .alert-warning .alert-link {
    color: #66512c; }

.alert-danger {
  background-color: #f2a9a9;
  border-color: #ef92a1;
  color: #b51c1a; }
  .alert-danger hr {
    border-top-color: #ec7c8e; }
  .alert-danger .alert-link {
    color: #881514; }

.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,
button.list-group-item {
  color: #fff; }
  a.list-group-item .list-group-item-heading,
  button.list-group-item .list-group-item-heading {
    color: #fff; }
  a.list-group-item:hover, a.list-group-item:focus,
  button.list-group-item:hover,
  button.list-group-item:focus {
    text-decoration: none;
    color: #fff;
    background-color: #f5f5f5; }

button.list-group-item {
  width: 100%;
  text-align: left; }

.list-group-item.disabled, .list-group-item.disabled:hover, .list-group-item.disabled:focus {
  background-color: #b1b1b1;
  color: #818181;
  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: #818181; }

.list-group-item.active, .list-group-item.active:hover, .list-group-item.active:focus {
  z-index: 2;
  color: #fff;
  background-color: #df2523;
  border-color: #b51c1a; }
  .list-group-item.active .list-group-item-heading,
  .list-group-item.active .list-group-item-heading > small,
  .list-group-item.active .list-group-item-heading > .small, .list-group-item.active:hover .list-group-item-heading,
  .list-group-item.active:hover .list-group-item-heading > small,
  .list-group-item.active:hover .list-group-item-heading > .small, .list-group-item.active:focus .list-group-item-heading,
  .list-group-item.active:focus .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: #fff; }

.list-group-item-success {
  color: #3c763d;
  background-color: #dff0d8; }

a.list-group-item-success,
button.list-group-item-success {
  color: #3c763d; }
  a.list-group-item-success .list-group-item-heading,
  button.list-group-item-success .list-group-item-heading {
    color: inherit; }
  a.list-group-item-success:hover, a.list-group-item-success:focus,
  button.list-group-item-success:hover,
  button.list-group-item-success:focus {
    color: #3c763d;
    background-color: #d0e9c6; }
  a.list-group-item-success.active, a.list-group-item-success.active:hover, a.list-group-item-success.active:focus,
  button.list-group-item-success.active,
  button.list-group-item-success.active:hover,
  button.list-group-item-success.active:focus {
    color: #fff;
    background-color: #3c763d;
    border-color: #3c763d; }

.list-group-item-info {
  color: #31708f;
  background-color: #d9edf7; }

a.list-group-item-info,
button.list-group-item-info {
  color: #31708f; }
  a.list-group-item-info .list-group-item-heading,
  button.list-group-item-info .list-group-item-heading {
    color: inherit; }
  a.list-group-item-info:hover, a.list-group-item-info:focus,
  button.list-group-item-info:hover,
  button.list-group-item-info:focus {
    color: #31708f;
    background-color: #c4e3f3; }
  a.list-group-item-info.active, a.list-group-item-info.active:hover, a.list-group-item-info.active:focus,
  button.list-group-item-info.active,
  button.list-group-item-info.active:hover,
  button.list-group-item-info.active:focus {
    color: #fff;
    background-color: #31708f;
    border-color: #31708f; }

.list-group-item-warning {
  color: #8a6d3b;
  background-color: #fcf8e3; }

a.list-group-item-warning,
button.list-group-item-warning {
  color: #8a6d3b; }
  a.list-group-item-warning .list-group-item-heading,
  button.list-group-item-warning .list-group-item-heading {
    color: inherit; }
  a.list-group-item-warning:hover, a.list-group-item-warning:focus,
  button.list-group-item-warning:hover,
  button.list-group-item-warning:focus {
    color: #8a6d3b;
    background-color: #faf2cc; }
  a.list-group-item-warning.active, a.list-group-item-warning.active:hover, a.list-group-item-warning.active:focus,
  button.list-group-item-warning.active,
  button.list-group-item-warning.active:hover,
  button.list-group-item-warning.active:focus {
    color: #fff;
    background-color: #8a6d3b;
    border-color: #8a6d3b; }

.list-group-item-danger {
  color: #b51c1a;
  background-color: #f2a9a9; }

a.list-group-item-danger,
button.list-group-item-danger {
  color: #b51c1a; }
  a.list-group-item-danger .list-group-item-heading,
  button.list-group-item-danger .list-group-item-heading {
    color: inherit; }
  a.list-group-item-danger:hover, a.list-group-item-danger:focus,
  button.list-group-item-danger:hover,
  button.list-group-item-danger:focus {
    color: #b51c1a;
    background-color: #ef9392; }
  a.list-group-item-danger.active, a.list-group-item-danger.active:hover, a.list-group-item-danger.active:focus,
  button.list-group-item-danger.active,
  button.list-group-item-danger.active:hover,
  button.list-group-item-danger.active:focus {
    color: #fff;
    background-color: #b51c1a;
    border-color: #b51c1a; }

.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px; }

.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3; }

.close {
  float: right;
  font-size: 21px;
  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; }

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: Quicksand, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  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;
  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: Quicksand, "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.42857;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 14px;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); }
  .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: 14px;
  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; }

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

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: 0; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

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

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.slick-track:after, .slick-track:before {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir=rtl] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

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

/* Copyright 2014 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
.textLayer {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  opacity: 0.2;
  line-height: 1.0; }

.textLayer > div {
  color: transparent;
  position: absolute;
  white-space: pre;
  cursor: text;
  -webkit-transform-origin: 0% 0%;
  -moz-transform-origin: 0% 0%;
  -o-transform-origin: 0% 0%;
  -ms-transform-origin: 0% 0%;
  transform-origin: 0% 0%; }

.textLayer .highlight {
  margin: -1px;
  padding: 1px;
  background-color: #b400aa;
  border-radius: 4px; }

.textLayer .highlight.begin {
  border-radius: 4px 0px 0px 4px; }

.textLayer .highlight.end {
  border-radius: 0px 4px 4px 0px; }

.textLayer .highlight.middle {
  border-radius: 0px; }

.textLayer .highlight.selected {
  background-color: darkgreen; }

.textLayer ::selection {
  background: blue; }

.textLayer ::-moz-selection {
  background: blue; }

.textLayer .endOfContent {
  display: block;
  position: absolute;
  left: 0px;
  top: 100%;
  right: 0px;
  bottom: 0px;
  z-index: -1;
  cursor: default;
  -webkit-user-select: none;
  -ms-user-select: none;
  -moz-user-select: none; }

.textLayer .endOfContent.active {
  top: 0px; }

.annotationLayer section {
  position: absolute; }

.annotationLayer .linkAnnotation > a,
.annotationLayer .buttonWidgetAnnotation.pushButton > a {
  position: absolute;
  font-size: 1em;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.annotationLayer .linkAnnotation > a {
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat; }

.annotationLayer .buttonWidgetAnnotation.pushButton > a {
  background: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0 repeat; }

.annotationLayer .linkAnnotation > a:hover,
.annotationLayer .buttonWidgetAnnotation.pushButton > a:hover {
  opacity: 0.2;
  background: #ff0;
  box-shadow: 0px 2px 10px #ff0; }

.annotationLayer .textAnnotation img {
  position: absolute;
  cursor: pointer; }

.annotationLayer .textWidgetAnnotation input,
.annotationLayer .textWidgetAnnotation textarea,
.annotationLayer .choiceWidgetAnnotation select,
.annotationLayer .buttonWidgetAnnotation.checkBox input,
.annotationLayer .buttonWidgetAnnotation.radioButton input {
  background-color: rgba(0, 54, 255, 0.13);
  border: 1px solid transparent;
  box-sizing: border-box;
  font-size: 9px;
  height: 100%;
  margin: 0;
  padding: 0 3px;
  vertical-align: top;
  width: 100%; }

.annotationLayer .choiceWidgetAnnotation select option {
  padding: 0; }

.annotationLayer .buttonWidgetAnnotation.radioButton input {
  border-radius: 50%; }

.annotationLayer .textWidgetAnnotation textarea {
  font: message-box;
  font-size: 9px;
  resize: none; }

.annotationLayer .textWidgetAnnotation input[disabled],
.annotationLayer .textWidgetAnnotation textarea[disabled],
.annotationLayer .choiceWidgetAnnotation select[disabled],
.annotationLayer .buttonWidgetAnnotation.checkBox input[disabled],
.annotationLayer .buttonWidgetAnnotation.radioButton input[disabled] {
  background: none;
  border: 1px solid transparent;
  cursor: not-allowed; }

.annotationLayer .textWidgetAnnotation input:hover,
.annotationLayer .textWidgetAnnotation textarea:hover,
.annotationLayer .choiceWidgetAnnotation select:hover,
.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,
.annotationLayer .buttonWidgetAnnotation.radioButton input:hover {
  border: 1px solid #000; }

.annotationLayer .textWidgetAnnotation input:focus,
.annotationLayer .textWidgetAnnotation textarea:focus,
.annotationLayer .choiceWidgetAnnotation select:focus {
  background: none;
  border: 1px solid transparent; }

.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,
.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
  background-color: #000;
  content: '';
  display: block;
  position: absolute; }

.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,
.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
  height: 80%;
  left: 45%;
  width: 1px; }

.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before {
  transform: rotate(45deg); }

.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after {
  transform: rotate(-45deg); }

.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before {
  border-radius: 50%;
  height: 50%;
  left: 30%;
  top: 20%;
  width: 50%; }

.annotationLayer .textWidgetAnnotation input.comb {
  font-family: monospace;
  padding-left: 2px;
  padding-right: 0; }

.annotationLayer .textWidgetAnnotation input.comb:focus {
  /*
   * Letter spacing is placed on the right side of each character. Hence, the
   * letter spacing of the last character may be placed outside the visible
   * area, causing horizontal scrolling. We avoid this by extending the width
   * when the element has focus and revert this when it loses focus.
   */
  width: 115%; }

.annotationLayer .buttonWidgetAnnotation.checkBox input,
.annotationLayer .buttonWidgetAnnotation.radioButton input {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  padding: 0; }

.annotationLayer .popupWrapper {
  position: absolute;
  width: 20em; }

.annotationLayer .popup {
  position: absolute;
  z-index: 200;
  max-width: 20em;
  background-color: #FFFF99;
  box-shadow: 0px 2px 5px #333;
  border-radius: 2px;
  padding: 0.6em;
  margin-left: 5px;
  cursor: pointer;
  font: message-box;
  word-wrap: break-word; }

.annotationLayer .popup h1 {
  font-size: 1em;
  border-bottom: 1px solid #000000;
  margin: 0;
  padding-bottom: 0.2em; }

.annotationLayer .popup p {
  margin: 0;
  padding-top: 0.2em; }

.annotationLayer .highlightAnnotation,
.annotationLayer .underlineAnnotation,
.annotationLayer .squigglyAnnotation,
.annotationLayer .strikeoutAnnotation,
.annotationLayer .lineAnnotation svg line,
.annotationLayer .squareAnnotation svg rect,
.annotationLayer .circleAnnotation svg ellipse,
.annotationLayer .polylineAnnotation svg polyline,
.annotationLayer .polygonAnnotation svg polygon,
.annotationLayer .stampAnnotation,
.annotationLayer .fileAttachmentAnnotation {
  cursor: pointer; }

.pdfViewer .canvasWrapper {
  overflow: hidden; }

.pdfViewer .page {
  direction: ltr;
  width: 816px;
  height: 1056px;
  margin: 1px auto -8px auto;
  position: relative;
  overflow: visible;
  border: 9px solid transparent;
  background-clip: content-box;
  border-image: url(images/shadow.png) 9 9 repeat;
  background-color: white; }

.pdfViewer.removePageBorders .page {
  margin: 0px auto 10px auto;
  border: none; }

.pdfViewer.singlePageView {
  display: inline-block; }

.pdfViewer.singlePageView .page {
  margin: 0;
  border: none; }

.pdfViewer .page canvas {
  margin: 0;
  display: block; }

.pdfViewer .page canvas[hidden] {
  display: none; }

.pdfViewer .page .loadingIcon {
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: url("images/loading-icon.gif") center no-repeat; }

.pdfPresentationMode:-webkit-full-screen .pdfViewer .page {
  margin-bottom: 100%;
  border: 0; }

.pdfPresentationMode:-moz-full-screen .pdfViewer .page {
  margin-bottom: 100%;
  border: 0; }

.pdfPresentationMode:-ms-fullscreen .pdfViewer .page {
  margin-bottom: 100% !important;
  border: 0; }

.pdfPresentationMode:fullscreen .pdfViewer .page {
  margin-bottom: 100%;
  border: 0; }

.column {
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  padding: 1.5rem; }
  .columns.is-mobile > .column.is-narrow {
    flex: none; }
  .columns.is-mobile > .column.is-full {
    flex: none;
    width: 100%; }
  .columns.is-mobile > .column.is-three-quarters {
    flex: none;
    width: 75%; }
  .columns.is-mobile > .column.is-two-thirds {
    flex: none;
    width: 66.6666%; }
  .columns.is-mobile > .column.is-half {
    flex: none;
    width: 50%; }
  .columns.is-mobile > .column.is-one-third {
    flex: none;
    width: 33.3333%; }
  .columns.is-mobile > .column.is-one-quarter {
    flex: none;
    width: 25%; }
  .columns.is-mobile > .column.is-one-fifth {
    flex: none;
    width: 20%; }
  .columns.is-mobile > .column.is-two-fifths {
    flex: none;
    width: 40%; }
  .columns.is-mobile > .column.is-three-fifths {
    flex: none;
    width: 60%; }
  .columns.is-mobile > .column.is-four-fifths {
    flex: none;
    width: 80%; }
  .columns.is-mobile > .column.is-offset-three-quarters {
    margin-left: 75%; }
  .columns.is-mobile > .column.is-offset-two-thirds {
    margin-left: 66.6666%; }
  .columns.is-mobile > .column.is-offset-half {
    margin-left: 50%; }
  .columns.is-mobile > .column.is-offset-one-third {
    margin-left: 33.3333%; }
  .columns.is-mobile > .column.is-offset-one-quarter {
    margin-left: 25%; }
  .columns.is-mobile > .column.is-offset-one-fifth {
    margin-left: 20%; }
  .columns.is-mobile > .column.is-offset-two-fifths {
    margin-left: 40%; }
  .columns.is-mobile > .column.is-offset-three-fifths {
    margin-left: 60%; }
  .columns.is-mobile > .column.is-offset-four-fifths {
    margin-left: 80%; }
  .columns.is-mobile > .column.is-1 {
    flex: none;
    width: 8.33333%; }
  .columns.is-mobile > .column.is-offset-1 {
    margin-left: 8.33333%; }
  .columns.is-mobile > .column.is-2 {
    flex: none;
    width: 16.66667%; }
  .columns.is-mobile > .column.is-offset-2 {
    margin-left: 16.66667%; }
  .columns.is-mobile > .column.is-3 {
    flex: none;
    width: 25%; }
  .columns.is-mobile > .column.is-offset-3 {
    margin-left: 25%; }
  .columns.is-mobile > .column.is-4 {
    flex: none;
    width: 33.33333%; }
  .columns.is-mobile > .column.is-offset-4 {
    margin-left: 33.33333%; }
  .columns.is-mobile > .column.is-5 {
    flex: none;
    width: 41.66667%; }
  .columns.is-mobile > .column.is-offset-5 {
    margin-left: 41.66667%; }
  .columns.is-mobile > .column.is-6 {
    flex: none;
    width: 50%; }
  .columns.is-mobile > .column.is-offset-6 {
    margin-left: 50%; }
  .columns.is-mobile > .column.is-7 {
    flex: none;
    width: 58.33333%; }
  .columns.is-mobile > .column.is-offset-7 {
    margin-left: 58.33333%; }
  .columns.is-mobile > .column.is-8 {
    flex: none;
    width: 66.66667%; }
  .columns.is-mobile > .column.is-offset-8 {
    margin-left: 66.66667%; }
  .columns.is-mobile > .column.is-9 {
    flex: none;
    width: 75%; }
  .columns.is-mobile > .column.is-offset-9 {
    margin-left: 75%; }
  .columns.is-mobile > .column.is-10 {
    flex: none;
    width: 83.33333%; }
  .columns.is-mobile > .column.is-offset-10 {
    margin-left: 83.33333%; }
  .columns.is-mobile > .column.is-11 {
    flex: none;
    width: 91.66667%; }
  .columns.is-mobile > .column.is-offset-11 {
    margin-left: 91.66667%; }
  .columns.is-mobile > .column.is-12 {
    flex: none;
    width: 100%; }
  .columns.is-mobile > .column.is-offset-12 {
    margin-left: 100%; }
  @media screen and (max-width: 768px) {
    .column.is-narrow-mobile {
      flex: none; }
    .column.is-full-mobile {
      flex: none;
      width: 100%; }
    .column.is-three-quarters-mobile {
      flex: none;
      width: 75%; }
    .column.is-two-thirds-mobile {
      flex: none;
      width: 66.6666%; }
    .column.is-half-mobile {
      flex: none;
      width: 50%; }
    .column.is-one-third-mobile {
      flex: none;
      width: 33.3333%; }
    .column.is-one-quarter-mobile {
      flex: none;
      width: 25%; }
    .column.is-one-fifth-mobile {
      flex: none;
      width: 20%; }
    .column.is-two-fifths-mobile {
      flex: none;
      width: 40%; }
    .column.is-three-fifths-mobile {
      flex: none;
      width: 60%; }
    .column.is-four-fifths-mobile {
      flex: none;
      width: 80%; }
    .column.is-offset-three-quarters-mobile {
      margin-left: 75%; }
    .column.is-offset-two-thirds-mobile {
      margin-left: 66.6666%; }
    .column.is-offset-half-mobile {
      margin-left: 50%; }
    .column.is-offset-one-third-mobile {
      margin-left: 33.3333%; }
    .column.is-offset-one-quarter-mobile {
      margin-left: 25%; }
    .column.is-offset-one-fifth-mobile {
      margin-left: 20%; }
    .column.is-offset-two-fifths-mobile {
      margin-left: 40%; }
    .column.is-offset-three-fifths-mobile {
      margin-left: 60%; }
    .column.is-offset-four-fifths-mobile {
      margin-left: 80%; }
    .column.is-1-mobile {
      flex: none;
      width: 8.33333%; }
    .column.is-offset-1-mobile {
      margin-left: 8.33333%; }
    .column.is-2-mobile {
      flex: none;
      width: 16.66667%; }
    .column.is-offset-2-mobile {
      margin-left: 16.66667%; }
    .column.is-3-mobile {
      flex: none;
      width: 25%; }
    .column.is-offset-3-mobile {
      margin-left: 25%; }
    .column.is-4-mobile {
      flex: none;
      width: 33.33333%; }
    .column.is-offset-4-mobile {
      margin-left: 33.33333%; }
    .column.is-5-mobile {
      flex: none;
      width: 41.66667%; }
    .column.is-offset-5-mobile {
      margin-left: 41.66667%; }
    .column.is-6-mobile {
      flex: none;
      width: 50%; }
    .column.is-offset-6-mobile {
      margin-left: 50%; }
    .column.is-7-mobile {
      flex: none;
      width: 58.33333%; }
    .column.is-offset-7-mobile {
      margin-left: 58.33333%; }
    .column.is-8-mobile {
      flex: none;
      width: 66.66667%; }
    .column.is-offset-8-mobile {
      margin-left: 66.66667%; }
    .column.is-9-mobile {
      flex: none;
      width: 75%; }
    .column.is-offset-9-mobile {
      margin-left: 75%; }
    .column.is-10-mobile {
      flex: none;
      width: 83.33333%; }
    .column.is-offset-10-mobile {
      margin-left: 83.33333%; }
    .column.is-11-mobile {
      flex: none;
      width: 91.66667%; }
    .column.is-offset-11-mobile {
      margin-left: 91.66667%; }
    .column.is-12-mobile {
      flex: none;
      width: 100%; }
    .column.is-offset-12-mobile {
      margin-left: 100%; } }
  @media screen and (min-width: 769px), print {
    .column.is-narrow, .column.is-narrow-tablet {
      flex: none; }
    .column.is-full, .column.is-full-tablet {
      flex: none;
      width: 100%; }
    .column.is-three-quarters, .column.is-three-quarters-tablet {
      flex: none;
      width: 75%; }
    .column.is-two-thirds, .column.is-two-thirds-tablet {
      flex: none;
      width: 66.6666%; }
    .column.is-half, .column.is-half-tablet {
      flex: none;
      width: 50%; }
    .column.is-one-third, .column.is-one-third-tablet {
      flex: none;
      width: 33.3333%; }
    .column.is-one-quarter, .column.is-one-quarter-tablet {
      flex: none;
      width: 25%; }
    .column.is-one-fifth, .column.is-one-fifth-tablet {
      flex: none;
      width: 20%; }
    .column.is-two-fifths, .column.is-two-fifths-tablet {
      flex: none;
      width: 40%; }
    .column.is-three-fifths, .column.is-three-fifths-tablet {
      flex: none;
      width: 60%; }
    .column.is-four-fifths, .column.is-four-fifths-tablet {
      flex: none;
      width: 80%; }
    .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
      margin-left: 75%; }
    .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
      margin-left: 66.6666%; }
    .column.is-offset-half, .column.is-offset-half-tablet {
      margin-left: 50%; }
    .column.is-offset-one-third, .column.is-offset-one-third-tablet {
      margin-left: 33.3333%; }
    .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
      margin-left: 25%; }
    .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
      margin-left: 20%; }
    .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
      margin-left: 40%; }
    .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
      margin-left: 60%; }
    .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
      margin-left: 80%; }
    .column.is-1, .column.is-1-tablet {
      flex: none;
      width: 8.33333%; }
    .column.is-offset-1, .column.is-offset-1-tablet {
      margin-left: 8.33333%; }
    .column.is-2, .column.is-2-tablet {
      flex: none;
      width: 16.66667%; }
    .column.is-offset-2, .column.is-offset-2-tablet {
      margin-left: 16.66667%; }
    .column.is-3, .column.is-3-tablet {
      flex: none;
      width: 25%; }
    .column.is-offset-3, .column.is-offset-3-tablet {
      margin-left: 25%; }
    .column.is-4, .column.is-4-tablet {
      flex: none;
      width: 33.33333%; }
    .column.is-offset-4, .column.is-offset-4-tablet {
      margin-left: 33.33333%; }
    .column.is-5, .column.is-5-tablet {
      flex: none;
      width: 41.66667%; }
    .column.is-offset-5, .column.is-offset-5-tablet {
      margin-left: 41.66667%; }
    .column.is-6, .column.is-6-tablet {
      flex: none;
      width: 50%; }
    .column.is-offset-6, .column.is-offset-6-tablet {
      margin-left: 50%; }
    .column.is-7, .column.is-7-tablet {
      flex: none;
      width: 58.33333%; }
    .column.is-offset-7, .column.is-offset-7-tablet {
      margin-left: 58.33333%; }
    .column.is-8, .column.is-8-tablet {
      flex: none;
      width: 66.66667%; }
    .column.is-offset-8, .column.is-offset-8-tablet {
      margin-left: 66.66667%; }
    .column.is-9, .column.is-9-tablet {
      flex: none;
      width: 75%; }
    .column.is-offset-9, .column.is-offset-9-tablet {
      margin-left: 75%; }
    .column.is-10, .column.is-10-tablet {
      flex: none;
      width: 83.33333%; }
    .column.is-offset-10, .column.is-offset-10-tablet {
      margin-left: 83.33333%; }
    .column.is-11, .column.is-11-tablet {
      flex: none;
      width: 91.66667%; }
    .column.is-offset-11, .column.is-offset-11-tablet {
      margin-left: 91.66667%; }
    .column.is-12, .column.is-12-tablet {
      flex: none;
      width: 100%; }
    .column.is-offset-12, .column.is-offset-12-tablet {
      margin-left: 100%; } }
  @media screen and (max-width: 1023px) {
    .column.is-narrow-touch {
      flex: none; }
    .column.is-full-touch {
      flex: none;
      width: 100%; }
    .column.is-three-quarters-touch {
      flex: none;
      width: 75%; }
    .column.is-two-thirds-touch {
      flex: none;
      width: 66.6666%; }
    .column.is-half-touch {
      flex: none;
      width: 50%; }
    .column.is-one-third-touch {
      flex: none;
      width: 33.3333%; }
    .column.is-one-quarter-touch {
      flex: none;
      width: 25%; }
    .column.is-one-fifth-touch {
      flex: none;
      width: 20%; }
    .column.is-two-fifths-touch {
      flex: none;
      width: 40%; }
    .column.is-three-fifths-touch {
      flex: none;
      width: 60%; }
    .column.is-four-fifths-touch {
      flex: none;
      width: 80%; }
    .column.is-offset-three-quarters-touch {
      margin-left: 75%; }
    .column.is-offset-two-thirds-touch {
      margin-left: 66.6666%; }
    .column.is-offset-half-touch {
      margin-left: 50%; }
    .column.is-offset-one-third-touch {
      margin-left: 33.3333%; }
    .column.is-offset-one-quarter-touch {
      margin-left: 25%; }
    .column.is-offset-one-fifth-touch {
      margin-left: 20%; }
    .column.is-offset-two-fifths-touch {
      margin-left: 40%; }
    .column.is-offset-three-fifths-touch {
      margin-left: 60%; }
    .column.is-offset-four-fifths-touch {
      margin-left: 80%; }
    .column.is-1-touch {
      flex: none;
      width: 8.33333%; }
    .column.is-offset-1-touch {
      margin-left: 8.33333%; }
    .column.is-2-touch {
      flex: none;
      width: 16.66667%; }
    .column.is-offset-2-touch {
      margin-left: 16.66667%; }
    .column.is-3-touch {
      flex: none;
      width: 25%; }
    .column.is-offset-3-touch {
      margin-left: 25%; }
    .column.is-4-touch {
      flex: none;
      width: 33.33333%; }
    .column.is-offset-4-touch {
      margin-left: 33.33333%; }
    .column.is-5-touch {
      flex: none;
      width: 41.66667%; }
    .column.is-offset-5-touch {
      margin-left: 41.66667%; }
    .column.is-6-touch {
      flex: none;
      width: 50%; }
    .column.is-offset-6-touch {
      margin-left: 50%; }
    .column.is-7-touch {
      flex: none;
      width: 58.33333%; }
    .column.is-offset-7-touch {
      margin-left: 58.33333%; }
    .column.is-8-touch {
      flex: none;
      width: 66.66667%; }
    .column.is-offset-8-touch {
      margin-left: 66.66667%; }
    .column.is-9-touch {
      flex: none;
      width: 75%; }
    .column.is-offset-9-touch {
      margin-left: 75%; }
    .column.is-10-touch {
      flex: none;
      width: 83.33333%; }
    .column.is-offset-10-touch {
      margin-left: 83.33333%; }
    .column.is-11-touch {
      flex: none;
      width: 91.66667%; }
    .column.is-offset-11-touch {
      margin-left: 91.66667%; }
    .column.is-12-touch {
      flex: none;
      width: 100%; }
    .column.is-offset-12-touch {
      margin-left: 100%; } }
  @media screen and (min-width: 1024px) {
    .column.is-narrow-desktop {
      flex: none; }
    .column.is-full-desktop {
      flex: none;
      width: 100%; }
    .column.is-three-quarters-desktop {
      flex: none;
      width: 75%; }
    .column.is-two-thirds-desktop {
      flex: none;
      width: 66.6666%; }
    .column.is-half-desktop {
      flex: none;
      width: 50%; }
    .column.is-one-third-desktop {
      flex: none;
      width: 33.3333%; }
    .column.is-one-quarter-desktop {
      flex: none;
      width: 25%; }
    .column.is-one-fifth-desktop {
      flex: none;
      width: 20%; }
    .column.is-two-fifths-desktop {
      flex: none;
      width: 40%; }
    .column.is-three-fifths-desktop {
      flex: none;
      width: 60%; }
    .column.is-four-fifths-desktop {
      flex: none;
      width: 80%; }
    .column.is-offset-three-quarters-desktop {
      margin-left: 75%; }
    .column.is-offset-two-thirds-desktop {
      margin-left: 66.6666%; }
    .column.is-offset-half-desktop {
      margin-left: 50%; }
    .column.is-offset-one-third-desktop {
      margin-left: 33.3333%; }
    .column.is-offset-one-quarter-desktop {
      margin-left: 25%; }
    .column.is-offset-one-fifth-desktop {
      margin-left: 20%; }
    .column.is-offset-two-fifths-desktop {
      margin-left: 40%; }
    .column.is-offset-three-fifths-desktop {
      margin-left: 60%; }
    .column.is-offset-four-fifths-desktop {
      margin-left: 80%; }
    .column.is-1-desktop {
      flex: none;
      width: 8.33333%; }
    .column.is-offset-1-desktop {
      margin-left: 8.33333%; }
    .column.is-2-desktop {
      flex: none;
      width: 16.66667%; }
    .column.is-offset-2-desktop {
      margin-left: 16.66667%; }
    .column.is-3-desktop {
      flex: none;
      width: 25%; }
    .column.is-offset-3-desktop {
      margin-left: 25%; }
    .column.is-4-desktop {
      flex: none;
      width: 33.33333%; }
    .column.is-offset-4-desktop {
      margin-left: 33.33333%; }
    .column.is-5-desktop {
      flex: none;
      width: 41.66667%; }
    .column.is-offset-5-desktop {
      margin-left: 41.66667%; }
    .column.is-6-desktop {
      flex: none;
      width: 50%; }
    .column.is-offset-6-desktop {
      margin-left: 50%; }
    .column.is-7-desktop {
      flex: none;
      width: 58.33333%; }
    .column.is-offset-7-desktop {
      margin-left: 58.33333%; }
    .column.is-8-desktop {
      flex: none;
      width: 66.66667%; }
    .column.is-offset-8-desktop {
      margin-left: 66.66667%; }
    .column.is-9-desktop {
      flex: none;
      width: 75%; }
    .column.is-offset-9-desktop {
      margin-left: 75%; }
    .column.is-10-desktop {
      flex: none;
      width: 83.33333%; }
    .column.is-offset-10-desktop {
      margin-left: 83.33333%; }
    .column.is-11-desktop {
      flex: none;
      width: 91.66667%; }
    .column.is-offset-11-desktop {
      margin-left: 91.66667%; }
    .column.is-12-desktop {
      flex: none;
      width: 100%; }
    .column.is-offset-12-desktop {
      margin-left: 100%; } }
  @media screen and (min-width: 1216px) {
    .column.is-narrow-widescreen {
      flex: none; }
    .column.is-full-widescreen {
      flex: none;
      width: 100%; }
    .column.is-three-quarters-widescreen {
      flex: none;
      width: 75%; }
    .column.is-two-thirds-widescreen {
      flex: none;
      width: 66.6666%; }
    .column.is-half-widescreen {
      flex: none;
      width: 50%; }
    .column.is-one-third-widescreen {
      flex: none;
      width: 33.3333%; }
    .column.is-one-quarter-widescreen {
      flex: none;
      width: 25%; }
    .column.is-one-fifth-widescreen {
      flex: none;
      width: 20%; }
    .column.is-two-fifths-widescreen {
      flex: none;
      width: 40%; }
    .column.is-three-fifths-widescreen {
      flex: none;
      width: 60%; }
    .column.is-four-fifths-widescreen {
      flex: none;
      width: 80%; }
    .column.is-offset-three-quarters-widescreen {
      margin-left: 75%; }
    .column.is-offset-two-thirds-widescreen {
      margin-left: 66.6666%; }
    .column.is-offset-half-widescreen {
      margin-left: 50%; }
    .column.is-offset-one-third-widescreen {
      margin-left: 33.3333%; }
    .column.is-offset-one-quarter-widescreen {
      margin-left: 25%; }
    .column.is-offset-one-fifth-widescreen {
      margin-left: 20%; }
    .column.is-offset-two-fifths-widescreen {
      margin-left: 40%; }
    .column.is-offset-three-fifths-widescreen {
      margin-left: 60%; }
    .column.is-offset-four-fifths-widescreen {
      margin-left: 80%; }
    .column.is-1-widescreen {
      flex: none;
      width: 8.33333%; }
    .column.is-offset-1-widescreen {
      margin-left: 8.33333%; }
    .column.is-2-widescreen {
      flex: none;
      width: 16.66667%; }
    .column.is-offset-2-widescreen {
      margin-left: 16.66667%; }
    .column.is-3-widescreen {
      flex: none;
      width: 25%; }
    .column.is-offset-3-widescreen {
      margin-left: 25%; }
    .column.is-4-widescreen {
      flex: none;
      width: 33.33333%; }
    .column.is-offset-4-widescreen {
      margin-left: 33.33333%; }
    .column.is-5-widescreen {
      flex: none;
      width: 41.66667%; }
    .column.is-offset-5-widescreen {
      margin-left: 41.66667%; }
    .column.is-6-widescreen {
      flex: none;
      width: 50%; }
    .column.is-offset-6-widescreen {
      margin-left: 50%; }
    .column.is-7-widescreen {
      flex: none;
      width: 58.33333%; }
    .column.is-offset-7-widescreen {
      margin-left: 58.33333%; }
    .column.is-8-widescreen {
      flex: none;
      width: 66.66667%; }
    .column.is-offset-8-widescreen {
      margin-left: 66.66667%; }
    .column.is-9-widescreen {
      flex: none;
      width: 75%; }
    .column.is-offset-9-widescreen {
      margin-left: 75%; }
    .column.is-10-widescreen {
      flex: none;
      width: 83.33333%; }
    .column.is-offset-10-widescreen {
      margin-left: 83.33333%; }
    .column.is-11-widescreen {
      flex: none;
      width: 91.66667%; }
    .column.is-offset-11-widescreen {
      margin-left: 91.66667%; }
    .column.is-12-widescreen {
      flex: none;
      width: 100%; }
    .column.is-offset-12-widescreen {
      margin-left: 100%; } }
  @media screen and (min-width: 1408px) {
    .column.is-narrow-fullhd {
      flex: none; }
    .column.is-full-fullhd {
      flex: none;
      width: 100%; }
    .column.is-three-quarters-fullhd {
      flex: none;
      width: 75%; }
    .column.is-two-thirds-fullhd {
      flex: none;
      width: 66.6666%; }
    .column.is-half-fullhd {
      flex: none;
      width: 50%; }
    .column.is-one-third-fullhd {
      flex: none;
      width: 33.3333%; }
    .column.is-one-quarter-fullhd {
      flex: none;
      width: 25%; }
    .column.is-one-fifth-fullhd {
      flex: none;
      width: 20%; }
    .column.is-two-fifths-fullhd {
      flex: none;
      width: 40%; }
    .column.is-three-fifths-fullhd {
      flex: none;
      width: 60%; }
    .column.is-four-fifths-fullhd {
      flex: none;
      width: 80%; }
    .column.is-offset-three-quarters-fullhd {
      margin-left: 75%; }
    .column.is-offset-two-thirds-fullhd {
      margin-left: 66.6666%; }
    .column.is-offset-half-fullhd {
      margin-left: 50%; }
    .column.is-offset-one-third-fullhd {
      margin-left: 33.3333%; }
    .column.is-offset-one-quarter-fullhd {
      margin-left: 25%; }
    .column.is-offset-one-fifth-fullhd {
      margin-left: 20%; }
    .column.is-offset-two-fifths-fullhd {
      margin-left: 40%; }
    .column.is-offset-three-fifths-fullhd {
      margin-left: 60%; }
    .column.is-offset-four-fifths-fullhd {
      margin-left: 80%; }
    .column.is-1-fullhd {
      flex: none;
      width: 8.33333%; }
    .column.is-offset-1-fullhd {
      margin-left: 8.33333%; }
    .column.is-2-fullhd {
      flex: none;
      width: 16.66667%; }
    .column.is-offset-2-fullhd {
      margin-left: 16.66667%; }
    .column.is-3-fullhd {
      flex: none;
      width: 25%; }
    .column.is-offset-3-fullhd {
      margin-left: 25%; }
    .column.is-4-fullhd {
      flex: none;
      width: 33.33333%; }
    .column.is-offset-4-fullhd {
      margin-left: 33.33333%; }
    .column.is-5-fullhd {
      flex: none;
      width: 41.66667%; }
    .column.is-offset-5-fullhd {
      margin-left: 41.66667%; }
    .column.is-6-fullhd {
      flex: none;
      width: 50%; }
    .column.is-offset-6-fullhd {
      margin-left: 50%; }
    .column.is-7-fullhd {
      flex: none;
      width: 58.33333%; }
    .column.is-offset-7-fullhd {
      margin-left: 58.33333%; }
    .column.is-8-fullhd {
      flex: none;
      width: 66.66667%; }
    .column.is-offset-8-fullhd {
      margin-left: 66.66667%; }
    .column.is-9-fullhd {
      flex: none;
      width: 75%; }
    .column.is-offset-9-fullhd {
      margin-left: 75%; }
    .column.is-10-fullhd {
      flex: none;
      width: 83.33333%; }
    .column.is-offset-10-fullhd {
      margin-left: 83.33333%; }
    .column.is-11-fullhd {
      flex: none;
      width: 91.66667%; }
    .column.is-offset-11-fullhd {
      margin-left: 91.66667%; }
    .column.is-12-fullhd {
      flex: none;
      width: 100%; }
    .column.is-offset-12-fullhd {
      margin-left: 100%; } }

.columns {
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  margin-top: -1.5rem; }
  .columns:last-child {
    margin-bottom: -1.5rem; }
  .columns:not(:last-child) {
    margin-bottom: calc(1.5rem - 1.5rem); }
  .columns.is-centered {
    justify-content: center; }
  .columns.is-gapless {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0; }
    .columns.is-gapless > .column {
      margin: 0;
      padding: 0 !important; }
    .columns.is-gapless:not(:last-child) {
      margin-bottom: 1.5rem; }
    .columns.is-gapless:last-child {
      margin-bottom: 0; }
  .columns.is-mobile {
    display: flex; }
  .columns.is-multiline {
    flex-wrap: wrap; }
  .columns.is-vcentered {
    align-items: center; }
  @media screen and (min-width: 769px), print {
    .columns:not(.is-desktop) {
      display: flex; } }
  @media screen and (min-width: 1024px) {
    .columns.is-desktop {
      display: flex; } }

.columns.is-variable {
  --columnGap: 0.75rem;
  margin-left: calc(-1 * var(--columnGap));
  margin-right: calc(-1 * var(--columnGap)); }
  .columns.is-variable .column {
    padding-left: var(--columnGap);
    padding-right: var(--columnGap); }
  .columns.is-variable.is-0 {
    --columnGap: 0rem; }
  .columns.is-variable.is-1 {
    --columnGap: 0.25rem; }
  .columns.is-variable.is-2 {
    --columnGap: 0.5rem; }
  .columns.is-variable.is-3 {
    --columnGap: 0.75rem; }
  .columns.is-variable.is-4 {
    --columnGap: 1rem; }
  .columns.is-variable.is-5 {
    --columnGap: 1.25rem; }
  .columns.is-variable.is-6 {
    --columnGap: 1.5rem; }
  .columns.is-variable.is-7 {
    --columnGap: 1.75rem; }
  .columns.is-variable.is-8 {
    --columnGap: 2rem; }

html, body {
  height: 100%; }

@media (min-width: 768px) {
  body.default_domain {
    margin-right: 100px; } }

.section .row {
  margin: 0; }

.container-text {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  display: block; }

.show3d {
  position: relative;
  width: 100%; }
  .show3d .loading {
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center; }
  .show3d .button_container {
    position: absolute;
    top: 20px;
    left: 20px; }

.clearfix:after {
  clear: both;
  content: " ";
  display: table; }

.btn-long {
  padding: 6px 40px; }

@media (min-width: 992px) {
  .columns-2 {
    margin-bottom: 0;
    -moz-columns-count: 2;
    column-count: 2;
    column-gap: 2em; } }

@media (min-width: 768px) {
  .gallery-3 > div {
    width: 32.20339%;
    float: left; }
    .gallery-3 > div:nth-child(3n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    .gallery-3 > div:nth-child(3n + 2) {
      margin-left: 33.89831%;
      margin-right: -100%;
      clear: none; }
    .gallery-3 > div:nth-child(3n + 3) {
      margin-left: 67.79661%;
      margin-right: -100%;
      clear: none; } }

@media (min-width: 768px) {
  .search-list > .block {
    width: 32.20339%;
    float: left; }
    .search-list > .block:nth-child(3n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    .search-list > .block:nth-child(3n + 2) {
      margin-left: 33.89831%;
      margin-right: -100%;
      clear: none; }
    .search-list > .block:nth-child(3n + 3) {
      margin-left: 67.79661%;
      margin-right: -100%;
      clear: none; } }

.bpopup-container img,
.bpopup-container2 img,
.bpopup-container3 img {
  width: 100%; }

.img_zoom_container:before {
  content: '\f00e';
  font-family: fontAwesome;
  display: inline-block;
  position: absolute;
  bottom: 5px;
  right: 5px;
  font-size: 18px;
  cursor: pointer; }

.row:after {
  clear: both;
  content: " ";
  display: table; }

.red {
  color: #df2523; }

.bg-red {
  background-color: #df2523; }

.bg-gray {
  background-color: #2c2c2c; }

.m0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important; }

body > .wrapper {
  min-height: 100%;
  margin-bottom: -506px; }
  body > .wrapper:after {
    content: "";
    display: block; }

.main_footer, body > .wrapper:after {
  height: 506px; }

.main_container:after {
  clear: both;
  content: " ";
  display: table; }

.fw {
  width: 100%; }

.underline {
  text-decoration: underline; }

.disabled:hover {
  cursor: not-allowed; }

button:focus {
  outline: none !important; }

.hide {
  display: none !important; }

.btn {
  text-transform: uppercase;
  outline: none !important;
  white-space: normal; }
  .btn:focus {
    outline: none !important; }
  .btn.gray {
    background-color: #2c2c2c !important;
    border-color: #5f5f5f !important;
    color: #fff; }
    .btn.gray:hover, .btn.gray:active, .btn.gray:focus {
      color: #5f5f5f !important;
      border-color: #5f5f5f !important;
      background-color: #fff !important; }
  .btn.gray-light {
    background-color: #818181 !important;
    border-color: #818181 !important;
    color: #fff; }
    .btn.gray-light:hover, .btn.gray-light:active, .btn.gray-light:focus {
      color: #5f5f5f !important;
      border-color: #5f5f5f !important;
      background-color: #fff !important; }

.btn-main {
  color: #fff;
  background-color: #df2523;
  border: 1px solid #df2523;
  transition: all .1s;
  text-transform: none;
  font-weight: 300; }
  .btn-main:hover, .btn-main:active, .btn-main:focus {
    color: #fff;
    background-color: transparent;
    border: 1px solid #fff; }

.btn-second {
  color: #fff;
  background-color: #df2523;
  border: 1px solid #df2523;
  transition: all .1s;
  text-transform: none;
  font-weight: 400; }
  .btn-second:hover, .btn-second:active, .btn-second:focus {
    color: #df2523;
    border-color: #df2523;
    background-color: #fff; }

.btn-third {
  color: #fff;
  background-color: transparent;
  border: 1px solid #fff;
  transition: all .1s;
  text-transform: none;
  font-weight: 400; }
  .btn-third:hover, .btn-third:active, .btn-third:focus {
    color: #df2523;
    border-color: #df2523;
    background-color: #fff; }

.btn-four {
  color: #df2523;
  border-color: #df2523;
  background-color: #fff;
  border: 1px solid #df2523;
  transition: all .1s;
  text-transform: none;
  font-weight: 400; }
  .btn-four:hover, .btn-four:active, .btn-four:focus {
    border-color: #df2523;
    background-color: #e6e6e6; }

.slick-slide:focus {
  outline: none; }

img {
  max-width: 100%; }

.section {
  margin-top: 50px;
  padding-left: 15px;
  padding-right: 15px; }
  .section .first_title {
    margin-top: 0; }

hr.red {
  border-color: #df2523; }

hr.dashed {
  border-top: 1px dashed #5f5f5f;
  border-bottom: 0; }

hr.gray-darker {
  border-color: #2c2c2c; }

.modal {
  padding: 15px;
  color: #3d3d3d;
  background-color: #fff;
  display: table; }
  @media (min-width: 768px) {
    .modal {
      padding: 0; } }
  .modal h1 {
    color: #2c2c2c;
    font-weight: 400;
    margin-top: 0; }
  .modal.modal-lg {
    max-width: 100% !important; }
  @media (min-width: 768px) {
    .modal {
      margin-left: 0;
      margin-right: 0;
      max-width: 80%;
      margin-left: auto;
      margin-right: auto; }
      .modal:after {
        content: " ";
        display: block;
        clear: both; }
      .modal .modal-left {
        width: 33.3333%;
        display: table-cell;
        padding: 15px; }
      .modal .modal-right {
        width: 66.6666%;
        display: table-cell;
        padding: 15px; } }

.bpopup-container2 textarea,
.bpopup-container3 textarea {
  padding-left: 2px; }

.bpopup-container,
.bpopup-container2,
.bpopup-container3 {
  min-width: 90%;
  left: 50% !important;
  transform: translateX(-50%) !important; }
  @media (min-width: 768px) {
    .bpopup-container,
    .bpopup-container2,
    .bpopup-container3 {
      min-width: 85%;
      left: 50% !important;
      transform: translateX(-50%) !important; } }
  @media (min-width: 992px) {
    .bpopup-container,
    .bpopup-container2,
    .bpopup-container3 {
      min-width: 80%; } }

.bpopup-close,
.bpopup-close2,
.bpopup-close3 {
  position: absolute;
  top: 0;
  transform: translateY(-100%);
  right: 0;
  color: #fff; }

.uppercase {
  text-transform: uppercase; }

.lowercase {
  text-transform: none !important; }

#map {
  min-height: 300px; }

.form-control2 {
  display: block;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #ccc;
  transition: all .1s;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857; }
  .form-control2:focus {
    outline: none;
    border-color: #5f5f5f; }

.container, .cms {
  display: block;
  width: 100%; }
  @media (min-width: 768px) {
    .container, .cms {
      margin: 0 auto;
      max-width: 700px; } }
  @media (min-width: 992px) {
    .container, .cms {
      margin: 0 auto;
      max-width: 950px; } }
  @media (min-width: 1200px) {
    .container, .cms {
      margin: 0 auto;
      max-width: 1150px; } }

.section:after {
  clear: both;
  content: " ";
  display: table; }

.label-gray {
  background-color: #2c2c2c;
  color: #fff;
  padding: 6px 12px;
  display: block;
  text-align: center; }

.unstyled {
  margin: 0;
  padding: 0;
  list-style-type: none; }

.inputfile {
  display: block;
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  width: 100%;
  z-index: -1; }

.inputfile + label {
  background-color: #df2523;
  color: #fff;
  width: 100%;
  padding: 6px 12px;
  display: block; }

.inputfile:focus + label,
.inputfile + label:hover {
  background-color: #b51c1a; }

.inputfile + label {
  cursor: pointer;
  /* "hand" cursor */ }

video {
  max-width: 100%; }

.w50 {
  width: 49.15254%;
  float: left; }
  .w50:nth-child(2n + 1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0; }
  .w50:nth-child(2n + 2) {
    margin-left: 50.84746%;
    margin-right: -100%;
    clear: none; }

#cgv {
  border: 2px solid #ddd;
  padding: 10px;
  margin-bottom: 10px; }

.btn-fb {
  color: #fff;
  background-color: #3b5998;
  border-color: #3b5998;
  margin-bottom: 10px;
  text-transform: none; }
  .btn-fb:focus, .btn-fb.focus {
    color: #fff;
    background-color: #2d4373;
    border-color: #17233c; }
  .btn-fb:hover {
    color: #fff;
    background-color: #2d4373;
    border-color: #2a3f6c; }
  .btn-fb:active, .btn-fb.active,
  .open > .btn-fb.dropdown-toggle {
    color: #fff;
    background-color: #2d4373;
    border-color: #2a3f6c; }
    .btn-fb:active:hover, .btn-fb:active:focus, .btn-fb:active.focus, .btn-fb.active:hover, .btn-fb.active:focus, .btn-fb.active.focus,
    .open > .btn-fb.dropdown-toggle:hover,
    .open > .btn-fb.dropdown-toggle:focus,
    .open > .btn-fb.dropdown-toggle.focus {
      color: #fff;
      background-color: #23345a;
      border-color: #17233c; }
  .btn-fb:active, .btn-fb.active,
  .open > .btn-fb.dropdown-toggle {
    background-image: none; }
  .btn-fb.disabled:hover, .btn-fb.disabled:focus, .btn-fb.disabled.focus, .btn-fb[disabled]:hover, .btn-fb[disabled]:focus, .btn-fb[disabled].focus,
  fieldset[disabled] .btn-fb:hover,
  fieldset[disabled] .btn-fb:focus,
  fieldset[disabled] .btn-fb.focus {
    background-color: #3b5998;
    border-color: #3b5998; }
  .btn-fb .badge {
    color: #3b5998;
    background-color: #fff; }
  .btn-fb i {
    padding-right: 10px; }

.lbl-credits {
  margin-bottom: 15px;
  font-size: 22px; }

.tarteaucitronIconBottomRight {
  right: 80px !important; }

@font-face {
  font-family: 'icomoon';
  src: url("../fonts/icomoon.eot?be4alf");
  src: url("../fonts/icomoon.eot?be4alf#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?be4alf") format("truetype"), url("../fonts/icomoon.woff?be4alf") format("woff"), url("../fonts/icomoon.svg?be4alf#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-annonces:before {
  content: "\e901";
  color: #625e5d; }

.icon-compte:before {
  content: "\e90a";
  color: #625e5d; }

.icon-decision:before {
  content: "\e90b";
  color: #53514f; }

.icon-edit .path1:before {
  content: "\e90c";
  color: #53514f; }

.icon-edit .path2:before {
  content: "\e90d";
  margin-left: -1em;
  color: #5f5c5d; }

.icon-edit .path3:before {
  content: "\e90e";
  margin-left: -1em;
  color: #5f5c5d; }

.icon-edit .path4:before {
  content: "\e90f";
  margin-left: -1em;
  color: #53514f; }

.icon-edit .path5:before {
  content: "\e910";
  margin-left: -1em;
  color: #53514f; }

.icon-edit .path6:before {
  content: "\e911";
  margin-left: -1em;
  color: #53514f; }

.icon-edit .path7:before {
  content: "\e912";
  margin-left: -1em;
  color: #5f5c5d; }

.icon-email:before {
  content: "\e913";
  color: #625e5d; }

.icon-faq:before {
  content: "\e914";
  color: #53514f; }

.icon-garantie:before {
  content: "\e915";
  color: #53514f; }

.icon-helpin:before {
  content: "\e916";
  color: #53514f; }

.icon-machines:before {
  content: "\e917";
  color: #605c5d; }

.icon-notification:before {
  content: "\e918";
  color: #53514f; }

.icon-propduits:before {
  content: "\e919";
  color: #625e5d; }

.icon-purchase:before {
  content: "\e91a";
  color: #53514f; }

.icon-registrations:before {
  content: "\e91b";
  color: #53514f; }

.icon-sale:before {
  content: "\e91c";
  color: #53514f; }

.icon-satisfaction:before {
  content: "\e91d";
  color: #53514f; }

.icon-service:before {
  content: "\e91e";
  color: #53514f; }

.icon-supprimer:before {
  content: "\e91f";
  color: #53514f; }

.icon-suscrive:before {
  content: "\e920";
  color: #625e5d; }

.icon-tutorial:before {
  content: "\e921";
  color: #53514f; }

.icon-calendrier:before {
  content: "\e900";
  color: #625e5d; }

.icon-deconnexion:before {
  content: "\e902";
  color: #53514f; }

.icon-editer:before {
  content: "\e903";
  color: #5f5c5d; }

.icon-gestion_planning:before {
  content: "\e904";
  color: #53514f; }

.icon-home:before {
  content: "\e905";
  color: #605c5d; }

.icon-modif:before {
  content: "\e906"; }

.icon-nbr_chantier:before {
  content: "\e907";
  color: #53514f; }

.icon-pdf:before {
  content: "\e908";
  color: #625e5d; }

.icon-trash:before {
  content: "\e909"; }

@font-face {
  font-family: 'smiley';
  src: url("../fonts/icomoon2.eot?87c3s5");
  src: url("../fonts/icomoon2.eot?87c3s5#iefix") format("embedded-opentype"), url("../fonts/icomoon2.ttf?87c3s5") format("truetype"), url("../fonts/icomoon2.woff?87c3s5") format("woff"), url("../fonts/icomoon2.svg?87c3s5#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

[class^="icon-smiley-"], [class*=" icon-smiley-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'smiley' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  font-size: 30px;
  color: inherit;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-smiley-5:before {
  content: "\e900"; }

.icon-smiley-4:before {
  content: "\e901"; }

.icon-smiley-3:before {
  content: "\e902"; }

.icon-smiley-2:before {
  content: "\e903"; }

.icon-smiley-1:before {
  content: "\e904"; }

.smiley-color {
  display: inline-block;
  width: 42px;
  height: 42px; }

.main_header {
  position: relative;
  display: table;
  width: 100%;
  height: 60px; }
  .main_header:after {
    clear: both;
    content: " ";
    display: table; }
  @media (min-width: 768px) {
    .main_header {
      min-height: 100px; } }
  .main_header .logo {
    display: table-cell;
    vertical-align: middle;
    padding: 0 10px; }
    @media (min-width: 768px) {
      .main_header .logo {
        padding: 0 20px; } }
    .main_header .logo img {
      max-width: none;
      width: auto;
      height: 50px; }
  .main_header .logo2 {
    display: none; }
    @media (min-width: 768px) {
      .main_header .logo2 {
        display: table-cell;
        vertical-align: middle;
        padding: 0 10px; }
        .main_header .logo2 img {
          max-width: none;
          width: auto;
          height: 50px; } }

.menu-toggle {
  float: right; }

.external_domain .main_menu {
  display: none; }
  @media (min-width: 768px) {
    .external_domain .main_menu {
      display: table-cell;
      vertical-align: middle;
      width: 90%;
      text-align: center; } }

.external_domain .flag-site {
  display: none; }
  @media (min-width: 768px) {
    .external_domain .flag-site {
      display: table-cell;
      vertical-align: middle;
      text-align: center; }
      .external_domain .flag-site img {
        padding: 10px;
        display: block;
        margin: 0 auto;
        max-width: 65px; } }

.main_menu {
  display: none;
  font-size: 1em; }
  @media (min-width: 768px) {
    .main_menu {
      display: table-cell;
      vertical-align: middle;
      width: 100%;
      text-align: center; } }
  .main_menu a {
    position: relative;
    margin: 0 8px;
    text-transform: capitalize; }
    .main_menu a.active {
      border-bottom: 2px solid #df2523; }
    .main_menu a:hover {
      border-bottom: 2px solid #df2523; }
      .main_menu a:hover:after {
        color: #2c2c2c; }
    .main_menu a:after {
      content: "/";
      display: inline-block;
      position: absolute;
      right: -12px; }
    .main_menu a:last-child:after {
      content: ""; }

.head_title {
  background-color: #df2523;
  height: 80px;
  display: table;
  width: 100%; }
  .head_title h1 {
    font-size: 1.5em;
    word-break: break-all;
    color: #fff;
    text-transform: uppercase;
    display: table-cell;
    width: 100%;
    vertical-align: middle;
    font-weight: 300;
    margin: 0;
    text-align: center;
    transition: all .1s; }
    .head_title h1:hover {
      font-weight: 500; }

body.default_domain .main_side_menu {
  display: block; }

.main_side_menu {
  display: none;
  background-color: #2c2c2c;
  position: fixed;
  left: 100%;
  top: 60px;
  bottom: 0;
  transform: translate3d(0, 0, 0);
  transition: transform 0.15s cubic-bezier(0.42, 0, 1, 1);
  color: #fff;
  text-align: center;
  width: 60%;
  max-width: 300px;
  z-index: 9998;
  overflow-y: scroll; }
  .main_side_menu.is-active {
    transform: translate3d(-100%, 0, 0);
    box-shadow: -3px 0 5px #171717; }
  @media (min-width: 768px) {
    .main_side_menu {
      top: 0;
      left: auto;
      right: 0;
      width: 100px;
      transform: translate3d(0, 0, 0); }
      .main_side_menu.is-active {
        transform: translate3d(0, 0, 0); } }
  .main_side_menu a {
    color: #fff; }
    .main_side_menu a:hover {
      color: #df2523; }
      .main_side_menu a:hover span:before {
        color: #df2523; }
  .main_side_menu .main_menu_side {
    display: block;
    padding: 10px; }
    .main_side_menu .main_menu_side a {
      margin: 6px 0;
      display: block;
      text-align: center; }
    @media (min-width: 768px) {
      .main_side_menu .main_menu_side {
        display: none; } }
  .main_side_menu .fixed_menu {
    width: 100%; }
    .main_side_menu .fixed_menu a {
      display: block; }

.lang-switch {
  margin: 0 auto;
  display: block;
  padding-top: 10px;
  font-size: .9em;
  /* 	a {
	position: relative;
	margin: 0 4px;
	text-transform: capitalize;

	&.active {
		border-bottom: 2px solid $red;
	}

	&:hover {
		&:after {
			color: #fff;
		}
	}

	&:after {
		content: "/";
		display: inline-block;
		position: absolute;
		right:-9px;
	}

	&:last-of-type {
		&:after {
			content: "";
			display: none;
		}
	}
} */ }
  .lang-switch img {
    width: 20px; }
  @media (min-width: 768px) {
    .lang-switch {
      min-height: 80px; } }

.fixed_menu a {
  font-size: .9em;
  display: block;
  width: 50%;
  float: left;
  border: 1px solid #fff;
  border-right: 0;
  min-height: 80px;
  position: relative;
  padding: 15px 0;
  /*
		&:nth-child(1) {
			background-image: url(../img/icone_myaccount.png);

			&:hover {
				background-image: url(../img/icone_myaccount_hover.png);
			}
		}

		&:nth-child(2) {
			background-image: url(../img/icone_subscribe.png);
			background-size: 25px;

			&:hover {
				background-image: url(../img/icone_subscribe_hover.png);
			}
		}

		&:nth-child(3) {
			background-image: url(../img/icone_faq.png);
			background-size: 25px;

			&:hover {
				background-image: url(../img/icone_faq_hover.png);
			}
		}

		&:nth-child(4) {
			background-image: url(../img/icone_search.png);
			background-size: 25px;

			&:hover {
				background-image: url(../img/icone_search_hover.png);
			}
		}

		&:nth-child(5) {
			background-image: url(../img/icone_contact.png);
			background-size: 25px;

			&:hover {
				background-image: url(../img/icone_contact_hover.png);
			}
		} */ }
  .fixed_menu a .icon:before, .fixed_menu a .icon {
    display: block;
    font-size: 28px;
    color: #fff; }
  .fixed_menu a:last-child {
    float: right; }
  @media (min-width: 768px) {
    .fixed_menu a {
      width: 100%;
      border-left: 0;
      border-right: 0;
      border-bottom: 0; }
      .fixed_menu a:last-child {
        border-bottom: 1px solid #fff; } }

.menu-toggle {
  display: inline-block;
  padding: .5em;
  border: 1px solid #ccc;
  border: none;
  background: none;
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%); }
  .menu-toggle:focus {
    outline: none; }
  @media (min-width: 768px) {
    .menu-toggle {
      display: none; } }

.menu-toggle .icon {
  position: relative;
  margin-top: 8px;
  margin-bottom: 8px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .menu-toggle .icon, .menu-toggle .icon::before, .menu-toggle .icon::after {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #444;
    outline: 1px solid transparent;
    -webkit-transition-property: background-color, -webkit-transform;
    -moz-transition-property: background-color, -moz-transform;
    -o-transition-property: background-color, -o-transform;
    transition-property: background-color, transform;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s; }
  .menu-toggle .icon::before, .menu-toggle .icon::after {
    position: absolute;
    content: ""; }
  .menu-toggle .icon::before {
    top: -8px; }
  .menu-toggle .icon::after {
    top: 8px; }

.menu-toggle.is-active .icon {
  background-color: transparent; }

.menu-toggle.is-active .icon::before {
  -webkit-transform: translateY(8px) rotate(45deg);
  -moz-transform: translateY(8px) rotate(45deg);
  -ms-transform: translateY(8px) rotate(45deg);
  -o-transform: translateY(8px) rotate(45deg);
  transform: translateY(8px) rotate(45deg); }

.menu-toggle.is-active .icon::after {
  -webkit-transform: translateY(-8px) rotate(-45deg);
  -moz-transform: translateY(-8px) rotate(-45deg);
  -ms-transform: translateY(-8px) rotate(-45deg);
  -o-transform: translateY(-8px) rotate(-45deg);
  transform: translateY(-8px) rotate(-45deg); }

.hero {
  min-height: 350px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative; }
  .hero img {
    width: 100%; }
  .hero.auto {
    min-height: auto; }
  .hero .hero_content {
    position: absolute;
    top: 96%;
    margin-bottom: 15px;
    left: 15px;
    right: 15px;
    padding: 10px 15px;
    transform: translateY(-100%);
    color: #fff;
    vertical-align: middle;
    background-color: rgba(10, 10, 10, 0.8); }
    @media (min-width: 768px) {
      .hero .hero_content {
        max-width: 475px;
        width: 50%;
        min-width: 300px; } }
    .hero .hero_content .title {
      text-transform: uppercase;
      margin: 0 0 15px; }
    .hero .hero_content .txt {
      font-size: .9em; }

.hero_slide .slide {
  min-height: 350px;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }

.hero_slide_nav {
  display: table;
  width: 100%;
  background-color: #2c2c2c;
  min-height: 80px; }
  .hero_slide_nav a {
    vertical-align: middle;
    padding: 10px;
    width: 100%;
    display: block;
    border-top: 1px solid #fff; }
    @media (min-width: 768px) {
      .hero_slide_nav a {
        padding: 0 15px;
        display: table-cell;
        width: 33%;
        border-left: 1px solid #fff;
        border-top: 0; } }
    .hero_slide_nav a h3 {
      color: #df2523;
      margin: 10px 0; }
    .hero_slide_nav a p {
      color: #fff;
      font-size: .85em; }
    .hero_slide_nav a:first-child {
      border-left: 0;
      border-top: 0; }

.block {
  min-height: 300px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 100%;
  color: #fff;
  position: relative;
  overflow: hidden;
  margin-bottom: 15px; }
  .block .title {
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 400;
    display: table-cell;
    vertical-align: middle;
    text-align: center; }
    .block .title a {
      color: #fff; }
  .block .block_title {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    text-align: center;
    background-color: rgba(44, 44, 44, 0.8);
    padding: 0 10px;
    min-height: 60px;
    width: 100%; }
    .block .block_title .block_title_wrap {
      min-height: 60px;
      display: table;
      height: 60px;
      width: 100%; }
  .block .block_more {
    padding: 0 10px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: block;
    background-color: rgba(223, 37, 35, 0.8);
    transition: all .1s;
    text-align: center; }
    .block .block_more .date {
      text-align: center;
      font-size: 12px; }
    .block .block_more .title {
      display: block;
      margin-top: 15px;
      margin-bottom: 15px; }
    .block .block_more .txt {
      font-size: .9em; }
    .block .block_more .btn {
      text-align: center;
      margin: 10px 0; }
    .block .block_more .link {
      display: inline-block;
      text-align: center;
      width: 100%; }
  .block:hover .block_title {
    transform: translateY(100%); }
  .block:hover .block_more {
    transform: translateY(-100%); }

.isMobile .block .block_more {
  transform: translateY(-100%); }
  .isMobile .block .block_more .txt {
    display: none; }

.isMobile .block .block_title {
  transform: translateY(100%); }

.block-third .row-header:after {
  clear: both;
  content: " ";
  display: table; }

.block-third .row-header .block-header {
  text-align: center; }
  @media (min-width: 768px) {
    .block-third .row-header .block-header {
      width: 49.15254%;
      float: left;
      margin-left: 25.42373%;
      margin-right: -100%; } }

.block-third .row-content {
  min-height: 150px; }
  .block-third .row-content:after {
    clear: both;
    content: " ";
    display: table; }
  .block-third .row-content > div:first-child {
    margin-bottom: 15px; }
    .block-third .row-content > div:first-child img {
      width: 100%; }
    @media (min-width: 768px) {
      .block-third .row-content > div:first-child {
        width: 23.72881%;
        float: left;
        margin-right: 1.69492%; } }
  .block-third .row-content > div:nth-child(2) {
    margin-bottom: 15px; }
    @media (min-width: 768px) {
      .block-third .row-content > div:nth-child(2) {
        width: 49.15254%;
        float: left;
        margin-right: 1.69492%; } }
  .block-third .row-content > div:last-child {
    margin-bottom: 15px; }
    @media (min-width: 768px) {
      .block-third .row-content > div:last-child {
        width: 23.72881%;
        float: right;
        margin-right: 0; } }
    .block-third .row-content > div:last-child .btn {
      width: 100%;
      text-transform: uppercase; }

.block-two .row-main:after {
  clear: both;
  content: " ";
  display: table; }

.block-two .row-main .left img {
  width: 100%; }

@media (min-width: 768px) {
  .block-two .row-main .left {
    width: 32.20339%;
    float: left;
    margin-right: 1.69492%; }
  .block-two .row-main .right {
    width: 66.10169%;
    float: right;
    margin-right: 0; } }

.block-two .right h2 {
  display: inline-block; }

@media (min-width: 768px) {
  .block-two .row-second:after {
    clear: both;
    content: " ";
    display: table; }
  .block-two .row-second .content {
    width: 49.15254%;
    float: left;
    margin-right: 1.69492%; }
  .block-two .row-second .action {
    width: 49.15254%;
    float: right;
    margin-right: 0; } }

@media (min-width: 992px) {
  .block-two .row-second:after {
    clear: both;
    content: " ";
    display: table; }
  .block-two .row-second .content {
    width: 66.10169%;
    float: left;
    margin-right: 1.69492%; }
  .block-two .row-second .action {
    width: 32.20339%;
    float: right;
    margin-right: 0; } }

@media (min-width: 1200px) {
  .block-two .row-second:after {
    clear: both;
    content: " ";
    display: table; }
  .block-two .row-second .content {
    width: 74.57627%;
    float: left;
    margin-right: 1.69492%; }
  .block-two .row-second .action {
    width: 23.72881%;
    float: right;
    margin-right: 0; } }

.container-thumb {
  position: relative; }
  .container-thumb .slider-thumb {
    padding: 15px; }
  .container-thumb .arrows {
    position: absolute;
    z-index: 2000;
    top: 50%;
    transform: translateY(-50%); }
  .container-thumb .prev {
    left: 0; }
  .container-thumb .next {
    right: 0; }
  .container-thumb .slider-thumb {
    margin: 0 -8px; }
    .container-thumb .slider-thumb .slick-slide {
      margin: 0 8px; }

.reassurance {
  padding: 47px 0;
  color: #2c2c2c;
  font-size: 1.3em; }
  .reassurance:after {
    clear: both;
    content: " ";
    display: table; }
  .reassurance .rea-item {
    padding: 0 20px;
    text-align: center;
    float: left;
    overflow: hidden;
    width: 100%;
    margin-bottom: 15px; }
    @media (min-width: 550px) {
      .reassurance .rea-item {
        width: 50%; } }
    @media (min-width: 768px) {
      .reassurance .rea-item {
        margin-bottom: 0;
        width: 50%; } }
    .reassurance .rea-item .item {
      border: 1px solid #2c2c2c;
      max-width: 175px;
      margin: 0 auto;
      position: relative; }
      .reassurance .rea-item .item:before {
        content: '';
        display: inline-block;
        position: absolute;
        top: -1px;
        left: 25%;
        background-color: #fff;
        height: 1px;
        width: 100%;
        transition: all .2s; }
      .reassurance .rea-item .item:after {
        content: '';
        display: inline-block;
        position: absolute;
        bottom: -1px;
        right: 25%;
        background-color: #fff;
        height: 1px;
        width: 100%;
        transition: all .2s; }
      .reassurance .rea-item .item:hover:before {
        left: 101%; }
      .reassurance .rea-item .item:hover:after {
        right: 101%; }
    .reassurance .rea-item img {
      padding: 10px;
      display: block;
      margin: 0 auto; }

.main_footer {
  color: #fff; }
  .main_footer a {
    display: inline-block !important;
    color: inherit; }
    .main_footer a:hover {
      color: #df2523; }
  .main_footer .info {
    background-color: #2c2c2c;
    padding: 30px;
    position: relative;
    display: table;
    width: 100%; }
    .main_footer .info:after {
      clear: both;
      content: " ";
      display: table; }
    .main_footer .info .col {
      display: block;
      width: 100%;
      overflow: hidden;
      position: relative;
      padding: 15px; }
      .main_footer .info .col strong, .main_footer .info .col a {
        display: block; }
      .main_footer .info .col strong {
        font-size: 1.1em;
        text-transform: uppercase;
        margin-bottom: 10px; }
      .main_footer .info .col a {
        font-size: .9em;
        padding: 4px 0; }
      .main_footer .info .col .footer_social_link a {
        transition: all 100ms;
        font-size: 22px;
        padding-left: 15px; }
        .main_footer .info .col .footer_social_link a:first-of-type {
          padding-left: 0; }
      @media (min-width: 768px) {
        .main_footer .info .col {
          display: table-cell;
          width: 33.3333%; }
          .main_footer .info .col:after {
            content: "";
            display: inline-block;
            height: 100%;
            background-color: #fff;
            position: absolute;
            top: 0;
            right: 43px;
            width: 1px;
            transform: rotate(-12deg); }
          .main_footer .info .col:last-child:after {
            display: none; } }
      .main_footer .info .col.contact-info {
        position: relative; }
        .main_footer .info .col.contact-info .form-group {
          padding: 0; }
        .main_footer .info .col.contact-info p {
          font-size: .9em; }
        .main_footer .info .col.contact-info input {
          padding-right: 100px; }
        .main_footer .info .col.contact-info button {
          margin-top: 0;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0; }
          .main_footer .info .col.contact-info button:hover {
            background-color: #df2523;
            color: #fff; }
  .main_footer .copyright {
    background-color: #5f5f5f;
    padding: 15px;
    font-size: 11px;
    text-align: center;
    text-transform: uppercase; }

.paginate {
  list-style-type: none;
  font-weight: 600;
  font-size: .9em;
  text-align: center; }
  .paginate > a, .paginate > li {
    display: inline-block; }
  .paginate > li a {
    width: 25px;
    height: 25px;
    text-align: center;
    display: block;
    line-height: 25px;
    border-radius: 4px; }
  .paginate > li.active a {
    background-color: #df2523;
    color: #fff; }

.styled-checkbox {
  position: absolute;
  opacity: 0; }
  .styled-checkbox + label {
    position: relative;
    cursor: pointer;
    padding: 0; }
  .styled-checkbox + label:before {
    content: '';
    margin-right: 10px;
    display: inline-block;
    vertical-align: text-top;
    width: 15px;
    height: 15px;
    background: #ddd; }
  .styled-checkbox:hover + label:before {
    background: #df2523; }
  .styled-checkbox:checked + label:before {
    background: #df2523; }
  .styled-checkbox:disabled + label {
    color: #b8b8b8;
    cursor: auto; }
  .styled-checkbox:disabled + label:before {
    box-shadow: none;
    background: #ddd; }
  .styled-checkbox:checked + label:after {
    content: '';
    position: absolute;
    left: 3px;
    top: 7px;
    background: white;
    width: 2px;
    height: 2px;
    box-shadow: 2px 0 0 white, 4px 0 0 white, 4px -2px 0 white, 4px -4px 0 white, 4px -6px 0 white, 4px -7px 0 white;
    transform: rotate(45deg); }

.bpopup {
  background-color: #fff; }

.modal {
  width: 100%;
  padding: 15px; }
  .modal h1, .modal h2, .modal h3, .modal h4, .modal h5 {
    color: #df2523; }
  .modal .h3 {
    color: #2c2c2c; }
  .modal #cgv {
    border: 2px solid #ccc;
    padding: 15px;
    max-height: 500px;
    overflow-y: scroll; }

.rwd-table th {
  display: none; }

.rwd-table td {
  display: block; }
  @media (max-width: 600px) {
    .rwd-table td {
      min-height: 37px;
      text-align: right; } }
  .rwd-table td:before {
    content: attr(data-th);
    float: left;
    text-transform: uppercase;
    font-weight: 600; }
    @media (min-width: 600px) {
      .rwd-table td:before {
        display: none; } }
  .rwd-table td:first-child {
    padding-top: .5em; }
  .rwd-table td:last-child {
    padding-bottom: .5em; }

@media (min-width: 600px) {
  .rwd-table th, .rwd-table td {
    display: table-cell; } }

@media (min-width: 768px) {
  .home .block {
    width: 33.3333%;
    float: left; } }

.auction_sales {
  max-width: 80%;
  margin-left: auto;
  margin-right: auto;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
  .auction_sales:after {
    content: " ";
    display: block;
    clear: both; }
  .auction_sales h3 {
    font-size: 50px;
    color: #818181; }
  .auction_sales .txt {
    color: #3d3d3d; }
  .auction_sales .btn {
    width: 100%; }

.login-box {
  padding: 15px; }
  @media (min-width: 768px) {
    .login-box {
      max-width: 800px;
      margin: 0 auto; }
      .login-box .login-sign {
        padding: 15px;
        color: #fff;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        vertical-align: middle; }
      .login-box .label {
        font-weight: 300;
        text-transform: uppercase; }
      .login-box .form-group {
        margin-bottom: 15px; }
        .login-box .form-group:first-child {
          margin-top: 30px; } }
  .login-box .sign-up {
    width: 50%;
    float: left;
    padding-right: 15px;
    border-right: 1px solid #b1b1b1; }
  .login-box .sign-in {
    width: 50%;
    float: left;
    padding-left: 15px; }
  .login-box.modal {
    max-width: 100%;
    padding: 0; }

.block-account {
  display: block;
  margin-bottom: 15px;
  width: 100%;
  min-height: 200px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative; }
  @media (min-width: 768px) {
    .block-account {
      width: 49.15254%;
      float: left; }
      .block-account:nth-child(2n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      .block-account:nth-child(2n + 2) {
        margin-left: 50.84746%;
        margin-right: -100%;
        clear: none; } }
  @media (min-width: 992px) {
    .block-account {
      width: 23.72881%;
      float: left; }
      .block-account:nth-child(4n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      .block-account:nth-child(4n + 2) {
        margin-left: 25.42373%;
        margin-right: -100%;
        clear: none; }
      .block-account:nth-child(4n + 3) {
        margin-left: 50.84746%;
        margin-right: -100%;
        clear: none; }
      .block-account:nth-child(4n + 4) {
        margin-left: 76.27119%;
        margin-right: -100%;
        clear: none; } }
  .block-account span {
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    font-weight: 300;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 10px;
    display: block;
    background-color: rgba(10, 10, 10, 0.9); }

.img-container:after {
  clear: both;
  content: " ";
  display: table; }

@media (min-width: 992px) {
  .img-container .form-group {
    height: 300px;
    width: 19.19192%;
    float: left;
    background-color: #ddd;
    padding: 8px; }
    .img-container .form-group:nth-child(5n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    .img-container .form-group:nth-child(5n + 2) {
      margin-left: 20.20202%;
      margin-right: -100%;
      clear: none; }
    .img-container .form-group:nth-child(5n + 3) {
      margin-left: 40.40404%;
      margin-right: -100%;
      clear: none; }
    .img-container .form-group:nth-child(5n + 4) {
      margin-left: 60.60606%;
      margin-right: -100%;
      clear: none; }
    .img-container .form-group:nth-child(5n + 5) {
      margin-left: 80.80808%;
      margin-right: -100%;
      clear: none; } }

.img-container .form-group img {
  max-width: 100%; }

.table-bordered.custom {
  border: 0; }
  .table-bordered.custom b {
    font-weight: 500; }
  .table-bordered.custom thead th {
    padding-left: 10px;
    border: 0; }
  .table-bordered.custom tbody {
    border: 1px solid #ccc; }
    .table-bordered.custom tbody tr {
      border: 0;
      border-bottom: 1px solid #ccc; }
      .table-bordered.custom tbody tr:last-child {
        border-bottom: 0; }
    .table-bordered.custom tbody td {
      border: 0; }

.form-group {
  position: relative; }

@media (min-width: 768px) {
  .support-plans .support-plans-list .block {
    width: 32.20339%;
    float: left; }
    .support-plans .support-plans-list .block:nth-child(3n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    .support-plans .support-plans-list .block:nth-child(3n + 2) {
      margin-left: 33.89831%;
      margin-right: -100%;
      clear: none; }
    .support-plans .support-plans-list .block:nth-child(3n + 3) {
      margin-left: 67.79661%;
      margin-right: -100%;
      clear: none; } }

.support-plans .initial_price {
  font-weight: 600; }

.support-plans .small {
  font-size: 11px; }

.support-plans .label {
  margin-bottom: 15px; }

.support-plans .services {
  margin-bottom: 15px; }
  .support-plans .services:after {
    clear: both;
    content: " ";
    display: table; }
  .support-plans .services .service {
    text-align: center; }
    .support-plans .services .service figure {
      margin-bottom: 15px; }
    @media (min-width: 768px) {
      .support-plans .services .service.col-1 {
        width: 100%; }
      .support-plans .services .service.col-2 {
        width: 49.15254%;
        float: left; }
        .support-plans .services .service.col-2:nth-child(2n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .support-plans .services .service.col-2:nth-child(2n + 2) {
          margin-left: 50.84746%;
          margin-right: -100%;
          clear: none; }
      .support-plans .services .service.col-3 {
        width: 32.20339%;
        float: left; }
        .support-plans .services .service.col-3:nth-child(3n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .support-plans .services .service.col-3:nth-child(3n + 2) {
          margin-left: 33.89831%;
          margin-right: -100%;
          clear: none; }
        .support-plans .services .service.col-3:nth-child(3n + 3) {
          margin-left: 67.79661%;
          margin-right: -100%;
          clear: none; }
      .support-plans .services .service.col-4 {
        width: 23.72881%;
        float: left; }
        .support-plans .services .service.col-4:nth-child(4n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .support-plans .services .service.col-4:nth-child(4n + 2) {
          margin-left: 25.42373%;
          margin-right: -100%;
          clear: none; }
        .support-plans .services .service.col-4:nth-child(4n + 3) {
          margin-left: 50.84746%;
          margin-right: -100%;
          clear: none; }
        .support-plans .services .service.col-4:nth-child(4n + 4) {
          margin-left: 76.27119%;
          margin-right: -100%;
          clear: none; }
      .support-plans .services .service.col-5 {
        width: 18.36735%;
        float: left; }
        .support-plans .services .service.col-5:nth-child(5n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .support-plans .services .service.col-5:nth-child(5n + 2) {
          margin-left: 20.40816%;
          margin-right: -100%;
          clear: none; }
        .support-plans .services .service.col-5:nth-child(5n + 3) {
          margin-left: 40.81633%;
          margin-right: -100%;
          clear: none; }
        .support-plans .services .service.col-5:nth-child(5n + 4) {
          margin-left: 61.22449%;
          margin-right: -100%;
          clear: none; }
        .support-plans .services .service.col-5:nth-child(5n + 5) {
          margin-left: 81.63265%;
          margin-right: -100%;
          clear: none; } }

.auction {
  text-align: center;
  margin-top: 15px; }
  .auction h2 {
    margin-top: 10px;
    text-transform: uppercase;
    font-weight: 600; }
    .auction h2 small {
      text-transform: none; }
  .auction hr {
    border-width: 2px; }
  .auction .title-detail {
    font-size: 12px;
    font-weight: 500; }
  .auction .container-header:after {
    clear: both;
    content: " ";
    display: table; }
  @media (min-width: 768px) {
    .auction .enchere_header {
      width: 49.15254%;
      float: left;
      margin-left: 25.42373%;
      margin-right: -100%;
      display: block; } }
  .auction .countdown {
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
    display: table; }
    .auction .countdown .wrapper {
      display: inline-block;
      vertical-align: middle; }
    .auction .countdown strong {
      display: inline-block;
      vertical-align: middle;
      margin-right: 8px; }
    .auction .countdown .item {
      display: inline-block;
      background-color: #2c2c2c;
      padding: 6px;
      color: #fff;
      text-align: center;
      font-weight: 600;
      min-width: 55px;
      font-size: 20px;
      margin-right: 10px; }
      .auction .countdown .item:last-child {
        margin-right: 0; }
    .auction .countdown .name {
      font-size: 11px;
      font-weight: 400;
      color: #b1b1b1; }
  .auction .price {
    font-size: 1em;
    font-weight: 600;
    text-align: left; }
    .auction .price small {
      font-size: 11px; }
    .auction .price .input {
      border: 1px solid #2c2c2c;
      text-align: center;
      padding: 3px; }
      .auction .price .input .eur_price, .auction .price .input .usd_price {
        font-size: 18px;
        font-weight: 400; }
      .auction .price .input b {
        font-size: 18px;
        font-weight: 600; }
    .auction .price .converted {
      font-size: 13px;
      font-weight: 300; }
    .auction .price .best_offer {
      margin-top: 15px; }
      .auction .price .best_offer .input {
        background-color: #fff;
        color: #2c2c2c;
        border: 1px solid #2c2c2c; }
    .auction .price .btn {
      margin-top: 15px; }
    .auction .price .initial_price .input {
      background-color: #2c2c2c;
      color: #fff; }
  .auction .desc .txt {
    margin-bottom: 15px;
    text-align: left; }
    @media (min-width: 768px) {
      .auction .desc .txt {
        margin-bottom: 0;
        -moz-columns-count: 2;
        column-count: 2;
        column-gap: 2em; } }
  .auction .content {
    margin-bottom: 20px; }
    .auction .content:after {
      clear: both;
      content: " ";
      display: table; }
    @media (min-width: 768px) {
      .auction .content .thumb {
        width: 23.72881%;
        float: left;
        margin-right: 1.69492%; }
      .auction .content .desc {
        width: 49.15254%;
        float: left;
        margin-right: 1.69492%; }
      .auction .content .price {
        width: 23.72881%;
        float: right;
        margin-right: 0; } }
  .auction .more {
    height: 0;
    margin-bottom: 20px; }
  .auction .desc_long {
    width: 100%; }
    @media (min-width: 768px) {
      .auction .desc_long {
        width: 49.15254%;
        float: left;
        margin-right: 1.69492%; } }
    @media (min-width: 992px) {
      .auction .desc_long {
        width: 40.67797%;
        float: left;
        margin-right: 1.69492%; } }
  @media (min-width: 768px) {
    .auction .attributes {
      width: 23.72881%;
      float: left;
      margin-right: 1.69492%; } }
  @media (min-width: 992px) {
    .auction .attributes {
      width: 23.72881%;
      float: left;
      margin-right: 1.69492%; } }
  .auction .attributes .attribute {
    margin-bottom: 15px;
    min-height: 40px;
    padding: 8px 12px;
    color: #fff; }
    .auction .attributes .attribute img {
      height: 30px; }

.modal_offer h2 {
  font-weight: 400;
  margin-top: 10px; }

.modal_offer .user-info-auction .table {
  width: 100%; }
  .modal_offer .user-info-auction .table td {
    padding: 6px 0;
    font-size: 13px; }

.modal_offer .label-amount {
  color: #2c2c2c; }

.modal_offer .accept-cgv small {
  font-weight: 400;
  color: #2c2c2c; }

.modal_offer .current-best {
  display: inline; }
  .modal_offer .current-best.hide {
    display: none; }

.contact {
  margin-top: 40px;
  margin-bottom: 40px; }
  .contact:after {
    clear: both;
    content: " ";
    display: table; }
  .contact .contact-info h2 {
    text-transform: uppercase; }
  @media (min-width: 768px) {
    .contact .contact-info {
      width: 49.15254%;
      float: left;
      margin-right: 1.69492%; }
      .contact .contact-info i {
        font-size: 20px;
        color: #818181;
        vertical-align: top;
        padding: 3px 0; }
      .contact .contact-info p {
        padding-left: 15px; } }
  @media (min-width: 768px) {
    .contact .contact-form {
      width: 49.15254%;
      float: right;
      margin-right: 0; } }
  .contact .contact-form label {
    text-transform: uppercase;
    font-weight: 800;
    font-size: 13px; }
  .contact .contact-form .btn {
    float: right;
    text-transform: uppercase;
    font-weight: 800;
    font-size: 13px; }

.blog {
  margin-top: 30px; }
  .blog .categories {
    margin-bottom: 20px; }
    .blog .categories h3 {
      margin-top: 10px;
      font-weight: 400; }
    .blog .categories a {
      display: block;
      font-size: .95em;
      font-weight: 500;
      padding: 8px;
      color: #5f5f5f;
      border-bottom: 1px solid #b1b1b1; }
      .blog .categories a:hover, .blog .categories a.active {
        color: #df2523;
        border-color: #5f5f5f; }
    @media (min-width: 768px) {
      .blog .categories {
        width: 32.20339%;
        float: left;
        margin-right: 1.69492%; } }
  @media (min-width: 768px) {
    .blog .posts {
      width: 66.10169%;
      float: right;
      margin-right: 0;
      padding-left: 15px;
      padding-right: 15px; }
      .blog .posts:after {
        clear: both;
        content: " ";
        display: table; } }
  .blog .posts .post {
    margin-bottom: 15px; }
    @media (min-width: 768px) {
      .blog .posts .post {
        width: 48.27586%;
        float: left;
        margin-bottom: 3.44828%; }
        .blog .posts .post:nth-child(2n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .blog .posts .post:nth-child(2n + 2) {
          margin-left: 51.72414%;
          margin-right: -100%;
          clear: none; } }
  .blog .post_detail {
    margin-bottom: 30px; }
    .blog .post_detail .date {
      color: #df2523;
      font-weight: 600;
      font-size: .9em;
      text-align: center;
      margin-bottom: 20px; }
    .blog .post_detail .txt {
      display: block;
      max-width: 700px;
      margin: 0 auto; }
  .blog .related_posts .block {
    margin-bottom: 15px; }
    @media (min-width: 768px) {
      .blog .related_posts .block {
        width: 32.20339%;
        float: left; }
        .blog .related_posts .block:nth-child(3n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .blog .related_posts .block:nth-child(3n + 2) {
          margin-left: 33.89831%;
          margin-right: -100%;
          clear: none; }
        .blog .related_posts .block:nth-child(3n + 3) {
          margin-left: 67.79661%;
          margin-right: -100%;
          clear: none; } }
  .blog .cat_detail h2 {
    margin-top: 10px; }
  .blog .cat_detail .txt {
    margin: 10px 0; }

.annonce .img_zoom {
  width: 100%; }

.annonce-show {
  margin-top: 15px; }
  .annonce-show hr {
    border-width: 2px; }
  .annonce-show .img_zoom {
    width: 100%; }
  .annonce-show .btn.gray-light {
    width: 200px;
    display: block;
    margin: 0 auto;
    margin-bottom: 15px; }
    @media (min-width: 768px) {
      .annonce-show .btn.gray-light {
        width: 400px; } }
  .annonce-show .block-two {
    margin-bottom: 20px; }
    .annonce-show .block-two:last-child {
      margin-bottom: 20px; }
  .annonce-show .desc-long {
    line-height: 26px; }
  .annonce-show .info > h2 {
    margin-top: 0;
    margin-bottom: 0;
    text-transform: uppercase; }
  .annonce-show .info hr {
    margin-top: 10px;
    margin-bottom: 20px; }
  .annonce-show .info .content {
    text-align: justify;
    margin-bottom: 15px; }
  .annonce-show .info .action {
    display: inline-block;
    text-align: center; }
    @media (max-width: 767px) {
      .annonce-show .info .action {
        width: 100%; } }
    @media (min-width: 768px) {
      .annonce-show .info .action {
        text-align: right; } }
  .annonce-show .info .label {
    width: 100%;
    margin-bottom: 15px; }
    @media (min-width: 992px) {
      .annonce-show .info .label {
        width: 100%;
        float: right; } }
  .annonce-show .info .btn {
    width: 100%;
    margin-bottom: 15px; }
    @media (min-width: 992px) {
      .annonce-show .info .btn {
        width: 100%;
        float: right; } }

.annonce-list {
  margin-top: 15px; }
  .annonce-list .btn.gray-light {
    width: 200px;
    display: block;
    margin: 0 auto;
    margin-bottom: 15px; }
    @media (min-width: 768px) {
      .annonce-list .btn.gray-light {
        width: 400px; } }
  .annonce-list .btn {
    margin-bottom: 15px; }
  .annonce-list .txt {
    text-align: justify; }

.cms {
  margin-top: 15px; }
  .cms .cms-img {
    margin-bottom: 30px; }
    .cms .cms-img img {
      width: 100%; }
    @media (min-width: 768px) {
      .cms .cms-img {
        width: 31.03448%;
        float: left;
        margin-right: 3.44828%; } }
  .cms .cms-content {
    margin-bottom: 30px;
    text-align: justify; }
    @media (min-width: 768px) {
      .cms .cms-content {
        width: 65.51724%;
        float: right;
        margin-right: 0; } }
    .cms .cms-content .txt {
      width: 100%; }

.faq {
  margin-top: 30px;
  @extends .container; }
  @media (min-width: 768px) {
    .faq .menu-faq {
      width: 31.03448%;
      float: left;
      margin-right: 3.44828%; } }
  .faq .list-faq .item:first-child strong {
    margin-top: 0; }
  .faq .list-faq .item p {
    text-align: justify;
    line-height: 1.5em; }
  .faq .list-faq strong {
    color: #df2523;
    font-size: 18px;
    margin-top: 20px;
    margin-bottom: 10px;
    display: block; }
  @media (min-width: 768px) {
    .faq .list-faq {
      width: 65.51724%;
      float: right;
      margin-right: 0; } }

.products-section .products-filter {
  margin-bottom: 15px; }
  @media (min-width: 992px) {
    .products-section .products-filter .filters {
      padding-left: 25px; } }
  .products-section .products-filter h3 {
    margin-top: 0; }
  @media (min-width: 768px) {
    .products-section .products-filter {
      width: 15.25424%;
      float: left;
      margin-right: 1.69492%; } }
  .products-section .products-filter label {
    font-weight: 500;
    font-size: 13px;
    color: #5f5f5f; }
  .products-section .products-filter strong {
    margin-top: 15px;
    margin-bottom: 15px;
    display: block; }
  .products-section .products-filter ul {
    margin-left: 15px; }
  .products-section .products-filter #reset-filter {
    margin-top: 15px; }

.products-section .products-list-full {
  width: 100%; }
  .products-section .products-list-full .loader {
    text-align: center;
    color: #df2523; }
  .products-section .products-list-full .row {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
    .products-section .products-list-full .row:after {
      content: " ";
      display: block;
      clear: both; }
  .products-section .products-list-full .product_block {
    margin-bottom: 15px; }
    @media (min-width: 768px) {
      .products-section .products-list-full .product_block {
        width: 32.20339%;
        float: left; }
        .products-section .products-list-full .product_block:nth-child(3n + 1) {
          margin-left: 0;
          margin-right: -100%;
          clear: both;
          margin-left: 0; }
        .products-section .products-list-full .product_block:nth-child(3n + 2) {
          margin-left: 33.89831%;
          margin-right: -100%;
          clear: none; }
        .products-section .products-list-full .product_block:nth-child(3n + 3) {
          margin-left: 67.79661%;
          margin-right: -100%;
          clear: none; } }

@media (min-width: 768px) {
  .products-section .products-list {
    width: 83.05085%;
    float: right;
    margin-right: 0; } }

.products-section .products-list .loader {
  text-align: center;
  color: #df2523; }

.products-section .products-list .row {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .products-section .products-list .row:after {
    content: " ";
    display: block;
    clear: both; }

.products-section .products-list .product_block {
  margin-bottom: 15px; }
  @media (min-width: 768px) {
    .products-section .products-list .product_block {
      width: 32.20339%;
      float: left; }
      .products-section .products-list .product_block:nth-child(3n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      .products-section .products-list .product_block:nth-child(3n + 2) {
        margin-left: 33.89831%;
        margin-right: -100%;
        clear: none; }
      .products-section .products-list .product_block:nth-child(3n + 3) {
        margin-left: 67.79661%;
        margin-right: -100%;
        clear: none; } }

.product-section {
  margin-top: 15px;
  overflow: hidden; }
  .product-section .form-promoted .row {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
    .product-section .form-promoted .row:after {
      content: " ";
      display: block;
      clear: both; }
  .product-section .form-promoted .col-6 {
    display: block; }
    @media (min-width: 992px) {
      .product-section .form-promoted .col-6 {
        width: 49.15254%;
        float: left;
        margin-right: 1.69492%; } }
  .product-section .form-promoted .col-6:last-of-type {
    display: block; }
    @media (min-width: 992px) {
      .product-section .form-promoted .col-6:last-of-type {
        width: 49.15254%;
        float: right;
        margin-right: 0; } }
  .product-section .block-header {
    text-align: center; }
    .product-section .block-header h2 {
      text-transform: uppercase; }
  .product-section .block-two .left img {
    width: 100%; }
  .product-section .block-third {
    margin-bottom: 15px; }
  .product-section .desc_long {
    margin-top: 15px; }
  .product-section .features {
    margin-top: 15px; }
  @media (min-width: 992px) {
    .product-section .content .txt {
      -moz-column-count: 2;
      -webkit-column-count: 2;
      column-count: 2; } }
  .product-section .btn {
    text-transform: uppercase; }
  @media (min-width: 768px) {
    .product-section .mw {
      width: 44.44444%;
      float: left; }
      .product-section .mw:nth-child(2n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      .product-section .mw:nth-child(2n + 2) {
        margin-left: 55.55556%;
        margin-right: -100%;
        clear: none; } }

.btn {
  margin-top: 15px; }

.price {
  font-size: .9em;
  font-weight: 400;
  text-align: left; }
  .price small {
    font-size: 11px; }
  .price .input {
    background-color: #2c2c2c;
    color: #fff;
    text-align: center;
    padding: 3px;
    position: relative;
    overflow: hidden; }
    .price .input .usd_price {
      font-weight: 300;
      font-size: 22px; }
    .price .input .eur_price {
      font-size: 18px; }
    .price .input b, .price .input .eur_price {
      font-size: 18px;
      font-weight: 500; }
    .price .input .sticker {
      position: absolute;
      top: 10px;
      left: -30px;
      width: 100px;
      background-color: #df2523;
      font-size: 10px;
      transform: rotate(-35deg); }

@media (min-width: 992px) {
  .product-section .desc_long table {
    width: auto !important; }
    .product-section .desc_long table td {
      padding: 10px;
      width: 50% !important; } }

@media (max-width: 991px) {
  .product-section .desc_long table {
    display: block !important;
    width: 100% !important;
    border: 0; }
  .product-section .desc_long td, .product-section .desc_long th {
    display: block !important;
    width: 100% !important;
    border-left: 0;
    border-top: 0;
    border-right: 0;
    padding: 10px 0; }
  .product-section .desc_long iframe {
    display: block !important;
    width: 100% !important; } }

.columns .block > div {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 300px;
  overflow: hidden;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

.columns .btn {
  width: 100%;
  height: 100%; }
  .columns .btn p {
    text-transform: none; }

.sector .btn.active {
  border: 2px solid #df2523; }

.choice .item {
  margin-top: 0;
  height: 150px;
  border: 0 solid #2c2c2c;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding: 0;
  position: relative; }
  .choice .item span {
    background-color: rgba(223, 37, 35, 0.8);
    color: #fff;
    width: 100%;
    padding: 10px 0;
    display: block;
    position: absolute;
    bottom: 0; }
  .choice .item.active {
    border: 3px solid #df2523; }

@media (min-width: 769px) {
  .choice > .is-half:last-of-type > .columns {
    border-left: 2px solid #df2523; } }

.productsContainer h2 {
  padding: 30px;
  text-align: center; }

.product-form .sector .btn {
  background: #ddd; }
  .product-form .sector .btn:hover {
    background-color: #ccc; }

.sale .hero {
  display: table;
  width: 100%; }
  .sale .hero .img {
    display: table-cell;
    width: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
  .sale .hero .txt {
    padding: 30px 15px;
    display: table-cell;
    width: 50%; }

.sale .form .form-2:after {
  clear: both;
  content: " ";
  display: table; }

@media (min-width: 768px) {
  .sale .form .form-2 .form-group {
    width: 48.27586%;
    float: left; }
    .sale .form .form-2 .form-group:nth-child(2n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    .sale .form .form-2 .form-group:nth-child(2n + 2) {
      margin-left: 51.72414%;
      margin-right: -100%;
      clear: none; } }

.sale .form .form-4:after {
  clear: both;
  content: " ";
  display: table; }

@media (min-width: 768px) {
  .sale .form .form-4 .form-group {
    width: 23.72881%;
    float: left; }
    .sale .form .form-4 .form-group:nth-child(4n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    .sale .form .form-4 .form-group:nth-child(4n + 2) {
      margin-left: 25.42373%;
      margin-right: -100%;
      clear: none; }
    .sale .form .form-4 .form-group:nth-child(4n + 3) {
      margin-left: 50.84746%;
      margin-right: -100%;
      clear: none; }
    .sale .form .form-4 .form-group:nth-child(4n + 4) {
      margin-left: 76.27119%;
      margin-right: -100%;
      clear: none; } }

.sale .product-item {
  padding: 30px;
  margin-bottom: 15px; }
  .sale .product-item .trash {
    margin-top: -10px;
    font-size: 30px; }

.sale .btn-add {
  width: 100%;
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 14px;
  line-height: 1.42857;
  color: #5f5f5f;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 0;
  margin-bottom: 15px; }
  .sale .btn-add i {
    float: right;
    font-size: 20px; }
  .sale .btn-add span {
    float: left;
    text-transform: none;
    font-weight: bold;
    color: #2c2c2c; }

.sale .files {
  margin-top: 23px; }
  .sale .files .inputfile + label {
    background-color: #ddd;
    height: 34px;
    margin-bottom: 0;
    color: #2c2c2c; }

.sale .spare-part label {
  font-weight: 400; }

@media (min-width: 768px) {
  .spare-machine-list {
    width: 15.25424%;
    float: left;
    margin-right: 1.69492%; } }

@media (min-width: 768px) {
  .spare-parts-list {
    width: 83.05085%;
    float: right;
    margin-right: 0; } }

.spare-parts-list .addrow {
  margin-bottom: 10px; }

.spare-parts-list table tr.expired {
  background-color: #eee; }

.list-group-item a:active {
  color: #2c2c2c; }

.list-group-item.active a, .list-group-item.active a:active, .list-group-item.active a:hover {
  color: #fff; }

.tutorial {
  margin-top: 30px; }
  @media (min-width: 992px) {
    .tutorial .tutorial-filter {
      width: 23.72881%;
      float: left;
      margin-right: 1.69492%; } }
  @media (min-width: 992px) {
    .tutorial .tutorial-list {
      width: 74.57627%;
      float: right;
      margin-right: 0; } }
  @media (min-width: 768px) {
    .tutorial .tutorial-list .block {
      width: 32.20339%;
      float: left; }
      .tutorial .tutorial-list .block:nth-child(3n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      .tutorial .tutorial-list .block:nth-child(3n + 2) {
        margin-left: 33.89831%;
        margin-right: -100%;
        clear: none; }
      .tutorial .tutorial-list .block:nth-child(3n + 3) {
        margin-left: 67.79661%;
        margin-right: -100%;
        clear: none; } }

.tutoDetail video {
  width: 100%; }

@media (min-width: 768px) {
  .tutoDetail .tutoLeft > div {
    position: relative;
    width: 100%;
    height: 100%; }
    .tutoDetail .tutoLeft > div video {
      position: absolute;
      top: 50%;
      transform: translateY(-50%); } }

#canvas {
  margin: 0 auto;
  display: block;
  width: 716px; }

.tutorial-btn {
  display: table;
  width: 716px;
  margin: 0 auto; }
  .tutorial-btn > * {
    display: table-cell;
    vertical-align: bottom; }
  .tutorial-btn .count {
    text-align: center; }
  .tutorial-btn button {
    background: none;
    background-color: #df2523;
    box-shadow: none;
    border: none;
    color: #fff;
    padding-top: 2px; }
  .tutorial-btn .prev {
    float: left; }
  .tutorial-btn .next {
    float: right; }

.rates-right {
  display: inline-block; }
  @media (min-width: 768px) {
    .rates-right {
      float: right; } }

.trees .trees-filter {
  margin-bottom: 15px; }
  @media (min-width: 768px) {
    .trees .trees-filter {
      width: 23.72881%;
      float: left;
      margin-right: 1.69492%; } }
  @media (min-width: 992px) {
    .trees .trees-filter {
      width: 15.25424%;
      float: left;
      margin-right: 1.69492%; } }

@media (min-width: 768px) {
  .trees .trees-list {
    width: 74.57627%;
    float: right;
    margin-right: 0; } }

@media (min-width: 992px) {
  .trees .trees-list {
    width: 83.05085%;
    float: right;
    margin-right: 0; } }

@media (min-width: 768px) {
  .trees .trees-list .block {
    width: 32.20339%;
    float: left; }
    .trees .trees-list .block:nth-child(3n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both;
      margin-left: 0; }
    .trees .trees-list .block:nth-child(3n + 2) {
      margin-left: 33.89831%;
      margin-right: -100%;
      clear: none; }
    .trees .trees-list .block:nth-child(3n + 3) {
      margin-left: 67.79661%;
      margin-right: -100%;
      clear: none; } }

.iframe-ticket {
  width: 100%;
  height: 100%;
  min-height: 800px; }

.cloud-list .list-group-item {
  padding: 0;
  border: 0;
  margin-bottom: 15px; }

.cloud-list .list-group-heading {
  display: block;
  background: #df2523;
  padding: 10px;
  color: #fff;
  text-transform: uppercase;
  text-align: center; }
  .cloud-list .list-group-heading > * {
    display: inline; }

.cloud-list .child-container-1 .list-group-item {
  padding: 10px 50px 0 50px; }
  .cloud-list .child-container-1 .list-group-item .list-group-heading {
    padding: 6px; }

.cloud-list .child-container-1 > a, .cloud-list .child-container-1 > span {
  display: block;
  padding: 8px;
  text-align: center; }

.cloud-list .child-container-1 .sub-child-container > a, .cloud-list .child-container-1 .sub-child-container > span {
  display: block;
  padding: 8px;
  text-align: center; }

.cloud-list .list-group-item-sub {
  padding: 0 70px; }

@media (min-width: 768px) {
  .checkout_virement .instruction {
    width: 66.10169%;
    float: left;
    margin-right: 1.69492%; } }

@media (min-width: 768px) {
  .checkout_virement .document {
    width: 32.20339%;
    float: right;
    margin-right: 0; } }

.modal-survey {
  padding: 15px;
  background-color: #fff; }
  .modal-survey .row {
    margin-left: 0;
    margin-right: 0; }
  .modal-survey .page-info {
    text-align: center;
    padding-bottom: 15px; }

.question.question-input {
  padding-top: 10px; }

.question .left {
  width: 50%;
  vertical-align: middle;
  display: inline-block;
  text-align: right;
  padding-right: 30px; }

.question .custom-checkbox {
  display: inline-block;
  vertical-align: middle; }

.question .main-label {
  text-align: right; }

.question .main-rates {
  transition: all 100ms;
  vertical-align: middle;
  display: inline-block;
  opacity: 0; }
  .question .main-rates a {
    cursor: default; }
  .question .main-rates.is-visible {
    opacity: 1; }
    .question .main-rates.is-visible a {
      cursor: pointer; }

.question .col-6 {
  width: 49.15254%;
  float: left; }
  .question .col-6:nth-child(2n + 1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both;
    margin-left: 0; }
  .question .col-6:nth-child(2n + 2) {
    margin-left: 50.84746%;
    margin-right: -100%;
    clear: none; }
  .question .col-6 label {
    width: 100%;
    padding-right: 55px; }

.question .right {
  width: 50%; }

.question .textarea {
  width: 100%;
  height: 100px; }

.smiley-color {
  margin-right: 4px;
  width: 44px;
  height: 44px;
  transition: all 100ms;
  border: 2px solid transparent;
  background-repeat: no-repeat;
  background-position: center;
  border-radius: 50%; }
  .smiley-color:hover {
    transform: scale(1.2);
    box-shadow: 0px 3px  6px 1px #ddd; }

.is-selected .smiley-color {
  box-shadow: 0px 3px  6px 1px #ddd;
  border-color: #aaa;
  transform: scale(1.2); }

.custom-checkbox {
  padding-left: 15px;
  display: inline-block;
  vertical-align: middle;
  position: relative; }

.custom-checkbox label {
  display: block !important;
  position: absolute;
  top: 0; }

.custom-checkbox label::before {
  content: "";
  position: absolute;
  width: 17px;
  height: 17px;
  top: 0;
  left: 0;
  border: 1px solid #cccccc;
  border-radius: 3px;
  background-color: #fff;
  -webkit-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out, color 0.15s ease-in-out;
  transition: border 0.15s ease-in-out, color 0.15s ease-in-out; }

.custom-checkbox label::after {
  display: inline-block;
  position: absolute;
  width: 16px;
  height: 16px;
  left: 0;
  top: 0;
  padding-left: 3px;
  padding-top: 1px;
  font-size: 11px;
  color: #555555; }

.custom-checkbox input[type="checkbox"] {
  opacity: 0;
  z-index: 1; }

.custom-checkbox input[type="checkbox"]:focus + label::before {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

.custom-checkbox input[type="checkbox"]:checked + label::after {
  font-family: 'FontAwesome';
  content: "\f00c"; }

.custom-checkbox input[type="checkbox"]:disabled + label {
  opacity: 0.65; }

.custom-checkbox input[type="checkbox"]:disabled + label::before {
  background-color: #eeeeee;
  cursor: not-allowed; }

.custom-checkbox.custom-checkbox-circle label::before {
  border-radius: 50%; }

.custom-checkbox.custom-checkbox-inline {
  margin-top: 0; }

.custom-checkbox-primary input[type="checkbox"]:checked + label::before {
  background-color: #428bca;
  border-color: #428bca; }

.custom-checkbox-primary input[type="checkbox"]:checked + label::after {
  color: #fff; }

.custom-checkbox-danger input[type="checkbox"]:checked + label::before {
  background-color: #d9534f;
  border-color: #d9534f; }

.custom-checkbox-danger input[type="checkbox"]:checked + label::after {
  color: #fff; }

.custom-checkbox-info input[type="checkbox"]:checked + label::before {
  background-color: #5bc0de;
  border-color: #5bc0de; }

.custom-checkbox-info input[type="checkbox"]:checked + label::after {
  color: #fff; }

.custom-checkbox-warning input[type="checkbox"]:checked + label::before {
  background-color: #f0ad4e;
  border-color: #f0ad4e; }

.custom-checkbox-warning input[type="checkbox"]:checked + label::after {
  color: #fff; }

.custom-checkbox-success input[type="checkbox"]:checked + label::before {
  background-color: #5cb85c;
  border-color: #5cb85c; }

.custom-checkbox-success input[type="checkbox"]:checked + label::after {
  color: #fff; }

.radio {
  padding-left: 20px; }

.radio label {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 5px; }

.radio label::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 17px;
  height: 17px;
  left: 0;
  margin-left: -20px;
  border: 1px solid #cccccc;
  border-radius: 50%;
  background-color: #fff;
  -webkit-transition: border 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out;
  transition: border 0.15s ease-in-out; }

.radio label::after {
  display: inline-block;
  position: absolute;
  content: " ";
  width: 11px;
  height: 11px;
  left: 3px;
  top: 3px;
  margin-left: -20px;
  border-radius: 50%;
  background-color: #555555;
  -webkit-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  transform: scale(0, 0);
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33); }

.radio input[type="radio"] {
  opacity: 0;
  z-index: 1; }

.radio input[type="radio"]:focus + label::before {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

.radio input[type="radio"]:checked + label::after {
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  transform: scale(1, 1); }

.radio input[type="radio"]:disabled + label {
  opacity: 0.65; }

.radio input[type="radio"]:disabled + label::before {
  cursor: not-allowed; }

.radio.radio-inline {
  margin-top: 0; }

.radio-primary input[type="radio"] + label::after {
  background-color: #428bca; }

.radio-primary input[type="radio"]:checked + label::before {
  border-color: #428bca; }

.radio-primary input[type="radio"]:checked + label::after {
  background-color: #428bca; }

.radio-danger input[type="radio"] + label::after {
  background-color: #d9534f; }

.radio-danger input[type="radio"]:checked + label::before {
  border-color: #d9534f; }

.radio-danger input[type="radio"]:checked + label::after {
  background-color: #d9534f; }

.radio-info input[type="radio"] + label::after {
  background-color: #5bc0de; }

.radio-info input[type="radio"]:checked + label::before {
  border-color: #5bc0de; }

.radio-info input[type="radio"]:checked + label::after {
  background-color: #5bc0de; }

.radio-warning input[type="radio"] + label::after {
  background-color: #f0ad4e; }

.radio-warning input[type="radio"]:checked + label::before {
  border-color: #f0ad4e; }

.radio-warning input[type="radio"]:checked + label::after {
  background-color: #f0ad4e; }

.radio-success input[type="radio"] + label::after {
  background-color: #5cb85c; }

.radio-success input[type="radio"]:checked + label::before {
  border-color: #5cb85c; }

.radio-success input[type="radio"]:checked + label::after {
  background-color: #5cb85c; }

.modal-popin {
  padding: 15px;
  background-color: #fff; }
  .modal-popin h3 {
    font-size: 1.5em;
    margin-bottom: 30px; }
  .modal-popin .ligne {
    display: flex; }
    .modal-popin .ligne .left {
      width: 50%; }
      .modal-popin .ligne .left iframe {
        width: 100%;
        min-height: 400px; }
    .modal-popin .ligne .right {
      width: 50%;
      padding-left: 15px;
      padding-right: 15px; }
  .modal-popin .full iframe {
    width: 100%;
    min-height: 600px;
    margin: auto; }

@media (min-width: 768px) {
  .rentals-list .rental-item {
    display: table; } }

.rentals-list .rental-item .rental-img {
  padding: 10px 0; }
  @media (min-width: 768px) {
    .rentals-list .rental-item .rental-img {
      padding: 10px;
      display: table-cell;
      width: 30%; } }

.rentals-list .rental-item .rental-info {
  width: 100%; }

.rentals-list .rental-item .rental-desc {
  width: 100%;
  padding-left: 55px; }

.rentals-list .rental-item .rental-availability {
  padding: 10px 0;
  vertical-align: middle; }
  @media (min-width: 768px) {
    .rentals-list .rental-item .rental-availability {
      padding: 10px;
      display: table-cell;
      width: 25%; } }
  .rentals-list .rental-item .rental-availability .rental-indicator {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    vertical-align: middle; }
  .rentals-list .rental-item .rental-availability .rental-indicator-text {
    padding-left: 15px;
    display: inline-block;
    vertical-align: middle; }
  .rentals-list .rental-item .rental-availability .rental-available {
    background-color: #5cb85c;
    box-shadow: 0 0 5px 4px rgba(92, 184, 92, 0.6); }
  .rentals-list .rental-item .rental-availability .rental-unavailable {
    background-color: #d9534f;
    box-shadow: 0 0 5px 4px rgba(217, 83, 79, 0.6); }

.rentals-list .rental-item .rental-title {
  padding: 10px 0; }
  @media (min-width: 768px) {
    .rentals-list .rental-item .rental-title {
      vertical-align: middle;
      padding: 10px;
      display: table-cell;
      width: 30%; } }

.rentals-list .rental-item .rental-btn {
  padding: 10px 0; }
  @media (min-width: 768px) {
    .rentals-list .rental-item .rental-btn {
      vertical-align: middle;
      padding: 10px;
      display: table-cell;
      width: 15%; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9fc3VzeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL19zdXN5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvX3N1LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvc3UvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L3N1L19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L3N1L192YWxpZGF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvc3UvX2dyaWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvX2Zsb2F0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L19zaGFyZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvX3N1cHBvcnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fc3VwcG9ydC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19wcmVmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc3VwcG9ydC9fYmFja2dyb3VuZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19ib3gtc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3JlbS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX2luc3BlY3Quc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19vdXRwdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19kaXJlY3Rpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19iYWNrZ3JvdW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3NoYXJlZC9fbWFyZ2lucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zaGFyZWQvX3BhZGRpbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvZmxvYXQvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9mbG9hdC9fc3Bhbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9mbG9hdC9fZW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L2Zsb2F0L19pc29sYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L192YWxpZGF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ3JpZHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ib3gtc2l6aW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2JhY2tncm91bmQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19jb250YWluZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19zcGFuLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ3V0dGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2lzb2xhdGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19nYWxsZXJ5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fcm93cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX21hcmdpbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19wYWRkaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fYmxlZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19icmVha3BvaW50LXBsdWdpbi5zY3NzIiwiX3Zhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fb3BhY2l0eS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtZmlsdGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fc2l6ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190YWItZm9jdXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtb3ZlcmZsb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2FsZXJ0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2VudGVyLWJsb2NrLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLWZyYW1ld29yay5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcHJpbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19zY2FmZm9sZGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3R5cGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdGFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZm9ybXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19idXR0b25zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fY29tcG9uZW50LWFuaW1hdGlvbnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19uYXZzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbmF2YmFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbGFiZWxzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdGh1bWJuYWlscy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2FsZXJ0cy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2xpc3QtZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19jbG9zZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wb3BvdmVycy5zY3NzIiwidmVuZG9yL19tZW51LnNjc3MiLCJ2ZW5kb3Ivc2xpY2suc2NzcyIsInZlbmRvci9wZGZqcy5zY3NzIiwidmVuZG9yL2J1bG1hLnNhc3MiLCJ2ZW5kb3IvdXRpbGl0aWVzL21peGlucy5zYXNzIiwidmVuZG9yL3V0aWxpdGllcy9pbml0aWFsLXZhcmlhYmxlcy5zYXNzIiwidmVuZG9yL2dyaWQvY29sdW1ucy5zYXNzIiwiX2Jhc2Uuc2NzcyIsImNvbXBvbmVudHMvX2ZvbnRzLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3NpZGViYXIuc2NzcyIsImNvbXBvbmVudHMvX21lbnUuc2NzcyIsImNvbXBvbmVudHMvX2hlcm8uc2NzcyIsImNvbXBvbmVudHMvX2Jsb2NrLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2NoZWNrYm94LnNjc3MiLCJjb21wb25lbnRzL19icG9wdXAuc2NzcyIsImNvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJsYXlvdXQvX2hvbWUuc2NzcyIsImxheW91dC9fbG9naW4uc2NzcyIsImxheW91dC9fYWNjb3VudC5zY3NzIiwibGF5b3V0L19hdWN0aW9uLnNjc3MiLCJsYXlvdXQvX2NvbnRhY3Quc2NzcyIsImxheW91dC9fYmxvZy5zY3NzIiwibGF5b3V0L19hZHMuc2NzcyIsImxheW91dC9fY21zLnNjc3MiLCJsYXlvdXQvX2ZhcS5zY3NzIiwibGF5b3V0L19wcm9kdWN0cy5zY3NzIiwibGF5b3V0L19zYWxlLnNjc3MiLCJsYXlvdXQvX3R1dG9yaWFsLnNjc3MiLCJsYXlvdXQvX29yZGVyLnNjc3MiLCJsYXlvdXQvX3RyZWUuc2NzcyIsImxheW91dC9fY2xvdWQuc2NzcyIsImxheW91dC9fY2hlY2tvdXQuc2NzcyIsImxheW91dC9fc3VydmV5LnNjc3MiLCJsYXlvdXQvX3BvcGluLnNjc3MiLCJsYXlvdXQvX3JlbnRhbC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0ICdVVEYtOCc7XG5AaW1wb3J0IFwic3VzeVwiO1xuXG5AaW1wb3J0IFwidmFyXCI7XG4vLyBDb3JlIHZhcmlhYmxlcyBhbmQgbWl4aW5zXG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9taXhpbnNcIjtcblxuLy8gUmVzZXQgYW5kIGRlcGVuZGVuY2llc1xuQGltcG9ydCBcImJvb3RzdHJhcC9ub3JtYWxpemVcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcHJpbnRcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvZ2x5cGhpY29uc1wiO1xuXG4vLyBDb3JlIENTU1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY2FmZm9sZGluZ1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90eXBlXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2NvZGVcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvZ3JpZFwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90YWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvZm9ybXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYnV0dG9uc1wiO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0IFwiYm9vdHN0cmFwL2NvbXBvbmVudC1hbmltYXRpb25zXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2Ryb3Bkb3duc1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9idXR0b24tZ3JvdXBzXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL2lucHV0LWdyb3Vwc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9uYXZzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL25hdmJhclwiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9icmVhZGNydW1ic1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9wYWdpbmF0aW9uXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL3BhZ2VyXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2xhYmVsc1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9iYWRnZXNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvanVtYm90cm9uXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3RodW1ibmFpbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYWxlcnRzXCI7XG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL3Byb2dyZXNzLWJhcnNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvbWVkaWFcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbGlzdC1ncm91cFwiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9wYW5lbHNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvcmVzcG9uc2l2ZS1lbWJlZFwiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC93ZWxsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9jbG9zZVwiO1xuXG4vLyBDb21wb25lbnRzIHcvIEphdmFTY3JpcHRcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvbW9kYWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Rvb2x0aXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcG9wb3ZlcnNcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvY2Fyb3VzZWxcIjtcblxuLy8gVXRpbGl0eSBjbGFzc2VzXG4vLyBAaW1wb3J0IFwiYm9vdHN0cmFwL3V0aWxpdGllc1wiO1xuLy8gQGltcG9ydCBcImJvb3RzdHJhcC9yZXNwb25zaXZlLXV0aWxpdGllc1wiO1xuXG5AaW1wb3J0IFwidmVuZG9yL21lbnVcIjtcbkBpbXBvcnQgXCJ2ZW5kb3Ivc2xpY2tcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvcGRmanNcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvYnVsbWFcIjtcblxuQGltcG9ydCBcImJhc2VcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvZm9udHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2lkZWJhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWVudVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVyb1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYmxvY2tcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvb3RlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2hlY2tib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Jwb3B1cFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFibGVcIjtcblxuXG5AaW1wb3J0IFwibGF5b3V0L2hvbWVcIjtcbkBpbXBvcnQgXCJsYXlvdXQvbG9naW5cIjtcbkBpbXBvcnQgXCJsYXlvdXQvYWNjb3VudFwiO1xuQGltcG9ydCBcImxheW91dC9hdWN0aW9uXCI7XG5AaW1wb3J0IFwibGF5b3V0L2NvbnRhY3RcIjtcbkBpbXBvcnQgXCJsYXlvdXQvYmxvZ1wiO1xuQGltcG9ydCBcImxheW91dC9hZHNcIjtcbkBpbXBvcnQgXCJsYXlvdXQvY21zXCI7XG5AaW1wb3J0IFwibGF5b3V0L2ZhcVwiO1xuQGltcG9ydCBcImxheW91dC9wcm9kdWN0c1wiO1xuQGltcG9ydCBcImxheW91dC9zYWxlXCI7XG5AaW1wb3J0IFwibGF5b3V0L3R1dG9yaWFsXCI7XG5AaW1wb3J0IFwibGF5b3V0L29yZGVyXCI7XG5AaW1wb3J0IFwibGF5b3V0L3RyZWVcIjtcbkBpbXBvcnQgXCJsYXlvdXQvY2xvdWRcIjtcbkBpbXBvcnQgXCJsYXlvdXQvY2hlY2tvdXRcIjtcbkBpbXBvcnQgXCJsYXlvdXQvc3VydmV5XCI7XG5AaW1wb3J0IFwibGF5b3V0L3BvcGluXCI7XG5AaW1wb3J0IFwibGF5b3V0L3JlbnRhbFwiO1xuIiwiLy8gU3VzeVxuLy8gPT09PVxuXG5AaW1wb3J0ICdzdXN5L2xhbmd1YWdlL3N1c3knO1xuIiwiLy8gU3VzeSBOZXh0IFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PVxuXG4kc3VzeS12ZXJzaW9uOiAyLjE7XG5cbkBpbXBvcnQgXCIuLi9zdVwiO1xuQGltcG9ydCBcIi4uL291dHB1dC9mbG9hdFwiO1xuXG5AaW1wb3J0IFwic3VzeS9zZXR0aW5nc1wiO1xuQGltcG9ydCBcInN1c3kvdmFsaWRhdGlvblwiO1xuQGltcG9ydCBcInN1c3kvZ3JpZHNcIjtcbkBpbXBvcnQgXCJzdXN5L2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJzdXN5L2NvbnRleHRcIjtcbkBpbXBvcnQgXCJzdXN5L2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJzdXN5L2NvbnRhaW5lclwiO1xuQGltcG9ydCBcInN1c3kvc3BhblwiO1xuQGltcG9ydCBcInN1c3kvZ3V0dGVyc1wiO1xuQGltcG9ydCBcInN1c3kvaXNvbGF0ZVwiO1xuQGltcG9ydCBcInN1c3kvZ2FsbGVyeVwiO1xuQGltcG9ydCBcInN1c3kvcm93c1wiO1xuQGltcG9ydCBcInN1c3kvbWFyZ2luc1wiO1xuQGltcG9ydCBcInN1c3kvcGFkZGluZ1wiO1xuQGltcG9ydCBcInN1c3kvYmxlZWRcIjtcbkBpbXBvcnQgXCJzdXN5L2JyZWFrcG9pbnQtcGx1Z2luXCI7XG4iLCIvLyBTdVxuLy8gPT1cblxuQGltcG9ydCBcInN1L3V0aWxpdGllc1wiO1xuQGltcG9ydCBcInN1L3NldHRpbmdzXCI7XG5AaW1wb3J0IFwic3UvdmFsaWRhdGlvblwiO1xuQGltcG9ydCBcInN1L2dyaWRcIjtcbiIsIi8vIE1hcCBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBUcnVuY2F0ZSBMaXN0XG4vLyAtLS0tLS0tLS0tLS0tXG4vLyAtIFJldHVybiBhIGxpc3QsIHRydW5jYXRlZCB0byBhIGdpdmVuIGxlbmd0aFxuQGZ1bmN0aW9uIF9zdXN5LXRydW5jYXRlLWxpc3QoXG4gICRsaXN0LFxuICAkbGVuZ3RoXG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRsaXN0KSB7XG4gICAgJF9yZXR1cm46IGlmKCRpIDw9ICRsZW5ndGgsIGFwcGVuZCgkX3JldHVybiwgbnRoKCRsaXN0LCAkaSkpLCAkX3JldHVybik7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIERlZXAgR2V0XG4vLyAtLS0tLS0tLVxuLy8gLSBSZXR1cm4gYSB2YWx1ZSBkZWVwIGluIG5lc3RlZCBtYXBzXG5AZnVuY3Rpb24gX3N1c3ktZGVlcC1nZXQoXG4gICRtYXAsXG4gICRrZXlzLi4uXG4pIHtcbiAgJF9yZXR1cm46ICRtYXA7XG5cbiAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgQGlmIHR5cGUtb2YoJF9yZXR1cm4pID09IG1hcCB7XG4gICAgICAkX3JldHVybjogbWFwLWdldCgkX3JldHVybiwgJGtleSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBEZWVwIFNldFxuLy8gLS0tLS0tLS1cbi8vIC0gU2V0IGEgdmFsdWUgZGVlcCBpbiBuZXN0ZWQgbWFwc1xuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtc2V0KFxuICAkbWFwLFxuICAka2V5cy12YWx1ZS4uLlxuKSB7XG4gICRfdmFsdWU6IG50aCgka2V5cy12YWx1ZSwgLTEpO1xuICAkX2tleXM6IF9zdXN5LXRydW5jYXRlLWxpc3QoJGtleXMtdmFsdWUsIGxlbmd0aCgka2V5cy12YWx1ZSkgLSAxKTtcbiAgJF9sZW5ndGg6IGxlbmd0aCgkX2tleXMpO1xuICAkX3JldHVybjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkX2xlbmd0aCB7XG4gICAgJF9uOiAwIC0gJGk7XG4gICAgJF9sZXZlbDogX3N1c3ktdHJ1bmNhdGUtbGlzdCgkX2tleXMsICRfbGVuZ3RoICsgJF9uKTtcbiAgICAkX2xldmVsOiBfc3VzeS1kZWVwLWdldCgkbWFwLCAkX2xldmVsLi4uKTtcbiAgICAkX21lcmdlOiBudGgoJF9rZXlzLCAkX24pO1xuICAgICRfbWVyZ2U6ICgkX21lcmdlOiAkX3ZhbHVlKTtcbiAgICAkX3JldHVybjogaWYoJF9sZXZlbCwgbWFwLW1lcmdlKCRfbGV2ZWwsICRfbWVyZ2UpLCAkX21lcmdlKTtcbiAgICAkX3ZhbHVlOiAkX3JldHVybjtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gRGVlcCBNZXJnZVxuLy8gLS0tLS0tLS0tLVxuLy8gUmV0dXJuIDIgb2JqZWN0cyBvZiBhbnkgZGVwdGgsIG1lcmdlZFxuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtbWVyZ2UoXG4gICRtYXAxLFxuICAkbWFwMlxuKSB7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcDEpICE9IG1hcCBvciB0eXBlLW9mKCRtYXAyKSAhPSBtYXAge1xuICAgICRtYXAxOiAkbWFwMjtcbiAgfSBAZWxzZSB7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAyIHtcbiAgICAgICRfbmV3OiAoJGtleTogX3N1c3lfZGVlcC1tZXJnZShtYXAtZ2V0KCRtYXAxLCAka2V5KSwgJHZhbHVlKSk7XG4gICAgICAkbWFwMTogbWFwLW1lcmdlKCRtYXAxLCAkX25ldyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbWFwMTtcbn1cblxuXG4vLyBEZWVwIEhhcy1LZXlcbi8vIC0tLS0tLS0tLS0tLVxuLy8gLSBSZXR1cm4gdHJ1ZSBpZiBhIGRlZXAga2V5IGV4aXN0c1xuQGZ1bmN0aW9uIF9zdXN5LWRlZXAtaGFzLWtleShcbiAgJG1hcCxcbiAgJGtleXMuLi5cbikge1xuICAkX3JldHVybjogbnVsbDtcbiAgJF9zdG9wOiBmYWxzZTtcblxuICBAZWFjaCAka2V5IGluICRrZXlzIHtcbiAgICBAaWYgbm90KCRfc3RvcCkge1xuICAgICAgJF9yZXR1cm46IG1hcC1oYXMta2V5KCRtYXAsICRrZXkpO1xuICAgIH1cblxuICAgIEBpZiAkX3JldHVybiB7XG4gICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF9zdG9wOiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTZXR0aW5nc1xuLy8gPT09PT09PT1cblxuLy8gVmVyc2lvblxuLy8gLS0tLS0tLVxuJHN1LXZlcnNpb246IDEuMTtcblxuXG4vLyBEZWZhdWx0IFNldHRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBUaGUgYmFzaWMgc2V0dGluZ3NcbiRzdXN5LWRlZmF1bHRzOiAoXG4gIGNvbHVtbnM6IDQsXG4gIGd1dHRlcnM6IC4yNSxcbik7XG5cblxuLy8gVXNlciBTZXR0aW5nc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gLSBEZWZpbmUgdGhlICRzdXN5IHZhcmlhYmxlIHdpdGggYSBtYXAgb2YgeW91ciBvd24gc2V0dGluZ3MuXG4vLyAtIFNldCBFSVRIRVIgJGNvbHVtbi13aWR0aCBPUiAkY29udGFpbmVyXG4vLyAtIFVzZSAkY29sdW1uLXdpZHRoIGZvciBzdGF0aWMgbGF5b3V0c1xuJHN1c3k6ICgpICFkZWZhdWx0O1xuXG5cbi8vIFN1c3kgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFBSSVZBVEU6IEFkZCBkZWZhdWx0cyB0byBTdXN5XG5AbWl4aW4gc3VzeS1kZWZhdWx0cyhcbiAgJGRlZmF1bHRzXG4pIHtcbiAgJHN1c3ktZGVmYXVsdHM6IG1hcC1tZXJnZSgkc3VzeS1kZWZhdWx0cywgJGRlZmF1bHRzKSAhZ2xvYmFsO1xufVxuXG5cbi8vIFN1c3kgU2V0XG4vLyAtLS0tLS0tLVxuLy8gQ2hhbmdlIG9uZSBzZXR0aW5nXG4vLyAtICRrZXkgICA6IHNldHRpbmcgbmFtZVxuLy8gLSAkdmFsdWUgOiBzZXR0aW5nIHZhbHVlXG5AbWl4aW4gc3VzeS1zZXQoXG4gICRrZXktdmFsdWUuLi5cbikge1xuICAkc3VzeTogX3N1c3ktZGVlcC1zZXQoJHN1c3ksICRrZXktdmFsdWUuLi4pICFnbG9iYWw7XG59XG5cblxuLy8gU3VzeSBHZXRcbi8vIC0tLS0tLS0tXG4vLyBSZXR1cm4gb25lIHNldHRpbmcgZnJvbSBhIGdyaWRcbi8vIC0gJGtleSAgICAgOiA8a2V5d29yZD5cbi8vIC0gJGxheW91dCAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gc3VzeS1nZXQoXG4gICRrZXksXG4gICRsYXlvdXQ6IG1hcC1tZXJnZSgkc3VzeS1kZWZhdWx0cywgJHN1c3kpXG4pIHtcbiAgJGxheW91dDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgJF9vcHRpb25zOiAkbGF5b3V0ICRzdXN5ICRzdXN5LWRlZmF1bHRzO1xuICAkX2JyZWFrOiBmYWxzZTtcbiAgJF9yZXR1cm46IG51bGw7XG5cbiAgQGVhY2ggJG9wdCBpbiAkX29wdGlvbnMge1xuICAgIEBpZiB0eXBlLW9mKCRvcHQpID09IG1hcCBhbmQgbm90KCRfYnJlYWspIHtcbiAgICAgICRfa2V5c2V0OiBfc3VzeS1kZWVwLWhhcy1rZXkoJG9wdCwgJGtleS4uLik7XG4gICAgICBAaWYgJF9rZXlzZXQge1xuICAgICAgICAkX3JldHVybjogX3N1c3ktZGVlcC1nZXQoJG9wdCwgJGtleS4uLik7XG4gICAgICAgICRfYnJlYWs6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIE1hdGggVmFsaWRhdGlvblxuLy8gPT09PT09PT09PT09PT09XG5cblxuLy8gVmFsaWQgQ29sdW1uc1xuLy8gLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgdGhhdCBhIGNvbHVtbiBzZXR0aW5nIGlzIHZhbGlkLlxuQGZ1bmN0aW9uIHZhbGlkLWNvbHVtbnMoXG4gICRjb2x1bW5zLFxuICAkc2lsZW50OiBmYWxzZVxuKSB7XG4gICR0eXBlOiB0eXBlLW9mKCRjb2x1bW5zKTtcbiAgJHJldHVybjogbnVsbDtcblxuICBAaWYgJHR5cGUgPT0gbnVtYmVyIGFuZCB1bml0bGVzcygkY29sdW1ucykge1xuICAgICRyZXR1cm46ICRjb2x1bW5zO1xuICB9IEBlbHNlIGlmICR0eXBlID09IGxpc3Qge1xuICAgICRmYWlsOiBudWxsO1xuICAgIEBlYWNoICRjb2wgaW4gJGNvbHVtbnMge1xuICAgICAgQGlmIHR5cGUtb2YoJGNvbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgJGZhaWw6ICRmYWlsIG9yIGlmKHVuaXRsZXNzKCRjb2wpLCBudWxsLCB0cnVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkZmFpbDogdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJHJldHVybjogaWYoJGZhaWwsICRyZXR1cm4sICRjb2x1bW5zKTtcbiAgfVxuXG4gIEBpZiAkcmV0dXJuICE9ICRjb2x1bW5zIGFuZCBub3QoJHNpbGVudCkge1xuICAgICRyZXR1cm46IG51bGw7XG4gICAgJHdhcm46ICckY29sdW1ucyBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyIG9yIGxpc3Qgb2YgdW5pdGxlc3MgbnVtYmVycy4nO1xuICAgIEB3YXJuICR3YXJuICsgJyBDdXJyZW50IHZhbHVlIFsjeyR0eXBlfV06ICN7JGNvbHVtbnN9JztcbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cblxuXG4vLyBWYWxpZCBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBDaGVjayB0aGF0IGEgZ3V0dGVyIHNldHRpbmcgaXMgdmFsaWQuXG5AZnVuY3Rpb24gdmFsaWQtZ3V0dGVycyhcbiAgJGd1dHRlcnMsXG4gICRzaWxlbnQ6IGZhbHNlXG4pIHtcbiAgJHR5cGU6IHR5cGUtb2YoJGd1dHRlcnMpO1xuICAkcmV0dXJuOiBudWxsO1xuXG4gIEBpZiAkdHlwZSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRndXR0ZXJzKSB7XG4gICAgJHJldHVybjogJGd1dHRlcnM7XG4gIH0gQGVsc2UgaWYgbm90KCRzaWxlbnQpIHtcbiAgICAkd2FybjogJyRndXR0ZXJzIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXIuJztcbiAgICBAd2FybiAkd2FybiArICcgQ3VycmVudCB2YWx1ZSBbI3skdHlwZX1dOiAjeyRndXR0ZXJzfSc7XG4gIH1cblxuICBAcmV0dXJuICRyZXR1cm47XG59XG4iLCIvLyBDb2x1bW4gbWF0aFxuLy8gPT09PT09PT09PT1cblxuXG4vLyBJcyBTeW1tZXRyaWNhbFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBhIGdyaWQgaXMgc3ltbWV0cmljYWwuXG4vLyAtIFskY29sdW1uc10gICA6IDxudW1iZXI+IHwgPGxpc3Q+XG5AZnVuY3Rpb24gaXMtc3ltbWV0cmljYWwoXG4gICRjb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zKVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgQHJldHVybiBpZih0eXBlLW9mKCRjb2x1bW5zKSA9PSBudW1iZXIsICRjb2x1bW5zLCBudWxsKTtcbn1cblxuXG4vLyBTdXN5IENvdW50XG4vLyAtLS0tLS0tLS0tXG4vLyBGaW5kIHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiBhIGdpdmVuIGxheW91dFxuLy8gLSBbJGNvbHVtbnNdICAgOiA8bnVtYmVyPiB8IDxsaXN0PlxuQGZ1bmN0aW9uIHN1c3ktY291bnQoXG4gICRjb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zKVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgQHJldHVybiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucykgb3IgbGVuZ3RoKCRjb2x1bW5zKTtcbn1cblxuXG4vLyBTdXN5IFN1bVxuLy8gLS0tLS0tLS1cbi8vIEZpbmQgdGhlIHRvdGFsIHN1bSBvZiBjb2x1bW4tdW5pdHMgaW4gYSBsYXlvdXRcbi8vIC0gWyRjb2x1bW5zXSAgIDogPG51bWJlcj4gfCA8bGlzdD5cbi8vIC0gWyRndXR0ZXJzXSAgIDogPHJhdGlvPlxuLy8gLSBbJHNwcmVhZF0gICAgOiBmYWxzZS9uYXJyb3cgfCB3aWRlIHwgd2lkZXJcbkBmdW5jdGlvbiBzdXN5LXN1bShcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucyksXG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMpLFxuICAkc3ByZWFkICAgOiBmYWxzZVxuKSB7XG4gICRjb2x1bW5zOiB2YWxpZC1jb2x1bW5zKCRjb2x1bW5zKTtcbiAgJGd1dHRlcnM6IHZhbGlkLWd1dHRlcnMoJGd1dHRlcnMpO1xuXG4gICRzcHJlYWQ6IGlmKCRzcHJlYWQgPT0gd2lkZSwgMCwgaWYoJHNwcmVhZCA9PSB3aWRlciwgMSwgLTEpKTtcbiAgJGd1dHRlci1zdW06IChzdXN5LWNvdW50KCRjb2x1bW5zKSArICRzcHJlYWQpICogJGd1dHRlcnM7XG4gICRjb2x1bW4tc3VtOiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucyk7XG5cbiAgQGlmIG5vdCgkY29sdW1uLXN1bSkge1xuICAgIEBlYWNoICRjb2x1bW4gaW4gJGNvbHVtbnMge1xuICAgICAgJGNvbHVtbi1zdW06ICgkY29sdW1uLXN1bSBvciAwKSArICRjb2x1bW47XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkY29sdW1uLXN1bSArICRndXR0ZXItc3VtO1xufVxuXG5cbi8vIFN1c3kgU2xpY2Vcbi8vIC0tLS0tLS0tLS1cbi8vIFJldHVybiBhIHN1YnNldCBvZiBjb2x1bW5zIGF0IGEgZ2l2ZW4gbG9jYXRpb24uXG4vLyAtICRzcGFuICAgICAgICA6IDxudW1iZXI+XG4vLyAtICRsb2NhdGlvbiAgICA6IDxudW1iZXI+XG4vLyAtIFskY29sdW1uc10gICA6IDxudW1iZXI+IHwgPGxpc3Q+XG5AZnVuY3Rpb24gc3VzeS1zbGljZShcbiAgJHNwYW4sXG4gICRsb2NhdGlvbixcbiAgJGNvbHVtbnM6IHN1c3ktZ2V0KGNvbHVtbnMpXG4pIHtcbiAgJGNvbHVtbnM6IHZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkc3ViLWNvbHVtbnM6ICRzcGFuO1xuXG4gIEBpZiBub3QoaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpKSB7XG4gICAgJGxvY2F0aW9uOiAkbG9jYXRpb24gb3IgMTtcbiAgICAkc3ViLWNvbHVtbnM6ICgpO1xuICAgIEBmb3IgJGkgZnJvbSAkbG9jYXRpb24gdG8gKCRsb2NhdGlvbiArICRzcGFuKSB7XG4gICAgICAkc3ViLWNvbHVtbnM6IGFwcGVuZCgkc3ViLWNvbHVtbnMsIG50aCgkY29sdW1ucywgJGkpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdWItY29sdW1ucztcbn1cblxuXG4vLyBTdXN5XG4vLyAtLS0tXG4vLyBGaW5kIHRoZSBzdW0gb2YgYSBjb2x1bW4tc3Bhbi5cbi8vIC0gJHNwYW4gICAgICAgIDogPG51bWJlcj5cbi8vIC0gJGxvY2F0aW9uICAgIDogPG51bWJlcj5cbi8vIC0gWyRjb2x1bW5zXSAgIDogPG51bWJlcj4gfCA8bGlzdD5cbi8vIC0gWyRndXR0ZXJzXSAgIDogPHJhdGlvPlxuLy8gLSBbJHNwcmVhZF0gICAgOiBmYWxzZS9uYXJyb3cgfCB3aWRlIHwgd2lkZXJcbkBmdW5jdGlvbiBzdXN5KFxuICAkc3BhbixcbiAgJGxvY2F0aW9uICAgICA6IGZhbHNlLFxuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucyksXG4gICRndXR0ZXJzICAgICAgOiBzdXN5LWdldChndXR0ZXJzKSxcbiAgJHNwcmVhZCAgICAgICA6IGZhbHNlXG4pIHtcbiAgJGNvbHVtbnM6IHZhbGlkLWNvbHVtbnMoJGNvbHVtbnMpO1xuICAkZ3V0dGVyczogdmFsaWQtZ3V0dGVycygkZ3V0dGVycyk7XG4gICRzcGFuOiBzdXN5LXNsaWNlKCRzcGFuLCAkbG9jYXRpb24sICRjb2x1bW5zKTtcblxuICBAcmV0dXJuIHN1c3ktc3VtKCRzcGFuLCAkZ3V0dGVycywgJHNwcmVhZCk7XG59XG4iLCIvLyBGbG9hdCBBUElcbi8vID09PT09PT09PVxuXG5AaW1wb3J0IFwic2hhcmVkXCI7XG5cbkBpbXBvcnQgXCJmbG9hdC9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJmbG9hdC9zcGFuXCI7XG5AaW1wb3J0IFwiZmxvYXQvZW5kXCI7XG5AaW1wb3J0IFwiZmxvYXQvaXNvbGF0ZVwiO1xuIiwiLy8gU2hhcmVkIEFQSVxuLy8gPT09PT09PT09PVxuXG5AaW1wb3J0IFwic3VwcG9ydFwiO1xuXG5AaW1wb3J0IFwic2hhcmVkL2luc3BlY3RcIjtcbkBpbXBvcnQgXCJzaGFyZWQvb3V0cHV0XCI7XG5AaW1wb3J0IFwic2hhcmVkL2RpcmVjdGlvblwiO1xuQGltcG9ydCBcInNoYXJlZC9iYWNrZ3JvdW5kXCI7XG5AaW1wb3J0IFwic2hhcmVkL2NvbnRhaW5lclwiO1xuQGltcG9ydCBcInNoYXJlZC9tYXJnaW5zXCI7XG5AaW1wb3J0IFwic2hhcmVkL3BhZGRpbmdcIjtcblxuXG5cbiIsIi8vIFN1c3kgQnJvd3NlciBTdXBwb3J0XG4vLyA9PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwic3VwcG9ydC9zdXBwb3J0XCI7XG5AaW1wb3J0IFwic3VwcG9ydC9wcmVmaXhcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JveC1zaXppbmdcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L3JlbVwiO1xuQGltcG9ydCBcInN1cHBvcnQvY2xlYXJmaXhcIjtcbiIsIi8vIEJyb3dzZXIgU3VwcG9ydFxuLy8gPT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgU3VwcG9ydCBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgdXNlLWN1c3RvbTogKFxuICAgIGNsZWFyZml4OiBmYWxzZSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB0cnVlLFxuICAgIGJhY2tncm91bmQtb3B0aW9uczogZmFsc2UsXG4gICAgYnJlYWtwb2ludDogdHJ1ZSxcbiAgICBib3gtc2l6aW5nOiB0cnVlLFxuICAgIHJlbTogdHJ1ZSxcbiAgKSxcbikpO1xuXG5cbi8vIFN1c3kgU3VwcG9ydCBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2VuZCBwcm9wZXJ0eS12YWx1ZSBwYWlycyB0byB0aGUgcHJvcGVyIHN1cHBvcnQgbW9kdWxlcy5cbi8vIC0gJHByb3AgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgIDogPGNzcyB2YWx1ZT5cbkBtaXhpbiBzdXN5LXN1cHBvcnQoXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgLy8gQmFja2dyb3VuZCBTdXBwb3J0XG4gIEBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJhY2tncm91bmQtaW1hZ2UoJHZhbCk7XG4gIH0gQGVsc2UgaWYgJHByb3AgPT0gYmFja2dyb3VuZC1zaXplIHtcbiAgICBAaW5jbHVkZSBzdXN5LWJhY2tncm91bmQtc2l6ZSgkdmFsKTtcbiAgfSBAZWxzZSBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLW9yaWdpbiB7XG4gICAgQGluY2x1ZGUgc3VzeS1iYWNrZ3JvdW5kLW9yaWdpbigkdmFsKTtcbiAgfSBAZWxzZSBpZiAkcHJvcCA9PSBiYWNrZ3JvdW5kLWNsaXAge1xuICAgIEBpbmNsdWRlIHN1c3ktYmFja2dyb3VuZC1jbGlwKCR2YWwpO1xuICB9XG5cbiAgLy8gQm94LVNpemluZyBTdXBwb3J0XG4gIEBlbHNlIGlmICRwcm9wID09IGJveC1zaXppbmcge1xuICAgIEBpbmNsdWRlIHN1c3ktYm94LXNpemluZygkdmFsKTtcbiAgfVxuXG4gIC8vIFJlbSBTdXBwb3J0XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBzdXN5LXJlbSgkcHJvcCwgJHZhbCk7XG4gIH1cbn1cblxuXG4vLyBTdXN5IFN1cHBvcnQgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBzdXBwb3J0IG9mIGEgZmVhdHVyZS5cbi8vIC0gJGZlYXR1cmUgICAgICAgOiA8c3RyaW5nPlxuLy8gICAgICAgICAgICAgICAgICAgIC0gZS5nIFwicmVtXCIgb3IgXCJib3gtc2l6aW5nXCJcbi8vIC0gJHJlcXVpcmVtZW50cyAgOiA8bWFwPlxuLy8gICAgICAgICAgICAgICAgICAgIC0gZS5nICh2YXJpYWJsZTogcmVtLXdpdGgtcHgtZmFsbGJhY2ssIG1peGluOiByZW0pXG4vLyAtICR3YXJuICAgICAgICAgIDogPGJvb2w+XG5AZnVuY3Rpb24gc3VzeS1zdXBwb3J0KFxuICAkZmVhdHVyZSxcbiAgJHJlcXVpcmVtZW50czogKCksXG4gICR3YXJuOiB0cnVlXG4pIHtcbiAgJF9zdXBwb3J0OiBzdXN5LWdldCh1c2UtY3VzdG9tICRmZWF0dXJlKTtcblxuICBAaWYgJF9zdXBwb3J0IHtcbiAgICAkX2ZhaWw6IGZhbHNlO1xuXG4gICAgQGVhY2ggJF90eXBlLCAkX3JlcSBpbiAkcmVxdWlyZW1lbnRzIHtcbiAgICAgIEBlYWNoICRfaSBpbiAkX3JlcSB7XG5cbiAgICAgICAgJF9wYXNzIDogbnVsbDtcblxuICAgICAgICAvLyBzYXNzIDMuNSBvciBncmVhdGVyXG4gICAgICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoJ2dldC1mdW5jdGlvbicpIHtcbiAgICAgICAgICAkX3Bhc3M6IGNhbGwoZ2V0LWZ1bmN0aW9uKHVucXVvdGUoXCIjeyRfdHlwZX0tZXhpc3RzXCIpKSwgJF9pKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzYXNzIDMuNCBvciBsZXNzXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkX3Bhc3M6IGNhbGwodW5xdW90ZShcIiN7JF90eXBlfS1leGlzdHNcIiksICRfaSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbm90KCRfcGFzcykge1xuICAgICAgICAgICRfZmFpbDogdHJ1ZTtcbiAgICAgICAgICBAaWYgJHdhcm4ge1xuICAgICAgICAgICAgQHdhcm4gXCJZb3UgcmVxdWVzdGVkIGN1c3RvbSBzdXBwb3J0IG9mICN7JGZlYXR1cmV9LCBidXQgdGhlICN7JF9pfSAjeyRfdHlwZX0gaXMgbm90IGF2YWlsYWJsZS5cIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkX3N1cHBvcnQ6IGlmKCRfZmFpbCwgZmFsc2UsICRfc3VwcG9ydCk7XG4gIH1cblxuICBAcmV0dXJuICRfc3VwcG9ydDtcbn1cbiIsIi8vIFN1c3kgUHJlZml4XG4vLyA9PT09PT09PT09PVxuXG4vLyBQcmVmaXhcbi8vIC0tLS0tLVxuLy8gT3V0cHV0IHNpbXBsZSBwcmVmaXhlZCBwcm9wZXJ0aWVzLlxuLy8gLSAkcHJvcCAgICAgIDogPGNzcyBwcm9wZXJ0eT5cbi8vIC0gJHZhbCAgICAgICA6IDxjc3MgdmFsdWU+XG4vLyAtIFskcHJlZml4XSAgOiA8YnJvd3NlciBwcmVmaXggbGlzdD5cbkBtaXhpbiBzdXN5LXByZWZpeChcbiAgJHByb3AsXG4gICR2YWwsXG4gICRwcmVmaXg6IG9mZmljaWFsXG4pIHtcbiAgQGVhY2ggJGZpeCBpbiAkcHJlZml4IHtcbiAgICAkZml4OiBpZigkZml4ID09IG9mZmljaWFsIG9yIG5vdCgkZml4KSwgJHByb3AsICctI3skZml4fS0jeyRwcm9wfScpO1xuICAgIEBpbmNsdWRlIHN1c3ktcmVtKCRmaXgsICR2YWwpO1xuICB9XG59XG4iLCIvLyBCYWNrZ3JvdW5kIFByb3BlcnRpZXNcbi8vID09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEJhY2tncm91bmQgSW1hZ2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG4vLyAtICRpbWFnZTogPGJhY2tncm91bmQtaW1hZ2U+XG5AbWl4aW4gc3VzeS1iYWNrZ3JvdW5kLWltYWdlKFxuICAkaW1hZ2Vcbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJhY2tncm91bmQtaW1hZ2UsIChtaXhpbjogYmFja2dyb3VuZC1pbWFnZSksICR3YXJuOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtaW1hZ2UoJGltYWdlLi4uKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJGltYWdlO1xuICB9XG59XG5cbi8vIFN1c3kgQmFja2dyb3VuZCBTaXplXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuLy8gLSAkaW1hZ2U6IDxiYWNrZ3JvdW5kLXNpemU+XG5AbWl4aW4gc3VzeS1iYWNrZ3JvdW5kLXNpemUoXG4gICRzaXplXG4pIHtcbiAgQGlmIHN1c3ktc3VwcG9ydChiYWNrZ3JvdW5kLW9wdGlvbnMsIChtaXhpbjogYmFja2dyb3VuZC1zaXplKSkge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtc2l6ZSgkc2l6ZSk7XG4gIH0gQGVsc2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG4gIH1cbn1cblxuLy8gU3VzeSBCYWNrZ3JvdW5kIE9yaWdpblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG4vLyAtICRpbWFnZTogPGJhY2tncm91bmQtb3JpZ2luPlxuQG1peGluIHN1c3ktYmFja2dyb3VuZC1vcmlnaW4oXG4gICRvcmlnaW5cbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJhY2tncm91bmQtb3B0aW9ucywgKG1peGluOiBiYWNrZ3JvdW5kLW9yaWdpbikpIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLW9yaWdpbigkb3JpZ2luKTtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46ICRvcmlnaW47XG4gIH1cbn1cblxuLy8gU3VzeSBCYWNrZ3JvdW5kIENsaXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbi8vIC0gJGltYWdlOiA8YmFja2dyb3VuZC1jbGlwPlxuQG1peGluIHN1c3ktYmFja2dyb3VuZC1jbGlwKFxuICAkY2xpcFxuKSB7XG4gIEBpZiBzdXN5LXN1cHBvcnQoYmFja2dyb3VuZC1vcHRpb25zLCAobWl4aW46IGJhY2tncm91bmQtY2xpcCkpIHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNsaXAoJGNsaXApO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNsaXA6ICRjbGlwO1xuICB9XG59XG4iLCIvLyBCb3ggU2l6aW5nXG4vLyA9PT09PT09PT09XG5cbi8vIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBwcm92aWRlIGEgc2ltcGxlIGZhbGxiYWNrLlxuLy8gLSAkbW9kZWw6IDxib3gtc2l6aW5nPlxuQG1peGluIHN1c3ktYm94LXNpemluZyhcbiAgJG1vZGVsOiBjb250ZW50LWJveFxuKSB7XG4gIEBpZiAkbW9kZWwge1xuICAgIEBpZiBzdXN5LXN1cHBvcnQoYm94LXNpemluZywgKG1peGluOiBib3gtc2l6aW5nKSwgJHdhcm46IGZhbHNlKSB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKCRtb2RlbCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcHJlZml4OiAobW96LCB3ZWJraXQsIG9mZmljaWFsKTtcbiAgICAgIEBpbmNsdWRlIHN1c3ktcHJlZml4KGJveC1zaXppbmcsICRtb2RlbCwgJHByZWZpeCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyByZW0gU3VwcG9ydFxuLy8gPT09PT09PT09PT1cblxuLy8gcmVtXG4vLyAtLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBvdXRwdXQgZGlyZWN0bHkuXG4vLyAtICRwcm9wICA6IDxjc3MgcHJvcGVydHk+XG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XG5AbWl4aW4gc3VzeS1yZW0oXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgJF9yZXFzOiAoXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxuICAgIG1peGluOiByZW0sXG4gICk7XG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xuICAgIEBpbmNsdWRlIHJlbSgkcHJvcCwgJHZhbCk7XG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3B9OiAkdmFsO1xuICB9XG59XG4iLCIvLyBTdXN5IEZhbGxiYWNrIENsZWFyZml4XG4vLyA9PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBDaGVjayBmb3IgYW4gZXhpc3Rpbmcgc3VwcG9ydCBtaXhpbiwgb3IgcHJvdmlkZSBhIHNpbXBsZSBmYWxsYmFjay5cbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcbiAgQGlmIHN1c3ktc3VwcG9ydChjbGVhcmZpeCwgKG1peGluOiBjbGVhcmZpeCkpIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfSBAZWxzZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBEZWJ1Z2dpbmdcbi8vID09PT09PT09PVxuXG4vLyBTdXN5IEluc3BlY3Rcbi8vIC0tLS0tLS0tLS0tLVxuLy8gT3V0cHV0IGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBpbnNwZWN0LlxuLy8gLSAkbWl4aW4gIDogPHN1c3kgbWl4aW4+XG4vLyAtICRpbnNwZWMgICA6IDxtaXhpbiBhcmd1bWVudHM+XG5cbkBtaXhpbiBzdXN5LWluc3BlY3QoXG4gICRtaXhpbixcbiAgJGluc3BlY3Rcbikge1xuICAkc2hvdzogZmFsc2U7XG5cbiAgQGVhY2ggJGl0ZW0gaW4gJGluc3BlY3Qge1xuICAgIEBpZiBpbmRleCgkaXRlbSwgaW5zcGVjdCkge1xuICAgICAgJHNob3c6IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQGlmICRzaG93IG9yIHN1c3ktZ2V0KGRlYnVnIGluc3BlY3QpIHtcbiAgICAtc3VzeS0jeyRtaXhpbn06IGluc3BlY3QoJGluc3BlY3QpO1xuICB9XG59XG4iLCIvLyBPdXRwdXRcbi8vID09PT09PVxuXG4vLyBPdXRwdXRcbi8vIC0tLS0tLVxuLy8gT3V0cHV0IENTUyB3aXRoIHByb3BlciBicm93c2VyIHN1cHBvcnQuXG4vLyAtICRzdHlsZXMgIDogPG1hcCBvZiBjc3MgcHJvcGVydHktdmFsdWUgcGFpcnM+XG5AbWl4aW4gb3V0cHV0KFxuICAkc3R5bGVzXG4pIHtcbiAgQGVhY2ggJHByb3AsICR2YWwgaW4gJHN0eWxlcyB7XG4gICAgQGluY2x1ZGUgc3VzeS1zdXBwb3J0KCRwcm9wLCAkdmFsKTtcbiAgfVxufVxuIiwiLy8gRGlyZWN0aW9uIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09XG5cbi8vIFN1c3kgRmxvdyBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBmbG93OiBsdHIsXG4pKTtcblxuLy8gR2V0IERpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSAnZnJvbScgb3IgJ3RvJyBkaXJlY3Rpb24gb2YgYSBsdHIgb3IgcnRsIGZsb3cuXG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG4vLyAtIFska2V5XSAgIDogZnJvbSB8IHRvXG5AZnVuY3Rpb24gZ2V0LWRpcmVjdGlvbihcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpLFxuICAka2V5OiBmcm9tXG4pIHtcbiAgJHJldHVybjogaWYoJGZsb3cgPT0gcnRsLCAoZnJvbTogcmlnaHQsIHRvOiBsZWZ0KSwgKGZyb206IGxlZnQsIHRvOiByaWdodCkpO1xuICBAcmV0dXJuIG1hcC1nZXQoJHJldHVybiwgJGtleSk7XG59XG5cbi8vIFRvXG4vLyAtLVxuLy8gUmV0dXJuIHRoZSAndG8nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiB0byhcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCB0byk7XG59XG5cbi8vIEZyb21cbi8vIC0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIGRpcmVjdGlvbiBvZiBhIGZsb3dcbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBmdW5jdGlvbiBmcm9tKFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICBAcmV0dXJuIGdldC1kaXJlY3Rpb24oJGZsb3csIGZyb20pO1xufVxuIiwiLy8gR3JpZCBCYWNrZ3JvdW5kIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PVxuLy8gLSBTdWItcGl4ZWwgcm91bmRpbmcgY2FuIGxlYWQgdG8gc2V2ZXJhbCBwaXhlbHMgdmFyaWF0aW9uIGJldHdlZW4gYnJvd3NlcnMuXG5cbi8vIEdyaWQgQmFja2dyb3VuZCBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGltYWdlOiBiYWNrZ3JvdW5kLWltYWdlXG4vLyAtICRzaXplOiBiYWNrZ3JvdW5kLXNpemVcbi8vIC0gJGNsaXA6IGJhY2tncm91bmQtY2xpcFxuLy8gLSBbJGZsb3ddOiBsdHIgfCBydGxcbkBtaXhpbiBiYWNrZ3JvdW5kLWdyaWQtb3V0cHV0IChcbiAgJGltYWdlLFxuICAkc2l6ZTogbnVsbCxcbiAgJGNsaXA6IG51bGwsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaW1hZ2UsXG4gICAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZSxcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogJGNsaXAsXG4gICAgYmFja2dyb3VuZC1jbGlwOiAkY2xpcCxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBmcm9tKCRmbG93KSB0b3AsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gU2hhcmVkIENvbnRhaW5lciBBUElcbi8vID09PT09PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gWyR3aWR0aF0gICAgICAgICA6IDxsZW5ndGg+XG4vLyAtIFskanVzdGlmeV0gICAgICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHRcbi8vIC0gWyRtYXRoXSAgICAgICAgICA6IGZsdWlkIHwgc3RhdGljXG5AbWl4aW4gY29udGFpbmVyLW91dHB1dChcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gICRvdXRwdXQ6IChcbiAgICAjeyRwcm9wZXJ0eX06ICR3aWR0aCBvciAxMDAlLFxuICAgIG1hcmdpbi1sZWZ0OiBudGgoJGp1c3RpZnksIDEpLFxuICAgIG1hcmdpbi1yaWdodDogbnRoKCRqdXN0aWZ5LCAyKSxcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBNYXJnaW5zIEFQSVxuLy8gPT09PT09PT09PT1cblxuLy8gTWFyZ2luIE91dHB1dFxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gLSAkYmVmb3JlICA6IDxsZW5ndGg+XG4vLyAtICRhZnRlciAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBtYXJnaW4tb3V0cHV0KFxuICAkYmVmb3JlLFxuICAkYWZ0ZXIsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuICAkZnJvbTogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIG1hcmdpbi0jeyRmcm9tfTogJGJlZm9yZSxcbiAgICBtYXJnaW4tI3skdG99OiAkYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gUGFkZGluZyBBUElcbi8vID09PT09PT09PT09XG5cbi8vIFBhZGRpbmcgT3V0cHV0XG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gLSAkYmVmb3JlICA6IDxsZW5ndGg+XG4vLyAtICRhZnRlciAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBwYWRkaW5nLW91dHB1dChcbiAgJGJlZm9yZSxcbiAgJGFmdGVyLFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkdG86IHRvKCRmbG93KTtcbiAgJGZyb206IGZyb20oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBwYWRkaW5nLSN7JGZyb219OiAkYmVmb3JlLFxuICAgIHBhZGRpbmctI3skdG99OiAkYWZ0ZXIsXG4gICk7XG5cbiAgQGluY2x1ZGUgb3V0cHV0KCRvdXRwdXQpO1xufVxuIiwiLy8gRmxvYXQgQ29udGFpbmVyIEFQSVxuLy8gPT09PT09PT09PT09PT09PT09PVxuXG4vLyBGbG9hdCBDb250YWluZXJcbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gLSBbJHdpZHRoXSAgICAgICAgIDogPGxlbmd0aD5cbi8vIC0gWyRqdXN0aWZ5XSAgICAgICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodFxuLy8gLSBbJG1hdGhdICAgOiBmbHVpZCB8IHN0YXRpY1xuQG1peGluIGZsb2F0LWNvbnRhaW5lcihcbiAgJHdpZHRoLFxuICAkanVzdGlmeTogYXV0byBhdXRvLFxuICAkcHJvcGVydHk6IG1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIHN1c3ktY2xlYXJmaXg7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1vdXRwdXQoJHdpZHRoLCAkanVzdGlmeSwgJHByb3BlcnR5KTtcbn1cbiIsIi8vIEZsb2F0IFNwYW4gQVBJXG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBGbG9hdCBTcGFuIE91dHB1dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJHdpZHRoICAgICAgICAgICAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG9hdF0gICAgICAgICAgIDogZnJvbSB8IHRvXG4vLyAtIFskbWFyZ2luLWJlZm9yZV0gICA6IDxsZW5ndGg+XG4vLyAtIFskbWFyZ2luLWFmdGVyXSAgICA6IDxsZW5ndGg+XG4vLyAtIFskcGFkZGluZy1iZWZvcmVdICA6IDxsZW5ndGg+XG4vLyAtIFskcGFkZGluZy1hZnRlcl0gICA6IDxsZW5ndGg+XG4vLyAtIFskZmxvd10gICAgICAgICAgICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LXNwYW4tb3V0cHV0KFxuICAkd2lkdGgsXG4gICRmbG9hdCAgICAgICAgICAgIDogZnJvbSxcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsLFxuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGwsXG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbCxcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsLFxuICAkZmxvdyAgICAgICAgICAgICA6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgJHRvICAgICA6IHRvKCRmbG93KTtcbiAgJGZyb20gICA6IGZyb20oJGZsb3cpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aDogJHdpZHRoLFxuICAgIGZsb2F0OiBpZigkZmxvYXQgPT0gdG8sICR0bywgbnVsbCkgb3IgaWYoJGZsb2F0ID09IGZyb20sICRmcm9tLCBudWxsKSxcbiAgICBtYXJnaW4tI3skZnJvbX06ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi0jeyR0b306ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy0jeyRmcm9tfTogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctI3skdG99OiAkcGFkZGluZy1hZnRlcixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG4iLCIvLyBGbG9hdCBFbmRzIEFQSVxuLy8gPT09PT09PT09PT09PT1cblxuLy8gU3VzeSBFbmQgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtIFBSSVZBVEVcbkBpbmNsdWRlIHN1c3ktZGVmYXVsdHMoKFxuICBsYXN0LWZsb3c6IHRvLFxuKSk7XG5cbi8vIEZsb2F0IExhc3Rcbi8vIC0tLS0tLS0tLS1cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBmbG9hdC1sYXN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdyksXG4gICRsYXN0LWZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGxhc3QtZmxvdyksXG4gICRtYXJnaW46IDBcbikge1xuICAkdG86IHRvKCRmbG93KTtcblxuICAkb3V0cHV0OiAoXG4gICAgZmxvYXQ6IGlmKCRsYXN0LWZsb3cgPT0gdG8sICR0bywgbnVsbCksXG4gICAgbWFyZ2luLSN7JHRvfTogJG1hcmdpbixcbiAgKTtcblxuICBAaW5jbHVkZSBvdXRwdXQoJG91dHB1dCk7XG59XG5cbi8vIEZsb2F0IEZpcnN0XG4vLyAtLS0tLS0tLS0tLVxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuQG1peGluIGZsb2F0LWZpcnN0KFxuICAkZmxvdzogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgZmxvdylcbikge1xuICAkb3V0cHV0OiAoXG4gICAgbWFyZ2luLSN7ZnJvbSgkZmxvdyl9OiAwLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIEZsb2F0IElzb2xhdGlvbiBBUElcbi8vID09PT09PT09PT09PT09PT09PT1cblxuLy8gSXNvbGF0ZSBPdXRwdXRcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyAtICRwdXNoICAgIDogPGxlbmd0aD5cbi8vIC0gWyRmbG93XSAgOiBsdHIgfCBydGxcbkBtaXhpbiBpc29sYXRlLW91dHB1dChcbiAgJHB1c2gsXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gICR0bzogdG8oJGZsb3cpO1xuICAkZnJvbTogZnJvbSgkZmxvdyk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb2F0OiAkZnJvbSxcbiAgICBtYXJnaW4tI3skZnJvbX06ICRwdXNoLFxuICAgIG1hcmdpbi0jeyR0b306IC0xMDAlLFxuICApO1xuXG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cbiIsIi8vIFN1c3kgU2V0dGluZ3Ncbi8vID09PT09PT09PT09PT1cblxuLy8gU3VzeSBMYW5ndWFnZSBEZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgY29udGFpbmVyOiBhdXRvLFxuICBtYXRoOiBmbHVpZCxcbiAgb3V0cHV0OiBmbG9hdCxcbiAgY29udGFpbmVyLXBvc2l0aW9uOiBjZW50ZXIsXG4gIGd1dHRlci1wb3NpdGlvbjogYWZ0ZXIsXG4gIGdsb2JhbC1ib3gtc2l6aW5nOiBjb250ZW50LWJveCxcbiAgZGVidWc6IChcbiAgICBpbWFnZTogaGlkZSxcbiAgICBjb2xvcjogcmdiYSgjNjZmLCAuMjUpLFxuICAgIG91dHB1dDogYmFja2dyb3VuZCxcbiAgICB0b2dnbGU6IHRvcCByaWdodCxcbiAgKSxcbikpO1xuXG5cbi8vIFZhbGlkIEtleXdvcmQgVmFsdWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFOiBET05UJ1QgVE9VQ0hcbiRzdXN5LWtleXdvcmRzOiAoXG4gIGNvbnRhaW5lcjogYXV0byxcbiAgbWF0aDogc3RhdGljIGZsdWlkLFxuICBvdXRwdXQ6IGlzb2xhdGUgZmxvYXQsXG4gIGNvbnRhaW5lci1wb3NpdGlvbjogbGVmdCBjZW50ZXIgcmlnaHQsXG4gIGZsb3c6IGx0ciBydGwsXG4gIGd1dHRlci1wb3NpdGlvbjogYmVmb3JlIGFmdGVyIHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljLFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94IGNvbnRlbnQtYm94LFxuICBzcGFuOiBmdWxsLFxuICBlZGdlOiBmaXJzdCBhbHBoYSBsYXN0IG9tZWdhIGZ1bGwsXG4gIHNwcmVhZDogbmFycm93IHdpZGUgd2lkZXIsXG4gIGd1dHRlci1vdmVycmlkZTogbm8tZ3V0dGVycyBuby1ndXR0ZXIsXG4gIHJvbGU6IG5lc3QsXG4gIGNsZWFyOiBicmVhayBub2JyZWFrLFxuICBkZWJ1ZyBpbWFnZTogc2hvdyBoaWRlIHNob3ctY29sdW1ucyBzaG93LWJhc2VsaW5lLFxuICBkZWJ1ZyBvdXRwdXQ6IGJhY2tncm91bmQgb3ZlcmxheSxcbik7XG5cblxuLy8gUGFyc2UgU3VzeSBLZXl3b3JkcyBhbmQgTWFwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLXNldHRpbmdzKFxuICAkc2hvcnQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRzaG9ydCkgPT0gbWFwIHtcbiAgICAkX3JldHVybjogJHNob3J0O1xuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkc2hvcnQge1xuICAgICAgLy8gc3RyaW5nc1xuICAgICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09IHN0cmluZyB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3VzeS1rZXl3b3JkcyB7XG4gICAgICAgICAgQGlmIGluZGV4KCR2YWx1ZSwgJGl0ZW0pIHtcbiAgICAgICAgICAgICRfa2V5LXZhbHVlOiBhcHBlbmQoJGtleSwgJGl0ZW0pO1xuICAgICAgICAgICAgJF9yZXR1cm46IF9zdXN5LWRlZXAtc2V0KCRfcmV0dXJuLCAkX2tleS12YWx1ZS4uLik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAvLyBtYXBzXG4gICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJGl0ZW0pID09IG1hcCB7XG4gICAgICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRpdGVtKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIFBhcnNlIENvbHVtbnMgJiBHdXR0ZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWxheW91dChcbiAgJHNob3J0XG4pIHtcbiAgJF9yZXR1cm46ICgpO1xuICAkX2NvbHVtbnM6ICgpO1xuICAkX2d1dHRlcnM6IG51bGw7XG5cbiAgQGlmIG5vdCh1bml0bGVzcyhudGgobnRoKCRzaG9ydCwgMSksIDEpKSkge1xuICAgICRfZ3V0dGVyczogbnRoKCRzaG9ydCwgMSk7XG4gIH0gQGVsc2Uge1xuICAgICRfY29sdW1uczogKGNvbHVtbnM6IG50aCgkc2hvcnQsIDEpKTtcbiAgICAkX2d1dHRlcnM6IGlmKGxlbmd0aCgkc2hvcnQpID4gMSwgbnRoKCRzaG9ydCwgMiksICRfZ3V0dGVycyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkX2d1dHRlcnMpID09IGxpc3QgYW5kIGxlbmd0aCgkX2d1dHRlcnMpID4gMCB7XG4gICAgJF9ndXR0ZXJzOiAoXG4gICAgICBndXR0ZXJzOiBudGgoJF9ndXR0ZXJzLCAyKSAvIG50aCgkX2d1dHRlcnMsIDEpLFxuICAgICAgY29sdW1uLXdpZHRoOiBudGgoJF9ndXR0ZXJzLCAxKSxcbiAgICApO1xuICB9IEBlbHNlIHtcbiAgICAkX2d1dHRlcnM6IGlmKCRfZ3V0dGVycywgKGd1dHRlcnM6ICRfZ3V0dGVycyksICgpKTtcbiAgfVxuXG4gICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRfY29sdW1ucyk7XG4gICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICRfZ3V0dGVycyk7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cblxuXG4vLyBQYXJzZSBHcmlkL0NvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWdyaWQoXG4gICRzaG9ydDogJHN1c3lcbikge1xuICAkX3JldHVybjogcGFyc2Utc2V0dGluZ3MoJHNob3J0KTtcbiAgJF9sYXlvdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRzaG9ydCkgPT0gbWFwIHtcbiAgICAkX3JldHVybjogJHNob3J0O1xuICB9IEBlbHNlIHtcbiAgICBAZWFjaCAkaXRlbSBpbiAkc2hvcnQge1xuICAgICAgLy8gbnVtYmVyIG9yIGxpc3RcbiAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBudW1iZXIgb3IgdHlwZS1vZigkaXRlbSkgPT0gbGlzdCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRpdGVtKSA9PSBsaXN0IG9yIHVuaXRsZXNzKCRpdGVtKSB7XG4gICAgICAgICAgJF9sYXlvdXQ6IGFwcGVuZCgkX2xheW91dCwgJGl0ZW0pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoY29udGFpbmVyOiAkaXRlbSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJF9sYXlvdXQ6IGlmKGxlbmd0aCgkX2xheW91dCkgPiAwLCBwYXJzZS1sYXlvdXQoJF9sYXlvdXQpLCAkX2xheW91dCk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkX3JldHVybiwgJF9sYXlvdXQpO1xufVxuXG5cbi8vIFBhcnNlIFNwYW5cbi8vIC0tLS0tLS0tLS1cbkBmdW5jdGlvbiBwYXJzZS1zcGFuKFxuICAkc2hvcnQsXG4gICRrZXk6IHNwYW5cbikge1xuICAkX3JldHVybjogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJHNob3J0KSA9PSBtYXAge1xuICAgICRfcmV0dXJuOiAkc2hvcnQ7XG4gIH0gQGVsc2Uge1xuICAgICRfYXQ6IGluZGV4KCRzaG9ydCwgYXQpO1xuXG4gICAgQGlmICRfYXQge1xuICAgICAgJF9sb2NpOiAkX2F0ICsgMTtcbiAgICAgICRfbG9jYXRpb246IG50aCgkc2hvcnQsICRfbG9jaSk7XG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAobG9jYXRpb246ICRfbG9jYXRpb24pKTtcbiAgICAgICRzaG9ydDogc2V0LW50aCgkc2hvcnQsICRfYXQsIG51bGwpO1xuICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9sb2NpLCBudWxsKTtcbiAgICB9XG5cbiAgICAkX2k6IDE7XG4gICAgJF9zcGFuOiAoKTtcblxuICAgIEB3aGlsZSAkX2kgPD0gbGVuZ3RoKCRzaG9ydCkge1xuICAgICAgJF90aGlzOiBudGgoJHNob3J0LCAkX2kpO1xuXG4gICAgICBAaWYgdHlwZS1vZigkX3RoaXMpID09IG51bWJlciB7XG4gICAgICAgICRfc3BhbjogYXBwZW5kKCRfc3BhbiwgJF90aGlzKTtcbiAgICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9pLCBudWxsKTtcbiAgICAgIH0gQGVsc2UgaWYgJF90aGlzID09IG9mIHtcbiAgICAgICAgJHNob3J0OiBzZXQtbnRoKCRzaG9ydCwgJF9pLCBudWxsKTtcbiAgICAgICAgJF9pOiBsZW5ndGgoJHNob3J0KSArIDE7XG4gICAgICB9XG5cbiAgICAgICRfaTogJF9pICsgMTtcbiAgICB9XG5cbiAgICBAaWYgbGVuZ3RoKCRfc3BhbikgPiAwIHtcbiAgICAgICRfc3BhbjogaWYobGVuZ3RoKCRfc3BhbikgPT0gMSwgbnRoKCRfc3BhbiwgMSksICRfc3Bhbik7XG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJGtleTogJF9zcGFuKSk7XG4gICAgfVxuXG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgcGFyc2UtZ3JpZCgkc2hvcnQpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gUGFyc2UgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS0tLVxuQGZ1bmN0aW9uIHBhcnNlLWd1dHRlcnMoXG4gICRzaG9ydDogJHN1c3lcbikge1xuICAkX2d1dHRlcnM6IHBhcnNlLXNwYW4oJHNob3J0LCBndXR0ZXItb3ZlcnJpZGUpO1xuICAkX3NwYW46IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJF9ndXR0ZXJzKTtcblxuICBAaWYgJF9zcGFuIGFuZCBub3QobWFwLWdldCgkX2d1dHRlcnMsIGNvbHVtbnMpKSB7XG4gICAgJF9jb250ZXh0OiAoKTtcbiAgICAkX25ldzogKCk7XG5cbiAgICBAZWFjaCAkaXRlbSBpbiAkX3NwYW4ge1xuICAgICAgQGlmIHR5cGUtb2YoJGl0ZW0pID09IG51bWJlciBhbmQgdW5pdGxlc3MoJGl0ZW0pIHtcbiAgICAgICAgJF9jb250ZXh0OiBhcHBlbmQoJF9jb250ZXh0LCAkaXRlbSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJF9uZXc6IGFwcGVuZCgkX25ldywgJGl0ZW0pO1xuICAgICAgfVxuICAgIH1cblxuICAgICRfY29udGV4dDogcGFyc2UtZ3JpZCgkX2NvbnRleHQpO1xuICAgICRfbmV3OiBpZihsZW5ndGgoJF9uZXcpID09IDAsIG51bGwsICRfbmV3KTtcbiAgICAkX25ldzogaWYobGVuZ3RoKCRfbmV3KSA9PSAxLCBudGgoJF9uZXcsIDEpLCAkX25ldyk7XG4gICAgJF9uZXc6IChndXR0ZXItb3ZlcnJpZGU6IGlmKCRfbmV3ICE9ICRfc3BhbiwgJF9uZXcsICRfc3BhbikpO1xuXG4gICAgJF9ndXR0ZXJzOiBtYXAtbWVyZ2UoJF9ndXR0ZXJzLCAkX25ldyk7XG4gICAgJF9ndXR0ZXJzOiBtYXAtbWVyZ2UoJF9ndXR0ZXJzLCAkX2NvbnRleHQpO1xuICB9XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG4iLCIvLyBWYWxpZGF0aW9uXG4vLyA9PT09PT09PT09XG5cblxuLy8gVmFsaWRhdGUgQ29sdW1uIE1hdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZnVuY3Rpb24gdmFsaWQtY29sdW1uLW1hdGgoXG4gICRtYXRoLFxuICAkY29sdW1uLXdpZHRoXG4pIHtcbiAgQGlmICRtYXRoID09IHN0YXRpYyBhbmQgbm90KCRjb2x1bW4td2lkdGgpIHtcbiAgICBAZXJyb3IgJ1N0YXRpYyBtYXRoIHJlcXVpcmVzIGEgdmFsaWQgY29sdW1uLXdpZHRoIHNldHRpbmcuJztcbiAgfVxuXG4gIEByZXR1cm4gJGNvbHVtbi13aWR0aDtcbn1cbiIsIi8vIEdyaWQgU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG5cbi8vIExheW91dFxuLy8gLS0tLS0tXG4vLyBTZXQgYSBuZXcgbGF5b3V0IHVzaW5nIGEgc2hvcnRoYW5kXG4vLyAtICRsYXlvdXQ6IDxzZXR0aW5ncz5cbi8vIC0gJGNsZWFuOiBib29sZWFuXG5AbWl4aW4gbGF5b3V0KFxuICAkbGF5b3V0LFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgIDogJGxheW91dDtcbiAgJHN1c3kgICAgIDogX2dldC1sYXlvdXQoJGxheW91dCwgJGNsZWFuKSAhZ2xvYmFsO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChsYXlvdXQsICRpbnNwZWN0KTtcbn1cblxuXG4vLyBVc2UgR3JpZFxuLy8gLS0tLS0tLS1cbi8vIFVzZSBhbiBhcmJpdHJhcnkgbGF5b3V0IGZvciBhIHNlY3Rpb24gb2YgY29kZVxuLy8gLSAkbGF5b3V0OiA8c2V0dGluZ3M+XG4vLyAtICRjbGVhbjogYm9vbGVhblxuQG1peGluIHdpdGgtbGF5b3V0KFxuICAkbGF5b3V0LFxuICAkY2xlYW46IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgIDogJGxheW91dDtcbiAgJG9sZCAgICAgIDogJHN1c3k7XG4gICRzdXN5ICAgICA6IF9nZXQtbGF5b3V0KCRsYXlvdXQsICRjbGVhbikgIWdsb2JhbDtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qod2l0aC1sYXlvdXQsICRpbnNwZWN0KTtcblxuICBAY29udGVudDtcblxuICAkc3VzeTogJG9sZCAhZ2xvYmFsO1xufVxuXG5cbi8vIExheW91dFxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gYSBwYXJzZWQgbGF5b3V0IG1hcCBiYXNlZCBvbiBzaG9ydGhhbmQgc3ludGF4XG4vLyAtICRsYXlvdXQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBsYXlvdXQoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgQHJldHVybiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xufVxuXG5cbi8vIEdldCBMYXlvdXRcbi8vIC0tLS0tLS0tLS1cbi8vIFJldHVybiBhIG5ldyBsYXlvdXQgYmFzZWQgb24gY3VycmVudCBhbmQgZ2l2ZW4gc2V0dGluZ3Ncbi8vIC0gJGxheW91dDogPHNldHRpbmdzPlxuLy8gLSAkY2xlYW46IGJvb2xlYW5cbkBmdW5jdGlvbiBfZ2V0LWxheW91dChcbiAgJGxheW91dCxcbiAgJGNsZWFuOiBmYWxzZVxuKSB7XG4gICRsYXlvdXQ6IGxheW91dCgkbGF5b3V0KTtcbiAgQHJldHVybiBpZigkY2xlYW4sICRsYXlvdXQsIF9zdXN5LWRlZXAtbWVyZ2UoJHN1c3ksICRsYXlvdXQpKTtcbn1cbiIsIi8vIFN1c3kgQm94IFNpemluZ1xuLy8gPT09PT09PT09PT09PT09PT1cblxuLy8gR2xvYmFsIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBib3ggbW9kZWwgZ2xvYmFsbHkgb24gYWxsIGVsZW1lbnRzLlxuLy8gLSBbJGJveF06IGJvcmRlci1ib3ggfCBjb250ZW50LWJveFxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBnbG9iYWwtYm94LXNpemluZyhcbiAgJGJveDogc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpLFxuICAkaW5oZXJpdDogZmFsc2Vcbikge1xuICAkaW5zcGVjdDogJGJveDtcblxuICBAaWYgJGluaGVyaXQge1xuICAgIEBhdC1yb290IHtcbiAgICAgICBodG1sIHsgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7IH1cbiAgICAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cbiAgICAgfVxuICB9IEBlbHNlIHtcbiAgICAqLCAqOmJlZm9yZSwgKjphZnRlciB7IEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpOyB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2xvYmFsLWJveC1zaXppbmcsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgdXBkYXRlLWJveC1tb2RlbCgkYm94KTtcbn1cblxuLy8gQm9yZGVyIEJveCBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBIGxlZ2FjeSBzaG9ydGN1dC4uLlxuLy8gLSBbJGluaGVyaXRdOiB0cnVlIHwgZmFsc2VcbkBtaXhpbiBib3JkZXItYm94LXNpemluZyhcbiAgJGluaGVyaXQ6IGZhbHNlXG4pIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJveC1zaXppbmcoYm9yZGVyLWJveCwgJGluaGVyaXQpO1xufVxuXG4vLyBVcGRhdGUgQm94IE1vZGVsXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBQUklWQVRFOiBVcGRhdGVzIGdsb2JhbCBib3ggbW9kZWwgc2V0dGluZ1xuQG1peGluIHVwZGF0ZS1ib3gtbW9kZWwoXG4gICRib3hcbikge1xuICBAaWYgJGJveCAhPSBzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykge1xuICBAaW5jbHVkZSBzdXN5LXNldChnbG9iYWwtYm94LXNpemluZywgJGJveCk7XG4gIH1cbn1cbiIsIi8vIENvbnRleHQgU3ludGF4XG4vLyA9PT09PT09PT09PT09PVxuXG4vLyBOZXN0ZWQgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBhIHN1YnNldCBncmlkIGZvciBuZXN0ZWQgY29udGV4dC5cbi8vIC0gJGNvbnRleHQgICA6IDxzcGFuPlxuQGZ1bmN0aW9uIG5lc3RlZChcbiAgJGNvbnRleHRcbikge1xuICAkY29udGV4dCAgICA6IHBhcnNlLXNwYW4oJGNvbnRleHQpO1xuICAkc3BhbiAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRjb250ZXh0KTtcbiAgJGxvY2F0aW9uICAgOiBnZXQtbG9jYXRpb24oJGNvbnRleHQpO1xuICAkY29sdW1ucyAgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcblxuICBAcmV0dXJuIHN1c3ktc2xpY2UoJHNwYW4sICRsb2NhdGlvbiwgJGNvbHVtbnMpO1xufVxuXG4vLyBOZXN0ZWQgW21peGluXVxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIFVzZSBhIHN1YnNldCBncmlkIGZvciBhIG5lc3RlZCBjb250ZXh0XG4vLyAtICRjb250ZXh0ICAgOiA8c3Bhbj5cbi8vIC0gQGNvbnRlbnQgICA6IDxjb250ZW50PlxuQG1peGluIG5lc3RlZChcbiAgJGNvbnRleHRcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2Utc3BhbigkY29udGV4dCk7XG4gICRvbGQgICAgICA6IHN1c3ktZ2V0KGNvbHVtbnMpO1xuICAkc3VzeSAgICAgOiBtYXAtbWVyZ2UoJHN1c3ksIChjb2x1bW5zOiBuZXN0ZWQoJGNvbnRleHQpKSkgIWdsb2JhbDtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobmVzdGVkLCAkaW5zcGVjdCk7XG4gIEBjb250ZW50O1xuXG4gICRzdXN5ICAgICA6IG1hcC1tZXJnZSgkc3VzeSwgKGNvbHVtbnM6ICRvbGQpKSAhZ2xvYmFsO1xufVxuIiwiLy8gQmFja2dyb3VuZCBHcmlkIFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3VzeS1vdmVybGF5LWdyaWQtaGVhZC1leGlzdHM6IGZhbHNlO1xuXG5cbi8vIFNob3cgR3JpZC9zXG4vLyAtLS0tLS0tLS0tLVxuLy8gU2hvdyBncmlkIG9uIGFueSBlbGVtZW50IHVzaW5nIGVpdGhlciBiYWNrZ3JvdW5kIG9yIG92ZXJsYXkuXG4vLyAtIFskZ3JpZF0gIDogPHNldHRpbmdzPlxuQG1peGluIHNob3ctZ3JpZChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3Q6ICRncmlkO1xuICAkX291dHB1dDogZGVidWctZ2V0KG91dHB1dCwgJGdyaWQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzaG93LWdyaWQsICRpbnNwZWN0KTtcbiAgQGlmICRfb3V0cHV0ID09IG92ZXJsYXkgYW5kIHN1c3ktZ2V0KGRlYnVnIGltYWdlLCAkZ3JpZCkgIT0gaGlkZSB7XG4gICAgQGluY2x1ZGUgb3ZlcmxheS1ncmlkKCRncmlkKTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC1ncmlkKCRncmlkKTtcbiAgfVxufVxuXG5AbWl4aW4gc2hvdy1ncmlkcyhcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgc2hvdy1ncmlkKCRncmlkKTtcbn1cblxuLy8gQmFja2dyb3VuZCBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFNob3cgYSBncmlkIGJhY2tncm91bmQgb24gYW55IGVsZW1lbnQuXG4vLyAtIFskZ3JpZF0gIDogPHNldHRpbmdzPlxuQG1peGluIGJhY2tncm91bmQtZ3JpZChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGdyaWQ7XG4gICRfb3V0cHV0ICA6IGdldC1iYWNrZ3JvdW5kKCRncmlkKTtcblxuICBAaWYgbGVuZ3RoKCRfb3V0cHV0KSA+IDAge1xuICAgICRfZmxvdzogc3VzeS1nZXQoZmxvdywgJGdyaWQpO1xuXG4gICAgJF9pbWFnZTogKCk7XG4gICAgQGVhY2ggJG5hbWUsICRsYXllciBpbiBtYXAtZ2V0KCRfb3V0cHV0LCBpbWFnZSkge1xuICAgICAgJF9kaXJlY3Rpb246IGlmKCRuYW1lID09IGJhc2VsaW5lLCB0byBib3R0b20sIHRvIHRvKCRfZmxvdykpO1xuICAgICAgJF9pbWFnZTogYXBwZW5kKCRfaW1hZ2UsIGxpbmVhci1ncmFkaWVudCgkX2RpcmVjdGlvbiwgJGxheWVyKSwgY29tbWEpO1xuICAgIH1cbiAgICAkX291dHB1dDogbWFwLW1lcmdlKCRfb3V0cHV0LCAoaW1hZ2U6ICRfaW1hZ2UpKTtcblxuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtZ3JpZC1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICAgIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChiYWNrZ3JvdW5kLWdyaWQsICRpbnNwZWN0KTtcbiAgfVxufVxuXG5cbi8vIE92ZXJsYXkgR3JpZFxuLy8gLS0tLS0tLS0tLS0tXG4vLyBHZW5lcmF0ZSBhbiBpY29uIHRvIHRyaWdnZXIgZ3JpZC1vdmVybGF5cyBvbiBhbnkgZ2l2ZW4gZWxlbWVudHMuXG4vLyAkZ3JpZHMuLi4gIDogPHNlbGVjdG9yPiBbPHNldHRpbmdzPl0gWywgPHNlbGVjdG9yPl0qXG5AbWl4aW4gb3ZlcmxheS1ncmlkIChcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgQGlmIG5vdCgkc3VzeS1vdmVybGF5LWdyaWQtaGVhZC1leGlzdHMpIHtcbiAgICBAYXQtcm9vdCBoZWFkIHsgQGluY2x1ZGUgb3ZlcmxheS1oZWFkKCRncmlkKTsgfVxuICAgIEBhdC1yb290IGhlYWQ6YmVmb3JlIHsgQGluY2x1ZGUgb3ZlcmxheS10cmlnZ2VyOyB9XG4gICAgQGF0LXJvb3QgaGVhZDpob3ZlciB7IEBpbmNsdWRlIG92ZXJsYXktdHJpZ2dlci1ob3ZlcjsgfVxuICAgICRzdXN5LW92ZXJsYXktZ3JpZC1oZWFkLWV4aXN0czogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgaGVhZDpob3ZlciB+ICYsXG4gIGhlYWQ6aG92ZXIgfiBib2R5ICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmlkLW92ZXJsYXktYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJhY2tncm91bmQtZ3JpZCgkZ3JpZCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gW1ByaXZhdGVdIE92ZXJsYXkgVHJpZ2dlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG92ZXJsYXktdHJpZ2dlciB7XG4gIGNvbnRlbnQ6IFwifHx8XCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udDoge1xuICAgIGZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBzaXplOiAxNnB4O1xuICAgIHdlaWdodDogYm9sZDtcbiAgfVxufVxuXG5cbi8vIFtQcml2YXRlXSBPdmVybGF5IFRyaWdnZXIgSG92ZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBvdmVybGF5LXRyaWdnZXItaG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKHdoaXRlLCAuNSk7XG4gIGNvbG9yOiByZWQ7XG59XG5cblxuLy8gW1ByaXZhdGVdIE92ZXJsYXkgSGVhZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPGhlYWQ+IHN0eWxlcyB0byBjcmVhdGUgZ3JpZCBvdmVybGF5IHRvZ2dsZVxuQG1peGluIG92ZXJsYXktaGVhZCAoXG4gICRncmlkOiAkc3VzeVxuKSB7XG4gICRfdG9nZ2xlOiBkZWJ1Zy1nZXQodG9nZ2xlLCAkZ3JpZCk7XG4gICRfaG9yejogbnVsbDtcbiAgJF92ZXJ0OiBudWxsO1xuXG4gIEBlYWNoICRzaWRlIGluICRfdG9nZ2xlIHtcbiAgICAkX2hvcno6IGlmKCRzaWRlID09IGxlZnQgb3IgJHNpZGUgPT0gcmlnaHQsICRzaWRlLCAkX2hvcnopO1xuICAgICRfdmVydDogaWYoJHNpZGUgPT0gdG9wIG9yICRzaWRlID09IGJvdHRvbSwgJHNpZGUsICRfdmVydCk7XG4gIH1cblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICAjeyRfaG9yen06IDEwcHg7XG4gICN7JF92ZXJ0fTogMTBweDtcbiAgei1pbmRleDogOTk5O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogcmdiYSh3aGl0ZSwgLjI1KTtcbn1cblxuXG4vLyBbUHJpdmF0ZV0gR3JpZCBPdmVybGF5IEJhc2Vcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQmFzZSBzdHlsZXMgZm9yIGdlbmVyYXRpbmcgYSBncmlkIG92ZXJsYXlcbkBtaXhpbiBncmlkLW92ZXJsYXktYmFzZSgpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB6LWluZGV4OiA5OTg7XG59XG5cblxuLy8gR2V0IFN5bW1ldHJpY2FsIEJhY2tncm91bmRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICRncmlkOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1iYWNrZ3JvdW5kLXN5bShcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgICAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9ndXR0ZXJzICAgICAgIDogc3VzeS1nZXQoZ3V0dGVycywgJGdyaWQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRncmlkKTtcbiAgJF9tYXRoICAgICAgICAgIDogc3VzeS1nZXQobWF0aCwgJGdyaWQpO1xuXG4gICRfY29sb3IgICAgICAgICA6IGRlYnVnLWdldChjb2xvcik7XG4gICRfdHJhbnMgICAgICAgICA6IHRyYW5zcGFyZW50O1xuICAkX2xpZ2h0ICAgICAgICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG5cbiAgJF9lbmQgICAgICAgICAgIDogMSArICRfZ3V0dGVycztcbiAgJF9hZnRlciAgICAgICAgIDogcGVyY2VudGFnZSgxLyRfZW5kKTtcbiAgJF9zdG9wcyAgICAgICAgIDogKCk7XG4gICRfc2l6ZSAgICAgICAgICA6IHNwYW4oMSAkZ3JpZCB3aWRlKTtcblxuICBAaWYgaXMtaW5zaWRlKCRncmlkKSB7XG4gICAgJF9zdG9wczogJF9jb2xvciwgJF9saWdodDtcbiAgfSBAZWxzZSBpZiBpcy1zcGxpdCgkZ3JpZCkge1xuICAgICRfc3BsaXQ6ICRfZ3V0dGVycy8yO1xuICAgICRfYmVmb3JlOiBwZXJjZW50YWdlKCRfc3BsaXQvJF9lbmQpO1xuICAgICRfYWZ0ZXI6IHBlcmNlbnRhZ2UoKDEgKyAkX3NwbGl0KS8kX2VuZCk7XG4gICAgJF9zdG9wczogJF90cmFucyAkX2JlZm9yZSwgJF9jb2xvciAkX2JlZm9yZSwgJF9saWdodCAkX2FmdGVyLCAkX3RyYW5zICRfYWZ0ZXI7XG4gIH0gQGVsc2Uge1xuICAgICRfc3RvcHM6ICRfY29sb3IsICRfbGlnaHQgJF9hZnRlciwgJF90cmFucyAkX2FmdGVyO1xuICB9XG5cbiAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICRfc2l6ZTogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCkgKiAkX2VuZDtcbiAgfVxuXG4gICRfb3V0cHV0OiAoXG4gICAgaW1hZ2U6IChjb2x1bW5zOiAkX3N0b3BzKSxcbiAgICBzaXplOiAkX3NpemUsXG4gICk7XG5cbiAgQHJldHVybiAkX291dHB1dDtcbn1cblxuXG4vLyBHZXQgQXN5bW1ldHJpY2FsIEluc2lkZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYXN5bS1pbnNpZGUoXG4gICRncmlkXG4pIHtcbiAgJGdyaWQgICAgIDogcGFyc2UtZ3JpZCgkZ3JpZCk7XG4gICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRncmlkKTtcblxuICAkX2NvbG9yICAgOiBkZWJ1Zy1nZXQoY29sb3IpO1xuICAkX2xpZ2h0ICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG4gICRfc3RvcHMgICA6ICgpO1xuXG4gIEBmb3IgJGxvY2F0aW9uIGZyb20gMSB0aHJvdWdoIHN1c3ktY291bnQoJF9jb2x1bW5zKSB7XG4gICAgJHRoaXMtc3RvcDogKCk7XG5cbiAgICBAaWYgJGxvY2F0aW9uID09IDEge1xuICAgICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsICRfY29sb3IsIGNvbW1hKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzdGFydDogcGFyc2Utc3BhbigxIGF0ICRsb2NhdGlvbiAkZ3JpZCk7XG4gICAgICAkc3RhcnQ6IGdldC1pc29sYXRpb24oJHN0YXJ0KTtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yICRzdGFydCwgY29tbWEpO1xuICAgIH1cblxuICAgIEBpZiAkbG9jYXRpb24gPT0gc3VzeS1jb3VudCgkX2NvbHVtbnMpIHtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2xpZ2h0LCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2VuZDogcGFyc2Utc3BhbigxIGF0ICgkbG9jYXRpb24gKyAxKSAkZ3JpZCk7XG4gICAgICAkX2VuZDogZ2V0LWlzb2xhdGlvbigkX2VuZCk7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9saWdodCAkX2VuZCwgY29tbWEpO1xuICAgIH1cblxuICAgICRfc3RvcHM6IGpvaW4oJF9zdG9wcywgJHRoaXMtc3RvcCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkX3N0b3BzO1xufVxuXG5cbi8vIEdldCBBc3ltbWV0cmljYWwgU3BsaXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYXN5bS1zcGxpdChcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9jb2x1bW5zIDogc3VzeS1nZXQoY29sdW1ucywgJGdyaWQpO1xuXG4gICRfY29sb3IgICA6IGRlYnVnLWdldChjb2xvcik7XG4gICRfbGlnaHQgICA6IGxpZ2h0ZW4oJF9jb2xvciwgMTUlKTtcbiAgJF9zdG9wcyAgIDogKCk7XG5cbiAgQGZvciAkbG9jYXRpb24gZnJvbSAxIHRocm91Z2ggc3VzeS1jb3VudCgkX2NvbHVtbnMpIHtcbiAgICAkdGhpcy1zdG9wOiAoKTtcblxuICAgICRzdGFydDogcGFyc2Utc3BhbigxIGF0ICRsb2NhdGlvbiAkZ3JpZCk7XG4gICAgJHN0YXJ0OiBnZXQtaXNvbGF0aW9uKCRzdGFydCk7XG4gICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsIHRyYW5zcGFyZW50ICRzdGFydCwgY29tbWEpO1xuICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yICRzdGFydCwgY29tbWEpO1xuXG4gICAgJF9lbmQ6ICRzdGFydCArIHNwYW4oMSBhdCAkbG9jYXRpb24gJGdyaWQpO1xuICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2xpZ2h0ICRfZW5kLCBjb21tYSk7XG4gICAgJHRoaXMtc3RvcDogYXBwZW5kKCR0aGlzLXN0b3AsIHRyYW5zcGFyZW50ICRfZW5kLCBjb21tYSk7XG5cbiAgICAkX3N0b3BzOiBqb2luKCRfc3RvcHMsICR0aGlzLXN0b3AsIGNvbW1hKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9zdG9wcztcbn1cblxuXG4vLyBHZXQgQXN5bW1ldHJpY2FsIE91dHNpZGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSAkZ3JpZDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGdldC1hc3ltLW91dHNpZGUoXG4gICRncmlkXG4pIHtcbiAgJGdyaWQgICAgIDogcGFyc2UtZ3JpZCgkZ3JpZCk7XG4gICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRncmlkKTtcblxuICAkX2NvbG9yICAgOiBkZWJ1Zy1nZXQoY29sb3IpO1xuICAkX2xpZ2h0ICAgOiBsaWdodGVuKCRfY29sb3IsIDE1JSk7XG4gICRfdHJhbnMgICA6IHRyYW5zcGFyZW50O1xuICAkX3N0b3BzICAgOiAoKTtcblxuICBAZm9yICRsb2NhdGlvbiBmcm9tIDEgdGhyb3VnaCBzdXN5LWNvdW50KCRfY29sdW1ucykge1xuICAgICR0aGlzLXN0b3A6ICgpO1xuXG4gICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICR0aGlzLXN0b3A6IGFwcGVuZCgkdGhpcy1zdG9wLCAkX2NvbG9yLCBjb21tYSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkc3RhcnQ6IHBhcnNlLXNwYW4oMSBhdCAkbG9jYXRpb24gJGdyaWQpO1xuICAgICAgJHN0YXJ0OiBnZXQtaXNvbGF0aW9uKCRzdGFydCk7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9jb2xvciAkc3RhcnQsIGNvbW1hKTtcbiAgICB9XG5cbiAgICBAaWYgJGxvY2F0aW9uID09IHN1c3ktY291bnQoJF9jb2x1bW5zKSB7XG4gICAgICAkdGhpcy1zdG9wOiBhcHBlbmQoJHRoaXMtc3RvcCwgJF9saWdodCwgY29tbWEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGd1dHRlcjogZ2V0LXNwYW4td2lkdGgoZmlyc3QgJGxvY2F0aW9uICRncmlkKTtcblxuICAgICAgJF9lbmQ6IHBhcnNlLXNwYW4oMSBhdCAoJGxvY2F0aW9uICsgMSkgJGdyaWQpO1xuICAgICAgJF9lbmQ6IGdldC1pc29sYXRpb24oJF9lbmQpO1xuXG4gICAgICAkZ3V0dGVyOiAkX2xpZ2h0ICRndXR0ZXIsICRfdHJhbnMgJGd1dHRlciwgJF90cmFucyAkX2VuZDtcbiAgICAgICR0aGlzLXN0b3A6IGpvaW4oJHRoaXMtc3RvcCwgJGd1dHRlciwgY29tbWEpO1xuICAgIH1cblxuICAgICRfc3RvcHM6IGpvaW4oJF9zdG9wcywgJHRoaXMtc3RvcCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkX3N0b3BzO1xufVxuXG5cbi8vIEdldCBBc3ltbWV0cmljYWwgQmFja2dyb3VuZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtICRncmlkOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWJhY2tncm91bmQtYXN5bShcbiAgJGdyaWRcbikge1xuICAkX3N0b3BzOiAoKTtcblxuICBAaWYgaXMtaW5zaWRlKCRncmlkKSB7XG4gICAgJF9zdG9wczogZ2V0LWFzeW0taW5zaWRlKCRncmlkKTtcbiAgfSBAZWxzZSBpZiBpcy1zcGxpdCgkZ3JpZCkge1xuICAgICRfc3RvcHM6IGdldC1hc3ltLXNwbGl0KCRncmlkKTtcbiAgfSBAZWxzZSB7XG4gICAgJF9zdG9wczogZ2V0LWFzeW0tb3V0c2lkZSgkZ3JpZCk7XG4gIH1cblxuICBAcmV0dXJuIChpbWFnZTogKGNvbHVtbnM6ICRfc3RvcHMpKTtcbn1cblxuXG4vLyBHZXQgQmFja2dyb3VuZFxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIC0gJGdyaWQ6IDxzZXR0aW5ncz5cbkBmdW5jdGlvbiBnZXQtYmFja2dyb3VuZChcbiAgJGdyaWRcbikge1xuICAkZ3JpZCAgICAgOiBwYXJzZS1ncmlkKCRncmlkKTtcbiAgJF9zaG93ICAgIDogc3VzeS1nZXQoZGVidWcgaW1hZ2UsICRncmlkKTtcbiAgJF9yZXR1cm4gIDogKCk7XG5cbiAgQGlmICRfc2hvdyBhbmQgJF9zaG93ICE9ICdoaWRlJyB7XG4gICAgJF9jb2x1bW5zOiBzdXN5LWdldChjb2x1bW5zLCAkZ3JpZCk7XG5cbiAgICBAaWYgJF9zaG93ICE9ICdzaG93LWJhc2VsaW5lJyB7XG4gICAgICAkX3N5bTogaXMtc3ltbWV0cmljYWwoJF9jb2x1bW5zKTtcbiAgICAgICRfcmV0dXJuOiBpZigkX3N5bSwgZ2V0LWJhY2tncm91bmQtc3ltKCRncmlkKSwgZ2V0LWJhY2tncm91bmQtYXN5bSgkZ3JpZCkpO1xuICAgICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGNsaXA6IGNvbnRlbnQtYm94KSk7XG4gICAgfVxuXG4gICAgQGlmICRfc2hvdyAhPSAnc2hvdy1jb2x1bW5zJ1xuICAgICAgYW5kIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoYmFzZS1saW5lLWhlaWdodClcbiAgICAgIGFuZCB0eXBlLW9mKCRiYXNlLWxpbmUtaGVpZ2h0KSA9PSAnbnVtYmVyJ1xuICAgICAgYW5kIG5vdCB1bml0bGVzcygkYmFzZS1saW5lLWhlaWdodCkge1xuICAgICAgJF9jb2xvcjogdmFyaWFibGUtZXhpc3RzKCdncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3InKTtcbiAgICAgICRfY29sb3I6IGlmKCRfY29sb3IsICRncmlkLWJhY2tncm91bmQtYmFzZWxpbmUtY29sb3IsICMwMDApO1xuXG4gICAgICAkX2ltYWdlOiBtYXAtZ2V0KCRfcmV0dXJuLCBpbWFnZSk7XG4gICAgICAkX3NpemU6IG1hcC1nZXQoJF9yZXR1cm4sIHNpemUpO1xuICAgICAgJF9iYXNlbGluZTogKGJhc2VsaW5lOiAoJF9jb2xvciAxcHgsIHRyYW5zcGFyZW50IDFweCkpO1xuICAgICAgJF9iYXNlbGluZS1zaXplOiAxMDAlICRiYXNlLWxpbmUtaGVpZ2h0O1xuXG4gICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoXG4gICAgICAgIGltYWdlOiBpZigkX2ltYWdlLCBtYXAtbWVyZ2UoJF9pbWFnZSwgJF9iYXNlbGluZSksICRfYmFzZWxpbmUpLFxuICAgICAgICBzaXplOiBpZigkX3NpemUsICgkX3NpemUsICRfYmFzZWxpbmUtc2l6ZSksICRfYmFzZWxpbmUtc2l6ZSksXG4gICAgICApKTtcblxuICAgICAgQGlmICRfc2hvdyA9PSAnc2hvdycge1xuICAgICAgICAkX2NsaXA6IG1hcC1nZXQoJF9yZXR1cm4sIGNsaXApO1xuICAgICAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoY2xpcDogam9pbigkX2NsaXAsIGJvcmRlci1ib3gsIGNvbW1hKSkpO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJF9zaG93ID09ICdzaG93LWJhc2VsaW5lJyB7XG4gICAgICBAd2FybiAnUGxlYXNlIHByb3ZpZGUgYSAkYmFzZS1saW5lLWhlaWdodCB3aXRoIHRoZSBkZXNpcmVkIGhlaWdodCBhbmQgdW5pdHMnO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBtYXAtZ2V0KCRfcmV0dXJuLCBpbWFnZSkge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sIChmbG93OiBzdXN5LWdldChmbG93LCAkZ3JpZCkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gR2V0IERlYnVnXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgdmFsdWUgb2YgYSBkZWJ1ZyBzZXR0aW5nXG4vLyAtICRrZXk6IDxzZXR0aW5nPlxuQGZ1bmN0aW9uIGRlYnVnLWdldChcbiAgJGtleSxcbiAgJGdyaWQ6ICRzdXN5XG4pIHtcbiAgJGtleTogam9pbihkZWJ1ZywgJGtleSwgc3BhY2UpO1xuICBAcmV0dXJuIHN1c3ktZ2V0KCRrZXksICRncmlkKTtcbn1cbiIsIi8vIENvbnRhaW5lciBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuLy8gQ29udGFpbmVyIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgYSBjb250YWluZXIgZWxlbWVudFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQG1peGluIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XG4gICRsYXlvdXQgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcblxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG4gICRfanVzdGlmeSAgIDogcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKHN1c3ktZ2V0KGNvbnRhaW5lci1wb3NpdGlvbiwgJGxheW91dCkpO1xuICAkX3Byb3BlcnR5ICA6IGlmKHN1c3ktZ2V0KG1hdGgsICRsYXlvdXQpID09IHN0YXRpYywgd2lkdGgsIG1heC13aWR0aCk7XG5cbiAgJF9ib3ggICAgICAgOiBzdXN5LWdldChib3gtc2l6aW5nLCAkbGF5b3V0KTtcblxuICBAaWYgJF9ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJF9ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChjb250YWluZXIsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgZmxvYXQtY29udGFpbmVyKCRfd2lkdGgsICRfanVzdGlmeSwgJF9wcm9wZXJ0eSk7XG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcbn1cblxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gY29udGFpbmVyKFxuICAkbGF5b3V0OiAkc3VzeVxuKSB7XG4gICRsYXlvdXQ6IHBhcnNlLWdyaWQoJGxheW91dCk7XG4gIEByZXR1cm4gZ2V0LWNvbnRhaW5lci13aWR0aCgkbGF5b3V0KTtcbn1cblxuLy8gR2V0IENvbnRhaW5lciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIHRoZSBjb250YWluZXIgd2lkdGhcbi8vIC0gWyRsYXlvdXRdOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICAkX3dpZHRoICAgICAgICAgOiBzdXN5LWdldChjb250YWluZXIsICRsYXlvdXQpO1xuICAkX2NvbHVtbi13aWR0aCAgOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRsYXlvdXQpO1xuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcblxuICBAaWYgbm90KCRfd2lkdGgpIG9yICRfd2lkdGggPT0gYXV0byB7XG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcbiAgICAgICRfY29sdW1ucyAgIDogc3VzeS1nZXQoY29sdW1ucywgJGxheW91dCk7XG4gICAgICAkX2d1dHRlcnMgICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRsYXlvdXQpO1xuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcbiAgICAgICRfd2lkdGggICAgIDogc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSAqICRfY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJF93aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRfd2lkdGg7XG59XG5cbi8vIFBhcnNlIENvbnRhaW5lciBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXG4vLyAtIFskanVzdGlmeV0gICA6IGxlZnQgfCBjZW50ZXIgfCByaWdodCB8IDxsZW5ndGg+IFs8bGVuZ3RoPl1cbkBmdW5jdGlvbiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXG4pIHtcbiAgJF9yZXR1cm46IGlmKCRqdXN0aWZ5ID09IGxlZnQsIDAsIGF1dG8pIGlmKCRqdXN0aWZ5ID09IHJpZ2h0LCAwLCBhdXRvKTtcblxuICBAaWYgbm90KGluZGV4KGxlZnQgcmlnaHQgY2VudGVyLCAkanVzdGlmeSkpIHtcbiAgICAkX3JldHVybjogbnRoKCRqdXN0aWZ5LCAxKTtcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG4iLCIvLyBTcGFuIFN5bnRheFxuLy8gPT09PT09PT09PT1cblxuLy8gU3BhbiBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFNldCBhIHNwYW5uaW5nIGVsZW1lbnQgdXNpbmcgc2hvcnRoYW5kIHN5bnRheC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gc3BhbihcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJG91dHB1dDogc3Bhbi1tYXRoKCRzcGFuKTtcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGNsZWFyOiBzdXN5LWdldChjbGVhciwgJHNwYW4pO1xuXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGNvbnRlbnQtYm94OiBpZihzdXN5LWdldChnbG9iYWwtYm94LXNpemluZykgIT0gJ2JvcmRlci1ib3gnLCB0cnVlLCBmYWxzZSk7XG4gICRib3g6ICRib3ggb3IgaWYoaXMtaW5zaWRlKCRzcGFuKSBhbmQgJGNvbnRlbnQtYm94LCBib3JkZXItYm94LCBudWxsKTtcblxuICBAaWYgJGNsZWFyID09IGJyZWFrIHtcbiAgICBAaW5jbHVkZSBicmVhaztcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XG4gICAgQGluY2x1ZGUgbm9icmVhaztcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChzcGFuLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogJGJveCkpO1xuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICBAaWYgdmFsaWQtY29sdW1ucygkbmVzdGluZywgc2lsZW50KSB7XG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNwYW4gW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgc3Bhbi5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AZnVuY3Rpb24gc3BhbihcbiAgJHNwYW5cbikge1xuICBAcmV0dXJuIGdldC1zcGFuLXdpZHRoKCRzcGFuKTtcbn1cblxuLy8gU3BhbiBNYXRoXG4vLyAtLS0tLS0tLS1cbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gc3Bhbi1tYXRoKFxuICAkc3BhblxuKSB7XG4gICRuZXN0ICAgICAgICAgICAgIDogaWYoc3VzeS1nZXQocm9sZSwgJHNwYW4pID09IG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XG4gICRlZGdlICAgICAgICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbG9jYXRpb24gICAgICAgICA6IGdldC1sb2NhdGlvbigkc3Bhbik7XG5cbiAgJGZsb2F0ICAgICAgICAgICAgOiBmcm9tO1xuICAkcGFkZGluZy1iZWZvcmUgICA6IG51bGw7XG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcbiAgJG1hcmdpbi1iZWZvcmUgICAgOiBudWxsO1xuICAkbWFyZ2luLWFmdGVyICAgICA6IG51bGw7XG5cbiAgLy8gY2FsY3VsYXRlIHdpZHRoc1xuICAkc3ByZWFkOiBpbmRleChtYXAtdmFsdWVzKCRzcGFuKSwgc3ByZWFkKTtcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XG4gICR3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xuICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gIC8vIGFwcGx5IGd1dHRlcnNcbiAgQGlmIGlzLWluc2lkZSgkc3Bhbikge1xuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XG4gICAgICAkcGFkZGluZy1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGlmIG5vdCgkc3BsaXQtbmVzdCkge1xuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XG4gICAgICAkbWFyZ2luLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gc3BlY2lhbCBtYXJnaW4gaGFuZGxpbmdcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XG4gICAgJG1hcmdpbi1iZWZvcmU6IGdldC1pc29sYXRpb24oJHNwYW4pO1xuICAgICRtYXJnaW4tYWZ0ZXI6IC0xMDAlO1xuICB9IEBlbHNlIGlmICRlZGdlIHtcbiAgICAkaXMtc3BsaXQ6IGlzLXNwbGl0KCRzcGFuKTtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcblxuICAgIEBpZiAkZWRnZSA9PSBsYXN0IHtcbiAgICAgICRmbG9hdDogc3VzeS1nZXQobGFzdC1mbG93LCAkc3Bhbik7XG4gICAgfVxuXG4gICAgQGlmIG5vdCgkaXMtc3BsaXQpIHtcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcbiAgICAgICAgJG1hcmdpbi1iZWZvcmU6IDA7XG4gICAgICB9XG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xuICAgICAgICAkbWFyZ2luLWFmdGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgQHJldHVybiAoXG4gICAgd2lkdGggICAgICAgICAgIDogJHdpZHRoLFxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcbiAgICBtYXJnaW4tYmVmb3JlICAgOiAkbWFyZ2luLWJlZm9yZSxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgOiAkbWFyZ2luLWFmdGVyLFxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcbiAgICBwYWRkaW5nLWFmdGVyICAgOiAkcGFkZGluZy1hZnRlcixcbiAgICBmbG93ICAgICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG59XG5cbi8vIEdldCBTcGFuIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHNwYW4gd2lkdGguXG4vLyAtICRzcGFuOiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1zcGFuLXdpZHRoKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcbiAgJGxvY2F0aW9uIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcbiAgJGNvbHVtbnMgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XG4gICRzcHJlYWQgICA6IHN1c3ktZ2V0KHNwcmVhZCwgJHNwYW4pO1xuXG4gICRjb250ZXh0ICA6IG51bGw7XG4gICRzcGFuLXN1bSA6IG51bGw7XG4gICR3aWR0aCAgICA6IG51bGw7XG5cbiAgQGlmICRuID09ICdmdWxsJyB7XG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcbiAgICAkbjogaWYoJHBvcyA9PSBzcGxpdCBhbmQgJHJvbGUgIT0gbmVzdCwgc3VzeS1jb3VudCgkY29sdW1ucyksIDEwMCUpO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJG4pICE9IG51bWJlciB7XG4gICAgQHdhcm4gXCIoI3t0eXBlLW9mKCRuKX0pICN7JG59IGlzIG5vdCBhIHZhbGlkIHNwYW4uXCI7XG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcbiAgICAkY29udGV4dDogc3VzeS1zdW0oJGNvbHVtbnMsICRndXR0ZXJzLCBpZihpcy1zcGxpdCgkc3BhbiksIHdpZGUsIG5hcnJvdykpO1xuICAgICRzcHJlYWQ6IGlmKGlzLWluc2lkZSgkc3BhbiksICRzcHJlYWQgb3Igd2lkZSwgJHNwcmVhZCk7XG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XG5cbiAgICAkX21hdGg6IHN1c3ktZ2V0KG1hdGgsICRzcGFuKTtcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XG4gICAgQGlmICRfbWF0aCA9PSBzdGF0aWMge1xuICAgICAgJHdpZHRoOiAkc3Bhbi1zdW0gKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkc3Bhbi1zdW0gLyAkY29udGV4dCk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkd2lkdGg6ICRuO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG4iLCIvLyBHdXR0ZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09XG5cblxuLy8gR3V0dGVyc1xuLy8gLS0tLS0tLVxuLy8gU2V0IGd1dHRlcnMgb24gYW4gZWxlbWVudC5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQG1peGluIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBwYXJzZS1ndXR0ZXJzKCRzcGFuKTtcbiAgJF9ndXR0ZXJzIDogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfb3V0cHV0OiAoXG4gICAgYmVmb3JlOiBtYXAtZ2V0KCRfZ3V0dGVycywgYmVmb3JlKSxcbiAgICBhZnRlcjogbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkc3BhbiksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGd1dHRlcnMsICRpbnNwZWN0KTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCRfb3V0cHV0Li4uKTtcbiAgfVxufVxuXG5AbWl4aW4gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAaW5jbHVkZSBndXR0ZXJzKCRzcGFuKTtcbn1cblxuXG4vLyBHdXR0ZXJcbi8vIC0tLS0tLVxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIGd1dHRlci5cbi8vIC0gWyRzcGFuXSAgIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGd1dHRlcihcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJHNwYW46IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuXG4gICRfZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnM6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpIG9yIG1hcC1nZXQoJF9ndXR0ZXJzLCBhZnRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcnM7XG59XG5cbkBmdW5jdGlvbiBndXR0ZXJzKFxuICAkc3BhbjogJHN1c3lcbikge1xuICBAcmV0dXJuIGd1dHRlcigkc3Bhbik7XG59XG5cblxuLy8gR2V0IEd1dHRlciBXaWR0aFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGd1dHRlciB3aWR0aC5cbi8vIC0gWyRjb250ZXh0XTogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ2V0LWd1dHRlci13aWR0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXJzIDogc3VzeS1nZXQoZ3V0dGVycywgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgOiBzdXN5LWdldChndXR0ZXItb3ZlcnJpZGUsICRjb250ZXh0KTtcblxuICBAaWYgJF9ndXR0ZXJzIGFuZCAoJF9ndXR0ZXJzID4gMCkgYW5kIG5vdCgkX2d1dHRlcikge1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRjb250ZXh0KTtcbiAgICAkX21hdGg6IGd1dHRlci1tYXRoKCRjb250ZXh0KTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkX2d1dHRlcjogJF9ndXR0ZXJzICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkX2NvbHVtbnMgOiBzdXN5LWdldChjb2x1bW5zLCAkY29udGV4dCk7XG4gICAgICAkX3NwcmVhZCAgOiBpZihpcy1zcGxpdCgkY29udGV4dCksIHdpZGUsIHN1c3ktZ2V0KHNwcmVhZCwgJGNvbnRleHQpKTtcbiAgICAgICRfZ3V0dGVyICA6IHBlcmNlbnRhZ2UoJF9ndXR0ZXJzIC8gc3VzeS1zdW0oJF9jb2x1bW5zLCAkX2d1dHRlcnMsICRfc3ByZWFkKSk7XG4gICAgfVxuICB9XG5cbiAgJF9ndXR0ZXI6IGlmKCRfZ3V0dGVyID09ICduby1ndXR0ZXJzJyBvciAkX2d1dHRlciA9PSAnbm8tZ3V0dGVyJywgbnVsbCwgJF9ndXR0ZXIpO1xuXG4gIEByZXR1cm4gJF9ndXR0ZXI7XG59XG5cblxuLy8gR2V0IEd1dHRlcnNcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYmVmb3JlIGFuZCBhZnRlciBndXR0ZXIgdmFsdWVzLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVycyhcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGNvbnRleHQgICAgICAgICAgICA6IHBhcnNlLWd1dHRlcnMoJGNvbnRleHQpO1xuXG4gICRfZ3V0dGVyLXBvc2l0aW9uICAgOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcbiAgJF9ndXR0ZXIgICAgICAgICAgICA6IGdldC1ndXR0ZXItd2lkdGgoJGNvbnRleHQpO1xuXG4gICRfcmV0dXJuICAgICAgICAgICAgOiAoYmVmb3JlOiBudWxsLCBhZnRlcjogbnVsbCk7XG5cbiAgQGlmIGlzLXNwbGl0KCRjb250ZXh0KSBhbmQgJF9ndXR0ZXIge1xuICAgICRfZ3V0dGVyOiAkX2d1dHRlciAvIDI7XG4gICAgJF9yZXR1cm46IG1hcC1tZXJnZSgkX3JldHVybiwgKGJlZm9yZTogJF9ndXR0ZXIsIGFmdGVyOiAkX2d1dHRlcikpO1xuICB9IEBlbHNlIHtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoJF9ndXR0ZXItcG9zaXRpb246ICRfZ3V0dGVyKSk7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuXG5cbi8vIElzIEluc2lkZVxuLy8gLS0tLS0tLS0tXG4vLyBSZXR1cm5zIHRydWUgaWYgZ3V0dGVycyBhcmUgaW5zaWRlLlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLWluc2lkZShcbiAgJGNvbnRleHRcbikge1xuICAkX2luc2lkZTogaW5zaWRlIGluc2lkZS1zdGF0aWM7XG4gICRfZ3V0dGVyLXBvc2l0aW9uOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KTtcblxuICBAcmV0dXJuIGlmKGluZGV4KCRfaW5zaWRlLCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBJcyBTcGxpdFxuLy8gLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBzcGxpdC5cbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBpcy1zcGxpdChcbiAgJGNvbnRleHRcbikge1xuICAkX3NwbGl0OiBzcGxpdCBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9zcGxpdCwgJF9ndXR0ZXItcG9zaXRpb24pLCB0cnVlLCBmYWxzZSk7XG59XG5cblxuLy8gR3V0dGVyIE1hdGhcbi8vIC0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIG1hdGggdG8gdXNlIGZvciBndXR0ZXIgY2FsY3VsYXRpb25zXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gZ3V0dGVyLW1hdGgoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRfcmV0dXJuICA6IHN1c3ktZ2V0KG1hdGgsICRjb250ZXh0KTtcbiAgJF9yZXR1cm4gIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCkgPT0gaW5zaWRlLXN0YXRpYywgc3RhdGljLCAkX3JldHVybik7XG5cbiAgQHJldHVybiAkX3JldHVybjtcbn1cbiIsIi8vIElzb2xhdGlvbiBTeW50YXhcbi8vID09PT09PT09PT09PT09PT1cblxuXG4vLyBJc29sYXRlIFtNaXhpbl1cbi8vIC0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IGlzb2xhdGlvbiBhcyBhbiBvdmVycmlkZS5cbi8vIC0gJGxvY2F0aW9uOiA8c3Bhbj5cbkBtaXhpbiBpc29sYXRlKFxuICAkaXNvbGF0ZTogMVxuKSB7XG4gICRpbnNwZWN0OiAkaXNvbGF0ZTtcblxuICAkb3V0cHV0OiAoXG4gICAgcHVzaDogaXNvbGF0ZSgkaXNvbGF0ZSksXG4gICAgZmxvdzogc3VzeS1nZXQoZmxvdywgJGlzb2xhdGUpLFxuICApO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChpc29sYXRlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIGlzb2xhdGUtb3V0cHV0KCRvdXRwdXQuLi4pO1xufVxuXG5cbi8vIElzb2xhdGUgW2Z1bmN0aW9uXVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gYW4gaXNvbGF0aW9uIG9mZnNldCB3aWR0aC5cbi8vIC0gJGxvY2F0aW9uOiA8c3Bhbj5cbkBmdW5jdGlvbiBpc29sYXRlKFxuICAkaXNvbGF0ZTogMVxuKSB7XG4gICRpc29sYXRlOiBwYXJzZS1zcGFuKCRpc29sYXRlKTtcbiAgJGlzb2xhdGlvbjogc3VzeS1nZXQoc3BhbiwgJGlzb2xhdGUpO1xuXG4gIEBpZiAkaXNvbGF0aW9uIGFuZCBub3QoZ2V0LWxvY2F0aW9uKCRpc29sYXRlKSkge1xuICAgICRuZXc6IChcbiAgICAgIHNwYW46IG51bGwsXG4gICAgICBsb2NhdGlvbjogJGlzb2xhdGlvbixcbiAgICApO1xuICAgICRpc29sYXRlOiBtYXAtbWVyZ2UoJGlzb2xhdGUsICRuZXcpO1xuICB9XG5cbiAgQHJldHVybiBnZXQtaXNvbGF0aW9uKCRpc29sYXRlKTtcbn1cblxuXG4vLyBHZXQgSXNvbGF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gdGhlIGlzb2xhdGlvbiBvZmZzZXQgd2lkdGhcbi8vIC0gJGlucHV0OiA8bWFwPlxuQGZ1bmN0aW9uIGdldC1pc29sYXRpb24oXG4gICRpbnB1dFxuKSB7XG4gICRsb2NhdGlvbiAgIDogZ2V0LWxvY2F0aW9uKCRpbnB1dCk7XG4gICRjb2x1bW5zICAgIDogc3VzeS1nZXQoY29sdW1ucywgJGlucHV0KTtcbiAgJHdpZHRoICAgICAgOiBudWxsO1xuXG4gIEBpZiB0eXBlLW9mKCRsb2NhdGlvbikgPT0gbnVtYmVyIGFuZCBub3QodW5pdGxlc3MoJGxvY2F0aW9uKSkge1xuICAgICR3aWR0aDogJGxvY2F0aW9uO1xuICB9IEBlbHNlIGlmICRsb2NhdGlvbiB7XG4gICAgJHB1c2g6ICRsb2NhdGlvbiAtIDE7XG4gICAgQGlmICRwdXNoID4gMCB7XG4gICAgICAkcHVzaDogbWFwLW1lcmdlKCRpbnB1dCwgKFxuICAgICAgICBzcGFuOiAkcHVzaCxcbiAgICAgICAgbG9jYXRpb246IDEsXG4gICAgICAgIHNwcmVhZDogd2lkZSxcbiAgICAgICkpO1xuICAgICAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkcHVzaCk7XG4gICAgfVxuICB9XG5cbiAgQGlmIHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGlucHV0KSA9PSBzcGxpdFxuICAgICAgYW5kIHN1c3ktZ2V0KGd1dHRlcnMsICRpbnB1dCkgPiAwIHtcbiAgICAkd2lkdGg6IGlmKCR3aWR0aCA9PSBudWxsLCBndXR0ZXJzKCRpbnB1dCksICR3aWR0aCArIGd1dHRlcnMoJGlucHV0KSk7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aCBvciAwO1xufVxuIiwiLy8gR2FsbGVyeSBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIEdhbGxlcnlcbi8vIC0tLS0tLS1cbi8vIENyZWF0ZSBhbiBpc29sYXRlZCBnYWxsZXJ5XG4vLyAtICRzcGFuICAgICAgICA6IDxzcGFuPlxuLy8gLSBbJHNlbGVjdG9yXSAgOiBjaGlsZCB8IG9mLXR5cGVcbkBtaXhpbiBnYWxsZXJ5KFxuICAkc3BhbixcbiAgJHNlbGVjdG9yOiBjaGlsZFxuKSB7XG4gICRpbnNwZWN0ICAgIDogJHNwYW47XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRzcGFuICAgICAgIDogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246IDEpKTtcblxuICAkbiAgICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY29sdW1ucyAgICAgIDogc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pO1xuICAkY29udGV4dCAgICAgIDogc3VzeS1jb3VudCgkY29sdW1ucyk7XG4gICRmbG93ICAgICAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG5cbiAgJGluc2lkZSAgICAgICA6IGlzLWluc2lkZSgkc3Bhbik7XG4gICRmcm9tICAgICAgICAgOiBmcm9tKCRmbG93KTtcbiAgJGxpbmUgICAgICAgICA6IGZsb29yKCRjb250ZXh0IC8gJG4pO1xuICAkc3ltbWV0cmljYWwgIDogaXMtc3ltbWV0cmljYWwoJGNvbHVtbnMpO1xuXG4gICRvdXRwdXQ6IChcbiAgICB3aWR0aCAgICAgICAgICAgICA6IG51bGwsXG4gICAgZmxvYXQgICAgICAgICAgICAgOiBmcm9tLFxuICAgIG1hcmdpbi1iZWZvcmUgICAgIDogbnVsbCxcbiAgICBtYXJnaW4tYWZ0ZXIgICAgICA6IG51bGwsXG4gICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgIHBhZGRpbmctYWZ0ZXIgICAgIDogbnVsbCxcbiAgICBmbG93ICAgICAgICAgICAgICA6ICRmbG93LFxuICApO1xuXG4gIEBpZiAkaW5zaWRlIHtcbiAgICAkZ3V0dGVyczogZ2V0LWd1dHRlcnMoJHNwYW4pO1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAoXG4gICAgICBwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKSxcbiAgICAgIHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKSxcbiAgICApKTtcbiAgfVxuXG4gIEBpZiAkc3ltbWV0cmljYWwge1xuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAod2lkdGg6IGdldC1zcGFuLXdpZHRoKCRzcGFuKSkpO1xuICB9XG5cbiAgJGJveCAgICAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcbiAgJGdsb2JhbC1ib3ggICA6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSA9PSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ2FsbGVyeSwgJGluc3BlY3QpO1xuXG4gIC8vIENvbGxlY3RpdmUgT3V0cHV0XG4gIEBpZiAkYm94ID09IGJvcmRlci1ib3ggb3IgKCRpbnNpZGUgYW5kIG5vdCgkYm94KSBhbmQgbm90KCRnbG9iYWwtYm94KSkge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogYm9yZGVyLWJveCkpO1xuICB9IEBlbHNlIGlmICRib3ggPT0gY29udGVudC1ib3gge1xuICAgIEBpbmNsdWRlIG91dHB1dCgoYm94LXNpemluZzogY29udGVudC1ib3gpKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIC8vIEluZGl2aWR1YWwgTG9vcFxuICBAZm9yICRpdGVtIGZyb20gMSB0aHJvdWdoICRsaW5lIHtcbiAgICAkbnRoOiAnI3skbGluZX1uICsgI3skaXRlbX0nO1xuICAgICY6bnRoLSN7JHNlbGVjdG9yfSgjeyRudGh9KSB7XG4gICAgICAvLyBJbmRpdmlkdWFsIFByZXBcbiAgICAgICRvdXRwdXQ6IChcbiAgICAgICAgd2lkdGggICAgICAgICAgICAgOiBpZigkc3ltbWV0cmljYWwsIG51bGwsIGdldC1zcGFuLXdpZHRoKCRzcGFuKSksXG4gICAgICAgIGZsb2F0ICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgbWFyZ2luLWJlZm9yZSAgICAgOiBnZXQtaXNvbGF0aW9uKCRzcGFuKSxcbiAgICAgICAgbWFyZ2luLWFmdGVyICAgICAgOiAtMTAwJSxcbiAgICAgICAgcGFkZGluZy1iZWZvcmUgICAgOiBudWxsLFxuICAgICAgICBwYWRkaW5nLWFmdGVyICAgICA6IG51bGwsXG4gICAgICAgIGZsb3cgICAgICAgICAgICAgIDogJGZsb3csXG4gICAgICApO1xuXG4gICAgICAvLyBJbmRpdmlkdWFsIE91dHB1dFxuICAgICAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgICAgIEBpZiBnZXQtZWRnZSgkc3BhbikgPT0gZmlyc3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVhaztcbiAgICAgICAgQGluY2x1ZGUgZmlyc3QoJHNwYW4pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIC8vIEluZGl2aWR1YWwgTG9jYXRpb24gSW5jcmVtZW50XG4gICAgICAkbG9jYXRpb246IGdldC1sb2NhdGlvbigkc3BhbikgKyAkbjtcbiAgICAgICRsb2NhdGlvbjogaWYoJGxvY2F0aW9uID4gJGNvbnRleHQsIDEsICRsb2NhdGlvbik7XG4gICAgICAkc3BhbjogbWFwLW1lcmdlKCRzcGFuLCAobG9jYXRpb246ICRsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUm93IFN0YXJ0ICYgRW5kXG4vLyA9PT09PT09PT09PT09PT1cblxuLy8gQnJlYWtcbi8vIC0tLS0tXG4vLyBBcHBseSB0byBhbnkgZWxlbWVudCB0aGF0IHNob3VsZCBmb3JjZSBhIGxpbmUgYnJlYWsuXG5AbWl4aW4gYnJlYWsge1xuICBAaW5jbHVkZSBvdXRwdXQoKGNsZWFyOiBib3RoKSk7XG59XG5cblxuLy8gTm9CcmVha1xuLy8gLS0tLS0tLVxuLy8gQ2FuY2VsIHRoZSBicmVhaygpIGVmZmVjdCwgZS5nLiB3aGVuIHVzaW5nIG1lZGlhIHF1ZXJpZXMuXG5AbWl4aW4gbm9icmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IG5vbmUpKTtcbn1cblxuXG4vLyBGdWxsXG4vLyAtLS0tXG4vLyAtIFskY29udGV4dF06IDxsYXlvdXQgc2hvcnRoYW5kPlxuQG1peGluIGZ1bGwoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0IDogJGNvbnRleHQ7XG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChmdWxsLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHNwYW4oZnVsbCBvZiBwYXJzZS1ncmlkKCRjb250ZXh0KSBicmVhayk7XG59XG5cblxuLy8gRmlyc3Rcbi8vIC0tLS0tXG4vLyAtIFskY29udGV4dF06IDxzZXR0aW5ncz5cbkBtaXhpbiBmaXJzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkY29udGV4dCk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZpcnN0LCAkaW5zcGVjdCk7XG4gIEBpZiBub3QoaXMtc3BsaXQoJGNvbnRleHQpKSB7XG4gICAgQGluY2x1ZGUgZmxvYXQtZmlyc3QoJGZsb3cpO1xuICB9XG59XG5cbkBtaXhpbiBhbHBoYShcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgQGluY2x1ZGUgZmlyc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIExhc3Rcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGxhc3QoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gICRpbnNwZWN0ICA6ICRjb250ZXh0O1xuICAkY29udGV4dCAgOiBwYXJzZS1ncmlkKCRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QobGFzdCwgJGluc3BlY3QpO1xuXG4gICRvdXRwdXQ6IChcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkY29udGV4dCksXG4gICAgbGFzdC1mbG93OiBzdXN5LWdldChsYXN0LWZsb3csICRjb250ZXh0KSxcbiAgICBtYXJnaW46IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgbnVsbCwgMCksXG4gICk7XG5cbiAgQGluY2x1ZGUgZmxvYXQtbGFzdCgkb3V0cHV0Li4uKTtcbn1cblxuQG1peGluIG9tZWdhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBsYXN0KCRjb250ZXh0KTtcbn1cblxuXG4vLyBHZXQgRWRnZVxuLy8gLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBlZGdlIHZhbHVlIGJhc2VkIG9uIGxvY2F0aW9uLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1lZGdlKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRlZGdlICAgICAgIDogc3VzeS1nZXQoZWRnZSwgJHNwYW4pO1xuXG4gIEBpZiBub3QoJGVkZ2UpIHtcbiAgICAkY291bnQ6IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKTtcbiAgICAkbG9jYXRpb246IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICAgJG46IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICAgICRudW1iZXI6IGlmKHR5cGUtb2YoJGxvY2F0aW9uKSA9PSBudW1iZXIsIHRydWUsIGZhbHNlKTtcbiAgICAkaW5kZXg6IGlmKCRudW1iZXIgYW5kIHVuaXRsZXNzKCRsb2NhdGlvbiksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkbiA9PSAkY291bnQge1xuICAgICAgJGVkZ2U6IGZ1bGw7XG4gICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gYW5kICRuIGFuZCAkaW5kZXgge1xuICAgICAgQGlmICRsb2NhdGlvbiA9PSAxIHtcbiAgICAgICAgJGVkZ2U6IGlmKCRuID09ICRjb3VudCwgZnVsbCwgZmlyc3QpO1xuICAgICAgfSBAZWxzZSBpZiAkbG9jYXRpb24gKyAkbiAtIDEgPT0gJGNvdW50IHtcbiAgICAgICAgJGVkZ2U6IGxhc3Q7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlZGdlID09IGFscGhhIG9yICRlZGdlID09IG9tZWdhIHtcbiAgICAkZWRnZTogaWYoJGVkZ2UgPT0gYWxwaGEsIGZpcnN0LCBsYXN0KTtcbiAgfVxuXG4gIEByZXR1cm4gJGVkZ2U7XG59XG5cblxuLy8gR2V0IExvY2F0aW9uXG4vLyAtLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSBsb2NhdGlvbiB2YWx1ZSBiYXNlZCBvbiBlZGdlLCBpZiBwb3NzaWJsZVxuQGZ1bmN0aW9uIGdldC1sb2NhdGlvbihcbiAgJHNwYW5cbikge1xuICAkc3BhbiAgICAgICA6IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkbG9jYXRpb24gICA6IHN1c3ktZ2V0KGxvY2F0aW9uLCAkc3Bhbik7XG4gICRlZGdlICAgICAgIDogZ2V0LWVkZ2UoJHNwYW4pO1xuICAkbiAgICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcblxuICBAaWYgJGVkZ2UgYW5kIG5vdCgkbG9jYXRpb24pIGFuZCB0eXBlLW9mKCRuKSA9PSBudW1iZXIgYW5kIHVuaXRsZXNzKCRuKSB7XG4gICAgQGlmICRlZGdlID09IGZpcnN0IHtcbiAgICAgICRsb2NhdGlvbjogMTtcbiAgICB9IEBlbHNlIGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGxvY2F0aW9uOiBzdXN5LWNvdW50KHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKSkgLSAkbiArIDE7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbG9jYXRpb25cbn1cbiIsIi8vIE1hcmdpbiBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuLy8gUHJlXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGJlZm9yZSBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBwcmUoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3Q6ICRzcGFuO1xuICAkc3BhbiAgIDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRzcGFuKSk7XG4gICRmbG93ICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKSA9PSBzcGxpdCwgdHJ1ZSwgZmFsc2UpO1xuICAkZ3V0dGVyIDogZ3V0dGVyKCRzcGFuKTtcbiAgJHNwYW4gICA6IHNwYW4oJHNwYW4pO1xuICAkd2lkdGggIDogaWYoJHNwbGl0IGFuZCAkZ3V0dGVyLCAkc3BhbiArICRndXR0ZXIsICRzcGFuKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHJlLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFBvc3Rcbi8vIC0tLS1cbi8vIEFkZCBzcGFubmluZy1tYXJnaW5zIGFmdGVyIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHBvc3QoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgc3Bhbigkc3BhbikgKyBndXR0ZXIoJHNwYW4pLCBzcGFuKCRzcGFuKSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHBvc3QsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUHVzaFxuLy8gLS0tLVxuLy8gU2ltcGxlIHN5bm9ueW1uIGZvciBwcmUuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1c2goXG4gICRzcGFuXG4pIHtcbiAgQGluY2x1ZGUgcHJlKCRzcGFuKTtcbn1cblxuLy8gUHVsbFxuLy8gLS0tLVxuLy8gQWRkIG5lZ2F0aXZlIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHB1bGwoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICRzcGxpdCAgICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICR3aWR0aCAgICA6IGlmKCRzcGxpdCwgMCAtIHNwYW4oJHNwYW4pICsgZ3V0dGVyKCRzcGFuKSwgMCAtIHNwYW4oJHNwYW4pKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocHVsbCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KCR3aWR0aCwgbnVsbCwgJGZsb3cpO1xufVxuXG4vLyBTcXVpc2hcbi8vIC0tLS0tLVxuLy8gQWRkIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuZCBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkcHJlICAgICA6IDxzcGFuPlxuLy8gLSBbJHBvc3RdICA6IDxzcGFuPlxuQG1peGluIHNxdWlzaChcbiAgJHByZSxcbiAgJHBvc3Q6IGZhbHNlXG4pIHtcbiAgJGluc3BlY3QgICAgICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHByZSkpO1xuXG4gIEBpZiAkcG9zdCB7XG4gICAgJHBvc3Q6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcG9zdCkpO1xuICB9IEBlbHNlIHtcbiAgICAkc3Bhbjogc3VzeS1nZXQoc3BhbiwgJHByZSk7XG4gICAgQGlmIGxlbmd0aCgkc3BhbikgPiAxIHtcbiAgICAgICRwcmU6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAxKSkpO1xuICAgICAgJHBvc3Q6IG1hcC1tZXJnZSgkcHJlLCAoc3BhbjogbnRoKCRzcGFuLCAyKSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHBvc3Q6ICRwcmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNxdWlzaCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwcmUoJHByZSk7XG4gIEBpbmNsdWRlIHBvc3QoJHBvc3QpO1xufVxuIiwiLy8gUGFkZGluZyBTeW50YXhcbi8vID09PT09PT09PT09PT09XG5cbi8vIFByZWZpeFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctcGFkZGluZyBiZWZvcmUgYW4gZWxlbWVudC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gcHJlZml4KFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0ICA6ICRzcGFuO1xuICAkc3BhbiAgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHNwYW4pKTtcbiAgJGZsb3cgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pO1xuICAkd2lkdGggICAgOiBzcGFuKCRzcGFuKTtcblxuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgJGd1dHRlcjogZ3V0dGVyKCRzcGFuKTtcbiAgICAkd2lkdGg6IGlmKCRndXR0ZXIgYW5kIGNvbXBhcmFibGUoJHdpZHRoLCAkZ3V0dGVyKSwgJHdpZHRoICsgJGd1dHRlciwgJHdpZHRoKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChwcmVmaXgsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgcGFkZGluZy1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFN1ZmZpeFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctcGFkZGluZyBhZnRlciBhbiBlbGVtZW50LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzdWZmaXgoXG4gICRzcGFuXG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3Bhbigkc3BhbikpO1xuICAkZmxvdyAgICAgOiBzdXN5LWdldChmbG93LCAkc3Bhbik7XG4gICR3aWR0aCAgICA6IHNwYW4oJHNwYW4pO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICAkZ3V0dGVyOiBndXR0ZXIoJHNwYW4pO1xuICAgICR3aWR0aDogaWYoJGd1dHRlciBhbmQgY29tcGFyYWJsZSgkd2lkdGgsICRndXR0ZXIpLCAkd2lkdGggKyAkZ3V0dGVyLCAkd2lkdGgpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHN1ZmZpeCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dChudWxsLCAkd2lkdGgsICRmbG93KTtcbn1cblxuLy8gUGFkXG4vLyAtLS1cbi8vIEFkZCBzcGFubmluZy1wYWRkaW5nIGJlZm9yZSBhbmQgYWZ0ZXIgYW4gZWxlbWVudC5cbi8vIC0gJHByZSAgICAgOiA8c3Bhbj5cbi8vIC0gWyRwb3N0XSAgOiA8c3Bhbj5cbkBtaXhpbiBwYWQoXG4gICRwcmUsXG4gICRwb3N0OiBmYWxzZVxuKSB7XG4gICRpbnNwZWN0ICA6ICgkcHJlLCAkcG9zdCk7XG4gICRwcmUgICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcHJlKSk7XG5cbiAgQGlmICRwb3N0IHtcbiAgICAkcG9zdDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRwb3N0KSk7XG4gIH0gQGVsc2Uge1xuICAgICRzcGFuOiBzdXN5LWdldChzcGFuLCAkcHJlKTtcbiAgICBAaWYgbGVuZ3RoKCRzcGFuKSA+IDEge1xuICAgICAgJHByZTogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDEpKSk7XG4gICAgICAkcG9zdDogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDIpKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcG9zdDogJHByZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocGFkLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHByZWZpeCgkcHJlKTtcbiAgQGluY2x1ZGUgc3VmZml4KCRwb3N0KTtcblxufVxuIiwiLy8gQmxlZWQgU3ludGF4XG4vLyA9PT09PT09PT09PT1cblxuLy8gQmxlZWRcbi8vIC0tLS0tXG4vLyBBZGQgbmVnYXRpdmUgbWFyZ2lucywgYW5kIGVxdWFsIHBvc2l0aXZlIHBhZGRpbmcgdG8gY3JlYXRlIGJsZWVkLlxuLy8gLSAkYmxlZWQgIDogPHNwYW4+XG5AbWl4aW4gYmxlZWQoXG4gICRibGVlZDogMCBndXR0ZXIoKVxuKSB7XG4gICRpbnNwZWN0ICA6ICRibGVlZDtcbiAgJG91dHB1dCAgIDogZ2V0LWJsZWVkKCRibGVlZCk7XG5cbiAgQGlmIHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSBjb250ZW50LWJveCB7XG4gICAgJG91dHB1dDogbWFwLW1lcmdlKChib3gtc2l6aW5nOiBjb250ZW50LWJveCksICRvdXRwdXQpO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGJsZWVkLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG91dHB1dCgkb3V0cHV0KTtcbn1cblxuXG4vLyBCbGVlZC14XG4vLyAtLS0tLS0tXG4vLyBTaG9ydGN1dCBmb3IgaG9yaXpvbnRhbCBibGVlZC5cbi8vIC0gJGJsZWVkICA6IDxzcGFuPlxuQG1peGluIGJsZWVkLXgoXG4gICRibGVlZDogZ3V0dGVyKClcbikge1xuICAkYmxlZWQgIDogcGFyc2Utc3BhbigkYmxlZWQpO1xuICAkdHJibCAgIDogc3VzeS1nZXQoc3BhbiwgJGJsZWVkKTtcblxuICBAaWYgbGVuZ3RoKCR0cmJsKSA9PSAxIHtcbiAgICAkYmxlZWQ6IG1hcC1tZXJnZSgkYmxlZWQsIChzcGFuOiAwIG50aCgkdHJibCwgMSkpKTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHRyYmwpID09IDIge1xuICAgICRibGVlZDogbWFwLW1lcmdlKCRibGVlZCwgKHNwYW46IDAgbnRoKCR0cmJsLCAyKSAwIG50aCgkdHJibCwgMSkpKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJ2JsZWVkLXggb25seSB0YWtlcyAyIGxlbmd0aHMsIGJ1dCAje2xlbmd0aCgkdHJibCl9IHdlcmUgcGFzc2VkLic7XG4gIH1cblxuICBAaW5jbHVkZSBibGVlZCgkYmxlZWQpO1xufVxuXG5cbi8vIEJsZWVkLXlcbi8vIC0tLS0tLS1cbi8vIFNob3J0Y3V0IGZvciB2ZXJ0aWNhbCBibGVlZC5cbi8vIC0gJGJsZWVkICA6IDxzcGFuPlxuQG1peGluIGJsZWVkLXkoXG4gICRibGVlZDogaWYoZnVuY3Rpb24tZXhpc3RzKHJoeXRobSksIHJoeXRobSgxKSwgMWVtKVxuKSB7XG4gICRibGVlZCAgOiBwYXJzZS1zcGFuKCRibGVlZCk7XG4gICR0cmJsICAgOiBzdXN5LWdldChzcGFuLCAkYmxlZWQpO1xuXG4gIEBpZiBsZW5ndGgoJHRyYmwpID09IDEge1xuICAgICRibGVlZDogbWFwLW1lcmdlKCRibGVlZCwgKHNwYW46IG50aCgkdHJibCwgMSkgMCkpO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkdHJibCkgPT0gMiB7XG4gICAgJGJsZWVkOiBtYXAtbWVyZ2UoJGJsZWVkLCAoc3BhbjogbnRoKCR0cmJsLCAxKSAwIG50aCgkdHJibCwgMikgMCkpO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnYmxlZWQteSBvbmx5IHRha2VzIDIgbGVuZ3RocywgYnV0ICN7bGVuZ3RoKCR0cmJsKX0gd2VyZSBwYXNzZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGJsZWVkKCRibGVlZCk7XG59XG5cblxuLy8gR2V0IEJsZWVkXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybiBibGVlZCBvdXRwdXQgdmFsdWVzXG4vLyAtICRibGVlZDogPHNwYW4+XG5AZnVuY3Rpb24gZ2V0LWJsZWVkKFxuICAkYmxlZWRcbikge1xuICAkYmxlZWQgICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJGJsZWVkKSk7XG4gICR0cmJsICAgICA6IHN1c3ktZ2V0KHNwYW4sICRibGVlZCk7XG4gICRzaG9ydCAgICA6IG51bGw7XG4gICRvdXRwdXQgICA6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR0cmJsKSB7XG4gICAgJHRoaXM6IG50aCgkdHJibCwgJGkpO1xuICAgICRuZXc6ICgpO1xuICAgICRtYXJnaW46IG51bGw7XG4gICAgJHBhZGRpbmc6IG51bGw7XG4gICAgJHBhZGRpbmcteDogbnVsbDtcblxuICAgIEBpZiAkdGhpcyA+IDAge1xuICAgICAgJHRoaXM6IG1hcC1tZXJnZSgkYmxlZWQsIChzcGFuOiAkdGhpcykpO1xuICAgICAgJG1hcmdpbjogc3BhbigkdGhpcyk7XG4gICAgICAkcGFkZGluZzogJG1hcmdpbjtcbiAgICAgICRwYWRkaW5nLXg6ICRwYWRkaW5nO1xuICAgIH1cblxuICAgIEBpZiAkbWFyZ2luIGFuZCAkbWFyZ2luID4gMCB7XG4gICAgICAkbWFyZ2luOiAtICRtYXJnaW47XG5cbiAgICAgIEBpZiBpcy1pbnNpZGUoJHRoaXMpIHtcbiAgICAgICAgJGd1dHRlcjogZ3V0dGVyKCR0aGlzKTtcbiAgICAgICAgJGpvaW46IGlmKCRndXR0ZXIgYW5kIGNvbXBhcmFibGUoJHBhZGRpbmcsICRndXR0ZXIpLCB0cnVlLCBmYWxzZSk7XG4gICAgICAgICRwYWRkaW5nLXg6IGlmKCRqb2luIGFuZCAkcGFkZGluZyA+IDAsICRwYWRkaW5nICsgJGd1dHRlciwgJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICRuZXc6IChcbiAgICAgICAgbWFyZ2luLXRvcDogJG1hcmdpbixcbiAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nLFxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nLXgsXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZyxcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4sXG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmcteCxcbiAgICAgICk7XG4gICAgfSBAZWxzZSBpZiAkaSA9PSAyIHtcbiAgICAgICRuZXc6IChcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZy14LFxuICAgICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbixcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZy14LFxuICAgICAgKTtcbiAgICB9IEBlbHNlIGlmICRpID09IDMge1xuICAgICAgJG5ldzogKFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmcsXG4gICAgICApO1xuICAgIH0gQGVsc2UgaWYgJGkgPT0gNCB7XG4gICAgICAkbmV3OiAoXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLFxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXgsXG4gICAgICApO1xuICAgIH1cblxuICAgICRvdXRwdXQ6IG1hcC1tZXJnZSgkb3V0cHV0LCAkbmV3KTtcbiAgfVxuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG91dHB1dCB7XG4gICAgJG91dHB1dDogaWYoJHZhbHVlID09IDAsIG1hcC1tZXJnZSgkb3V0cHV0LCAoJHByb3A6IG51bGwpKSwgJG91dHB1dCk7XG4gIH1cblxuICBAcmV0dXJuIGJsZWVkLXNob3J0aGFuZCgkb3V0cHV0KTtcbn1cblxuLy8gQmxlZWQgU2hvcnRoYW5kXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIENvbnZlcnQgYmxlZWQgb3V0cHV0IGludG8gc2hvcnRoYW5kIHdoZW4gcG9zc2libGUuXG4vLyAtICRibGVlZDogPG91dHB1dCBtYXA+XG5AZnVuY3Rpb24gYmxlZWQtc2hvcnRoYW5kKFxuICAkYmxlZWRcbikge1xuICAkbWFyZ2luOiAoKTtcbiAgJHBhZGRpbmc6ICgpO1xuICAkcmV0dXJuOiAoKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJsZWVkIHtcbiAgICBAaWYgc3RyLWluZGV4KCRrZXksIG1hcmdpbikge1xuICAgICAgJG1hcmdpbjogbWFwLW1lcmdlKCRtYXJnaW4sICgka2V5OiAkdmFsdWUpKTtcbiAgICB9IEBlbHNlIGlmIHN0ci1pbmRleCgka2V5LCBwYWRkaW5nKSA+IDAge1xuICAgICAgJHBhZGRpbmc6IG1hcC1tZXJnZSgkcGFkZGluZywgKCRrZXk6ICR2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gICRwcm9wczogKFxuICAgIG1hcmdpbjogJG1hcmdpbixcbiAgICBwYWRkaW5nOiAkcGFkZGluZyxcbiAgKTtcblxuICBAZWFjaCAkbmFtZSwgJG1hcCBpbiAkcHJvcHMge1xuICAgICRmb3VyOiBpZihsZW5ndGgobWFwLWtleXMoJG1hcCkpID09IDQsIHRydWUsIGZhbHNlKTtcbiAgICAkbnVsbDogaWYoaW5kZXgobWFwLXZhbHVlcygkbWFwKSwgbnVsbCksIHRydWUsIGZhbHNlKTtcblxuICAgIEBpZiAkZm91ciBhbmQgbm90KCRudWxsKSB7XG4gICAgICAkdG9wOiBtYXAtZ2V0KCRtYXAsICcjeyRuYW1lfS10b3AnKTtcbiAgICAgICRyaWdodDogbWFwLWdldCgkbWFwLCAnI3skbmFtZX0tcmlnaHQnKTtcbiAgICAgICRib3R0b206IG1hcC1nZXQoJG1hcCwgJyN7JG5hbWV9LWJvdHRvbScpO1xuICAgICAgJGxlZnQ6IG1hcC1nZXQoJG1hcCwgJyN7JG5hbWV9LWxlZnQnKTtcblxuICAgICAgJHRiOiBpZigkdG9wID09ICRib3R0b20sICR0b3AsIG51bGwpO1xuICAgICAgJHJsOiBpZigkcmlnaHQgPT0gJGxlZnQsICRyaWdodCwgbnVsbCk7XG4gICAgICAkYWxsOiBpZigkdGIgPT0gJHJsLCAkdGIsIG51bGwpO1xuXG4gICAgICAkbmV3OiBpZigkYWxsLCAkYWxsLCBudWxsKTtcblxuICAgICAgQGlmIG5vdCgkbmV3KSB7XG4gICAgICAgIEBpZiAkdGIgYW5kICRybCB7XG4gICAgICAgICAgJG5ldzogJHRiICRybDtcbiAgICAgICAgfSBAZWxzZSBpZiAkcmwge1xuICAgICAgICAgICRuZXc6ICR0b3AgJHJsICRib3R0b207XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRuZXc6ICR0b3AgJHJpZ2h0ICRib3R0b20gJGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICgkbmFtZTogJG5ldykpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogbWFwLW1lcmdlKCRyZXR1cm4sICRtYXApO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHJldHVybjtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgSW50ZWdyYXRpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT1cblxuJHN1c3ktbWVkaWE6ICgpICFkZWZhdWx0O1xuJHN1c3ktbWVkaWEtZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xuXG4kX3N1c3ktbWVkaWEtY29udGV4dDogKCk7XG5cblxuLy8gU3VzeSBCcmVha3BvaW50XG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIENoYW5nZSBncmlkcyBhdCBkaWZmZXJlbnQgbWVkaWEgcXVlcnkgYnJlYWtwb2ludHMuXG4vLyAtICRxdWVyeSAgICAgOiA8bWluLXdpZHRoPiBbPG1heC13aWR0aD5dIHwgPHByb3BlcnR5PiA8dmFsdWU+IHwgPG1hcD5cbi8vIC0gJGxheW91dCAgICA6IDxzZXR0aW5ncz5cbi8vIC0gJG5vLXF1ZXJ5ICA6IDxib29sZWFuPiB8IDxzZWxlY3Rvcj5cbkBtaXhpbiBzdXN5LWJyZWFrcG9pbnQoXG4gICRxdWVyeSxcbiAgJGxheW91dDogZmFsc2UsXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICBAaW5jbHVkZSBzdXN5LW1lZGlhLXJvdXRlcigkcXVlcnksICRuby1xdWVyeSkge1xuICAgIEBpZiAkbGF5b3V0IHtcbiAgICAgIEBpbmNsdWRlIHdpdGgtbGF5b3V0KCRsYXlvdXQpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBTdXN5IE1lZGlhXG4vLyAtLS0tLS0tLS0tXG4vLyAtICRxdWVyeTogPG1pbi13aWR0aD4gWzxtYXgtd2lkdGg+XSB8IDxwcm9wZXJ0eT4gPHZhbHVlPlxuLy8gLSAkbm8tcXVlcnk6IDxib29sZWFuPiB8IDxzZWxlY3Rvcj5cbkBtaXhpbiBzdXN5LW1lZGlhKFxuICAkcXVlcnksXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICAkb2xkLWNvbnRleHQ6ICRfc3VzeS1tZWRpYS1jb250ZXh0O1xuICAkbmFtZTogaWYobWFwLWhhcy1rZXkoJHN1c3ktbWVkaWEsICRxdWVyeSksICRxdWVyeSwgbnVsbCk7XG4gICRxdWVyeTogc3VzeS1nZXQtbWVkaWEoJHF1ZXJ5KTtcbiAgJHF1ZXJ5OiBzdXN5LXBhcnNlLW1lZGlhKCRxdWVyeSk7XG5cbiAgQGluY2x1ZGUgc3VzeS1tZWRpYS1jb250ZXh0KCRxdWVyeSwgJG5hbWUpO1xuXG4gIEBpZiAkbm8tcXVlcnkgYW5kIHR5cGUtb2YoJG5vLXF1ZXJ5KSAhPSBzdHJpbmcge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIHtcbiAgICBAbWVkaWEgI3tzdXN5LXJlbmRlci1tZWRpYSgkcXVlcnkpfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkbm8tcXVlcnkpID09IHN0cmluZyB7XG4gICAgICAjeyRuby1xdWVyeX0gJiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHN1c3ktbWVkaWEtY29udGV4dCgkb2xkLWNvbnRleHQsICRjbGVhbjogdHJ1ZSk7XG59XG5cblxuLy8gTWVkaWEgUm91dGVyXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFJvdXQgbWVkaWEgYXJndW1lbnRzIHRvIHRoZSBjb3JyZWN0IG1peGluLlxuQG1peGluIHN1c3ktbWVkaWEtcm91dGVyKFxuICAkcXVlcnksXG4gICRuby1xdWVyeTogJHN1c3ktbWVkaWEtZmFsbGJhY2tcbikge1xuICBAaWYgc3VzeS1zdXBwb3J0KGJyZWFrcG9pbnQsIChtaXhpbjogYnJlYWtwb2ludCksICR3YXJuOiBmYWxzZSkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgc3VzeS1tZWRpYSgkcXVlcnksICRuby1xdWVyeSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVXBkYXRlIENvbnRleHRcbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFNldCB0aGUgbmV3IG1lZGlhIGNvbnRleHRcbkBtaXhpbiBzdXN5LW1lZGlhLWNvbnRleHQoXG4gICRxdWVyeSxcbiAgJG5hbWU6IG51bGwsXG4gICRjbGVhbjogZmFsc2Vcbikge1xuICAkcXVlcnk6IG1hcC1tZXJnZSgobmFtZTogJG5hbWUpLCAkcXVlcnkpO1xuXG4gIEBpZiAkY2xlYW4ge1xuICAgICRfc3VzeS1tZWRpYS1jb250ZXh0OiAkcXVlcnkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJF9zdXN5LW1lZGlhLWNvbnRleHQ6IG1hcC1tZXJnZSgkX3N1c3ktbWVkaWEtY29udGV4dCwgJHF1ZXJ5KSAhZ2xvYmFsO1xuICB9XG59XG5cblxuLy8gTWVkaWEgQ29udGV4dFxuLy8gLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHRoZSBmdWxsIG1lZGlhIGNvbnRleHQsIG9yIGEgc2luZ2xlIG1lZGlhIHByb3BlcnR5IChlLmcuIG1pbi13aWR0aClcbkBmdW5jdGlvbiBzdXN5LW1lZGlhLWNvbnRleHQoXG4gICRwcm9wZXJ0eTogZmFsc2Vcbikge1xuICBAaWYgJHByb3BlcnR5IHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJF9zdXN5LW1lZGlhLWNvbnRleHQsICRwcm9wZXJ0eSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJF9zdXN5LW1lZGlhLWNvbnRleHQ7XG4gIH1cbn1cblxuXG4vLyBHZXQgTWVkaWFcbi8vIC0tLS0tLS0tLVxuLy8gUmV0dXJuIGEgbmFtZWQgbWVkaWEtcXVlcnkgZnJvbSAkc3VzeS1tZWRpYS5cbi8vIC0gJG5hbWU6IDxrZXk+XG5AZnVuY3Rpb24gc3VzeS1nZXQtbWVkaWEoXG4gICRuYW1lXG4pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRzdXN5LW1lZGlhLCAkbmFtZSkge1xuICAgICRtYXAtdmFsdWU6IG1hcC1nZXQoJHN1c3ktbWVkaWEsICRuYW1lKTtcbiAgICBAaWYgKCRuYW1lID09ICRtYXAtdmFsdWUpIHtcbiAgICAgICRuYW1lOiAkbWFwLXZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG5hbWU6IHN1c3ktZ2V0LW1lZGlhKCRtYXAtdmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5hbWU7XG59XG5cblxuLy8gUmVuZGVyIE1lZGlhXG4vLyAtLS0tLS0tLS0tLS1cbi8vIEJ1aWxkIGEgbWVkaWEtcXVlcnkgc3RyaW5nIGZyb20gdmFyaW91cyBtZWRpYSBzZXR0aW5nc1xuQGZ1bmN0aW9uIHN1c3ktcmVuZGVyLW1lZGlhKFxuICAkcXVlcnlcbikge1xuICAkb3V0cHV0OiBudWxsO1xuICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkcXVlcnkge1xuICAgICRzdHJpbmc6IG51bGw7XG5cbiAgICBAaWYgJHByb3BlcnR5ID09IG1lZGlhIHtcbiAgICAgICRzdHJpbmc6ICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRzdHJpbmc6ICcoI3skcHJvcGVydHl9OiAjeyR2YWx1ZX0pJztcbiAgICB9XG5cbiAgICAkb3V0cHV0OiBpZigkb3V0cHV0LCAnI3skb3V0cHV0fSBhbmQgI3skc3RyaW5nfScsICRzdHJpbmcpO1xuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG5cbi8vIFBhcnNlIE1lZGlhXG4vLyAtLS0tLS0tLS0tLVxuLy8gUmV0dXJuIHBhcnNlZCBtZWRpYS1xdWVyeSBzZXR0aW5ncyBiYXNlZCBvbiBzaG9ydGhhbmRcbkBmdW5jdGlvbiBzdXN5LXBhcnNlLW1lZGlhKFxuICAkcXVlcnlcbikge1xuICAkbXE6IG51bGw7XG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbWFwIHtcbiAgICAkbXE6ICRxdWVyeTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIHtcbiAgICAkbXE6IChtaW4td2lkdGg6ICRxdWVyeSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkcXVlcnkpID09IGxpc3QgYW5kIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSBudW1iZXIge1xuICAgICAgJG1xOiAoXG4gICAgICAgIG1pbi13aWR0aDogbWluKCRxdWVyeS4uLiksXG4gICAgICAgIG1heC13aWR0aDogbWF4KCRxdWVyeS4uLiksXG4gICAgICApO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJG1xOiAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICRtcTogKG1lZGlhOiAnI3skcXVlcnl9Jyk7XG4gIH1cblxuICBAcmV0dXJuICRtcTtcbn1cbiIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlO1xyXG4vL1xyXG4vLyBWYXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gXHJcbiRoZWFkZXItaGVpZ2h0LW1vYmlsZTogNjBweDtcclxuJGhlYWRlci1oZWlnaHQtZGVza3RvcDogMTAwcHg7XHJcbiRzaWRlYmFyLXdpZHRoOiAxMDBweDtcclxuJGhlcm8taGVpZ2h0OiAzNTBweDtcclxuJGhlaWdodC1jYXNlOiA4MHB4O1xyXG5cclxuLy89PSBDb2xvcnNcclxuLy9cclxuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxyXG5cclxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwYTBhMGE7XHJcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKTsgLy8gIzIyMlxyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpOyAgIC8vICMzMzNcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpOyAvLyAjNTU1XHJcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKTsgLy8gIzc3N1xyXG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA2NS41JSk7IC8vICNlZWVcclxuXHJcbiRyZWQ6IFx0XHRcdFx0XHQjZGYyNTIzO1xyXG5cclxuXHJcbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKTsgLy8gIzMzN2FiN1xyXG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjO1xyXG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlO1xyXG4kYnJhbmQtd2FybmluZzogICAgICAgICAjZjBhZDRlO1xyXG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmO1xyXG5cclxuXHJcbi8vPT0gU2NhZmZvbGRpbmdcclxuLy9cclxuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZjtcclxuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cclxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFya2VyO1xyXG5cclxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxyXG4kbGluay1jb2xvcjogICAgICAgICAgICAkdGV4dC1jb2xvcjtcclxuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cclxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgJHJlZDtcclxuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IG5vbmU7XHJcblxyXG5cclxuLy89PSBUeXBvZ3JhcGh5XHJcbi8vXHJcbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXHJcblxyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogIFF1aWNrc2FuZCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcclxuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweDtcclxuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSk7IC8vIH4xOHB4XHJcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpOyAvLyB+MTJweFxyXG5cclxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMS45KSk7IC8vIH4zNnB4XHJcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDEuNykpOyAvLyB+MzBweFxyXG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpOyAvLyB+MjRweFxyXG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKTsgLy8gfjE4cHhcclxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2U7XHJcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpOyAvLyB+MTJweFxyXG5cclxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5OyAvLyAyMC8xNFxyXG4vLyoqIENvbXB1dGVkIFwibGluZS1oZWlnaHRcIiAoYGZvbnQtc2l6ZWAgKiBgbGluZS1oZWlnaHRgKSBmb3IgdXNlIHdpdGggYG1hcmdpbmAsIGBwYWRkaW5nYCwgZXRjLlxyXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpOyAvLyB+MjBweFxyXG5cclxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxyXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQ7XHJcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwO1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMTtcclxuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0O1xyXG5cclxuXHJcbi8vPT0gSWNvbm9ncmFwaHlcclxuLy9cclxuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxyXG5cclxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXHJcblxyXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cclxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBiZWNhdXNlIHNvbWUgYXNzZXQgaGVscGVycywgc3VjaCBhcyBTcHJvY2tldHMsIGRvIG5vdCB3b3JrIHdpdGggZmlsZS1yZWxhdGl2ZSBwYXRocy5cclxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpO1xyXG5cclxuLy8qKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxyXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiO1xyXG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXHJcbiRpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIjtcclxuXHJcblxyXG4vLz09IENvbXBvbmVudHNcclxuLy9cclxuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXHJcblxyXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgNnB4O1xyXG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweDtcclxuXHJcbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4O1xyXG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweDtcclxuXHJcbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHg7XHJcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4O1xyXG5cclxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweDtcclxuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweDtcclxuXHJcbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzMzMzMzM7IC8vIGV4dHJhIGRlY2ltYWxzIGZvciBXaW4gOC4xIENocm9tZVxyXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41O1xyXG5cclxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweDtcclxuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweDtcclxuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDNweDtcclxuXHJcbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cclxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmY7XHJcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxyXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnk7XHJcblxyXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0ZSBkcm9wZG93bnMuXHJcbiRjYXJldC13aWR0aC1iYXNlOiAgICAgICAgICA0cHg7XHJcbi8vKiogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxyXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4O1xyXG5cclxuXHJcbi8vPT0gVGFibGVzXHJcbi8vXHJcbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxyXG5cclxuLy8qKiBQYWRkaW5nIGZvciBgPHRoPmBzIGFuZCBgPHRkPmBzLlxyXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweDtcclxuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXHJcbiR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nOiAgNXB4O1xyXG5cclxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cclxuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXHJcbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOTtcclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtaG92ZXJgLlxyXG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjU7XHJcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyO1xyXG5cclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXHJcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZDtcclxuXHJcblxyXG4vLz09IEJ1dHRvbnNcclxuLy9cclxuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxyXG5cclxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsO1xyXG5cclxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMztcclxuJGJ0bi1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgI2NjYztcclxuXHJcbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICNmZmY7XHJcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xyXG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSk7XHJcblxyXG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAjZmZmO1xyXG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcztcclxuJGJ0bi1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tc3VjY2Vzcy1iZywgNSUpO1xyXG5cclxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJGJ0bi1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm87XHJcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnRuLWluZm8tYmcsIDUlKTtcclxuXHJcbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICNmZmY7XHJcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nO1xyXG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSk7XHJcblxyXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmO1xyXG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyO1xyXG4kYnRuLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1kYW5nZXItYmcsIDUlKTtcclxuXHJcbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0O1xyXG5cclxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xyXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAwO1xyXG4kYnRuLWJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgICAwO1xyXG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAwO1xyXG5cclxuXHJcbi8vPT0gRm9ybXNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxyXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcblxyXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcclxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXk7XHJcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxyXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjO1xyXG5cclxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XHJcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xyXG4vLyBUaGlzIGhhcyBubyBlZmZlY3Qgb24gYDxzZWxlY3Q+YHMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cclxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgMDtcclxuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAwO1xyXG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXHJcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgIDA7XHJcblxyXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgaW5wdXRzIG9uIGZvY3VzXHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgJGdyYXktbGlnaHQ7XHJcblxyXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OTtcclxuXHJcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XHJcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMik7XHJcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxyXG4kaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAoY2VpbCgkZm9udC1zaXplLWxhcmdlICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMik7XHJcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxyXG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICAoZmxvb3IoJGZvbnQtc2l6ZS1zbWFsbCAqICRsaW5lLWhlaWdodC1zbWFsbCkgKyAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpO1xyXG5cclxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxyXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4O1xyXG5cclxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyaztcclxuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNTtcclxuXHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlcjtcclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXHJcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXI7XHJcblxyXG4vLyoqIERpc2FibGVkIGN1cnNvciBmb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9ucy5cclxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQ7XHJcblxyXG5cclxuLy89PSBEcm9wZG93bnNcclxuLy9cclxuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXHJcblxyXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxyXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXHJcbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjE1KTtcclxuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxyXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjO1xyXG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXHJcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTU7XHJcblxyXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cclxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyaztcclxuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSk7XHJcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXHJcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjU7XHJcblxyXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cclxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XHJcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZztcclxuXHJcbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXHJcbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0O1xyXG5cclxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cclxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQ7XHJcblxyXG4vLyoqIERlcHJlY2F0ZWQgYCRkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXHJcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDA7XHJcblxyXG5cclxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XHJcbi8vXHJcbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xyXG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXHJcbi8vXHJcbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxyXG5cclxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMDtcclxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMDtcclxuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MDtcclxuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MDtcclxuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMDtcclxuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MDtcclxuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MDtcclxuXHJcblxyXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcclxuLy9cclxuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxyXG5cclxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweDtcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXHJcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cztcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbjtcclxuXHJcbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4O1xyXG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc207XHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluO1xyXG5cclxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweDtcclxuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kO1xyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW47XHJcblxyXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHg7XHJcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZztcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluO1xyXG5cclxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXHJcbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSk7XHJcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSk7XHJcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSk7XHJcblxyXG5cclxuLy89PSBHcmlkIHN5c3RlbVxyXG4vL1xyXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXHJcblxyXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxyXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTI7XHJcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXHJcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4O1xyXG4vLyBOYXZiYXIgY29sbGFwc2VcclxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXHJcbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbjtcclxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxyXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKTtcclxuXHJcblxyXG4vLz09IENvbnRhaW5lciBzaXplc1xyXG4vL1xyXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXHJcblxyXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcclxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICg3MjBweCArICRncmlkLWd1dHRlci13aWR0aCk7XHJcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxyXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQ7XHJcblxyXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxyXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKTtcclxuLy8qKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXHJcbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3A7XHJcblxyXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xyXG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cclxuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcDtcclxuXHJcblxyXG4vLz09IE5hdmJhclxyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4O1xyXG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRsaW5lLWhlaWdodC1jb21wdXRlZDtcclxuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XHJcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgKCgkbmF2YmFyLWhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyKTtcclxuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweDtcclxuXHJcbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIzc3NztcclxuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4O1xyXG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpO1xyXG5cclxuLy8gTmF2YmFyIGxpbmtzXHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3O1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIzMzMztcclxuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NTtcclxuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpO1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYztcclxuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXHJcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcclxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3IsIDEwJSk7XHJcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbi8vIE5hdmJhciB0b2dnbGVcclxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQ7XHJcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4O1xyXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgI2RkZDtcclxuXHJcblxyXG4vLz09PSBJbnZlcnRlZCBuYXZiYXJcclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xyXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSk7XHJcbiRuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzIyMjtcclxuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpO1xyXG5cclxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXHJcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKTtcclxuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmO1xyXG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xyXG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSk7XHJcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NDtcclxuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxyXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xyXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmY7XHJcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXHJcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMztcclxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmO1xyXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzM7XHJcblxyXG5cclxuLy89PSBOYXZzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXHJcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4O1xyXG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcblxyXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0O1xyXG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LWxpZ2h0O1xyXG5cclxuLy89PSBUYWJzXHJcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZDtcclxuXHJcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlcjtcclxuXHJcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmc7XHJcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXk7XHJcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZDtcclxuXHJcbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZDtcclxuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZztcclxuXHJcbi8vPT0gUGlsbHNcclxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnO1xyXG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yO1xyXG5cclxuXHJcbi8vPT0gUGFnaW5hdGlvblxyXG4vL1xyXG4vLyMjXHJcblxyXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvcjtcclxuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZDtcclxuXHJcbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yO1xyXG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyO1xyXG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkO1xyXG5cclxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZjtcclxuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XHJcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xyXG5cclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQ7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmY7XHJcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQ7XHJcblxyXG5cclxuLy89PSBQYWdlclxyXG4vL1xyXG4vLyMjXHJcblxyXG4kcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZztcclxuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyO1xyXG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4O1xyXG5cclxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmc7XHJcblxyXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmc7XHJcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcclxuXHJcbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xyXG5cclxuXHJcbi8vPT0gSnVtYm90cm9uXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHg7XHJcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQ7XHJcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQ7XHJcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpO1xyXG4kanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplOiAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiA0LjUpKTtcclxuXHJcblxyXG4vLz09IEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcclxuLy9cclxuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cclxuXHJcbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2Q7XHJcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDg7XHJcbiRzdGF0ZS1zdWNjZXNzLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1zdWNjZXNzLWJnLCAtMTApLCA1JSk7XHJcblxyXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmO1xyXG4kc3RhdGUtaW5mby1iZzogICAgICAgICAgICAgICAgICAjZDllZGY3O1xyXG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpO1xyXG5cclxuJHN0YXRlLXdhcm5pbmctdGV4dDogICAgICAgICAgICAgIzhhNmQzYjtcclxuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMztcclxuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKTtcclxuXHJcbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgIGRhcmtlbigkcmVkLCAxMCUpO1xyXG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICBsaWdodGVuKCRyZWQsIDMwJSk7XHJcbiRzdGF0ZS1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1kYW5nZXItYmcsIC0xMCksIDUlKTtcclxuXHJcblxyXG4vLz09IFRvb2x0aXBzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHg7XHJcbi8vKiogVG9vbHRpcCB0ZXh0IGNvbG9yXHJcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICMwMDA7XHJcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45O1xyXG5cclxuLy8qKiBUb29sdGlwIGFycm93IHdpZHRoXHJcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweDtcclxuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXHJcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnO1xyXG5cclxuXHJcbi8vPT0gUG9wb3ZlcnNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxyXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogUG9wb3ZlciBtYXhpbXVtIHdpZHRoXHJcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHg7XHJcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcclxuJHBvcG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKTtcclxuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxyXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2M7XHJcblxyXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxyXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpO1xyXG5cclxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXHJcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweDtcclxuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXHJcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmc7XHJcblxyXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgd2lkdGhcclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKTtcclxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXHJcbiRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yOiAgICAgICAgICAgZmFkZV9pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIDAuMDUpO1xyXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpO1xyXG5cclxuXHJcbi8vPT0gTGFiZWxzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0O1xyXG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG4kbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcclxuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3M7XHJcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvO1xyXG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG4kbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAkYnJhbmQtd2FybmluZztcclxuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyO1xyXG5cclxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcclxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZjtcclxuXHJcblxyXG4vLz09IE1vZGFsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxyXG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4O1xyXG5cclxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXHJcbiRtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHg7XHJcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcclxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2U7XHJcblxyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXHJcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxyXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpO1xyXG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXHJcbiRtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OTtcclxuXHJcbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxyXG4kbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwO1xyXG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcclxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjU7XHJcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxyXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1O1xyXG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcclxuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XHJcblxyXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweDtcclxuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHg7XHJcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4O1xyXG5cclxuXHJcbi8vPT0gQWxlcnRzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXHJcblxyXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4O1xyXG4kYWxlcnQtYm9yZGVyLXJhZGl1czogICAgICAgICAwO1xyXG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkO1xyXG5cclxuJGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYmc7XHJcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQ7XHJcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlcjtcclxuXHJcbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnO1xyXG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0O1xyXG4kYWxlcnQtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXI7XHJcblxyXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZztcclxuJGFsZXJ0LXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dDtcclxuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyO1xyXG5cclxuJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgJHN0YXRlLWRhbmdlci1iZztcclxuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0O1xyXG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlcjtcclxuXHJcblxyXG4vLz09IFByb2dyZXNzIGJhcnNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB3aG9sZSBwcm9ncmVzcyBjb21wb25lbnRcclxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNTtcclxuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxyXG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAjZmZmO1xyXG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXHJcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2U7XHJcblxyXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xyXG4vLyoqIFN1Y2Nlc3MgcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzO1xyXG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbiRwcm9ncmVzcy1iYXItd2FybmluZy1iZzogICAgICRicmFuZC13YXJuaW5nO1xyXG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlcjtcclxuLy8qKiBJbmZvIHByb2dyZXNzIGJhciBjb2xvclxyXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbztcclxuXHJcblxyXG4vLz09IExpc3QgZ3JvdXBcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxyXG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxyXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQ7XHJcbi8vKiogTGlzdCBncm91cCBib3JkZXIgcmFkaXVzXHJcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZTtcclxuXHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBzaW5nbGUgbGlzdCBpdGVtcyBvbiBob3ZlclxyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjU7XHJcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICNmZmY7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRyZWQ7XHJcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXHJcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXI6ICAgICAgZGFya2VuKCRyZWQsIDEwJSk7XHJcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcclxuJGxpc3QtZ3JvdXAtYWN0aXZlLXRleHQtY29sb3I6ICAjZmZmO1xyXG5cclxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcclxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQ7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXI7XHJcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcclxuXHJcbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgI2ZmZjtcclxuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAjZmZmO1xyXG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICNmZmY7XHJcblxyXG5cclxuLy89PSBQYW5lbHNcclxuLy9cclxuLy8jI1xyXG5cclxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweDtcclxuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4O1xyXG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nO1xyXG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5cclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcclxuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZDtcclxuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNTtcclxuXHJcbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcms7XHJcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQ7XHJcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjU7XHJcblxyXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmO1xyXG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeTtcclxuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnk7XHJcblxyXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0O1xyXG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXI7XHJcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnO1xyXG5cclxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dDtcclxuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyO1xyXG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZztcclxuXHJcbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQ7XHJcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlcjtcclxuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmc7XHJcblxyXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQ7XHJcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyO1xyXG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnO1xyXG5cclxuXHJcbi8vPT0gVGh1bWJuYWlsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4O1xyXG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnO1xyXG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZDtcclxuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xyXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5cclxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXHJcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yO1xyXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxyXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHg7XHJcblxyXG5cclxuLy89PSBXZWxsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1O1xyXG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKTtcclxuXHJcblxyXG4vLz09IEJhZGdlc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXHJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmY7XHJcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0O1xyXG5cclxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xyXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvcjtcclxuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xyXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmO1xyXG5cclxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZDtcclxuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMTtcclxuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweDtcclxuXHJcblxyXG4vLz09IEJyZWFkY3J1bWJzXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4O1xyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHg7XHJcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNTtcclxuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjY2NjO1xyXG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQ7XHJcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xyXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiO1xyXG5cclxuXHJcbi8vPT0gQ2Fyb3VzZWxcclxuLy9cclxuLy8jI1xyXG5cclxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KTtcclxuXHJcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlO1xyXG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjU7XHJcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4O1xyXG5cclxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmY7XHJcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmO1xyXG5cclxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcblxyXG5cclxuLy89PSBDbG9zZVxyXG4vL1xyXG4vLyMjXHJcblxyXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkO1xyXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwO1xyXG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmY7XHJcblxyXG5cclxuLy89PSBDb2RlXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGU7XHJcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQ7XHJcblxyXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzO1xyXG5cclxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNTtcclxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyaztcclxuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYztcclxuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHg7XHJcblxyXG5cclxuLy89PSBUeXBlXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cclxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHg7XHJcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodDtcclxuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQ7XHJcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQ7XHJcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxyXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodDtcclxuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxyXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSk7XHJcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlcjtcclxuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlcjtcclxuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXHJcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw7XHJcbi8vKiogUG9pbnQgYXQgd2hpY2ggLmRsLWhvcml6b250YWwgYmVjb21lcyBob3Jpem9udGFsXHJcbiRkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQ6ICAgICRncmlkLWZsb2F0LWJyZWFrcG9pbnQ7XHJcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxyXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyO1xyXG4iLCIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvb3BhY2l0eVwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9sYWJlbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtZmlsdGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNwb25zaXZlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy90YWItZm9jdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtb3ZlcmZsb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmVuZG9yLXByZWZpeGVzXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFuZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy9wcm9ncmVzcy1iYXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2VudGVyLWJsb2NrXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi12ZXJ0aWNhbC1hbGlnblwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKGhhcyBiZWVuIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cbkBtaXhpbiBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIG1heC13aWR0aDogMTAwJTsgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgaGVpZ2h0OiBhdXRvOyAvLyBQYXJ0IDI6IFNjYWxlIHRoZSBoZWlnaHQgYWNjb3JkaW5nIHRvIHRoZSB3aWR0aCwgb3RoZXJ3aXNlIHlvdSBnZXQgc3RyZXRjaGluZ1xufVxuXG5cbi8vIFJldGluYSBpbWFnZVxuLy9cbi8vIFNob3J0IHJldGluYSBtaXhpbiBmb3Igc2V0dGluZyBiYWNrZ3JvdW5kLWltYWdlIGFuZCAtc2l6ZS4gTm90ZSB0aGF0IHRoZVxuLy8gc3BlbGxpbmcgb2YgYG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpb2AgaXMgaW50ZW50aW9uYWwuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0xeH1cIiksIFwiI3skZmlsZS0xeH1cIikpO1xuXG4gIEBtZWRpYVxuICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTJ4fVwiKSwgXCIjeyRmaWxlLTJ4fVwiKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gUGVyIENTUzMgVUksIGByZXNpemVgIG9ubHkgYXBwbGllcyB3aGVuIGBvdmVyZmxvd2AgaXNuJ3QgYHZpc2libGVgXG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQpIHtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG5AbWl4aW4gc3F1YXJlKCRzaXplKSB7XG4gIEBpbmNsdWRlIHNpemUoJHNpemUsICRzaXplKTtcbn1cbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG5AbWl4aW4gdGFiLWZvY3VzKCkge1xuICAvLyBXZWJLaXQtc3BlY2lmaWMuIE90aGVyIGJyb3dzZXJzIHdpbGwga2VlcCB0aGVpciBkZWZhdWx0IG91dGxpbmUgc3R5bGUuXG4gIC8vIChJbml0aWFsbHkgdHJpZWQgdG8gYWxzbyBmb3JjZSBkZWZhdWx0IHZpYSBgb3V0bGluZTogaW5pdGlhbGAsXG4gIC8vIGJ1dCB0aGF0IHNlZW1zIHRvIGVycm9uZW91c2x5IHJlbW92ZSB0aGUgb3V0bGluZSBpbiBGaXJlZm94IGFsdG9nZXRoZXIuKVxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuIiwiQG1peGluIHJlc2V0LXRleHQoKSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG4iLCIvLyBUeXBvZ3JhcGh5XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBUZXh0IG92ZXJmbG93XG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIi8vIEFsZXJ0c1xuXG5AbWl4aW4gYWxlcnQtdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJHRleHQtY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG4gIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgNSUpO1xuICB9XG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG4iLCIvLyBQYW5lbHNcblxuQG1peGluIHBhbmVsLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgPiBsaSB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0IEdyb3Vwc1xuXG5AbWl4aW4gbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGNvbG9yKSB7XG4gIC5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9IHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuXG4gICAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmLCBidXR0b24mIHRvIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSwgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX1cbiAgfVxuXG4gIGEubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gICAgJi5hY3RpdmUsXG4gICAgJi5hY3RpdmU6aG92ZXIsXG4gICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvcml6b250YWwgZGl2aWRlcnNcbi8vXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcblxuQG1peGluIG5hdi1kaXZpZGVyKCRjb2xvcjogI2U1ZTVlNSkge1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xufVxuIiwiLy8gRm9ybSB2YWxpZGF0aW9uIHN0YXRlc1xuLy9cbi8vIFVzZWQgaW4gZm9ybXMubGVzcyB0byBnZW5lcmF0ZSB0aGUgZm9ybSB2YWxpZGF0aW9uIENTUyBmb3Igd2FybmluZ3MsIGVycm9ycyxcbi8vIGFuZCBzdWNjZXNzZXMuXG5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkdGV4dC1jb2xvcjogIzU1NSwgJGJvcmRlci1jb2xvcjogI2NjYywgJGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gQ29sb3IgdGhlIGxhYmVsIGFuZCBoZWxwIHRleHRcbiAgLmhlbHAtYmxvY2ssXG4gIC5jb250cm9sLWxhYmVsLFxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSxcbiAgJi5yYWRpbyBsYWJlbCxcbiAgJi5jaGVja2JveCBsYWJlbCxcbiAgJi5yYWRpby1pbmxpbmUgbGFiZWwsXG4gICYuY2hlY2tib3gtaW5saW5lIGxhYmVsICB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICB9XG4gIC8vIFNldCB0aGUgYm9yZGVyIGFuZCBib3ggc2hhZG93IG9uIHNwZWNpZmljIGlucHV0cyB0byBtYXRjaFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgJHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbigkYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcbiAgICB9XG4gIH1cbiAgLy8gU2V0IHZhbGlkYXRpb24gc3RhdGVzIGFsc28gZm9yIGFkZG9uc1xuICAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIH1cbiAgLy8gT3B0aW9uYWwgZmVlZGJhY2sgaWNvblxuICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZm9jdXMgc3RhdGVcbi8vXG4vLyBHZW5lcmF0ZSBhIGN1c3RvbWl6ZWQgZm9jdXMgc3RhdGUgYW5kIGZvciBhbnkgaW5wdXQgd2l0aCB0aGUgc3BlY2lmaWVkIGNvbG9yLFxuLy8gd2hpY2ggZGVmYXVsdHMgdG8gdGhlIGAkaW5wdXQtYm9yZGVyLWZvY3VzYCB2YXJpYWJsZS5cbi8vXG4vLyBXZSBoaWdobHkgZW5jb3VyYWdlIHlvdSB0byBub3QgY3VzdG9taXplIHRoZSBkZWZhdWx0IHZhbHVlLCBidXQgaW5zdGVhZCB1c2Vcbi8vIHRoaXMgdG8gdHdlYWsgY29sb3JzIG9uIGFuIGFzLW5lZWRlZCBiYXNpcy4gVGhpcyBhZXN0aGV0aWMgY2hhbmdlIGlzIGJhc2VkIG9uXG4vLyBXZWJLaXQncyBkZWZhdWx0IHN0eWxlcywgYnV0IGFwcGxpY2FibGUgdG8gYSB3aWRlciByYW5nZSBvZiBicm93c2Vycy4gSXRzXG4vLyB1c2FiaWxpdHkgYW5kIGFjY2Vzc2liaWxpdHkgc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCB3aXRoIGFueSBjaGFuZ2UuXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTogY2hhbmdlIHRoZSBkZWZhdWx0IGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgdG8gd2hpdGUgZm9yIGJldHRlclxuLy8gY29udHJhc3QgYWdhaW5zdCBhIGRhcmsgZ3JheSBiYWNrZ3JvdW5kLlxuQG1peGluIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpIHtcbiAgJGNvbG9yLXJnYmE6IHJnYmEocmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKSwgLjYpO1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA4cHggJGNvbG9yLXJnYmEpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gaW5wdXQtc2l6ZSgkcGFyZW50LCAkaW5wdXQtaGVpZ2h0LCAkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAjeyRwYXJlbnR9IHtcbiAgICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gIHNlbGVjdCN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhI3skcGFyZW50fSxcbiAgc2VsZWN0W211bHRpcGxlXSN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy8gUHJvZ3Jlc3MgYmFyc1xuXG5AbWl4aW4gcHJvZ3Jlc3MtYmFyLXZhcmlhbnQoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAvLyBEZXByZWNhdGVkIHBhcmVudCBjbGFzcyByZXF1aXJlbWVudCBhcyBvZiB2My4yLjBcbiAgLnByb2dyZXNzLXN0cmlwZWQgJiB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcbiAgfVxufVxuIiwiLy8gVGFibGVzXG5cbkBtaXhpbiB0YWJsZS1yb3ctdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4gIC8vIGluaGVyaXRhbmNlIHRvIG5lc3RlZCB0YWJsZXMuXG4gIC50YWJsZSA+IHRoZWFkID4gdHIsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIsXG4gIC50YWJsZSA+IHRmb290ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9LFxuICAgID4gdGguI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9ID4gdGQsXG4gICAgJi4jeyRzdGF0ZX0gPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfTpob3ZlcixcbiAgICA+IHRoLiN7JHN0YXRlfTpob3ZlcixcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRkLFxuICAgICY6aG92ZXIgPiAuI3skc3RhdGV9LFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIGJnLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgfVxuICBhI3skcGFyZW50fTpob3ZlcixcbiAgYSN7JHBhcmVudH06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xufVxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBDbGVhcmZpeFxuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vXG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgcGFkZGluZy1yaWdodDogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgfVxufVxuXG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcywgJGk6IDEsICRsaXN0OiBcIi5jb2wtI3skY2xhc3N9LSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC0jeyRjbGFzc30tI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG5AbWl4aW4gY2FsYy1ncmlkLWNvbHVtbigkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgQGlmICgkdHlwZSA9PSB3aWR0aCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tI3skaW5kZXh9IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0jeyRpbmRleH0ge1xuICAgICAgbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLTAge1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLSN7JGluZGV4fSB7XG4gICAgICByaWdodDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID09IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdWxsLTAge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gb2Zmc2V0KSB7XG4gICAgLmNvbC0jeyRjbGFzc30tb2Zmc2V0LSN7JGluZGV4fSB7XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGxvb3AtZ3JpZC1jb2x1bW5zKCRjb2x1bW5zLCAkY2xhc3MsICR0eXBlKSB7XG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbnMge1xuICAgIEBpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGksICRjbGFzcywgJHR5cGUpO1xuICB9XG59XG5cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG5AbWl4aW4gbWFrZS1ncmlkKCRjbGFzcykge1xuICBAaW5jbHVkZSBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVsbCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgcHVzaCk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgb2Zmc2V0KTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuQG1peGluIGNvbnRhaW5lci1maXhlZCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgZmxvb3IoKCRndXR0ZXIgLyAyKSk7XG4gIHBhZGRpbmctcmlnaHQ6IGNlaWwoKCRndXR0ZXIgLyAyKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBDcmVhdGVzIGEgd3JhcHBlciBmb3IgYSBzZXJpZXMgb2YgY29sdW1uc1xuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tbGVmdDogIGNlaWwoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tcmlnaHQ6IGZsb29yKCgkZ3V0dGVyIC8gLTIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBtZWRpdW0gY29sdW1uc1xuQG1peGluIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vL1xuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4vLyAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuLy8gYWN0aXZlL2hvdmVyIHN0YXRlLlxuLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbi8vXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbi8vXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy9cbi8vIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuLy8gc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy9cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuLy9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuLy8gQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xufVxuXG4vL1xuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vLyBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuLy9cbi8vIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuLy9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuLy8gYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vLyAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLzJcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuLy9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKiEgU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDogaDVicC5jb20vclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvLyBoNWJwLmNvbS90XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICAgID4gLmNhcmV0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmdcbioge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmUoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBzZXQgcmFkaXVzIGluIHBlcmNlbnRzXG59XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICAgICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaHItYm9yZGVyO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnRcblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8vXG4vLyBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEhlYWRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkaGVhZGluZ3Mtc21hbGwtY29sb3I7XG4gIH1cbn1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG4gIH1cbn1cbmg0LCAuaDQsXG5oNSwgLmg1LFxuaDYsIC5oNiB7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICB9XG59XG5cbmgxLCAuaDEgeyBmb250LXNpemU6ICRmb250LXNpemUtaDE7IH1cbmgyLCAuaDIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cbmgzLCAuaDMgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cbmg0LCAuaDQgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cbmg1LCAuaDUgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cbmg2LCAuaDYgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbn1cblxuLmxlYWQge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDEuMTUpKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBmb250LXNpemU6ICgkZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICB9XG59XG5cblxuLy8gRW1waGFzaXMgJiBtaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4OiAoMTJweCBzbWFsbCBmb250IC8gMTRweCBiYXNlIGZvbnQpICogMTAwJSA9IGFib3V0IDg1JVxuc21hbGwsXG4uc21hbGwge1xuICBmb250LXNpemU6IGZsb29yKCgxMDAlICogJGZvbnQtc2l6ZS1zbWFsbCAvICRmb250LXNpemUtYmFzZSkpO1xufVxuXG5tYXJrLFxuLm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3RhdGUtd2FybmluZy1iZztcbiAgcGFkZGluZzogLjJlbTtcbn1cblxuLy8gQWxpZ25tZW50XG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbi50ZXh0LXJpZ2h0ICAgICAgICAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4udGV4dC1qdXN0aWZ5ICAgICAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbi50ZXh0LW5vd3JhcCAgICAgICAgIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vLyBUcmFuc2Zvcm1hdGlvblxuLnRleHQtbG93ZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG4udGV4dC11cHBlcmNhc2UgICAgICB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbi50ZXh0LWNhcGl0YWxpemUgICAgIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xufVxuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXByaW1hcnknLCAkYnJhbmQtcHJpbWFyeSk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWluZm8nLCAkc3RhdGUtaW5mby10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtZGFuZ2VyJywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxuLy8gc2FmZWx5IHNoaWZ0IHRoaW5ncyBhcm91bmQgKHBlciBTZW1WZXIgcnVsZXMpLlxuLmJnLXByaW1hcnkge1xuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxuICAvLyBhdXRvbWF0aWNhbGx5LlxuICBjb2xvcjogI2ZmZjtcbn1cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctc3VjY2VzcycsICRzdGF0ZS1zdWNjZXNzLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWluZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy13YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctZGFuZ2VyJywgJHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKTtcbiAgbWFyZ2luOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMikgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yO1xufVxuXG5cbi8vIExpc3RzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFVub3JkZXJlZCBhbmQgT3JkZXJlZCBsaXN0c1xudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vIExpc3Qgb3B0aW9uc1xuXG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgZnJvbSBgLmxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGFzIGBAbWl4aW4gbGlzdC11bnN0eWxlZGAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG5cbi8vIElubGluZSB0dXJucyBsaXN0IGl0ZW1zIGludG8gaW5saW5lLWJsb2NrXG4ubGlzdC1pbmxpbmUge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICB9XG59XG5cbi8vIERlc2NyaXB0aW9uIExpc3RzXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7IC8vIFJlbW92ZSBicm93c2VyIGRlZmF1bHRcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbn1cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5kZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyBVbmRvIGJyb3dzZXIgZGVmYXVsdFxufVxuXG4vLyBIb3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gRGVmYXVsdHMgdG8gYmVpbmcgc3RhY2tlZCB3aXRob3V0IGFueSBvZiB0aGUgYmVsb3cgc3R5bGVzIGFwcGxpZWQsIHVudGlsIHRoZVxuLy8gZ3JpZCBicmVha3BvaW50IGlzIHJlYWNoZWQgKGRlZmF1bHQgb2Ygfjc2OHB4KS5cblxuLmRsLWhvcml6b250YWwge1xuICBkZCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIENsZWFyIHRoZSBmbG9hdGVkIGBkdGAgaWYgYW4gZW1wdHkgYGRkYCBpcyBwcmVzZW50XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGRsLWhvcml6b250YWwtYnJlYWtwb2ludCkge1xuICAgIGR0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6ICgkZGwtaG9yaXpvbnRhbC1vZmZzZXQgLSAyMCk7XG4gICAgICBjbGVhcjogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdztcbiAgICB9XG4gICAgZGQge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRkbC1ob3Jpem9udGFsLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBNaXNjXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZCBkYXRhLSogYXR0cmlidXRlIHRvIGhlbHAgb3V0IG91ciB0b29sdGlwIHBsdWdpbiwgcGVyIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNTI1N1xuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XG4gIGN1cnNvcjogaGVscDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYWJici1ib3JkZXItY29sb3I7XG59XG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBAZXh0ZW5kIC50ZXh0LXVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW46IDAgMCAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogJGJsb2NrcXVvdGUtZm9udC1zaXplO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcblxuICBwLFxuICB1bCxcbiAgb2wge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdGU6IERlcHJlY2F0ZWQgc21hbGwgYW5kIC5zbWFsbCBhcyBvZiB2My4xLjBcbiAgLy8gQ29udGV4dDogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY2MFxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgLy8gZW0gZGFzaCwgbmJzcFxuICAgIH1cbiAgfVxufVxuXG4vLyBPcHBvc2l0ZSBhbGlnbm1lbnQgb2YgYmxvY2txdW90ZVxuLy9cbi8vIEhlYWRzIHVwOiBgYmxvY2txdW90ZS5wdWxsLXJpZ2h0YCBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mIHYzLjEuMC5cbi5ibG9ja3F1b3RlLXJldmVyc2UsXG5ibG9ja3F1b3RlLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIC8vIEFjY291bnQgZm9yIGNpdGF0aW9uXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgJjpiZWZvcmUgeyBjb250ZW50OiAnJzsgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnOyAvLyBuYnNwLCBlbSBkYXNoXG4gICAgfVxuICB9XG59XG5cbi8vIEFkZHJlc3Nlc1xuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG4iLCIvL1xuLy8gR3JpZCBzeXN0ZW1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuLmNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1zbTtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1tZDtcbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICB3aWR0aDogJGNvbnRhaW5lci1sZztcbiAgfVxufVxuXG5cbi8vIEZsdWlkIGNvbnRhaW5lclxuLy9cbi8vIFV0aWxpemVzIHRoZSBtaXhpbiBtZWFudCBmb3IgZml4ZWQgd2lkdGggY29udGFpbmVycywgYnV0IHdpdGhvdXQgYW55IGRlZmluZWRcbi8vIHdpZHRoIGZvciBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xufVxuXG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbi5yb3cge1xuICBAaW5jbHVkZSBtYWtlLXJvdztcbn1cblxuXG4vLyBDb2x1bW5zXG4vL1xuLy8gQ29tbW9uIHN0eWxlcyBmb3Igc21hbGwgYW5kIGxhcmdlIGdyaWQgY29sdW1uc1xuXG5AaW5jbHVkZSBtYWtlLWdyaWQtY29sdW1ucztcblxuXG4vLyBFeHRyYSBzbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIGV4dHJhIHNtYWxsIGRldmljZXMgbGlrZVxuLy8gc21hcnRwaG9uZXMuXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZCh4cyk7XG5cblxuLy8gU21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgc21hbGwgZGV2aWNlIHJhbmdlLCBmcm9tIHBob25lc1xuLy8gdG8gdGFibGV0cy5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChzbSk7XG59XG5cblxuLy8gTWVkaXVtIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKG1kKTtcbn1cblxuXG4vLyBMYXJnZSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBsYXJnZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChsZyk7XG59XG4iLCIvL1xuLy8gVGFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnO1xufVxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxudGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG5cbi8vIEJhc2VsaW5lIHN0eWxlc1xuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIC8vIENlbGxzXG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBCb3R0b20gYWxpZ24gZm9yIGNvbHVtbiBoZWFkaW5nc1xuICA+IHRoZWFkID4gdHIgPiB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuICAvLyBSZW1vdmUgdG9wIGJvcmRlciBmcm9tIHRoZWFkIGJ5IGRlZmF1bHRcbiAgPiBjYXB0aW9uICsgdGhlYWQsXG4gID4gY29sZ3JvdXAgKyB0aGVhZCxcbiAgPiB0aGVhZDpmaXJzdC1jaGlsZCB7XG4gICAgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIEFjY291bnQgZm9yIG11bHRpcGxlIHRib2R5IGluc3RhbmNlc1xuICA+IHRib2R5ICsgdGJvZHkge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gTmVzdGluZ1xuICAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xuICB9XG59XG5cblxuLy8gQ29uZGVuc2VkIHRhYmxlIHcvIGhhbGYgcGFkZGluZ1xuXG4udGFibGUtY29uZGVuc2VkIHtcbiAgPiB0aGVhZCxcbiAgPiB0Ym9keSxcbiAgPiB0Zm9vdCB7XG4gICAgPiB0ciB7XG4gICAgICA+IHRoLFxuICAgICAgPiB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1jb25kZW5zZWQtY2VsbC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIEJvcmRlcmVkIHZlcnNpb25cbi8vXG4vLyBBZGQgYm9yZGVycyBhbGwgYXJvdW5kIHRoZSB0YWJsZSBhbmQgYmV0d2VlbiBhbGwgdGhlIGNvbHVtbnMuXG5cbi50YWJsZS1ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IHRoZWFkID4gdHIge1xuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gID4gdGJvZHkgPiB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctYWNjZW50O1xuICB9XG59XG5cblxuLy8gSG92ZXIgZWZmZWN0XG4vL1xuLy8gUGxhY2VkIGhlcmUgc2luY2UgaXQgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlIHBvdGVudGlhbCB6ZWJyYSBzdHJpcGluZ1xuXG4udGFibGUtaG92ZXIge1xuICA+IHRib2R5ID4gdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZy1ob3ZlcjtcbiAgfVxufVxuXG5cbi8vIFRhYmxlIGNlbGwgc2l6aW5nXG4vL1xuLy8gUmVzZXQgZGVmYXVsdCB0YWJsZSBiZWhhdmlvclxuXG50YWJsZSBjb2xbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IC8vIFByZXZlbnQgYm9yZGVyIGhpZGluZyBpbiBGaXJlZm94IGFuZCBJRTktMTEgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjIzKVxuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogdGFibGUtY29sdW1uO1xufVxudGFibGUge1xuICB0ZCxcbiAgdGgge1xuICAgICZbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBiYWNrZ3JvdW5kc1xuLy9cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSBgLnRhYmxlLXN0cmlwZWRgIGFuZCBwcmV2ZW50XG4vLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuXG4vLyBHZW5lcmF0ZSB0aGUgY29udGV4dHVhbCB2YXJpYW50c1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2FjdGl2ZScsICR0YWJsZS1iZy1hY3RpdmUpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ3N1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnaW5mbycsICRzdGF0ZS1pbmZvLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCd3YXJuaW5nJywgJHN0YXRlLXdhcm5pbmctYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2RhbmdlcicsICRzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFJlc3BvbnNpdmUgdGFibGVzXG4vL1xuLy8gV3JhcCB5b3VyIHRhYmxlcyBpbiBgLnRhYmxlLXJlc3BvbnNpdmVgIGFuZCB3ZSdsbCBtYWtlIHRoZW0gbW9iaWxlIGZyaWVuZGx5XG4vLyBieSBlbmFibGluZyBob3Jpem9udGFsIHNjcm9sbGluZy4gT25seSBhcHBsaWVzIDw3NjhweC4gRXZlcnl0aGluZyBhYm92ZSB0aGF0XG4vLyB3aWxsIGRpc3BsYXkgbm9ybWFsbHkuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWluLWhlaWdodDogMC4wMSU7IC8vIFdvcmthcm91bmQgZm9yIElFOSBidWcgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE0ODM3KVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAqIDAuNzUpO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgLy8gVGlnaHRlbiB1cCBzcGFjaW5nXG4gICAgPiAudGFibGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLy8gRW5zdXJlIHRoZSBjb250ZW50IGRvZXNuJ3Qgd3JhcFxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3BlY2lhbCBvdmVycmlkZXMgZm9yIHRoZSBib3JkZXJlZCB0YWJsZXNcbiAgICA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICBib3JkZXI6IDA7XG5cbiAgICAgIC8vIE51a2UgdGhlIGFwcHJvcHJpYXRlIGJvcmRlcnMgc28gdGhhdCB0aGUgcGFyZW50IGNhbiBoYW5kbGUgdGhlbVxuICAgICAgPiB0aGVhZCxcbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0ciB7XG4gICAgICAgICAgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT25seSBudWtlIHRoZSBsYXN0IHJvdydzIGJvdHRvbS1ib3JkZXIgaW4gYHRib2R5YCBhbmQgYHRmb290YCBzaW5jZVxuICAgICAgLy8gY2hhbmNlcyBhcmUgdGhlcmUgd2lsbCBiZSBvbmx5IG9uZSBgdHJgIGluIGEgYHRoZWFkYCBhbmQgdGhhdCB3b3VsZFxuICAgICAgLy8gcmVtb3ZlIHRoZSBib3JkZXIgYWx0b2dldGhlci5cbiAgICAgID4gdGJvZHksXG4gICAgICA+IHRmb290IHtcbiAgICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE5vcm1hbGl6ZSBub24tY29udHJvbHNcbi8vXG4vLyBSZXN0eWxlIGFuZCBiYXNlbGluZSBub24tY29udHJvbCBmb3JtIGVsZW1lbnRzLlxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICAvLyBDaHJvbWUgYW5kIEZpcmVmb3ggc2V0IGEgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGl0IGJlaGF2ZXMgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTkuXG4gIG1pbi13aWR0aDogMDtcbn1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogJGxlZ2VuZC1jb2xvcjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxlZ2VuZC1ib3JkZXItY29sb3I7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIEZvcmNlIElFOCB0byB3cmFwIGxvbmcgY29udGVudCAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTMxNDEpXG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuLy8gTm9ybWFsaXplIGZvcm0gY29udHJvbHNcbi8vXG4vLyBXaGlsZSBtb3N0IG9mIG91ciBmb3JtIHN0eWxlcyByZXF1aXJlIGV4dHJhIGNsYXNzZXMsIHNvbWUgYmFzaWMgbm9ybWFsaXphdGlvblxuLy8gaXMgcmVxdWlyZWQgdG8gZW5zdXJlIG9wdGltdW0gZGlzcGxheSB3aXRoIG9yIHdpdGhvdXQgdGhvc2UgY2xhc3NlcyB0byBiZXR0ZXJcbi8vIGFkZHJlc3MgYnJvd3NlciBpbmNvbnNpc3RlbmNpZXMuXG5cbi8vIE92ZXJyaWRlIGNvbnRlbnQtYm94IGluIE5vcm1hbGl6ZSAoKiBpc24ndCBzcGVjaWZpYyBlbm91Z2gpXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5OyAvLyBJRTgtOVxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBNYWtlIHJhbmdlIGlucHV0cyBiZWhhdmUgbGlrZSB0ZXh0dWFsIGZvcm0gY29udHJvbHNcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gTWFrZSBtdWx0aXBsZSBzZWxlY3QgZWxlbWVudHMgaGVpZ2h0IG5vdCBmaXhlZFxuc2VsZWN0W211bHRpcGxlXSxcbnNlbGVjdFtzaXplXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9jdXMgZm9yIGZpbGUsIHJhZGlvLCBhbmQgY2hlY2tib3hcbmlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgQGluY2x1ZGUgdGFiLWZvY3VzO1xufVxuXG4vLyBBZGp1c3Qgb3V0cHV0IGVsZW1lbnRcbm91dHB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cblxuXG4vLyBDb21tb24gZm9ybSBjb250cm9sc1xuLy9cbi8vIFNoYXJlZCBzaXplIGFuZCB0eXBlIHJlc2V0cyBmb3IgZm9ybSBjb250cm9scy4gQXBwbHkgYC5mb3JtLWNvbnRyb2xgIHRvIGFueVxuLy8gb2YgdGhlIGZvbGxvd2luZyBmb3JtIGNvbnRyb2xzOlxuLy9cbi8vIHNlbGVjdFxuLy8gdGV4dGFyZWFcbi8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdXG4vLyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZVwiXVxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cIndlZWtcIl1cbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl1cbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXVxuLy8gaW5wdXRbdHlwZT1cInVybFwiXVxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXVxuLy8gaW5wdXRbdHlwZT1cInRlbFwiXVxuLy8gaW5wdXRbdHlwZT1cImNvbG9yXCJdXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1XG4gIH1cblxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ZXh0YXJlYSYgdG8gdGV4dGFyZWEuZm9ybS1jb250cm9sXG59XG5cbi8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuLy9cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4vL1xuLy8gTm90ZSB0aGF0IGFzIG9mIDkuMywgaU9TIGRvZXNuJ3Qgc3VwcG9ydCBgd2Vla2AuXG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgJi5mb3JtLWNvbnRyb2wge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgICB9XG5cbiAgICAmLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIH1cblxuICAgICYuaW5wdXQtbGcsXG4gICAgLmlucHV0LWdyb3VwLWxnICYge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7XG59XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyAvLyBzcGFjZSBvdXQgY29uc2VjdXRpdmUgaW5saW5lIGNvbnRyb2xzXG59XG5cbi8vIEFwcGx5IHNhbWUgZGlzYWJsZWQgY3Vyc29yIHR3ZWFrIGFzIGZvciBpbnB1dHNcbi8vIFNvbWUgc3BlY2lhbCBjYXJlIGlzIG5lZWRlZCBiZWNhdXNlIDxsYWJlbD5zIGRvbid0IGluaGVyaXQgdGhlaXIgcGFyZW50J3MgYGN1cnNvcmAuXG4vL1xuLy8gTm90ZTogTmVpdGhlciByYWRpb3Mgbm9yIGNoZWNrYm94ZXMgY2FuIGJlIHJlYWRvbmx5LlxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgZGlyZWN0bHkgb24gPGxhYmVsPnNcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBvbiBlbGVtZW50cyB3aXRoIDxsYWJlbD4gZGVzY2VuZGFudHNcbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBsYWJlbCB7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhdGljIGZvcm0gY29udHJvbCB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSBgcGAgZWxlbWVudCB0byBtYWtlIGFueSBzdHJpbmcgb2YgdGV4dCBhbGlnbiB3aXRoIGxhYmVscyBpblxuLy8gYSBob3Jpem9udGFsIGZvcm0gbGF5b3V0LlxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIC8vIFNpemUgaXQgYXBwcm9wcmlhdGVseSBuZXh0IHRvIHJlYWwgZm9ybSBjb250cm9sc1xuICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgcGFkZGluZy1ib3R0b206ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGBwYFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1iYXNlKTtcblxuICAmLmlucHV0LWxnLFxuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtc20nLCAkaW5wdXQtaGVpZ2h0LXNtYWxsLCAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4uZm9ybS1ncm91cC1zbSB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1zbWFsbCk7XG4gICAgcGFkZGluZzogKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSkgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbWFsbDtcbiAgfVxufVxuXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtbGcnLCAkaW5wdXQtaGVpZ2h0LWxhcmdlLCAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4uZm9ybS1ncm91cC1sZyB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1sYXJnZSk7XG4gICAgcGFkZGluZzogKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICsgMSkgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uaGFzLWZlZWRiYWNrIHtcbiAgLy8gRW5hYmxlIGFic29sdXRlIHBvc2l0aW9uaW5nXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBFbnN1cmUgaWNvbnMgZG9uJ3Qgb3ZlcmxhcCB0ZXh0XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtaGVpZ2h0LWJhc2UgKiAxLjI1KTtcbiAgfVxufVxuLy8gRmVlZGJhY2sgaWNvbiAocmVxdWlyZXMgLmdseXBoaWNvbiBjbGFzc2VzKVxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjsgLy8gRW5zdXJlIGljb24gaXMgYWJvdmUgaW5wdXQgZ3JvdXBzXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pbnB1dC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbn1cbi5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbn1cblxuLy8gRmVlZGJhY2sgc3RhdGVzXG4uaGFzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy1iZyk7XG59XG4uaGFzLWVycm9yIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItYmcpO1xufVxuXG4vLyBSZXBvc2l0aW9uIGZlZWRiYWNrIGljb24gaWYgaW5wdXQgaGFzIHZpc2libGUgbGFiZWwgYWJvdmVcbi5oYXMtZmVlZGJhY2sgbGFiZWwge1xuXG4gICYgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbigkdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBmcm9tIGAuZm9ybS1pbmxpbmVgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBmb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5yYWRpbyxcbiAgICAuY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBmb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmZvcm0taW5saW5lIHtcbiAgQGluY2x1ZGUgZm9ybS1pbmxpbmU7XG59XG5cblxuXG4vLyBIb3Jpem9udGFsIGZvcm1zXG4vL1xuLy8gSG9yaXpvbnRhbCBmb3JtcyBhcmUgYnVpbHQgb24gZ3JpZCBjbGFzc2VzIGFuZCBhbGxvdyB5b3UgdG8gY3JlYXRlIGZvcm1zIHdpdGhcbi8vIGxhYmVscyBvbiB0aGUgbGVmdCBhbmQgaW5wdXRzIG9uIHRoZSByaWdodC5cblxuLmZvcm0taG9yaXpvbnRhbCB7XG5cbiAgLy8gQ29uc2lzdGVudCB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzXG4gIC8vXG4gIC8vIExhYmVscyBhbHNvIGdldCBzb21lIHJlc2V0IHN0eWxlcywgYnV0IHRoYXQgaXMgc2NvcGVkIHRvIGEgbWVkaWEgcXVlcnkgYmVsb3cuXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgcGFkZGluZyB3ZSdyZSBhZGRpbmcgdG8gZW5zdXJlIHRoZSBhbGlnbm1lbnQgYW5kIG9mIGhlbHAgdGV4dFxuICAvLyBhbmQgb3RoZXIgY29udGVudCBiZWxvdyBpdGVtc1xuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSkpO1xuICB9XG5cbiAgLy8gTWFrZSBmb3JtIGdyb3VwcyBiZWhhdmUgbGlrZSByb3dzXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdztcbiAgfVxuXG4gIC8vIFJlc2V0IHNwYWNpbmcgYW5kIHJpZ2h0IGFsaWduIGxhYmVscywgYnV0IHNjb3BlIHRvIG1lZGlhIHF1ZXJpZXMgc28gdGhhdFxuICAvLyBsYWJlbHMgb24gbmFycm93IHZpZXdwb3J0cyBzdGFjayB0aGUgc2FtZSBhcyBhIGRlZmF1bHQgZm9ybSBleGFtcGxlLlxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIHN0YXRlc1xuICAvL1xuICAvLyBSZXBvc2l0aW9uIHRoZSBpY29uIGJlY2F1c2UgaXQncyBub3cgd2l0aGluIGEgZ3JpZCBjb2x1bW4gYW5kIGNvbHVtbnMgaGF2ZVxuICAvLyBgcG9zaXRpb246IHJlbGF0aXZlO2Agb24gdGhlbS4gQWxzbyBhY2NvdW50cyBmb3IgdGhlIGdyaWQgZ3V0dGVyIHBhZGRpbmcuXG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cblxuICAvLyBGb3JtIGdyb3VwIHNpemVzXG4gIC8vXG4gIC8vIFF1aWNrIHV0aWxpdHkgY2xhc3MgZm9yIGFwcGx5aW5nIGAuaW5wdXQtbGdgIGFuZCBgLmlucHV0LXNtYCBzdHlsZXMgdG8gdGhlXG4gIC8vIGlucHV0cyBhbmQgbGFiZWxzIHdpdGhpbiBhIGAuZm9ybS1ncm91cGAuXG4gIC5mb3JtLWdyb3VwLWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWdyb3VwLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gRm9yIGlucHV0LmJ0blxuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1iYXNlLXZlcnRpY2FsLCAkcGFkZGluZy1iYXNlLWhvcml6b250YWwsICRmb250LXNpemUtYmFzZSwgJGxpbmUtaGVpZ2h0LWJhc2UsICRidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgQGluY2x1ZGUgdXNlci1zZWxlY3Qobm9uZSk7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgQGluY2x1ZGUgdGFiLWZvY3VzO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkYnRuLWRlZmF1bHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC42NSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmJ0blxufVxuXG5hLmJ0biB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWRlZmF1bHQge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG59XG4uYnRuLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG4uYnRuLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XG59XG4vLyBXYXJuaW5nIGFwcGVhcnMgYXMgb3JhbmdlXG4uYnRuLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uYnRuLXhzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcteHMtdmVydGljYWwsICRwYWRkaW5nLXhzLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvL1xuLy8gQ29tcG9uZW50IGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhlYWRzIHVwIVxuLy9cbi8vIFdlIGRvbid0IHVzZSB0aGUgYC5vcGFjaXR5KClgIG1peGluIGhlcmUgc2luY2UgaXQgY2F1c2VzIGEgYnVnIHdpdGggdGV4dFxuLy8gZmllbGRzIGluIElFNy04LiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzM1NTIuXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5IC4xNXMgbGluZWFyKTtcbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaW4gICAgICB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ciYuaW4gdG8gdHIuY29sbGFwc2UuaW5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIHRib2R5Ji5pbiB0byB0Ym9keS5jb2xsYXBzZS5pblxufVxuXG50ci5jb2xsYXBzZS5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuXG50Ym9keS5jb2xsYXBzZS5pbiB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfVxuXG4uY29sbGFwc2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KGhlaWdodCwgdmlzaWJpbGl0eSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZHVyYXRpb24oLjM1cyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKGVhc2UpO1xufVxuIiwiLy9cbi8vIE5hdnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCB1bC9vbFxuICBsaXN0LXN0eWxlOiBub25lO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGUgc2V0cyB0ZXh0IHRvIGdyYXkgYW5kIG51a2VzIGhvdmVyL3RhYiBlZmZlY3RzXG4gICAgJi5kaXNhYmxlZCA+IGEge1xuICAgICAgY29sb3I6ICRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gT3BlbiBkcm9wZG93bnNcbiAgLm9wZW4gPiBhIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWxpbmstaG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5hdiBkaXZpZGVycyAoZGVwcmVjYXRlZCB3aXRoIHYzLjAuMSlcbiAgLy9cbiAgLy8gVGhpcyBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjMgd2l0aCB0aGUgZHJvcHBpbmcgb2YgYC5uYXYtbGlzdGAsIGJ1dFxuICAvLyB3ZSBtaXNzZWQgaXQuIFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IHRoaXMgYW55d2hlcmUsIGJ1dCBpbiB0aGUgaW50ZXJlc3RcbiAgLy8gb2YgbWFpbnRhaW5pbmcgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBpbiBjYXNlIHlvdSB1c2UgaXQsIGl0J3MgZGVwcmVjYXRlZC5cbiAgLm5hdi1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBuYXYtZGl2aWRlcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXG4gIC8vXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XG4gID4gbGkgPiBhID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBUYWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIHRhYnMgc29tZXRoaW5nIHRvIHNpdCBvblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAvLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4gICAgPiBhIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvciAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZSwgYW5kIGl0cyA6aG92ZXIgdG8gb3ZlcnJpZGUgbm9ybWFsIDpob3ZlclxuICAgICYuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vIHB1bGxpbmcgdGhpcyBpbiBtYWlubHkgZm9yIGxlc3Mgc2hvcnRoYW5kXG4gICYubmF2LWp1c3RpZmllZCB7XG4gICAgQGV4dGVuZCAubmF2LWp1c3RpZmllZDtcbiAgICBAZXh0ZW5kIC5uYXYtdGFicy1qdXN0aWZpZWQ7XG4gIH1cbn1cblxuXG4vLyBQaWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdi1waWxscyB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbiAgICA+IGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogJG5hdi1waWxscy1ib3JkZXItcmFkaXVzO1xuICAgIH1cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YWNrZWQgcGlsbHNcbi5uYXYtc3RhY2tlZCB7XG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgICsgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG5vIG5lZWQgZm9yIHRoaXMgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2IHZhcmlhdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEp1c3RpZmllZCBuYXYgbGlua3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm5hdi1qdXN0aWZpZWQge1xuICB3aWR0aDogMTAwJTtcblxuICA+IGxpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICA+IGEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbiAgfVxuXG4gID4gLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1vdmUgYm9yZGVycyB0byBhbmNob3JzIGluc3RlYWQgb2YgYm90dG9tIG9mIGxpc3Rcbi8vXG4vLyBNaXhpbiBmb3IgYWRkaW5nIG9uIHRvcCB0aGUgc2hhcmVkIGAubmF2LWp1c3RpZmllZGAgc3R5bGVzIGZvciBvdXIgdGFic1xuLm5hdi10YWJzLWp1c3RpZmllZCB7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgPiBsaSA+IGEge1xuICAgIC8vIE92ZXJyaWRlIG1hcmdpbiBmcm9tIC5uYXYtdGFic1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gYTpob3ZlcixcbiAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZSAkYm9yZGVyLXJhZGl1cy1iYXNlIDAgMDtcbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSxcbiAgICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAgID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIaWRlIHRhYmJhYmxlIHBhbmVzIHRvIHN0YXJ0LCBzaG93IHRoZW0gd2hlbiBgLmFjdGl2ZWBcbi50YWItY29udGVudCB7XG4gID4gLnRhYi1wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gID4gLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3BlY2lmaWMgZHJvcGRvd25zXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICAvLyBtYWtlIGRyb3Bkb3duIGJvcmRlciBvdmVybGFwIHRhYiBib3JkZXJcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gTmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodDsgLy8gRW5zdXJlIGEgbmF2YmFyIGFsd2F5cyBzaG93cyAoZS5nLiwgd2l0aG91dCBhIC5uYXZiYXItYnJhbmQgaW4gY29sbGFwc2VkIG1vZGUpXG4gIG1hcmdpbi1ib3R0b206ICRuYXZiYXItbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgLy8gUHJldmVudCBmbG9hdHMgZnJvbSBicmVha2luZyB0aGUgbmF2YmFyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogJG5hdmJhci1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGhlYWRpbmdcbi8vXG4vLyBHcm91cHMgYC5uYXZiYXItYnJhbmRgIGFuZCBgLm5hdmJhci10b2dnbGVgIGludG8gYSBzaW5nbGUgY29tcG9uZW50IGZvciBlYXN5XG4vLyBzdHlsaW5nIG9mIHJlc3BvbnNpdmUgYXNwZWN0cy5cblxuLm5hdmJhci1oZWFkZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGNvbGxhcHNlIChib2R5KVxuLy9cbi8vIEdyb3VwIHlvdXIgbmF2YmFyIGNvbnRlbnQgaW50byB0aGlzIGZvciBlYXN5IGNvbGxhcHNpbmcgYW5kIGV4cGFuZGluZyBhY3Jvc3Ncbi8vIHZhcmlvdXMgZGV2aWNlIHNpemVzLiBCeSBkZWZhdWx0LCB0aGlzIGNvbnRlbnQgaXMgY29sbGFwc2VkIHdoZW4gPDc2OHB4LCBidXRcbi8vIHdpbGwgZXhwYW5kIHBhc3QgdGhhdCBmb3IgYSBob3Jpem9udGFsIGRpc3BsYXkuXG4vL1xuLy8gVG8gc3RhcnQgKG9uIG1vYmlsZSBkZXZpY2VzKSB0aGUgbmF2YmFyIGxpbmtzLCBmb3JtcywgYW5kIGJ1dHRvbnMgYXJlIHN0YWNrZWRcbi8vIHZlcnRpY2FsbHkgYW5kIGluY2x1ZGUgYSBgbWF4LWhlaWdodGAgdG8gb3ZlcmZsb3cgaW4gY2FzZSB5b3UgaGF2ZSB0b28gbXVjaFxuLy8gY29udGVudCBmb3IgdGhlIHVzZXIncyB2aWV3cG9ydC5cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nLWxlZnQ6ICAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICYuaW4ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmluIHtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLy8gVW5kbyB0aGUgY29sbGFwc2Ugc2lkZSBwYWRkaW5nIGZvciBuYXZiYXJzIHdpdGggY29udGFpbmVycyB0byBlbnN1cmVcbiAgICAvLyBhbGlnbm1lbnQgb2YgcmlnaHQtYWxpZ25lZCBjb250ZW50cy5cbiAgICAubmF2YmFyLWZpeGVkLXRvcCAmLFxuICAgIC5uYXZiYXItc3RhdGljLXRvcCAmLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1heC1oZWlnaHQ6ICRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDtcblxuICAgIEBtZWRpYSAobWF4LWRldmljZS13aWR0aDogJHNjcmVlbi14cy1taW4pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm90aCBuYXZiYXIgaGVhZGVyIGFuZCBjb2xsYXBzZVxuLy9cbi8vIFdoZW4gYSBjb250YWluZXIgaXMgcHJlc2VudCwgY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgaGVhZGVyIGFuZCBjb2xsYXBzZS5cblxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICA+IC5uYXZiYXItaGVhZGVyLFxuICA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1sZWZ0OiAgLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gTmF2YmFyIGFsaWdubWVudCBvcHRpb25zXG4vL1xuLy8gRGlzcGxheSB0aGUgbmF2YmFyIGFjcm9zcyB0aGUgZW50aXJldHkgb2YgdGhlIHBhZ2Ugb3IgZml4ZWQgaXQgdG8gdGhlIHRvcCBvclxuLy8gYm90dG9tIG9mIHRoZSBwYWdlLlxuXG4vLyBTdGF0aWMgdG9wICh1bmZpeGVkLCBidXQgMTAwJSB3aWRlKSBuYXZiYXJcbi5uYXZiYXItc3RhdGljLXRvcCB7XG4gIHotaW5kZXg6ICR6aW5kZXgtbmF2YmFyO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEZpeCB0aGUgdG9wL2JvdHRvbSBuYXZiYXJzIHdoZW4gc2NyZWVuIHJlYWwgZXN0YXRlIHN1cHBvcnRzIGl0XG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXItZml4ZWQ7XG5cbiAgLy8gVW5kbyB0aGUgcm91bmRlZCBjb3JuZXJzXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbn1cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBvdmVycmlkZSAubmF2YmFyIGRlZmF1bHRzXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbn1cblxuXG4vLyBCcmFuZC9wcm9qZWN0IG5hbWVcblxuLm5hdmJhci1icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgaGVpZ2h0OiAkbmF2YmFyLWhlaWdodDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyICYsXG4gICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0b2dnbGVcbi8vXG4vLyBDdXN0b20gYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgYC5uYXZiYXItY29sbGFwc2VgLCBwb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZVxuLy8gSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmc6IDlweCAxMHB4O1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oMzRweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIFdlIHJlbW92ZSB0aGUgYG91dGxpbmVgIGhlcmUsIGJ1dCBsYXRlciBjb21wZW5zYXRlIGJ5IGF0dGFjaGluZyBgOmhvdmVyYFxuICAvLyBzdHlsZXMgdG8gYDpmb2N1c2AuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvLyBCYXJzXG4gIC5pY29uLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICB9XG4gIC5pY29uLWJhciArIC5pY29uLWJhciB7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdiBsaW5rc1xuLy9cbi8vIEJ1aWxkcyBvbiB0b3Agb2YgdGhlIGAubmF2YCBjb21wb25lbnRzIHdpdGggaXRzIG93biBtb2RpZmllciBjbGFzcyB0byBtYWtlXG4vLyB0aGUgbmF2IHRoZSBmdWxsIGhlaWdodCBvZiB0aGUgaG9yaXpvbnRhbCBuYXYgKGFib3ZlIDc2OHB4KS5cblxuLm5hdmJhci1uYXYge1xuICBtYXJnaW46ICgkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgLyAyKSAoLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsKTtcblxuICA+IGxpID4gYSB7XG4gICAgcGFkZGluZy10b3A6ICAgIDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgfVxuXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXkgd2hlbiBjb2xsYXBzZWRcbiAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICA+IGxpID4gYSxcbiAgICAgIC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDtcbiAgICAgIH1cbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFVuY29sbGFwc2UgdGhlIG5hdlxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcblxuICAgID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogICAgJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciBmb3JtXG4vL1xuLy8gRXh0ZW5zaW9uIG9mIHRoZSBgLmZvcm0taW5saW5lYCB3aXRoIHNvbWUgZXh0cmEgZmxhdm9yIGZvciBvcHRpbXVtIGRpc3BsYXkgaW5cbi8vIG91ciBuYXZiYXJzLlxuXG4ubmF2YmFyLWZvcm0ge1xuICBtYXJnaW4tbGVmdDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tcmlnaHQ6IC0kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogMTBweCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICRzaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSksIDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdyk7XG5cbiAgLy8gTWl4aW4gYmVoYXZpb3IgZm9yIG9wdGltdW0gZGlzcGxheVxuICBAaW5jbHVkZSBmb3JtLWlubGluZTtcblxuICAuZm9ybS1ncm91cCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWxseSBjZW50ZXIgaW4gZXhwYW5kZWQsIGhvcml6b250YWwgbmF2YmFyXG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LWJhc2UpO1xuXG4gIC8vIFVuZG8gMTAwJSB3aWR0aCBmb3IgcHVsbCBjbGFzc2VzXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG59XG5cblxuLy8gRHJvcGRvd24gbWVudXNcblxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldHNcbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldCBzdXBwb3J0IGZvciBkcm9wdXBzIHZpYSBleHRyYSBkcm9wdXAgY2xhc3Ncbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRuYXZiYXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xufVxuXG5cbi8vIEJ1dHRvbnMgaW4gbmF2YmFyc1xuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGEgYnV0dG9uIHdpdGhpbiBhIG5hdmJhciAod2hlbiAqbm90KiBpbiBhIGZvcm0pLlxuXG4ubmF2YmFyLWJ0biB7XG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LWJhc2UpO1xuXG4gICYuYnRuLXNtIHtcbiAgICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGlucHV0LWhlaWdodC1zbWFsbCk7XG4gIH1cbiAgJi5idG4teHMge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigyMik7XG4gIH1cbn1cblxuXG4vLyBUZXh0IGluIG5hdmJhcnNcbi8vXG4vLyBBZGQgYSBjbGFzcyB0byBtYWtlIGFueSBlbGVtZW50IHByb3Blcmx5IGFsaWduIGl0c2VsZiB2ZXJ0aWNhbGx5IHdpdGhpbiB0aGUgbmF2YmFycy5cblxuLm5hdmJhci10ZXh0IHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRsaW5lLWhlaWdodC1jb21wdXRlZCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZXB1cnBvc2UgdGhlIHB1bGwgdXRpbGl0aWVzIGFzIHRoZWlyIG93biBuYXZiYXIgdXRpbGl0aWVzIHRvIGF2b2lkIHNwZWNpZmljaXR5XG4vLyBpc3N1ZXMgd2l0aCBwYXJlbnRzIGFuZCBjaGFpbmluZy4gT25seSBkbyB0aGlzIHdoZW4gdGhlIG5hdmJhciBpcyB1bmNvbGxhcHNlZFxuLy8gdGhvdWdoIHNvIHRoYXQgbmF2YmFyIGNvbnRlbnRzIHByb3Blcmx5IHN0YWNrIGFuZCBhbGlnbiBpbiBtb2JpbGUuXG4vL1xuLy8gRGVjbGFyZWQgYWZ0ZXIgdGhlIG5hdmJhciBjb21wb25lbnRzIHRvIGVuc3VyZSBtb3JlIHNwZWNpZmljaXR5IG9uIHRoZSBtYXJnaW5zLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhci1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgfiAubmF2YmFyLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBbHRlcm5hdGUgbmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRGVmYXVsdCBuYXZiYXJcbi5uYXZiYXItZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtYm9yZGVyO1xuICB9XG5cbiAgLy8gRHJvcGRvd24gbWVudSBpdGVtc1xuICAubmF2YmFyLW5hdiB7XG4gICAgLy8gUmVtb3ZlIGJhY2tncm91bmQgY29sb3IgZnJvbSBvcGVuIGRyb3Bkb3duXG4gICAgPiAub3BlbiA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heCkge1xuICAgICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgICAgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICA+IGxpID4gYSB7XG4gICAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIExpbmtzIGluIG5hdmJhcnNcbiAgLy9cbiAgLy8gQWRkIGEgY2xhc3MgdG8gZW5zdXJlIGxpbmtzIG91dHNpZGUgdGhlIG5hdmJhciBuYXYgYXJlIGNvbG9yZWQgY29ycmVjdGx5LlxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBJbnZlcnNlIG5hdmJhclxuXG4ubmF2YmFyLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYmc7XG4gIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWJvcmRlcjtcblxuICAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1jb2xvcjtcbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuYWN0aXZlID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIERhcmtlbiB0aGUgcmVzcG9uc2l2ZSBuYXYgdG9nZ2xlXG4gIC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnO1xuICAgIH1cbiAgICAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWZvcm0ge1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgNyUpO1xuICB9XG5cbiAgLy8gRHJvcGRvd25zXG4gIC5uYXZiYXItbmF2IHtcbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5XG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kaXZpZGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tbGluayB7XG4gICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICAgICZbZGlzYWJsZWRdLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmxhYmVsXG5cbiAgLy8gRW1wdHkgbGFiZWxzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBsYWJlbHMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYS5sYWJlbCB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGFiZWwtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIENvbG9yc1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgbGFiZWxzIGdldCBkYXJrZXIgb24gOmhvdmVyKVxuXG4ubGFiZWwtZGVmYXVsdCB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWRlZmF1bHQtYmcpO1xufVxuXG4ubGFiZWwtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXByaW1hcnktYmcpO1xufVxuXG4ubGFiZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXN1Y2Nlc3MtYmcpO1xufVxuXG4ubGFiZWwtaW5mbyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWluZm8tYmcpO1xufVxuXG4ubGFiZWwtd2FybmluZyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXdhcm5pbmctYmcpO1xufVxuXG4ubGFiZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGFuZ2VyLWJnKTtcbn1cbiIsIi8vXG4vLyBUaHVtYm5haWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1peGluIGFuZCBhZGp1c3QgdGhlIHJlZ3VsYXIgaW1hZ2UgY2xhc3Ncbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihib3JkZXIgLjJzIGVhc2UtaW4tb3V0KTtcblxuICA+IGltZyxcbiAgYSA+IGltZyB7XG4gICAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmOmhvdmVyLCBhJjpmb2N1cywgYSYuYWN0aXZlIHRvIGEudGh1bWJuYWlsOmhvdmVyLCBhLnRodW1ibmFpbDpmb2N1cywgYS50aHVtYm5haWwuYWN0aXZlXG5cbiAgLy8gSW1hZ2UgY2FwdGlvbnNcbiAgLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkdGh1bWJuYWlsLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cblxuLy8gQWRkIGEgaG92ZXIgc3RhdGUgZm9yIGxpbmtlZCB2ZXJzaW9ucyBvbmx5XG5hLnRodW1ibmFpbDpob3ZlcixcbmEudGh1bWJuYWlsOmZvY3VzLFxuYS50aHVtYm5haWwuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcbn1cbiIsIi8vXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRhbGVydC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8vIFNwZWNpZmllZCBmb3IgdGhlIGg0IHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbiAgLmFsZXJ0LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiAkYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgfVxuXG4gIC8vIEltcHJvdmUgYWxpZ25tZW50IGFuZCBzcGFjaW5nIG9mIGlubmVyIGNvbnRlbnRcbiAgPiBwLFxuICA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgPiBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2FibGUsIC8vIFRoZSBtaXNzcGVsbGVkIC5hbGVydC1kaXNtaXNzYWJsZSB3YXMgZGVwcmVjYXRlZCBpbiAzLjIuMC5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICgkYWxlcnQtcGFkZGluZyArIDIwKTtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IC0yMXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXN1Y2Nlc3MtYmcsICRhbGVydC1zdWNjZXNzLWJvcmRlciwgJGFsZXJ0LXN1Y2Nlc3MtdGV4dCk7XG59XG5cbi5hbGVydC1pbmZvIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtaW5mby1iZywgJGFsZXJ0LWluZm8tYm9yZGVyLCAkYWxlcnQtaW5mby10ZXh0KTtcbn1cblxuLmFsZXJ0LXdhcm5pbmcge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC13YXJuaW5nLWJnLCAkYWxlcnQtd2FybmluZy1ib3JkZXIsICRhbGVydC13YXJuaW5nLXRleHQpO1xufVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtZGFuZ2VyLWJnLCAkYWxlcnQtZGFuZ2VyLWJvcmRlciwgJGFsZXJ0LWRhbmdlci10ZXh0KTtcbn1cbiIsIi8vXG4vLyBMaXN0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICAvLyBObyBuZWVkIHRvIHNldCBsaXN0LXN0eWxlOiBub25lOyBzaW5jZSAubGlzdC1ncm91cC1pdGVtIGlzIGJsb2NrIGxldmVsXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMDsgLy8gcmVzZXQgcGFkZGluZyBiZWNhdXNlIHVsIGFuZCBvbFxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgLy8gUGxhY2UgdGhlIGJvcmRlciBvbiB0aGUgbGlzdCBpdGVtcyBhbmQgbmVnYXRpdmUgbWFyZ2luIHVwIGZvciBiZXR0ZXIgc3R5bGluZ1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJGxpc3QtZ3JvdXAtYm9yZGVyO1xuXG4gIC8vIFJvdW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlIGl0ZW1zLlxuLy8gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzaG93aW5nIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCxcbiAgJi5kaXNhYmxlZDpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlIGNsYXNzIG9uIGl0ZW0gaXRzZWxmLCBub3QgcGFyZW50XG4gICYuYWN0aXZlLFxuICAmLmFjdGl2ZTpob3ZlcixcbiAgJi5hY3RpdmU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoc3VjY2VzcywgJHN0YXRlLXN1Y2Nlc3MtYmcsICRzdGF0ZS1zdWNjZXNzLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoaW5mbywgJHN0YXRlLWluZm8tYmcsICRzdGF0ZS1pbmZvLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZywgJHN0YXRlLXdhcm5pbmctYmcsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuQGluY2x1ZGUgbGlzdC1ncm91cC1pdGVtLXZhcmlhbnQoZGFuZ2VyLCAkc3RhdGUtZGFuZ2VyLWJnLCAkc3RhdGUtZGFuZ2VyLXRleHQpO1xuXG5cbi8vIEN1c3RvbSBjb250ZW50IG9wdGlvbnNcbi8vXG4vLyBFeHRyYSBjbGFzc2VzIGZvciBjcmVhdGluZyB3ZWxsLWZvcm1hdHRlZCBjb250ZW50IHdpdGhpbiBgLmxpc3QtZ3JvdXAtaXRlbWBzLlxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuIiwiLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgZm9udC13ZWlnaHQ6ICRjbG9zZS1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gIHRleHQtc2hhZG93OiAkY2xvc2UtdGV4dC1zaGFkb3c7XG4gIEBpbmNsdWRlIG9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC41KTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBidXR0b24mIHRvIGJ1dHRvbi5jbG9zZVxufVxuXG4vLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cbi8vIElmIHlvdSB3YW50IHRoZSBhbmNob3IgdmVyc2lvbiwgaXQgcmVxdWlyZXMgYGhyZWY9XCIjXCJgLlxuLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbiIsIi8vXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0O1xuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG5cbiAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcblxuICAmLmluICAgICB7IEBpbmNsdWRlIG9wYWNpdHkoJHRvb2x0aXAtb3BhY2l0eSk7IH1cbiAgJi50b3AgICAgeyBtYXJnaW4tdG9wOiAgLTNweDsgcGFkZGluZzogJHRvb2x0aXAtYXJyb3ctd2lkdGggMDsgfVxuICAmLnJpZ2h0ICB7IG1hcmdpbi1sZWZ0OiAgM3B4OyBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LXdpZHRoOyB9XG4gICYuYm90dG9tIHsgbWFyZ2luLXRvcDogICAzcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5sZWZ0ICAgeyBtYXJnaW4tbGVmdDogLTNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi8vIEFycm93c1xuLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG4vLyBOb3RlOiBEZXByZWNhdGVkIC50b3AtbGVmdCwgLnRvcC1yaWdodCwgLmJvdHRvbS1sZWZ0LCBhbmQgLmJvdHRvbS1yaWdodCBhcyBvZiB2My4zLjFcbi50b29sdGlwIHtcbiAgJi50b3AgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi50b3AtbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tYm90dG9tOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoIDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBQb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAxcHg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHBvcG92ZXJzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcblxuICAvLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbiAgJi50b3AgICAgIHsgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYucmlnaHQgICB7IG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSAgeyBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmxlZnQgICAgeyBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoOyB9XG59XG5cbi5wb3BvdmVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLXRpdGxlLWJnO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRwb3BvdmVyLXRpdGxlLWJnLCA1JSk7XG4gIGJvcmRlci1yYWRpdXM6ICgkYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpICgkYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpIDAgMDtcbn1cblxuLnBvcG92ZXItY29udGVudCB7XG4gIHBhZGRpbmc6IDlweCAxNHB4O1xufVxuXG4vLyBBcnJvd3Ncbi8vXG4vLyAuYXJyb3cgaXMgb3V0ZXIsIC5hcnJvdzphZnRlciBpcyBpbm5lclxuXG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gICYsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG59XG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG59XG4ucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5wb3BvdmVyIHtcbiAgJi50b3AgPiAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYucmlnaHQgPiAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYuYm90dG9tID4gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCA+IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIvLyBCdXJnZXIgcGFydHNcclxuLy9cclxuLy8gKC0tLSkgdG9wICAgIC0+ICY6OmJlZm9yZVxyXG4vLyBbLS0tXSBtaWRkbGUgLT4gJlxyXG4vLyAoLS0tKSBib3R0b20gLT4gJjo6YWZ0ZXJcclxuXHJcblxyXG4vLyBWZW5kb3IgcHJlZml4ZXNcclxuJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXM6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLyBCdXJnZXJcclxuQG1peGluIGJ1cmdlcigkd2lkdGg6IDMwcHgsICRoZWlnaHQ6IDVweCwgJGd1dHRlcjogM3B4LCAkY29sb3I6ICMwMDAsICRib3JkZXItcmFkaXVzOiAwLCAkdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzKSB7XHJcbiAgICAkYnVyZ2VyLWhlaWdodDogJGhlaWdodCAhZ2xvYmFsO1xyXG4gICAgJGJ1cmdlci1ndXR0ZXI6ICRndXR0ZXIgIWdsb2JhbDtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiAkaGVpZ2h0ICsgJGd1dHRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRoZWlnaHQgKyAkZ3V0dGVyO1xyXG5cclxuICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XHJcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIH1cclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuICAgIC8vIDEuIEZpeGVzIGphZ2dlZCBlZGdlcyBpbiBGaXJlZm94LCBzZWUgaXNzdWUgIzEwLlxyXG4gICAgJiwgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gMVxyXG4gICAgICAgIEBpZiAkYm9yZGVyLXJhZGl1cyAhPSAwIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xyXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC1tb3otdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtby10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybTtcclxuXHJcbiAgICAgICAgQGlmICRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzIHtcclxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICAgICAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgdG9wOiAtKCRoZWlnaHQgKyAkZ3V0dGVyKTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdG9wOiAkaGVpZ2h0ICsgJGd1dHRlcjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFNlbGVjdCBwYXJ0cyBvZiB0aGUgYnVyZ2VyXHJcbkBtaXhpbiBidXJnZXItcGFydHMge1xyXG4gICAgJiwgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXJnZXItdG9wIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXJnZXItbWlkZGxlIHtcclxuICAgICYge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYnVyZ2VyLWJvdHRvbSB7XHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBCdXJnZXIgYW5pbWF0aW9uc1xyXG5AbWl4aW4gYnVyZ2VyLXRvLWNyb3NzKCRjb2xvcjogYXV0bykge1xyXG4gICAgJiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRjb2xvciAhPSBhdXRvKSB7XHJcbiAgICAgICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSByb3RhdGUoNDVkZWcpO1xyXG4gICAgfVxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XHJcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpKSByb3RhdGUoLTQ1ZGVnKTtcclxuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcbn0iLCIuc2xpY2stc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZTstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTstbXMtdG91Y2gtYWN0aW9uOnBhbi15O3RvdWNoLWFjdGlvbjpwYW4teTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LnNsaWNrLWxpc3R7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztvdmVyZmxvdzpoaWRkZW47bWFyZ2luOjA7cGFkZGluZzowfS5zbGljay1saXN0OmZvY3Vze291dGxpbmU6MH0uc2xpY2stbGlzdC5kcmFnZ2luZ3tjdXJzb3I6cG9pbnRlcjtjdXJzb3I6aGFuZH0uc2xpY2stc2xpZGVyIC5zbGljay1saXN0LC5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5zbGljay10cmFja3twb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MDtsZWZ0OjA7ZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5zbGljay10cmFjazphZnRlciwuc2xpY2stdHJhY2s6YmVmb3Jle2Rpc3BsYXk6dGFibGU7Y29udGVudDonJ30uc2xpY2stdHJhY2s6YWZ0ZXJ7Y2xlYXI6Ym90aH0uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2t7dmlzaWJpbGl0eTpoaWRkZW59LnNsaWNrLXNsaWRle2Rpc3BsYXk6bm9uZTtmbG9hdDpsZWZ0O2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6MXB4fVtkaXI9cnRsXSAuc2xpY2stc2xpZGV7ZmxvYXQ6cmlnaHR9LnNsaWNrLXNsaWRlIGltZ3tkaXNwbGF5OmJsb2NrfS5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZ3tkaXNwbGF5Om5vbmV9LnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZ3twb2ludGVyLWV2ZW50czpub25lfS5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGV7ZGlzcGxheTpibG9ja30uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGV7dmlzaWJpbGl0eTpoaWRkZW59LnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZXtkaXNwbGF5OmJsb2NrO2hlaWdodDphdXRvO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9LnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbntkaXNwbGF5Om5vbmV9IiwiLyogQ29weXJpZ2h0IDIwMTQgTW96aWxsYSBGb3VuZGF0aW9uXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi50ZXh0TGF5ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMC4yO1xuICBsaW5lLWhlaWdodDogMS4wO1xufVxuXG4udGV4dExheWVyID4gZGl2IHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIGN1cnNvcjogdGV4dDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG59XG5cbi50ZXh0TGF5ZXIgLmhpZ2hsaWdodCB7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMXB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxODAsIDAsIDE3MCk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLnRleHRMYXllciAuaGlnaGxpZ2h0LmJlZ2luIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDBweCAwcHggNHB4O1xufVxuXG4udGV4dExheWVyIC5oaWdobGlnaHQuZW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDRweCA0cHggMHB4O1xufVxuXG4udGV4dExheWVyIC5oaWdobGlnaHQubWlkZGxlIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xufVxuXG4udGV4dExheWVyIC5oaWdobGlnaHQuc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMTAwLCAwKTtcbn1cblxuLnRleHRMYXllciA6OnNlbGVjdGlvbiB7IGJhY2tncm91bmQ6IHJnYigwLDAsMjU1KTsgfVxuLnRleHRMYXllciA6Oi1tb3otc2VsZWN0aW9uIHsgYmFja2dyb3VuZDogcmdiKDAsMCwyNTUpOyB9XG5cbi50ZXh0TGF5ZXIgLmVuZE9mQ29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDBweDtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMHB4O1xuICBib3R0b206IDBweDtcbiAgei1pbmRleDogLTE7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udGV4dExheWVyIC5lbmRPZkNvbnRlbnQuYWN0aXZlIHtcbiAgdG9wOiAwcHg7XG59XG5cblxuLmFubm90YXRpb25MYXllciBzZWN0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5saW5rQW5ub3RhdGlvbiA+IGEsXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnB1c2hCdXR0b24gPiBhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDFlbTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5saW5rQW5ub3RhdGlvbiA+IGEgLyogLW1zLWEgKi8ge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBQUFBUC8vL3lINUJBRUFBQUFBTEFBQUFBQUJBQUVBQUFJQlJBQTdcIikgMCAwIHJlcGVhdDtcbn1cblxuLmFubm90YXRpb25MYXllciAuYnV0dG9uV2lkZ2V0QW5ub3RhdGlvbi5wdXNoQnV0dG9uID4gYSAvKiAtbXMtYSAqLyB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBN1wiKSAwIDAgcmVwZWF0O1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5saW5rQW5ub3RhdGlvbiA+IGE6aG92ZXIsXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnB1c2hCdXR0b24gPiBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMC4yO1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDEwcHggI2ZmMDtcbn1cblxuLmFubm90YXRpb25MYXllciAudGV4dEFubm90YXRpb24gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIGlucHV0LFxuLmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gdGV4dGFyZWEsXG4uYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdCxcbi5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQsXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA1NCwgMjU1LCAwLjEzKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAzcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdCBvcHRpb24ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0IHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiB0ZXh0YXJlYSB7XG4gIGZvbnQ6IG1lc3NhZ2UtYm94O1xuICBmb250LXNpemU6IDlweDtcbiAgcmVzaXplOiBub25lO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiBpbnB1dFtkaXNhYmxlZF0sXG4uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiB0ZXh0YXJlYVtkaXNhYmxlZF0sXG4uYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdFtkaXNhYmxlZF0sXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0W2Rpc2FibGVkXSxcbi5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24ucmFkaW9CdXR0b24gaW5wdXRbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5hbm5vdGF0aW9uTGF5ZXIgLnRleHRXaWRnZXRBbm5vdGF0aW9uIGlucHV0OmhvdmVyLFxuLmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gdGV4dGFyZWE6aG92ZXIsXG4uYW5ub3RhdGlvbkxheWVyIC5jaG9pY2VXaWRnZXRBbm5vdGF0aW9uIHNlbGVjdDpob3Zlcixcbi5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQ6aG92ZXIsXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OmhvdmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbn1cblxuLmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gaW5wdXQ6Zm9jdXMsXG4uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiB0ZXh0YXJlYTpmb2N1cyxcbi5hbm5vdGF0aW9uTGF5ZXIgLmNob2ljZVdpZGdldEFubm90YXRpb24gc2VsZWN0OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQ6Y2hlY2tlZDpiZWZvcmUsXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YWZ0ZXIsXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OmNoZWNrZWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQ6Y2hlY2tlZDpiZWZvcmUsXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YWZ0ZXIge1xuICBoZWlnaHQ6IDgwJTtcbiAgbGVmdDogNDUlO1xuICB3aWR0aDogMXB4O1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLmNoZWNrQm94IGlucHV0OmNoZWNrZWQ6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0OmNoZWNrZWQ6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgbGVmdDogMzAlO1xuICB0b3A6IDIwJTtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmFubm90YXRpb25MYXllciAudGV4dFdpZGdldEFubm90YXRpb24gaW5wdXQuY29tYiB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG4gIHBhZGRpbmctbGVmdDogMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC50ZXh0V2lkZ2V0QW5ub3RhdGlvbiBpbnB1dC5jb21iOmZvY3VzIHtcbiAgLypcbiAgICogTGV0dGVyIHNwYWNpbmcgaXMgcGxhY2VkIG9uIHRoZSByaWdodCBzaWRlIG9mIGVhY2ggY2hhcmFjdGVyLiBIZW5jZSwgdGhlXG4gICAqIGxldHRlciBzcGFjaW5nIG9mIHRoZSBsYXN0IGNoYXJhY3RlciBtYXkgYmUgcGxhY2VkIG91dHNpZGUgdGhlIHZpc2libGVcbiAgICogYXJlYSwgY2F1c2luZyBob3Jpem9udGFsIHNjcm9sbGluZy4gV2UgYXZvaWQgdGhpcyBieSBleHRlbmRpbmcgdGhlIHdpZHRoXG4gICAqIHdoZW4gdGhlIGVsZW1lbnQgaGFzIGZvY3VzIGFuZCByZXZlcnQgdGhpcyB3aGVuIGl0IGxvc2VzIGZvY3VzLlxuICAgKi9cbiAgd2lkdGg6IDExNSU7XG59XG5cbi5hbm5vdGF0aW9uTGF5ZXIgLmJ1dHRvbldpZGdldEFubm90YXRpb24uY2hlY2tCb3ggaW5wdXQsXG4uYW5ub3RhdGlvbkxheWVyIC5idXR0b25XaWRnZXRBbm5vdGF0aW9uLnJhZGlvQnV0dG9uIGlucHV0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5wb3B1cFdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMGVtO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5wb3B1cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjAwO1xuICBtYXgtd2lkdGg6IDIwZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGOTk7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNXB4ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgcGFkZGluZzogMC42ZW07XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udDogbWVzc2FnZS1ib3g7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmFubm90YXRpb25MYXllciAucG9wdXAgaDEge1xuICBmb250LXNpemU6IDFlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDAwMDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDAuMmVtO1xufVxuXG4uYW5ub3RhdGlvbkxheWVyIC5wb3B1cCBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXRvcDogMC4yZW07XG59XG5cbi5hbm5vdGF0aW9uTGF5ZXIgLmhpZ2hsaWdodEFubm90YXRpb24sXG4uYW5ub3RhdGlvbkxheWVyIC51bmRlcmxpbmVBbm5vdGF0aW9uLFxuLmFubm90YXRpb25MYXllciAuc3F1aWdnbHlBbm5vdGF0aW9uLFxuLmFubm90YXRpb25MYXllciAuc3RyaWtlb3V0QW5ub3RhdGlvbixcbi5hbm5vdGF0aW9uTGF5ZXIgLmxpbmVBbm5vdGF0aW9uIHN2ZyBsaW5lLFxuLmFubm90YXRpb25MYXllciAuc3F1YXJlQW5ub3RhdGlvbiBzdmcgcmVjdCxcbi5hbm5vdGF0aW9uTGF5ZXIgLmNpcmNsZUFubm90YXRpb24gc3ZnIGVsbGlwc2UsXG4uYW5ub3RhdGlvbkxheWVyIC5wb2x5bGluZUFubm90YXRpb24gc3ZnIHBvbHlsaW5lLFxuLmFubm90YXRpb25MYXllciAucG9seWdvbkFubm90YXRpb24gc3ZnIHBvbHlnb24sXG4uYW5ub3RhdGlvbkxheWVyIC5zdGFtcEFubm90YXRpb24sXG4uYW5ub3RhdGlvbkxheWVyIC5maWxlQXR0YWNobWVudEFubm90YXRpb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5wZGZWaWV3ZXIgLmNhbnZhc1dyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGRmVmlld2VyIC5wYWdlIHtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHdpZHRoOiA4MTZweDtcbiAgaGVpZ2h0OiAxMDU2cHg7XG4gIG1hcmdpbjogMXB4IGF1dG8gLThweCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3JkZXI6IDlweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jbGlwOiBjb250ZW50LWJveDtcbiAgYm9yZGVyLWltYWdlOiB1cmwoaW1hZ2VzL3NoYWRvdy5wbmcpIDkgOSByZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ucGRmVmlld2VyLnJlbW92ZVBhZ2VCb3JkZXJzIC5wYWdlIHtcbiAgbWFyZ2luOiAwcHggYXV0byAxMHB4IGF1dG87XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLnBkZlZpZXdlci5zaW5nbGVQYWdlVmlldyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnBkZlZpZXdlci5zaW5nbGVQYWdlVmlldyAucGFnZSB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ucGRmVmlld2VyIC5wYWdlIGNhbnZhcyB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wZGZWaWV3ZXIgLnBhZ2UgY2FudmFzW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGRmVmlld2VyIC5wYWdlIC5sb2FkaW5nSWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogdXJsKCdpbWFnZXMvbG9hZGluZy1pY29uLmdpZicpIGNlbnRlciBuby1yZXBlYXQ7XG59XG5cbi5wZGZQcmVzZW50YXRpb25Nb2RlOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBkZlZpZXdlciAucGFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwMCU7XG4gIGJvcmRlcjogMDtcbn1cblxuLnBkZlByZXNlbnRhdGlvbk1vZGU6LW1vei1mdWxsLXNjcmVlbiAucGRmVmlld2VyIC5wYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwJTtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucGRmUHJlc2VudGF0aW9uTW9kZTotbXMtZnVsbHNjcmVlbiAucGRmVmlld2VyIC5wYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwJSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDA7XG59XG5cbi5wZGZQcmVzZW50YXRpb25Nb2RlOmZ1bGxzY3JlZW4gLnBkZlZpZXdlciAucGFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwMCU7XG4gIGJvcmRlcjogMDtcbn0iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cblxuQGltcG9ydCBcInV0aWxpdGllcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJncmlkL2NvbHVtbnNcIjtcbiIsIkBpbXBvcnQgXCJpbml0aWFsLXZhcmlhYmxlc1wiO1xuXG5AbWl4aW4gYXJyb3coJGNvbG9yKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC41ZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgd2lkdGg6IDAuNWVtOyB9XG5cbkBtaXhpbiBibG9jayB7XG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9IH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH0gfVxuXG5AbWl4aW4gY2VudGVyKCR3aWR0aCwgJGhlaWdodDogMCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIEBpZiAkaGVpZ2h0ICE9IDAge1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gKCN7JHdpZHRofSAvIDIpKTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gKCN7JGhlaWdodH0gLyAyKSk7IH1cbiAgQGVsc2Uge1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gKCN7JHdpZHRofSAvIDIpKTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gKCN7JHdpZHRofSAvIDIpKTsgfSB9XG5cbkBtaXhpbiBkZWxldGUge1xuICBAaW5jbHVkZSB1bnNlbGVjdGFibGU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC4yKTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzLXJvdW5kZWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBmb250LXNpemU6IDA7XG4gIGhlaWdodDogMjBweDtcbiAgbWF4LWhlaWdodDogMjBweDtcbiAgbWF4LXdpZHRoOiAyMHB4O1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBtaW4td2lkdGg6IDIwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDIwcHg7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsgfVxuICAmOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAmOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDUwJTtcbiAgICB3aWR0aDogMnB4OyB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJsYWNrLCAwLjMpOyB9XG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRibGFjaywgMC40KTsgfVxuICAvLyBTaXplc1xuICAmLmlzLXNtYWxsIHtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgbWF4LWhlaWdodDogMTZweDtcbiAgICBtYXgtd2lkdGg6IDE2cHg7XG4gICAgbWluLWhlaWdodDogMTZweDtcbiAgICBtaW4td2lkdGg6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7IH1cbiAgJi5pcy1tZWRpdW0ge1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXgtaGVpZ2h0OiAyNHB4O1xuICAgIG1heC13aWR0aDogMjRweDtcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICB3aWR0aDogMjRweDsgfVxuICAmLmlzLWxhcmdlIHtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgbWF4LWhlaWdodDogMzJweDtcbiAgICBtYXgtd2lkdGg6IDMycHg7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7IH0gfVxuXG5AbWl4aW4gZmEoJHNpemUsICRkaW1lbnNpb25zKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkc2l6ZTtcbiAgaGVpZ2h0OiAkZGltZW5zaW9ucztcbiAgbGluZS1oZWlnaHQ6ICRkaW1lbnNpb25zO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiAkZGltZW5zaW9uczsgfVxuXG5AbWl4aW4gaGFtYnVyZ2VyKCRkaW1lbnNpb25zKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogJGRpbWVuc2lvbnM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICRkaW1lbnNpb25zO1xuICBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbGVmdDogY2FsYyg1MCUgLSA4cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNwZWVkO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGVhc2luZztcbiAgICB3aWR0aDogMTZweDtcbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNnB4KTsgfVxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpOyB9XG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdG9wOiBjYWxjKDUwJSArIDRweCk7IH0gfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjA1KTsgfVxuICAvLyBNb2RpZmVyc1xuICAmLmlzLWFjdGl2ZSB7XG4gICAgc3BhbiB7XG4gICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpIHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgcm90YXRlKC00NWRlZyk7IH0gfSB9IH1cblxuQG1peGluIGxvYWRlciB7XG4gIGFuaW1hdGlvbjogc3BpbkFyb3VuZCA1MDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcm91bmRlZDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMWVtOyB9XG5cbkBtaXhpbiBvdmVyZmxvdy10b3VjaCB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG5AbWl4aW4gb3ZlcmxheSgkb2Zmc2V0OiAwKSB7XG4gIGJvdHRvbTogJG9mZnNldDtcbiAgbGVmdDogJG9mZnNldDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogJG9mZnNldDtcbiAgdG9wOiAkb2Zmc2V0OyB9XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6ICc6LW1veicgJzotd2Via2l0LWlucHV0JyAnLW1veicgJy1tcy1pbnB1dCc7XG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzIHtcbiAgICAmOiN7JHBsYWNlaG9sZGVyfS1wbGFjZWhvbGRlciB7XG4gICAgICBAY29udGVudDsgfSB9IH1cblxuQG1peGluIHVuc2VsZWN0YWJsZSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4vLyBSZXNwb25zaXZlbmVzc1xuXG5AbWl4aW4gZnJvbSgkZGV2aWNlKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXZpY2UpIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiB1bnRpbCgkZGV2aWNlKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkZXZpY2UgLSAxcHgpIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiBtb2JpbGUge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0IC0gMXB4KSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gdGFibGV0IHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldCksIHByaW50IHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiB0YWJsZXQtb25seSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcCAtIDFweCkge1xuICAgIEBjb250ZW50OyB9IH1cblxuQG1peGluIHRvdWNoIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRlc2t0b3AgLSAxcHgpIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiBkZXNrdG9wIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3ApIHtcbiAgICBAY29udGVudDsgfSB9XG5cbkBtaXhpbiBkZXNrdG9wLW9ubHkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZGVza3RvcCkgYW5kIChtYXgtd2lkdGg6ICR3aWRlc2NyZWVuIC0gMXB4KSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gd2lkZXNjcmVlbiB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWRlc2NyZWVuKSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gd2lkZXNjcmVlbi1vbmx5IHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHdpZGVzY3JlZW4pIGFuZCAobWF4LXdpZHRoOiAkZnVsbGhkIC0gMXB4KSB7XG4gICAgQGNvbnRlbnQ7IH0gfVxuXG5AbWl4aW4gZnVsbGhkIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGZ1bGxoZCkge1xuICAgIEBjb250ZW50OyB9IH1cbiIsIi8vIENvbG9yc1xuXG4kYmxhY2s6ICAgICAgICBoc2woMCwgMCUsIDQlKSAhZGVmYXVsdDtcbiRibGFjay1iaXM6ICAgIGhzbCgwLCAwJSwgNyUpICFkZWZhdWx0O1xuJGJsYWNrLXRlcjogICAgaHNsKDAsIDAlLCAxNCUpICFkZWZhdWx0O1xuXG4kZ3JleS1kYXJrZXI6ICBoc2woMCwgMCUsIDIxJSkgIWRlZmF1bHQ7XG4kZ3JleS1kYXJrOiAgICBoc2woMCwgMCUsIDI5JSkgIWRlZmF1bHQ7XG4kZ3JleTogICAgICAgICBoc2woMCwgMCUsIDQ4JSkgIWRlZmF1bHQ7XG4kZ3JleS1saWdodDogICBoc2woMCwgMCUsIDcxJSkgIWRlZmF1bHQ7XG4kZ3JleS1saWdodGVyOiBoc2woMCwgMCUsIDg2JSkgIWRlZmF1bHQ7XG5cbiR3aGl0ZS10ZXI6ICAgIGhzbCgwLCAwJSwgOTYlKSAhZGVmYXVsdDtcbiR3aGl0ZS1iaXM6ICAgIGhzbCgwLCAwJSwgOTglKSAhZGVmYXVsdDtcbiR3aGl0ZTogICAgICAgIGhzbCgwLCAwJSwgMTAwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2U6ICAgICAgIGhzbCgxNCwgIDEwMCUsIDUzJSkgIWRlZmF1bHQ7XG4keWVsbG93OiAgICAgICBoc2woNDgsICAxMDAlLCA2NyUpICFkZWZhdWx0O1xuJGdyZWVuOiAgICAgICAgaHNsKDE0MSwgNzElLCAgNDglKSAhZGVmYXVsdDtcbiR0dXJxdW9pc2U6ICAgIGhzbCgxNzEsIDEwMCUsIDQxJSkgIWRlZmF1bHQ7XG4kY3lhbjogICAgICAgICBoc2woMjA0LCA4NiUsICA1MyUpICFkZWZhdWx0O1xuJGJsdWU6ICAgICAgICAgaHNsKDIxNywgNzElLCAgNTMlKSAhZGVmYXVsdDtcbiRwdXJwbGU6ICAgICAgIGhzbCgyNzEsIDEwMCUsIDcxJSkgIWRlZmF1bHQ7XG4kcmVkOiAgICAgICAgICBoc2woMzQ4LCAxMDAlLCA2MSUpICFkZWZhdWx0O1xuXG4vLyBUeXBvZ3JhcGh5XG5cbiRmYW1pbHktc2Fucy1zZXJpZjogQmxpbmtNYWNTeXN0ZW1Gb250LCAtYXBwbGUtc3lzdGVtLCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiT3h5Z2VuXCIsIFwiVWJ1bnR1XCIsIFwiQ2FudGFyZWxsXCIsIFwiRmlyYSBTYW5zXCIsIFwiRHJvaWQgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmYW1pbHktbW9ub3NwYWNlOiBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kcmVuZGVyLW1vZGU6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuJHNpemUtMTogM3JlbSAhZGVmYXVsdDtcbiRzaXplLTI6IDIuNXJlbSAhZGVmYXVsdDtcbiRzaXplLTM6IDJyZW0gIWRlZmF1bHQ7XG4kc2l6ZS00OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc2l6ZS01OiAxLjI1cmVtICFkZWZhdWx0O1xuJHNpemUtNjogMXJlbSAhZGVmYXVsdDtcbiRzaXplLTc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbiR3ZWlnaHQtbGlnaHQ6IDMwMCAhZGVmYXVsdDtcbiR3ZWlnaHQtbm9ybWFsOiA0MDAgIWRlZmF1bHQ7XG4kd2VpZ2h0LW1lZGl1bTogNTAwICFkZWZhdWx0O1xuJHdlaWdodC1zZW1pYm9sZDogNjAwICFkZWZhdWx0O1xuJHdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG5cbi8vIFJlc3BvbnNpdmVuZXNzXG5cbi8vIFRoZSBjb250YWluZXIgaG9yaXpvbnRhbCBnYXAsIHdoaWNoIGFjdHMgYXMgdGhlIG9mZnNldCBmb3IgYnJlYWtwb2ludHNcbiRnYXA6IDMycHggIWRlZmF1bHQ7XG4vLyA5NjAsIDExNTIsIGFuZCAxMzQ0IGhhdmUgYmVlbiBjaG9zZW4gYmVjYXVzZSB0aGV5IGFyZSBkaXZpc2libGUgYnkgYm90aCAxMiBhbmQgMTZcbiR0YWJsZXQ6IDc2OXB4ICFkZWZhdWx0O1xuLy8gOTYwcHggY29udGFpbmVyICsgNHJlbVxuJGRlc2t0b3A6IDk2MHB4ICsgKDIgKiAkZ2FwKSAhZGVmYXVsdDtcbi8vIDExNTJweCBjb250YWluZXIgKyA0cmVtXG4kd2lkZXNjcmVlbjogMTE1MnB4ICsgKDIgKiAkZ2FwKSAhZGVmYXVsdDtcbi8vIDEzNDRweCBjb250YWluZXIgKyA0cmVtXG4kZnVsbGhkOiAxMzQ0cHggKyAoMiAqICRnYXApICFkZWZhdWx0O1xuXG4vLyBNaXNjZWxsYW5lb3VzXG5cbiRlYXNpbmc6IGVhc2Utb3V0ICFkZWZhdWx0O1xuJHJhZGl1cy1zbWFsbDogMnB4ICFkZWZhdWx0O1xuJHJhZGl1czogM3B4ICFkZWZhdWx0O1xuJHJhZGl1cy1sYXJnZTogNXB4ICFkZWZhdWx0O1xuJHJhZGl1cy1yb3VuZGVkOiAyOTA0ODZweCAhZGVmYXVsdDtcbiRzcGVlZDogODZtcyAhZGVmYXVsdDtcblxuLy8gRmxhZ3NcblxuJHZhcmlhYmxlLWNvbHVtbnM6IHRydWUgIWRlZmF1bHQ7XG4iLCIkY29sdW1uLWdhcDogMS41cmVtICFkZWZhdWx0O1xuXG4uY29sdW1uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDE7XG4gIHBhZGRpbmc6ICRjb2x1bW4tZ2FwO1xuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW5hcnJvdyB7XG4gICAgZmxleDogbm9uZTsgfVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLWZ1bGwge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy10aHJlZS1xdWFydGVycyB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtdHdvLXRoaXJkcyB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogNjYuNjY2NiU7IH1cbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1oYWxmIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vbmUtdGhpcmQge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb25lLXF1YXJ0ZXIge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9uZS1maWZ0aCB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtdHdvLWZpZnRocyB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogNDAlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtdGhyZWUtZmlmdGhzIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiA2MCU7IH1cbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1mb3VyLWZpZnRocyB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogODAlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzIHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXR3by10aGlyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JTsgfVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC1oYWxmIHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LW9uZS10aGlyZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LW9uZS1maWZ0aCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwJTsgfVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC10d28tZmlmdGhzIHtcbiAgICBtYXJnaW4tbGVmdDogNDAlOyB9XG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocyB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwJTsgfVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC1mb3VyLWZpZnRocyB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwJTsgfVxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLSN7JGl9IHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogKCRpIC8gMTIpICogMTAwJTsgfVxuICAgIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LSN7JGl9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoJGkgLyAxMikgKiAxMDAlOyB9IH1cbiAgQGluY2x1ZGUgbW9iaWxlIHtcbiAgICAmLmlzLW5hcnJvdy1tb2JpbGUge1xuICAgICAgZmxleDogbm9uZTsgfVxuICAgICYuaXMtZnVsbC1tb2JpbGUge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgJi5pcy10aHJlZS1xdWFydGVycy1tb2JpbGUge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAmLmlzLXR3by10aGlyZHMtbW9iaWxlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNjYuNjY2NiU7IH1cbiAgICAmLmlzLWhhbGYtbW9iaWxlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgJi5pcy1vbmUtdGhpcmQtbW9iaWxlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAmLmlzLW9uZS1xdWFydGVyLW1vYmlsZSB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICYuaXMtb25lLWZpZnRoLW1vYmlsZSB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgICYuaXMtdHdvLWZpZnRocy1tb2JpbGUge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAmLmlzLXRocmVlLWZpZnRocy1tb2JpbGUge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAmLmlzLWZvdXItZmlmdGhzLW1vYmlsZSB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDgwJTsgfVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLW1vYmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy1tb2JpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlOyB9XG4gICAgJi5pcy1vZmZzZXQtaGFsZi1tb2JpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC1tb2JpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlOyB9XG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItbW9iaWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtbW9iaWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCU7IH1cbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLW1vYmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAlOyB9XG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLW1vYmlsZSB7XG4gICAgICBtYXJnaW4tbGVmdDogNjAlOyB9XG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtbW9iaWxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCU7IH1cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgICYuaXMtI3skaX0tbW9iaWxlIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgd2lkdGg6ICgkaSAvIDEyKSAqIDEwMCU7IH1cbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LW1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJGkgLyAxMikgKiAxMDAlOyB9IH0gfVxuICBAaW5jbHVkZSB0YWJsZXQge1xuICAgICYuaXMtbmFycm93LFxuICAgICYuaXMtbmFycm93LXRhYmxldCB7XG4gICAgICBmbGV4OiBub25lOyB9XG4gICAgJi5pcy1mdWxsLFxuICAgICYuaXMtZnVsbC10YWJsZXQge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgJi5pcy10aHJlZS1xdWFydGVycyxcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLXRhYmxldCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgICYuaXMtdHdvLXRoaXJkcyxcbiAgICAmLmlzLXR3by10aGlyZHMtdGFibGV0IHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNjYuNjY2NiU7IH1cbiAgICAmLmlzLWhhbGYsXG4gICAgJi5pcy1oYWxmLXRhYmxldCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICYuaXMtb25lLXRoaXJkLFxuICAgICYuaXMtb25lLXRoaXJkLXRhYmxldCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgJi5pcy1vbmUtcXVhcnRlcixcbiAgICAmLmlzLW9uZS1xdWFydGVyLXRhYmxldCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICYuaXMtb25lLWZpZnRoLFxuICAgICYuaXMtb25lLWZpZnRoLXRhYmxldCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgICYuaXMtdHdvLWZpZnRocyxcbiAgICAmLmlzLXR3by1maWZ0aHMtdGFibGV0IHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgJi5pcy10aHJlZS1maWZ0aHMsXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtdGFibGV0IHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgJi5pcy1mb3VyLWZpZnRocyxcbiAgICAmLmlzLWZvdXItZmlmdGhzLXRhYmxldCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDgwJTsgfVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLFxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLXRhYmxldCB7XG4gICAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcyxcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLXRhYmxldCB7XG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiU7IH1cbiAgICAmLmlzLW9mZnNldC1oYWxmLFxuICAgICYuaXMtb2Zmc2V0LWhhbGYtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQsXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLXRhYmxldCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyU7IH1cbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlcixcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlci10YWJsZXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aCxcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCU7IH1cbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLFxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MCU7IH1cbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMsXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLXRhYmxldCB7XG4gICAgICBtYXJnaW4tbGVmdDogNjAlOyB9XG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMsXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCU7IH1cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgICYuaXMtI3skaX0sXG4gICAgICAmLmlzLSN7JGl9LXRhYmxldCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAoJGkgLyAxMikgKiAxMDAlOyB9XG4gICAgICAmLmlzLW9mZnNldC0jeyRpfSxcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LXRhYmxldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJGkgLyAxMikgKiAxMDAlOyB9IH0gfVxuICBAaW5jbHVkZSB0b3VjaCB7XG4gICAgJi5pcy1uYXJyb3ctdG91Y2gge1xuICAgICAgZmxleDogbm9uZTsgfVxuICAgICYuaXMtZnVsbC10b3VjaCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLXRvdWNoIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgJi5pcy10d28tdGhpcmRzLXRvdWNoIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNjYuNjY2NiU7IH1cbiAgICAmLmlzLWhhbGYtdG91Y2gge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAmLmlzLW9uZS10aGlyZC10b3VjaCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgJi5pcy1vbmUtcXVhcnRlci10b3VjaCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgICYuaXMtb25lLWZpZnRoLXRvdWNoIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgJi5pcy10d28tZmlmdGhzLXRvdWNoIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgJi5pcy10aHJlZS1maWZ0aHMtdG91Y2gge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAmLmlzLWZvdXItZmlmdGhzLXRvdWNoIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogODAlOyB9XG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtdG91Y2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtdG91Y2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlOyB9XG4gICAgJi5pcy1vZmZzZXQtaGFsZi10b3VjaCB7XG4gICAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLXRvdWNoIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJTsgfVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLXRvdWNoIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtdG91Y2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwJTsgfVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtdG91Y2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwJTsgfVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy10b3VjaCB7XG4gICAgICBtYXJnaW4tbGVmdDogNjAlOyB9XG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtdG91Y2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IDgwJTsgfVxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTIge1xuICAgICAgJi5pcy0jeyRpfS10b3VjaCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAoJGkgLyAxMikgKiAxMDAlOyB9XG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS10b3VjaCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJGkgLyAxMikgKiAxMDAlOyB9IH0gfVxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAmLmlzLW5hcnJvdy1kZXNrdG9wIHtcbiAgICAgIGZsZXg6IG5vbmU7IH1cbiAgICAmLmlzLWZ1bGwtZGVza3RvcCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLWRlc2t0b3Age1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAmLmlzLXR3by10aGlyZHMtZGVza3RvcCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDY2LjY2NjYlOyB9XG4gICAgJi5pcy1oYWxmLWRlc2t0b3Age1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAmLmlzLW9uZS10aGlyZC1kZXNrdG9wIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAmLmlzLW9uZS1xdWFydGVyLWRlc2t0b3Age1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAmLmlzLW9uZS1maWZ0aC1kZXNrdG9wIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgJi5pcy10d28tZmlmdGhzLWRlc2t0b3Age1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAmLmlzLXRocmVlLWZpZnRocy1kZXNrdG9wIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgJi5pcy1mb3VyLWZpZnRocy1kZXNrdG9wIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogODAlOyB9XG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtZGVza3RvcCB7XG4gICAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy1kZXNrdG9wIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JTsgfVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtZGVza3RvcCB7XG4gICAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLWRlc2t0b3Age1xuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlOyB9XG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItZGVza3RvcCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLWRlc2t0b3Age1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwJTsgfVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtZGVza3RvcCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDAlOyB9XG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLWRlc2t0b3Age1xuICAgICAgbWFyZ2luLWxlZnQ6IDYwJTsgfVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLWRlc2t0b3Age1xuICAgICAgbWFyZ2luLWxlZnQ6IDgwJTsgfVxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTIge1xuICAgICAgJi5pcy0jeyRpfS1kZXNrdG9wIHtcbiAgICAgICAgZmxleDogbm9uZTtcbiAgICAgICAgd2lkdGg6ICgkaSAvIDEyKSAqIDEwMCU7IH1cbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LWRlc2t0b3Age1xuICAgICAgICBtYXJnaW4tbGVmdDogKCRpIC8gMTIpICogMTAwJTsgfSB9IH1cbiAgQGluY2x1ZGUgd2lkZXNjcmVlbiB7XG4gICAgJi5pcy1uYXJyb3ctd2lkZXNjcmVlbiB7XG4gICAgICBmbGV4OiBub25lOyB9XG4gICAgJi5pcy1mdWxsLXdpZGVzY3JlZW4ge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgJi5pcy10aHJlZS1xdWFydGVycy13aWRlc2NyZWVuIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgJi5pcy10d28tdGhpcmRzLXdpZGVzY3JlZW4ge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA2Ni42NjY2JTsgfVxuICAgICYuaXMtaGFsZi13aWRlc2NyZWVuIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgJi5pcy1vbmUtdGhpcmQtd2lkZXNjcmVlbiB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgJi5pcy1vbmUtcXVhcnRlci13aWRlc2NyZWVuIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgJi5pcy1vbmUtZmlmdGgtd2lkZXNjcmVlbiB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgICYuaXMtdHdvLWZpZnRocy13aWRlc2NyZWVuIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgJi5pcy10aHJlZS1maWZ0aHMtd2lkZXNjcmVlbiB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDYwJTsgfVxuICAgICYuaXMtZm91ci1maWZ0aHMtd2lkZXNjcmVlbiB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDgwJTsgfVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLXdpZGVzY3JlZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtd2lkZXNjcmVlbiB7XG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiU7IH1cbiAgICAmLmlzLW9mZnNldC1oYWxmLXdpZGVzY3JlZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC13aWRlc2NyZWVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJTsgfVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLXdpZGVzY3JlZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC13aWRlc2NyZWVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCU7IH1cbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLXdpZGVzY3JlZW4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwJTsgfVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy13aWRlc2NyZWVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCU7IH1cbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy13aWRlc2NyZWVuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCU7IH1cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgICYuaXMtI3skaX0td2lkZXNjcmVlbiB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAoJGkgLyAxMikgKiAxMDAlOyB9XG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS13aWRlc2NyZWVuIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgkaSAvIDEyKSAqIDEwMCU7IH0gfSB9XG4gIEBpbmNsdWRlIGZ1bGxoZCB7XG4gICAgJi5pcy1uYXJyb3ctZnVsbGhkIHtcbiAgICAgIGZsZXg6IG5vbmU7IH1cbiAgICAmLmlzLWZ1bGwtZnVsbGhkIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMtZnVsbGhkIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgJi5pcy10d28tdGhpcmRzLWZ1bGxoZCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDY2LjY2NjYlOyB9XG4gICAgJi5pcy1oYWxmLWZ1bGxoZCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICYuaXMtb25lLXRoaXJkLWZ1bGxoZCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgJi5pcy1vbmUtcXVhcnRlci1mdWxsaGQge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAmLmlzLW9uZS1maWZ0aC1mdWxsaGQge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAmLmlzLXR3by1maWZ0aHMtZnVsbGhkIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgJi5pcy10aHJlZS1maWZ0aHMtZnVsbGhkIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgJi5pcy1mb3VyLWZpZnRocy1mdWxsaGQge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA4MCU7IH1cbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycy1mdWxsaGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMtZnVsbGhkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JTsgfVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtZnVsbGhkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQtZnVsbGhkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzJTsgfVxuICAgICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyLWZ1bGxoZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLWZ1bGxoZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjAlOyB9XG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocy1mdWxsaGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwJTsgfVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy1mdWxsaGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDYwJTsgfVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLWZ1bGxoZCB7XG4gICAgICBtYXJnaW4tbGVmdDogODAlOyB9XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxMiB7XG4gICAgICAmLmlzLSN7JGl9LWZ1bGxoZCB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAoJGkgLyAxMikgKiAxMDAlOyB9XG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS1mdWxsaGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKCRpIC8gMTIpICogMTAwJTsgfSB9IH0gfVxuXG4uY29sdW1ucyB7XG4gIG1hcmdpbi1sZWZ0OiAoLSRjb2x1bW4tZ2FwKTtcbiAgbWFyZ2luLXJpZ2h0OiAoLSRjb2x1bW4tZ2FwKTtcbiAgbWFyZ2luLXRvcDogKC0kY29sdW1uLWdhcCk7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogKC0kY29sdW1uLWdhcCk7IH1cbiAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEuNXJlbSAtICN7JGNvbHVtbi1nYXB9KTsgfVxuICAvLyBNb2RpZmllcnNcbiAgJi5pcy1jZW50ZXJlZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgJi5pcy1nYXBsZXNzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICAmID4gLmNvbHVtbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAmLmlzLW1vYmlsZSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAmLmlzLW11bHRpbGluZSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICYuaXMtdmNlbnRlcmVkIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC8vIFJlc3BvbnNpdmVuZXNzXG4gIEBpbmNsdWRlIHRhYmxldCB7XG4gICAgJjpub3QoLmlzLWRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICBAaW5jbHVkZSBkZXNrdG9wIHtcbiAgICAvLyBNb2RpZmllcnNcbiAgICAmLmlzLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9IH1cblxuQGlmICR2YXJpYWJsZS1jb2x1bW5zIHtcbiAgLmNvbHVtbnMuaXMtdmFyaWFibGUge1xuICAgIC0tY29sdW1uR2FwOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY29sdW1uR2FwKSk7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tY29sdW1uR2FwKSk7XG4gICAgLmNvbHVtbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWNvbHVtbkdhcCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jb2x1bW5HYXApOyB9XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCA4IHtcbiAgICAgICYuaXMtI3skaX0ge1xuICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19OyB9IH0gfSB9XG4iLCJodG1sLCBib2R5IHtcblx0aGVpZ2h0OiAxMDAlO1xufVxuYm9keS5kZWZhdWx0X2RvbWFpbiB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAkc2lkZWJhci13aWR0aDtcblx0fVxufVxuLnNlY3Rpb24ge1xuXHQucm93IHtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cbi5jb250YWluZXItdGV4dCB7XG5cdG1heC13aWR0aDogNzAwcHg7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuLnNob3czZCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cblx0LmxvYWRpbmcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6MjBweDtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXHQuYnV0dG9uX2NvbnRhaW5lciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDoyMHB4O1xuXHRcdGxlZnQ6IDIwcHg7XG5cdH1cbn1cbnRhYmxlIHtcblx0dGhlYWQge1xuXHRcdHRoIHtcblx0XHRcdC8vIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblx0XHR9XG5cdH1cbn1cbi5jbGVhcmZpeCB7XG5cdEBpbmNsdWRlIGNsZWFyZml4O1xufVxuLmJ0bi1sb25nIHtcblx0cGFkZGluZzogNnB4IDQwcHg7XG59XG4uY29sdW1ucy0yIHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdC1tb3otY29sdW1ucy1jb3VudDogMjtcblx0XHRjb2x1bW4tY291bnQ6IDI7XG5cdFx0Y29sdW1uLWdhcDogMmVtO1xuXHR9XG59XG4uZ2FsbGVyeS0zIHtcblx0PiBkaXYge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRAaW5jbHVkZSBnYWxsZXJ5KDQgb2YgMTIpO1xuXHRcdH1cblx0fVxufVxuLnNlYXJjaC1saXN0IHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHQ+IC5ibG9jayB7XG5cdFx0XHRAaW5jbHVkZSBnYWxsZXJ5KDQgb2YgMTIpO1xuXHRcdH1cblx0fVxufVxuLmJwb3B1cC1jb250YWluZXIsXG4uYnBvcHVwLWNvbnRhaW5lcjIsXG4uYnBvcHVwLWNvbnRhaW5lcjMge1xuXHRpbWcge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdEBleHRlbmQgLmltZy10aHVtYm5haWw7XG5cdH1cbn1cbi5pbWdfem9vbV9jb250YWluZXIge1xuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogJ1xcZjAwZSc7XG5cdFx0Zm9udC1mYW1pbHk6IGZvbnRBd2Vzb21lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ym90dG9tOiA1cHg7XG5cdFx0cmlnaHQ6IDVweDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0Y3Vyc29yOiBwb2ludGVyXG5cdH1cbn1cbi5yb3cge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcbn1cbi5yZWQge1xuXHRjb2xvcjogJHJlZDtcbn1cbi5iZy1yZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xufVxuLmJnLWdyYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrZXI7XG59XG4ubTAge1xuXHRtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbmJvZHkgPiAud3JhcHBlciB7XG5cdG1pbi1oZWlnaHQ6IDEwMCU7XG5cdG1hcmdpbi1ib3R0b206IC01MDZweDtcblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuLm1haW5fZm9vdGVyLCBib2R5ID4gLndyYXBwZXI6YWZ0ZXIge1xuXHRoZWlnaHQ6IDUwNnB4O1xufVxuLm1haW5fY29udGFpbmVyIHtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG59XG4uZncge1xuXHR3aWR0aDogMTAwJTtcbn1cbi51bmRlcmxpbmUge1xuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5kaXNhYmxlZCB7XG5cdCY6aG92ZXIge1xuXHRcdGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cdH1cbn1cbmJ1dHRvbjpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5oaWRlIHtcblx0ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XG59XG4uYnRuIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0b3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmLmdyYXkge1xuICAgIFx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFya2VyICFpbXBvcnRhbnQ7XG4gICAgXHRib3JkZXItY29sb3I6ICRncmF5IWltcG9ydGFudDtcbiAgICBcdGNvbG9yOiAjZmZmO1xuXG4gICAgXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogJGdyYXkhaW1wb3J0YW50O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JheSFpbXBvcnRhbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0Ji5ncmF5LWxpZ2h0IHtcbiAgICBcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgXHRib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgXHRjb2xvcjogI2ZmZjtcblxuICAgIFx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdFx0Y29sb3I6ICRncmF5IWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1jb2xvcjogJGdyYXkhaW1wb3J0YW50O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG4uYnRuLW1haW4ge1xuXHRjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG5cdHRyYW5zaXRpb246IGFsbCAuMXM7XG5cdHRleHQtdHJhbnNmb3JtOm5vbmU7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cblx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG5cdH1cbn1cbi5idG4tc2Vjb25kIHtcblx0Y29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcmVkO1xuXHR0cmFuc2l0aW9uOiBhbGwgLjFzO1xuXHR0ZXh0LXRyYW5zZm9ybTpub25lO1xuXHRmb250LXdlaWdodDogNDAwO1xuXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcblx0XHRjb2xvcjogJHJlZDtcblx0XHRib3JkZXItY29sb3I6ICRyZWQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0fVxufVxuLmJ0bi10aGlyZCB7XG5cdGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG5cdHRyYW5zaXRpb246IGFsbCAuMXM7XG5cdHRleHQtdHJhbnNmb3JtOm5vbmU7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdGNvbG9yOiAkcmVkO1xuXHRcdGJvcmRlci1jb2xvcjogJHJlZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHR9XG59XG4uYnRuLWZvdXIge1xuXHRjb2xvcjogJHJlZDtcblx0Ym9yZGVyLWNvbG9yOiAkcmVkO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRyZWQ7XG5cdHRyYW5zaXRpb246IGFsbCAuMXM7XG5cdHRleHQtdHJhbnNmb3JtOm5vbmU7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cblx0Jjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuXHRcdGJvcmRlci1jb2xvcjogJHJlZDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbigjZmZmLCAxMCUpO1xuXHR9XG59XG5cbi5zbGljay1zbGlkZTpmb2N1cyB7XG5cdG91dGxpbmU6IG5vbmU7XG59XG5cblxuXG5pbWcge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5zZWN0aW9uIHtcblx0bWFyZ2luLXRvcDogNTBweDtcblx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXG5cdC5maXJzdF90aXRsZSB7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0fVxufVxuaHIucmVkIHtcblx0Ym9yZGVyLWNvbG9yOiAkcmVkXG59XG5oci5kYXNoZWQge1xuXHRib3JkZXItdG9wOiAxcHggZGFzaGVkICRncmF5O1xuXHRib3JkZXItYm90dG9tOiAwO1xufVxuaHIuZ3JheS1kYXJrZXIge1xuXHRib3JkZXItY29sb3I6ICRncmF5LWRhcmtlcjtcbn1cbi5tb2RhbCB7XG5cdHBhZGRpbmc6IDE1cHg7XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cdGNvbG9yOiAkZ3JheS1kYXJrO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRkaXNwbGF5OiB0YWJsZTtcblxuXHRoMSB7XG5cdFx0Y29sb3I6JHRleHQtY29sb3I7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRtYXJnaW4tdG9wOiAwO1xuXHR9XG5cblx0Ji5tb2RhbC1sZyB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cdH1cblxuXHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHRAaW5jbHVkZSBjb250YWluZXIoODAlKTtcblxuXHRcdC5tb2RhbC1sZWZ0IHtcblx0XHRcdHdpZHRoOiAzMy4zMzMzJTtcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRwYWRkaW5nOiAxNXB4O1xuXHRcdH1cblxuXHRcdC5tb2RhbC1yaWdodCB7XG5cdFx0XHR3aWR0aDogNjYuNjY2NiU7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0cGFkZGluZzogMTVweDtcblx0XHR9XG5cdH1cblxufVxuLmJwb3B1cC1jb250YWluZXIyLFxuLmJwb3B1cC1jb250YWluZXIzIHtcblxuXHR0ZXh0YXJlYSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAycHg7XG5cdH1cbn1cbi5icG9wdXAtY29udGFpbmVyLFxuLmJwb3B1cC1jb250YWluZXIyLFxuLmJwb3B1cC1jb250YWluZXIzIHtcblx0bWluLXdpZHRoOiA5MCU7XG5cdGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgIWltcG9ydGFudDtcblxuXHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdG1pbi13aWR0aDogODUlO1xuXHRcdGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSAhaW1wb3J0YW50O1xuXHR9XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHRtaW4td2lkdGg6IDgwJTtcblx0fVxufVxuXG4uYnBvcHVwLWNsb3NlLFxuLmJwb3B1cC1jbG9zZTIsXG4uYnBvcHVwLWNsb3NlMyB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOjA7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTtcblx0cmlnaHQ6IDA7XG5cdGNvbG9yIDojZmZmO1xufVxuLnVwcGVyY2FzZSB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubG93ZXJjYXNlIHtcblx0dGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cbiNtYXAge1xuXHRtaW4taGVpZ2h0OiAzMDBweDtcblxufVxuLmZvcm0tY29udHJvbDIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0d2lkdGg6IDEwMCU7XG5cdGJvcmRlcjogMDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG5cdHRyYW5zaXRpb246IGFsbCAuMXM7XG5cdGhlaWdodDogMzRweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG5cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXItY29sb3I6ICRncmF5O1xuXHR9XG59XG5cbi5jb250YWluZXIge1xuXHRkaXNwbGF5OmJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblxuXHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdG1heC13aWR0aDogNzAwcHg7XG5cdH1cblx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRtYXgtd2lkdGg6IDk1MHB4O1xuXHR9XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMTUwcHg7XG5cdH1cbn1cblxuLnNlY3Rpb24ge1xuXHRAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmxhYmVsLWdyYXkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrZXI7XG5cdGNvbG9yOiAjZmZmO1xuXHRwYWRkaW5nOiA2cHggMTJweDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xufVxuLnVuc3R5bGVkIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG4uaW5wdXRmaWxlIHtcblx0ZGlzcGxheTpibG9jaztcblx0d2lkdGg6IDAuMXB4O1xuXHRoZWlnaHQ6IDAuMXB4O1xuXHRvcGFjaXR5OiAwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHR6LWluZGV4OiAtMTtcbn1cbi5pbnB1dGZpbGUgKyBsYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbnB1dGZpbGU6Zm9jdXMgKyBsYWJlbCxcbi5pbnB1dGZpbGUgKyBsYWJlbDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRyZWQsIDEwJSk7XG59XG4uaW5wdXRmaWxlICsgbGFiZWwge1xuXHRjdXJzb3I6IHBvaW50ZXI7IC8qIFwiaGFuZFwiIGN1cnNvciAqL1xufVxudmlkZW8ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi53NTAge1xuXHRAaW5jbHVkZSBnYWxsZXJ5KDYgb2YgMTIpO1xufVxuI2NndiB7XG5cdGJvcmRlcjogMnB4IHNvbGlkICNkZGQ7XG5cdHBhZGRpbmc6IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uYnRuLWZiIHtcblx0QGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoI2ZmZiwgIzNiNTk5OCwgIzNiNTk5OCk7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRpIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHR9XG59XG5cbi5sYmwtY3JlZGl0c3tcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgZm9udC1zaXplOiAyMnB4O1xufVxuXG4udGFydGVhdWNpdHJvbkljb25Cb3R0b21SaWdodHtcbiAgcmlnaHQ6IDgwcHggIWltcG9ydGFudDtcbn1cbiIsIkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD9iZTRhbGYnKTtcclxuICBzcmM6ICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uZW90P2JlNGFsZiNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgIHVybCgnLi4vZm9udHMvaWNvbW9vbi50dGY/YmU0YWxmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKCcuLi9mb250cy9pY29tb29uLndvZmY/YmU0YWxmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uc3ZnP2JlNGFsZiNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xyXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcclxuICBzcGVhazogbm9uZTtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuLmljb24tYW5ub25jZXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwMVwiO1xyXG4gIGNvbG9yOiAjNjI1ZTVkO1xyXG59XHJcbi5pY29uLWNvbXB0ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XHJcbiAgY29sb3I6ICM2MjVlNWQ7XHJcbn1cclxuLmljb24tZGVjaXNpb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwYlwiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLWVkaXQgLnBhdGgxOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGNcIjtcclxuICBjb2xvcjogcmdiKDgzLCA4MSwgNzkpO1xyXG59XHJcbi5pY29uLWVkaXQgLnBhdGgyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGRcIjtcclxuICBtYXJnaW4tbGVmdDogLTFlbTtcclxuICBjb2xvcjogcmdiKDk1LCA5MiwgOTMpO1xyXG59XHJcbi5pY29uLWVkaXQgLnBhdGgzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGVcIjtcclxuICBtYXJnaW4tbGVmdDogLTFlbTtcclxuICBjb2xvcjogcmdiKDk1LCA5MiwgOTMpO1xyXG59XHJcbi5pY29uLWVkaXQgLnBhdGg0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGZcIjtcclxuICBtYXJnaW4tbGVmdDogLTFlbTtcclxuICBjb2xvcjogcmdiKDgzLCA4MSwgNzkpO1xyXG59XHJcbi5pY29uLWVkaXQgLnBhdGg1OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTBcIjtcclxuICBtYXJnaW4tbGVmdDogLTFlbTtcclxuICBjb2xvcjogcmdiKDgzLCA4MSwgNzkpO1xyXG59XHJcbi5pY29uLWVkaXQgLnBhdGg2OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTFcIjtcclxuICBtYXJnaW4tbGVmdDogLTFlbTtcclxuICBjb2xvcjogcmdiKDgzLCA4MSwgNzkpO1xyXG59XHJcbi5pY29uLWVkaXQgLnBhdGg3OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTJcIjtcclxuICBtYXJnaW4tbGVmdDogLTFlbTtcclxuICBjb2xvcjogcmdiKDk1LCA5MiwgOTMpO1xyXG59XHJcbi5pY29uLWVtYWlsOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTNcIjtcclxuICBjb2xvcjogIzYyNWU1ZDtcclxufVxyXG4uaWNvbi1mYXE6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxNFwiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLWdhcmFudGllOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTVcIjtcclxuICBjb2xvcjogIzUzNTE0ZjtcclxufVxyXG4uaWNvbi1oZWxwaW46YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxNlwiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLW1hY2hpbmVzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTdcIjtcclxuICBjb2xvcjogIzYwNWM1ZDtcclxufVxyXG4uaWNvbi1ub3RpZmljYXRpb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxOFwiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLXByb3BkdWl0czpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XHJcbiAgY29sb3I6ICM2MjVlNWQ7XHJcbn1cclxuLmljb24tcHVyY2hhc2U6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxYVwiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLXJlZ2lzdHJhdGlvbnM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxYlwiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLXNhbGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxY1wiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLXNhdGlzZmFjdGlvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTFkXCI7XHJcbiAgY29sb3I6ICM1MzUxNGY7XHJcbn1cclxuLmljb24tc2VydmljZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XHJcbiAgY29sb3I6ICM1MzUxNGY7XHJcbn1cclxuLmljb24tc3VwcHJpbWVyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MWZcIjtcclxuICBjb2xvcjogIzUzNTE0ZjtcclxufVxyXG4uaWNvbi1zdXNjcml2ZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XHJcbiAgY29sb3I6ICM2MjVlNWQ7XHJcbn1cclxuLmljb24tdHV0b3JpYWw6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkyMVwiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLWNhbGVuZHJpZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwMFwiO1xyXG4gIGNvbG9yOiAjNjI1ZTVkO1xyXG59XHJcbi5pY29uLWRlY29ubmV4aW9uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDJcIjtcclxuICBjb2xvcjogIzUzNTE0ZjtcclxufVxyXG4uaWNvbi1lZGl0ZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwM1wiO1xyXG4gIGNvbG9yOiAjNWY1YzVkO1xyXG59XHJcbi5pY29uLWdlc3Rpb25fcGxhbm5pbmc6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwNFwiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLWhvbWU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwNVwiO1xyXG4gIGNvbG9yOiAjNjA1YzVkO1xyXG59XHJcbi5pY29uLW1vZGlmOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDZcIjtcclxufVxyXG4uaWNvbi1uYnJfY2hhbnRpZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwN1wiO1xyXG4gIGNvbG9yOiAjNTM1MTRmO1xyXG59XHJcbi5pY29uLXBkZjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XHJcbiAgY29sb3I6ICM2MjVlNWQ7XHJcbn1cclxuLmljb24tdHJhc2g6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwOVwiO1xyXG59XHJcblxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdzbWlsZXknO1xyXG4gIHNyYzogIHVybCgnLi4vZm9udHMvaWNvbW9vbjIuZW90Pzg3YzNzNScpO1xyXG4gIHNyYzogIHVybCgnLi4vZm9udHMvaWNvbW9vbjIuZW90Pzg3YzNzNSNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgIHVybCgnLi4vZm9udHMvaWNvbW9vbjIudHRmPzg3YzNzNScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgIHVybCgnLi4vZm9udHMvaWNvbW9vbjIud29mZj84N2MzczUnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgIHVybCgnLi4vZm9udHMvaWNvbW9vbjIuc3ZnPzg3YzNzNSNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuW2NsYXNzXj1cImljb24tc21pbGV5LVwiXSwgW2NsYXNzKj1cIiBpY29uLXNtaWxleS1cIl0ge1xyXG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXHJcbiAgZm9udC1mYW1pbHk6ICdzbWlsZXknICFpbXBvcnRhbnQ7XHJcbiAgc3BlYWs6IG5vbmU7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgZm9udC1zaXplOiAzMHB4O1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG5cclxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG4uaWNvbi1zbWlsZXktNTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XHJcbn1cclxuLmljb24tc21pbGV5LTQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwMVwiO1xyXG59XHJcbi5pY29uLXNtaWxleS0zOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDJcIjtcclxufVxyXG4uaWNvbi1zbWlsZXktMjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XHJcbn1cclxuLmljb24tc21pbGV5LTE6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwNFwiO1xyXG59XHJcblxyXG4uc21pbGV5LWNvbG9yIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDQycHg7XHJcbiAgaGVpZ2h0OiA0MnB4O1xyXG59IiwiLm1haW5faGVhZGVyIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1tb2JpbGU7XHJcblxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRtaW4taGVpZ2h0OiAkaGVhZGVyLWhlaWdodC1kZXNrdG9wO1xyXG5cdH1cclxuXHJcblx0LmxvZ28ge1xyXG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRwYWRkaW5nOiAwIDEwcHg7XHJcblxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0cGFkZGluZzogMCAyMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdG1heC13aWR0aDogbm9uZTtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHRcdGhlaWdodDo1MHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQubG9nbzIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDEwcHg7XHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiBub25lO1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdGhlaWdodDo1MHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5tZW51LXRvZ2dsZSB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG59XHJcbi5leHRlcm5hbF9kb21haW4ge1xyXG5cdC5tYWluX21lbnUge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0XHR3aWR0aDogOTAlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5mbGFnLXNpdGUge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdFx0ICAgIGltZyB7XHJcblx0XHQgICAgcGFkZGluZzogMTBweDtcclxuXHRcdCAgICBcdGRpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDAgYXV0bzsgbWF4LXdpZHRoOiA2NXB4O1xyXG5cdFx0ICAgIH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLm1haW5fbWVudSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cdGZvbnQtc2l6ZTogMWVtO1xyXG5cdGEge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWFyZ2luOiAwIDhweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG5cclxuXHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyZWQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gcG91ciBxdWUgbGUgc2VwYXJhdGV1ciByZXN0ZSBibGFuY1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcmVkO1xyXG5cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmtlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiBcIi9cIjtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0Oi0xMnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmhlYWRfdGl0bGUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcblx0aGVpZ2h0OiAkaGVpZ2h0LWNhc2U7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdGgxIHtcclxuXHRcdGZvbnQtc2l6ZToxLjVlbTtcclxuXHQgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAuMXM7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsImJvZHkuZGVmYXVsdF9kb21haW4ge1xyXG5cdC5tYWluX3NpZGVfbWVudSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuXHJcbi5tYWluX3NpZGVfbWVudSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrZXI7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGxlZnQ6MTAwJTtcclxuXHR0b3A6ICRoZWFkZXItaGVpZ2h0LW1vYmlsZTtcclxuXHRib3R0b206IDA7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjE1cyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMSwgMSk7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHdpZHRoOiA2MCU7XHJcblx0bWF4LXdpZHRoOiAzMDBweDtcclxuXHR6LWluZGV4OiA5OTk4O1xyXG5cclxuXHRvdmVyZmxvdy15OnNjcm9sbDtcclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwwLDApO1xyXG5cdFx0Ym94LXNoYWRvdzogLTNweCAwIDVweCAjMTcxNzE3O1xyXG5cdH1cclxuXHJcblx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IGF1dG87XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHdpZHRoOiAkc2lkZWJhci13aWR0aDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJHJlZDtcclxuXHJcblx0XHRcdHNwYW46YmVmb3JlIHtcclxuXHRcdFx0XHRjb2xvcjogJHJlZDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm1haW5fbWVudV9zaWRlIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0bWFyZ2luOiA2cHggMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmZpeGVkX21lbnUge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5sYW5nLXN3aXRjaCB7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0Zm9udC1zaXplOiAuOWVtO1xyXG5cclxuXHRpbWcge1xyXG5cdFx0d2lkdGg6IDIwcHg7XHJcblx0fVxyXG5cclxuLyogXHRhIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAwIDRweDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuXHJcblx0Ji5hY3RpdmUge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRyZWQ7XHJcblx0fVxyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0Y29udGVudDogXCIvXCI7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDotOXB4O1xyXG5cdH1cclxuXHJcblx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59ICovXHJcblxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRtaW4taGVpZ2h0OiA4MHB4O1xyXG5cdH1cclxufVxyXG4uZml4ZWRfbWVudSB7XHJcblx0YSB7XHJcblx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XHJcblx0XHRib3JkZXItcmlnaHQ6IDA7XHJcblx0XHRtaW4taGVpZ2h0OiA4MHB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0cGFkZGluZzogMTVweCAwO1xyXG5cclxuXHRcdC5pY29uOmJlZm9yZSwgLmljb24ge1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRmb250LXNpemU6IDI4cHg7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGJvcmRlci1sZWZ0OiAwO1xyXG5cdFx0XHRib3JkZXItcmlnaHQ6IDA7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcbi8qXHJcblx0XHQmOm50aC1jaGlsZCgxKSB7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbmVfbXlhY2NvdW50LnBuZyk7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lX215YWNjb3VudF9ob3Zlci5wbmcpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpudGgtY2hpbGQoMikge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lX3N1YnNjcmliZS5wbmcpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lX3N1YnNjcmliZV9ob3Zlci5wbmcpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lX2ZhcS5wbmcpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lX2ZhcV9ob3Zlci5wbmcpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpudGgtY2hpbGQoNCkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lX3NlYXJjaC5wbmcpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lX3NlYXJjaF9ob3Zlci5wbmcpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpudGgtY2hpbGQoNSkge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lX2NvbnRhY3QucG5nKTtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiAyNXB4O1xyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uZV9jb250YWN0X2hvdmVyLnBuZyk7XHJcblx0XHRcdH1cclxuXHRcdH0gKi9cclxuXHR9XHJcbn0iLCIubWVudS10b2dnbGUge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRwYWRkaW5nOiAuNWVtO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcblx0Ym9yZGVyOm5vbmU7XHJcblx0YmFja2dyb3VuZDpub25lO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiA4cHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRvdXRsaW5lOiBub25lO1xyXG5cdH1cclxuXHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLm1lbnUtdG9nZ2xlIC5pY29uIHtcclxuXHRAaW5jbHVkZSBidXJnZXIoMjVweCwgM3B4LCA1cHgsICM0NDQpO1xyXG59XHJcblxyXG4ubWVudS10b2dnbGUuaXMtYWN0aXZlIC5pY29uIHtcclxuXHRAaW5jbHVkZSBidXJnZXItdG8tY3Jvc3M7XHJcbn0iLCIuaGVybyB7XHJcblx0bWluLWhlaWdodDogJGhlcm8taGVpZ2h0O1xyXG5cdC8vIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGltZ3t3aWR0aDogMTAwJTt9XHJcblxyXG5cdCYuYXV0byB7XHJcblx0XHRtaW4taGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0Lmhlcm9fY29udGVudCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDk2JTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHRsZWZ0OiAxNXB4O1xyXG5cdFx0cmlnaHQ6IDE1cHg7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDE1cHg7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRncmF5LWJhc2UsLjgpO1xyXG5cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdG1heC13aWR0aDogNDc1cHg7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHRcdG1pbi13aWR0aDogMzAwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LnRpdGxlIHtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0bWFyZ2luOiAwIDAgMTVweDtcclxuXHRcdH1cclxuXHRcdC50eHQge1xyXG5cdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5oZXJvX3NsaWRlIHtcclxuXHQuc2xpZGUge1xyXG5cdFx0bWluLWhlaWdodDogJGhlcm8taGVpZ2h0O1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0fVxyXG59XHJcbi5oZXJvX3NsaWRlX25hdiB7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktZGFya2VyO1xyXG5cdG1pbi1oZWlnaHQ6ICRoZWlnaHQtY2FzZTtcclxuXHJcblx0YSB7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdFx0cGFkZGluZzogMTBweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDE1cHg7XHJcblx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdHdpZHRoOiAzMyU7XHJcblx0XHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2ZmZjtcclxuXHRcdFx0Ym9yZGVyLXRvcDogMDtcclxuXHRcdH1cclxuXHJcblx0XHRoMyB7XHJcblx0XHRcdGNvbG9yOiAkcmVkO1xyXG5cdFx0XHRtYXJnaW46IDEwcHggMDtcclxuXHRcdH1cclxuXHRcdHAge1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdFx0Zm9udC1zaXplOiAuODVlbTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0Ym9yZGVyLWxlZnQ6IDA7XHJcblx0XHRcdGJvcmRlci10b3A6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLmJsb2NrIHtcclxuXHRtaW4taGVpZ2h0OiAzMDBweDtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHJcblx0LnRpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3IgOiNmZmY7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuYmxvY2tfdGl0bGUge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0cmlnaHQ6MCA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheS1kYXJrZXIsLjgpO1xyXG5cdFx0cGFkZGluZzogMCAxMHB4O1xyXG5cdFx0bWluLWhlaWdodDogNjBweDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdC5ibG9ja190aXRsZV93cmFwIHtcclxuXHRcdFx0bWluLWhlaWdodDogNjBweDtcclxuXHRcdFx0ZGlzcGxheTogdGFibGU7XHJcblx0XHRcdGhlaWdodDogNjBweDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdH1cclxuXHQuYmxvY2tfbW9yZSB7XHJcblx0XHRwYWRkaW5nOiAwIDEwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDEwMCU7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcmVkLC44KTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAuMXM7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0LmRhdGUge1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdH1cclxuXHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHRcdC50eHQge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogLjllbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmJ0biB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdG1hcmdpbjogMTBweCAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubGluayB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHQgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0LmJsb2NrX3RpdGxlIHtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG5cdFx0fVxyXG5cdFx0LmJsb2NrX21vcmUge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG5cdFx0fVxyXG4gXHR9XHJcbn1cclxuXHJcbi5pc01vYmlsZSB7XHJcblx0LmJsb2NrIHtcclxuXHRcdC5ibG9ja19tb3JlIHtcclxuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuXHJcblx0XHRcdC50eHQge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5ibG9ja190aXRsZSB7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5ibG9jay10aGlyZCB7XHJcblx0LnJvdy1oZWFkZXIge1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHQuYmxvY2staGVhZGVyIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oaXNvbGF0ZSA2IG9mIDEyIGF0IDQpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdFxyXG5cdC5yb3ctY29udGVudCB7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG5cclxuXHRcdD4gZGl2OmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdFx0XHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgc3BhbigzIG9mIDEyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gZGl2Om50aC1jaGlsZCgyKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oNiBvZiAxMiBhdCA0KTtcclxuXHRcdFx0fVxyXG5cdFx0XHQudHh0IHtcclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gZGl2Omxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBzcGFuKDMgb2YgMTIgbGFzdCk7XHJcblx0XHRcdH1cclxuXHRcdFx0LmJ0biB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uYmxvY2stdHdvIHtcclxuXHQucm93LW1haW4ge1xyXG5cdFx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0XHQubGVmdCB7XHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHQubGVmdCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgc3Bhbig0IG9mIDEyKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQucmlnaHQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oOCBvZiAxMiBsYXN0KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQucmlnaHQge1xyXG5cdFx0aDIge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5yb3ctc2Vjb25kIHtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0XHRAaW5jbHVkZSBuZXN0ZWQoMTIpIHtcclxuXHRcdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBzcGFuKDYpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuYWN0aW9uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHNwYW4oNiBsYXN0KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XHJcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0XHRAaW5jbHVkZSBuZXN0ZWQoMTIpIHtcclxuXHRcdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBzcGFuKDgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuYWN0aW9uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHNwYW4oNCBsYXN0KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnKSB7XHJcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0XHRAaW5jbHVkZSBuZXN0ZWQoMTIpIHtcclxuXHRcdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBzcGFuKDkpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQuYWN0aW9uIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHNwYW4oMyBsYXN0KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmNvbnRhaW5lci10aHVtYiB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdC5zbGlkZXItdGh1bWIge1xyXG5cdFx0cGFkZGluZzogMTVweDtcclxuXHR9XHJcblx0LmFycm93cyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR6LWluZGV4OiAyMDAwO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblx0fVxyXG5cdC5wcmV2IHtcclxuXHRcdGxlZnQ6IDA7XHJcblx0fVxyXG5cdC5uZXh0IHtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdH1cclxuXHQuc2xpZGVyLXRodW1iIHtcclxuXHRcdG1hcmdpbjogMCAtOHB4O1xyXG5cdFx0LnNsaWNrLXNsaWRlIHtcclxuXHQgICAgXHRtYXJnaW46IDAgOHB4O1xyXG5cdCAgXHR9XHJcblx0fVxyXG59IiwiLnJlYXNzdXJhbmNlIHtcclxuXHRwYWRkaW5nOiA0N3B4IDA7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXg7XHJcblx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xyXG5cdGZvbnQtc2l6ZTogMS4zZW07XHJcblxyXG5cdC5yZWEtaXRlbSB7XHJcblx0XHRwYWRkaW5nOiAwIDIwcHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG92ZXJmbG93OmhpZGRlbjtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcclxuXHRcdFx0d2lkdGg6IDUwJTtcclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQuaXRlbSB7XHJcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRncmF5LWRhcmtlcjtcclxuXHRcdFx0bWF4LXdpZHRoOjE3NXB4O1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDonJztcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiAtMXB4O1xyXG5cdFx0XHRcdGxlZnQ6MjUlO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6I2ZmZjtcclxuXHRcdFx0XHRoZWlnaHQ6MXB4O1xyXG5cdFx0XHRcdHdpZHRoIDoxMDAlO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuMnM7XHJcblx0XHRcdH1cclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Y29udGVudDonJztcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdFx0Ym90dG9tOiAtMXB4O1xyXG5cdFx0XHRcdHJpZ2h0OjI1JTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7XHJcblx0XHRcdFx0aGVpZ2h0OjFweDtcclxuXHRcdFx0XHR3aWR0aCA6MTAwJTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRsZWZ0OiAxMDElO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdHJpZ2h0OiAxMDElO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHJcblx0XHRpbWcge1xyXG5cdFx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubWFpbl9mb290ZXIge1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdGEge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcblx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJHJlZDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5pbmZvIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcmtlcjtcclxuXHRcdHBhZGRpbmc6IDMwcHg7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0LmNvbCB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRwYWRkaW5nOiAxNXB4O1xyXG5cclxuXHRcdFx0c3Ryb25nLCBhIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0fVxyXG5cdFx0XHRzdHJvbmcge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4xZW07XHJcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdFx0cGFkZGluZzogNHB4IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mb290ZXJfc29jaWFsX2xpbmsge1xyXG5cdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDEwMG1zO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdFx0XHRcdFx0XHJcblx0XHRcdFx0XHQmOmZpcnN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcblx0XHRcdFx0d2lkdGg6IDMzLjMzMzMlO1xyXG5cclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDQzcHg7XHJcblx0XHRcdFx0XHR3aWR0aDogMXB4O1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTEyZGVnKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6bGFzdC1jaGlsZDphZnRlciB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5jb250YWN0LWluZm8ge1xyXG5cdFx0XHRcdC5mb3JtLWdyb3VwIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6MDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHAge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpbnB1dCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMDBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0YnV0dG9uIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6MDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDowO1xyXG5cdFx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0XHRib3R0b206IDA7XHJcblxyXG5cdFx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiNmZmY7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHJcblx0LmNvcHlyaWdodCB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheTtcclxuXHRcdHBhZGRpbmc6IDE1cHg7XHJcblx0XHRmb250LXNpemU6IDExcHg7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG59IiwiLnBhZ2luYXRlIHtcclxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IC45ZW07XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblxyXG5cdD4gYSwgPiBsaSB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG5cclxuXHQ+IGxpIGEge1xyXG5cdFx0d2lkdGg6IDI1cHg7XHJcblx0XHRoZWlnaHQ6IDI1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdH1cclxuXHQ+IGxpLmFjdGl2ZSBhIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHR9XHJcbn0iLCIuc3R5bGVkLWNoZWNrYm94IHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIHRha2UgaXQgb3V0IG9mIGRvY3VtZW50IGZsb3dcclxuICBvcGFjaXR5OiAwOyAvLyBoaWRlIGl0XHJcblxyXG4gICYgKyBsYWJlbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gQm94LlxyXG4gICYgKyBsYWJlbDpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIGJhY2tncm91bmQ6ICNkZGQ7XHJcbiAgfVxyXG5cclxuICAvLyBCb3ggaG92ZXJcclxuICAmOmhvdmVyICsgbGFiZWw6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIEJveCBmb2N1c1xyXG4gICY6Zm9jdXMgKyBsYWJlbDpiZWZvcmUge1xyXG4gICAgLy8gYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7XHJcbiAgfVxyXG5cclxuICAvLyBCb3ggY2hlY2tlZFxyXG4gICY6Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gIH1cclxuICBcclxuICAvLyBEaXNhYmxlZCBzdGF0ZSBsYWJlbC5cclxuICAmOmRpc2FibGVkICsgbGFiZWwge1xyXG4gICAgY29sb3I6ICNiOGI4Yjg7XHJcbiAgICBjdXJzb3I6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyBEaXNhYmxlZCBib3guXHJcbiAgJjpkaXNhYmxlZCArIGxhYmVsOmJlZm9yZSB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogI2RkZDtcclxuICB9XHJcblxyXG4gIC8vIENoZWNrbWFyay4gQ291bGQgYmUgcmVwbGFjZWQgd2l0aCBhbiBpbWFnZVxyXG4gICY6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogM3B4O1xyXG4gICAgdG9wOiA3cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIHdpZHRoOiAycHg7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIGJveC1zaGFkb3c6IFxyXG4gICAgICAycHggMCAwIHdoaXRlLFxyXG4gICAgICA0cHggMCAwIHdoaXRlLFxyXG4gICAgICA0cHggLTJweCAwIHdoaXRlLFxyXG4gICAgICA0cHggLTRweCAwIHdoaXRlLFxyXG4gICAgICA0cHggLTZweCAwIHdoaXRlLFxyXG4gICAgICA0cHggLTdweCAwIHdoaXRlO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIH1cclxufSIsIi5icG9wdXAge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuLm1vZGFsIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cclxuXHRoMSwgaDIsIGgzLCBoNCwgaDUge1xyXG5cdFx0Y29sb3IgOiAkcmVkO1xyXG5cdH1cclxuXHQuaDMge1xyXG5cdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xyXG5cdH0gXHJcblx0I2NndiB7XHJcblx0XHRib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xyXG5cdFx0cGFkZGluZzogMTVweDtcclxuXHRcdG1heC1oZWlnaHQ6IDUwMHB4O1xyXG5cdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdH1cclxufSIsIi8vIGZpbmQgb24gaHR0cHM6Ly9jb2RlcGVuLmlvL2dlb2ZmeXVlbi9wZW4vRkNCRWdcblxuJGJyZWFrcG9pbnQtYWxwaGE6IDYwMHB4OyBcblxuLnJ3ZC10YWJsZSB7XG4gICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lOyAvLyBmb3IgYWNjZXNzaWJpbGl0eSwgdXNlIGEgdmlzdWFsbHkgaGlkZGVuIG1ldGhvZCBoZXJlIGluc3RlYWQhIFRoYW5rcywgcmVkZGl0ISAgIFxuICAgIH1cbiAgXG4gICAgdGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1hbHBoYSkge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzdweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogYXR0cihkYXRhLXRoKTsgXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtYWxwaGEpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogLjVlbTtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC41ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aCwgdGQge1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1hbHBoYSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuaG9tZSB7XHJcblx0LmJsb2NrIHtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdHdpZHRoOiAzMy4zMzMzJTtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5hdWN0aW9uX3NhbGVzIHtcclxuXHRAaW5jbHVkZSBjb250YWluZXIoODAlKTtcclxuXHRtYXgtd2lkdGg6IDkwMHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdGgzIHtcclxuXHRcdGZvbnQtc2l6ZTogNTBweDtcclxuXHRcdGNvbG9yOiAkZ3JheS1saWdodDtcclxuXHR9XHJcblx0LnR4dCB7XHJcblx0XHRjb2xvcjogJGdyYXktZGFyaztcclxuXHR9XHJcblx0LmJ0biB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn0iLCIubG9naW4tYm94IHtcclxuXHRwYWRkaW5nOiAxNXB4O1xyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRtYXgtd2lkdGg6IDgwMHB4O1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHJcblx0XHQubG9naW4tc2lnbiB7XHJcblx0XHRcdHBhZGRpbmc6IDE1cHg7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHR9XHJcblx0XHRcclxuXHJcblx0XHQubGFiZWwge1xyXG5cdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5mb3JtLWdyb3VwIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblxyXG5cdC5zaWduLXVwIHtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcblx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheS1saWdodGVyO1xyXG5cdH1cclxuXHQuc2lnbi1pbiB7XHJcblx0XHR3aWR0aDogNTAlO1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0fVxyXG5cclxuXHQmLm1vZGFsIHtcclxuXHRcdG1heC13aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblx0fVxyXG59IiwiLmJsb2NrLWFjY291bnQge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWluLWhlaWdodDogMjAwcHg7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRAaW5jbHVkZSBnYWxsZXJ5KDYgb2YgMTIpO1xyXG5cdH1cclxuXHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xyXG5cdFx0QGluY2x1ZGUgZ2FsbGVyeSgzIG9mIDEyKTtcclxuXHR9XHJcblxyXG5cclxuXHRzcGFuIHtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGdyYXktYmFzZSwuOSk7XHJcblx0fVxyXG59XHJcbi5pbWctY29udGFpbmVyIHtcclxuXHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHQuZm9ybS1ncm91cFx0e1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcclxuXHRcdFx0aGVpZ2h0OiAzMDBweDtcclxuXHRcdFx0QGluY2x1ZGUgZ2FsbGVyeSg0IG9mIDIwKTtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxuXHRcdFx0cGFkZGluZzogOHB4O1xyXG5cdFx0fVxyXG5cdFx0aW1nIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4udGFibGUtYm9yZGVyZWQuY3VzdG9tIHtcclxuXHRib3JkZXI6IDA7XHJcblx0YiB7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdH1cclxuXHR0aGVhZCB7XHJcblx0XHR0aCB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcclxuXHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR0Ym9keSB7XHJcblx0XHRib3JkZXI6MXB4IHNvbGlkICNjY2M7XHJcblx0XHR0ciB7XHJcblx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NjYztcclxuXHJcblx0XHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTowO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHR0ZCB7XHJcblx0XHRcdGJvcmRlcjogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmZvcm0tZ3JvdXAge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnN1cHBvcnQtcGxhbnMge1xyXG5cdC5zdXBwb3J0LXBsYW5zLWxpc3Qge1xyXG5cdFx0LmJsb2NrIHtcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBnYWxsZXJ5KDQgb2YgMTIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5pbml0aWFsX3ByaWNlIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0fVxyXG5cdC5zbWFsbCB7XHJcblx0XHRmb250LXNpemU6IDExcHg7XHJcblx0fSBcclxuXHQubGFiZWwge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHR9XHJcblx0LnNlcnZpY2VzIHtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbSA6IDE1cHg7XHJcblx0XHQuc2VydmljZSB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0ZmlndXJlIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRcdCYuY29sLTEge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuY29sLTIge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZ2FsbGVyeSg2IG9mIDEyKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ji5jb2wtMyB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBnYWxsZXJ5KDQgb2YgMTIpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmLmNvbC00IHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGdhbGxlcnkoMyBvZiAxMik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCYuY29sLTUge1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgZ2FsbGVyeSgyIG9mIDEwKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCIuYXVjdGlvbiB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdG1hcmdpbi10b3A6MTVweDtcclxuXHJcblx0aDJ7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRzbWFsbCB7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aHIge1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAycHg7XHJcblx0fVxyXG5cclxuXHQudGl0bGUtZGV0YWlse1xyXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHR9XHJcblxyXG5cdC5jb250YWluZXItaGVhZGVyIHtcclxuXHRcdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdH1cclxuXHQuZW5jaGVyZV9oZWFkZXIge1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0QGluY2x1ZGUgc3Bhbihpc29sYXRlIDYgb2YgMTIgYXQgNCk7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQuY291bnRkb3duIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdGRpc3BsYXk6IHRhYmxlO1xyXG5cdFx0LndyYXBwZXIge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHR9XHJcblx0XHRzdHJvbmcge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogOHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pdGVtIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrZXI7XHJcblx0XHRcdHBhZGRpbmc6IDZweDtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0bWluLXdpZHRoOiA1NXB4O1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5uYW1lIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxMXB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRjb2xvcjogJGdyYXktbGlnaHRlcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5wcmljZSB7XHJcblx0XHRmb250LXNpemU6IDFlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHJcblx0XHRzbWFsbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcclxuXHRcdH1cclxuXHJcblx0XHQuaW5wdXQge1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1kYXJrZXI7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0cGFkZGluZzogM3B4O1xyXG5cdFx0XHQuZXVyX3ByaWNlLCAudXNkX3ByaWNlIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdFx0fVxyXG5cdFx0XHRiIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb252ZXJ0ZWQge1xyXG5cdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJlc3Rfb2ZmZXIge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdFx0XHQuaW5wdXQge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWRhcmtlcjtcclxuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1kYXJrZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5idG4ge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pbml0aWFsX3ByaWNlIHtcclxuXHRcdFx0LmlucHV0IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrZXI7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmRlc2Mge1xyXG5cdFx0LnR4dCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHQtbW96LWNvbHVtbnMtY291bnQ6IDI7XHJcblx0XHRcdFx0Y29sdW1uLWNvdW50OiAyO1xyXG5cdFx0XHRcdGNvbHVtbi1nYXA6IDJlbTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuY29udGVudCB7XHJcblx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHQudGh1bWIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oMyBvZiAxMik7XHJcblx0XHRcdH1cclxuXHRcdFx0LmRlc2Mge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oNiBvZiAxMiBhdCA0KTtcclxuXHRcdFx0fVxyXG5cdFx0XHQucHJpY2Uge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oMyBvZiAxMiBsYXN0KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0XHJcblxyXG5cdC5tb3JlIHtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0fVxyXG5cdC5kZXNjX2xvbmcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0QGluY2x1ZGUgc3Bhbig2IG9mIDEyKTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XHJcblx0XHRcdEBpbmNsdWRlIHNwYW4oNSBvZiAxMik7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5hdHRyaWJ1dGVzIHtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdEBpbmNsdWRlIHNwYW4oMyBvZiAxMiBhdCA3KTtcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XHJcblx0XHRcdEBpbmNsdWRlIHNwYW4oMyBvZiAxMiBhdCA2KTtcclxuXHRcdH1cclxuXHRcdC5hdHRyaWJ1dGUge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0XHRtaW4taGVpZ2h0OiA0MHB4O1xyXG5cdFx0XHRwYWRkaW5nOjhweCAxMnB4O1xyXG5cdFx0XHRjb2xvcjogI2ZmZjtcclxuXHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubW9kYWxfb2ZmZXIge1xyXG5cdGgyIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdH1cclxuXHQudXNlci1pbmZvLWF1Y3Rpb24ge1xyXG5cdFx0LnRhYmxlIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHRkIHtcclxuXHRcdFx0XHRwYWRkaW5nOiA2cHggMDtcclxuXHRcdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmxhYmVsLWFtb3VudCB7XHJcblx0XHRjb2xvcjogJGdyYXktZGFya2VyO1xyXG5cdH1cclxuXHQuYWNjZXB0LWNndiB7XHJcblx0XHRzbWFsbCB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGNvbG9yOiAkZ3JheS1kYXJrZXI7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5jdXJyZW50LWJlc3Qge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lO1xyXG5cclxuXHRcdCYuaGlkZSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLmNvbnRhY3Qge1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cdG1hcmdpbi10b3A6NDBweDtcclxuXHRtYXJnaW4tYm90dG9tOjQwcHg7XHJcblxyXG5cdC5jb250YWN0LWluZm8ge1xyXG5cdFx0aDIge1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdEBpbmNsdWRlIHNwYW4oNiBvZiAxMik7XHJcblxyXG5cdFx0XHRpIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdFx0Y29sb3I6ICRncmF5LWxpZ2h0O1xyXG5cdFx0XHRcdCAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgcGFkZGluZzogM3B4IDA7XHJcblx0XHRcdH1cdFxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0LmNvbnRhY3QtZm9ybSB7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRAaW5jbHVkZSBzcGFuKDYgb2YgMTIgYXQgNyk7XHJcblx0XHR9XHJcblx0XHRsYWJlbCB7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OjgwMDtcclxuXHRcdFx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdFx0fVxyXG5cdFx0LmJ0biB7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6ODAwO1xyXG5cdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4iLCIuYmxvZyB7XHJcblx0bWFyZ2luLXRvcDogMzBweDtcclxuXHJcblx0LmNhdGVnb3JpZXMge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdGgzIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTBweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdH1cclxuXHRcdGEge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Zm9udC1zaXplOiAuOTVlbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0cGFkZGluZzogOHB4O1xyXG5cdFx0XHRjb2xvcjogJGdyYXk7XHJcblx0XHRcdGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRncmF5LWxpZ2h0ZXI7XHJcblxyXG5cdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0Y29sb3I6ICRyZWQ7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiRncmF5O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRAaW5jbHVkZSBzcGFuKDQgb2YgMTIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQucG9zdHMge1xyXG5cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdEBpbmNsdWRlIHNwYW4oOCBvZiAxMiBsYXN0KTtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG5cdFx0XHRAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcblx0XHR9XHJcblx0XHRcclxuXHRcdC5wb3N0IHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBnYWxsZXJ5KDMgb2YgNik7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogZ3V0dGVyKDYpO1xyXG5cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQucG9zdF9kZXRhaWwge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0XHQuZGF0ZSB7XHJcblx0XHRcdGNvbG9yOiAkcmVkO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHRmb250LXNpemU6IC45ZW07XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdH1cclxuXHRcdC50eHQge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWF4LXdpZHRoOiA3MDBweDtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG5cdC5yZWxhdGVkX3Bvc3RzIHtcclxuXHRcdFxyXG5cdFx0LmJsb2NrIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbSA6IDE1cHg7XHJcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZ2FsbGVyeSg0IG9mIDEyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmNhdF9kZXRhaWwge1xyXG5cdFx0aDIge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0fVxyXG5cdFx0LnR4dCB7XHJcblx0XHRcdG1hcmdpbjogMTBweCAwO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5hbm5vbmNlIHtcclxuXHQuaW1nX3pvb20ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcbi5hbm5vbmNlLXNob3cge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG5cdGhyIHtcclxuXHRcdGJvcmRlci13aWR0aDogMnB4O1xyXG5cdH1cclxuXHRcclxuXHQuaW1nX3pvb20ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQuYnRuLmdyYXktbGlnaHQge1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0d2lkdGg6IDQwMHB4O1xyXG5cdFx0fVxyXG5cdFx0d2lkdGg6IDIwMHB4O1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0fVxyXG5cdFxyXG5cclxuXHQuYmxvY2stdHdvIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmRlc2MtbG9uZyB7XHJcblx0XHRsaW5lLWhlaWdodDogMjZweDtcclxuXHR9XHJcblx0XHJcblx0LmluZm8ge1xyXG5cdFx0PiBoMiB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR9XHJcblx0XHRociB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0XHR9XHJcblx0XHQuY29udGVudCB7XHJcblx0XHRcdHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHR9XHJcblx0XHQuYWN0aW9uIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5sYWJlbCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHR9XHJcblx0XHQuYnRuIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uYW5ub25jZS1saXN0IHtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdC5idG4uZ3JheS1saWdodCB7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHR3aWR0aDogNDAwcHg7XHJcblx0XHR9XHJcblx0XHR3aWR0aDogMjAwcHg7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHR9XHJcblx0LmJ0biB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdH1cclxuXHQudHh0IHtcclxuXHRcdHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblx0fVxyXG59IiwiLmNtcyB7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRAZXh0ZW5kIC5jb250YWluZXI7XHJcblx0LmNtcy1pbWcge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHRcdGltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0QGluY2x1ZGUgc3BhbigyIG9mIDYpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuY21zLWNvbnRlbnQge1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0QGluY2x1ZGUgc3Bhbig0IG9mIDYgbGFzdCk7XHJcblx0XHR9XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0dGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHRcdC50eHQge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcbn0iLCIuZmFxIHtcclxuXHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdEBleHRlbmRzIC5jb250YWluZXI7XHJcblx0Lm1lbnUtZmFxIHtcclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdEBpbmNsdWRlIHNwYW4oMiBvZiA2KTtcclxuXHRcdH1cclxuXHR9XHJcblx0Lmxpc3QtZmFxIHtcclxuXHRcdC5pdGVtIHtcclxuXHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0c3Ryb25nIHtcclxuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRzdHJvbmcge1xyXG5cdFx0XHRjb2xvcjogJHJlZDtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4OyBcclxuXHRcdFx0bWFyZ2luLXRvcDoyMHB4O1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdEBpbmNsdWRlIHNwYW4oNCBvZiA2IGxhc3QpO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5wcm9kdWN0cy1zZWN0aW9uIHtcclxuXHQucHJvZHVjdHMtZmlsdGVyIHtcclxuXHRcdC5maWx0ZXJzIHtcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6MjVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdGgzIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRAaW5jbHVkZSBzcGFuKDIgb2YgMTIpO1xyXG5cdFx0fVxyXG5cdFx0bGFiZWwge1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRmb250LXNpemU6IDEzcHg7XHJcblx0XHRcdGNvbG9yOiAkZ3JheTtcclxuXHRcdH1cclxuXHRcdHN0cm9uZyB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cdFx0dWwge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTVweDtcclxuXHRcdH1cclxuXHRcdCNyZXNldC1maWx0ZXIge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnByb2R1Y3RzLWxpc3QtZnVsbCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHQubG9hZGVyIHtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRjb2xvcjogJHJlZDtcclxuXHRcdH1cclxuXHJcblx0XHQucm93ICB7XHJcblx0XHRcdEBpbmNsdWRlIGNvbnRhaW5lcigxMDAlKTtcclxuXHRcdH1cclxuXHRcdC5wcm9kdWN0X2Jsb2NrIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHJcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgZ2FsbGVyeSg0IG9mIDEyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnByb2R1Y3RzLWxpc3Qge1xyXG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0IEBpbmNsdWRlIHNwYW4oMTAgb2YgMTIgbGFzdCk7XHJcblx0XHR9XHJcblxyXG5cdFx0LmxvYWRlciB7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Y29sb3I6ICRyZWQ7XHJcblx0XHR9XHJcblxyXG5cdFx0LnJvdyAge1xyXG5cdFx0XHRAaW5jbHVkZSBjb250YWluZXIoMTAwJSk7XHJcblx0XHR9XHJcblx0XHQucHJvZHVjdF9ibG9jayB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblxyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIGdhbGxlcnkoNCBvZiAxMik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LXNlY3Rpb24ge1xyXG5cdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0LmZvcm0tcHJvbW90ZWQge1xyXG5cdFx0LnJvdyB7XHJcblx0XHRcdEBpbmNsdWRlIGNvbnRhaW5lcigxMDAlKTtcclxuXHRcdH1cclxuXHRcdC5jb2wtNiB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHNwYW4oNiBvZiAxMik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5jb2wtNjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBzcGFuKDYgb2YgMTIgbGFzdCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5ibG9jay1oZWFkZXIge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0aDIge1xyXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJsb2NrLXR3byB7XHJcblx0XHQubGVmdCB7XHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5ibG9jay10aGlyZCB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdH1cclxuXHJcblx0LmRlc2NfbG9uZyB7XHJcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xyXG5cdH1cclxuXHJcblx0LmZlYXR1cmVzIHtcclxuXHRcdG1hcmdpbi10b3A6IDE1cHg7XHJcblx0fVxyXG5cdC5jb250ZW50IHtcclxuXHRcdC50eHQge1xyXG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xyXG5cdFx0XHRcdC1tb3otY29sdW1uLWNvdW50OiAyO1xyXG5cdFx0XHRcdC13ZWJraXQtY29sdW1uLWNvdW50OiAyO1xyXG5cdFx0XHRcdGNvbHVtbi1jb3VudDogMjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQuYnRuIHtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cdC5tdyB7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xyXG5cdFx0XHRAaW5jbHVkZSBnYWxsZXJ5KDEgb2YgMik7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uYnRuIHtcclxuXHRtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcbi5wcmljZSB7XHJcblx0Zm9udC1zaXplOiAuOWVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcclxuXHRzbWFsbCB7XHJcblx0XHRmb250LXNpemU6IDExcHg7XHJcblx0fVxyXG5cclxuXHQuaW5wdXQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjokZ3JheS1kYXJrZXI7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDNweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG5cdFx0LnVzZF9wcmljZSB7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdH1cclxuXHRcdC5ldXJfcHJpY2Uge1xyXG5cdFx0XHRmb250LXNpemU6IDE4cHg7XHRcclxuXHRcdH1cclxuXHJcblx0XHRiLCAuZXVyX3ByaWNlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0fVxyXG5cdFx0LnN0aWNrZXIge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMTBweDtcclxuXHRcdFx0bGVmdDogLTMwcHg7XHJcblx0XHRcdHdpZHRoOiAxMDBweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuXHRcdFx0Zm9udC1zaXplOiAxMHB4O1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMzVkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4ucHJvZHVjdC1zZWN0aW9uIHtcclxuXHQuZGVzY19sb25nIHtcclxuXHRcdEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcclxuXHRcdFx0dGFibGUge1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvIWltcG9ydGFudDtcclxuXHRcdFx0XHR0ZCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0XHRcdFx0d2lkdGg6IDUwJSFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcclxuXHRcdFx0dGFibGUge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdGJvcmRlciA6IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0dGQsIHRoIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdFx0XHRib3JkZXItbGVmdDogMDtcclxuXHRcdFx0XHRib3JkZXItdG9wOiAwO1xyXG5cdFx0XHRcdGJvcmRlci1yaWdodDogMDtcclxuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0aWZyYW1lIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBibG9jayFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNvbHVtbnMge1xyXG5cdC5ibG9jayB7XHJcblx0XHQ+IGRpdiB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0bWluLWhlaWdodDogMzAwcHg7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5idG4ge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdFx0cCB7XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtIDpub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5zZWN0b3Ige1xyXG5cdC5idG4ge1xyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkcmVkO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uY2hvaWNlIHtcclxuXHQuaXRlbSB7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0aGVpZ2h0OiAxNTBweDtcclxuXHRcdGJvcmRlcjogMCBzb2xpZCAkdGV4dC1jb2xvcjtcclxuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRzcGFuIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcmVkLCAuOCk7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdH1cclxuXHJcblx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdGJvcmRlcjozcHggc29saWQgJHJlZDtcclxuXHRcdH1cclxuXHR9XHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDc2OXB4KSB7XHJcblxyXG5cdFx0PiAuaXMtaGFsZjpsYXN0LW9mLXR5cGUgPiAuY29sdW1ucyB7XHJcblx0XHRcdGJvcmRlci1sZWZ0OiAycHggc29saWQgJHJlZDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLnByb2R1Y3RzQ29udGFpbmVyIHtcclxuXHRoMiB7XHJcblx0XHRwYWRkaW5nOiAzMHB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxufVxyXG4ucHJvZHVjdC1mb3JtIHtcclxuXHQuc2VjdG9yIC5idG4ge1xyXG5cdFx0YmFja2dyb3VuZDogI2RkZDtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjojY2NjO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uZGVzY19sb25nLm1vcmUge1xyXG5cclxufSIsIi5zYWxlIHtcblx0Lmhlcm8ge1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0LmltZyB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsOyBcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblx0XHR9XG5cdFx0LnR4dCB7XG5cdFx0XHRwYWRkaW5nOiAzMHB4IDE1cHg7XG5cdFx0XHRkaXNwbGF5OnRhYmxlLWNlbGw7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdH1cblx0fVxuXG5cdC5mb3JtIHtcblx0XHQuZm9ybS0yIHtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXG5cdFx0XHQuZm9ybS1ncm91cCB7XG5cdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ2FsbGVyeSgzIG9mIDYpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mb3JtLTRcdHtcblx0XHRcdEBpbmNsdWRlIGNsZWFyZml4O1xuXG5cdFx0XHQuZm9ybS1ncm91cCB7XG5cdFx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdFx0QGluY2x1ZGUgZ2FsbGVyeSggMyBvZiAxMik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnByb2R1Y3QtaXRlbSB7XG5cdFx0cGFkZGluZzogMzBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdC50cmFzaCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAtMTBweDtcblx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHR9XG5cdH1cblx0LmJ0bi1hZGQge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHQgICAgZGlzcGxheTogYmxvY2s7XG5cdCAgICB3aWR0aDogMTAwJTtcblx0ICAgIGhlaWdodDogMzRweDtcblx0ICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuXHQgICAgZm9udC1zaXplOiAxNHB4O1xuXHQgICAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG5cdCAgICBjb2xvcjogIzVmNWY1Zjtcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdCAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuXHQgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcblx0ICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cdCAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHQgICAgaSB7XG5cdCAgICBcdGZsb2F0OiByaWdodDtcblx0ICAgIFx0Zm9udC1zaXplOiAyMHB4O1xuXHQgICAgfVxuXHQgICAgc3BhbiB7XG5cdCAgICBcdGZsb2F0OiBsZWZ0O1xuXHQgICAgXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0ICAgIFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRjb2xvcjogJHRleHQtY29sb3I7XG5cdCAgICB9XG5cdH1cblx0LmZpbGVzIHtcblx0XHRtYXJnaW4tdG9wOiAyM3B4O1xuXG5cdFx0LmlucHV0ZmlsZSArIGxhYmVsIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG5cdFx0XHRoZWlnaHQ6IDM0cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOjA7XG5cdFx0XHRjb2xvcjogJHRleHQtY29sb3I7XG5cdFx0fVxuXHR9XG5cdC5zcGFyZS1wYXJ0IHtcblx0XHRsYWJlbCB7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdH1cblx0fVxufVxuXG5cbi5zcGFyZS1tYWNoaW5lLWxpc3Qge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdEBpbmNsdWRlIHNwYW4oMiBvZiAxMik7XG5cdH1cbn1cbi5zcGFyZS1wYXJ0cy1saXN0IHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHRAaW5jbHVkZSBzcGFuKDEwIG9mIDEyIGxhc3QpO1xuXHR9XG5cdC5hZGRyb3cge1xuXHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdH1cblx0LmZvcm1XYWl0aW5nIHtcblx0fVxuXG4gIFx0dGFibGUgdHIuZXhwaXJlZHtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuXHR9XG59XG4ubGlzdC1ncm91cC1pdGVtIHtcblx0YSB7XG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Y29sb3I6ICR0ZXh0LWNvbG9yO1xuXHRcdH1cblx0fVxuXHQmLmFjdGl2ZSB7XG5cdFx0YSwgYTphY3RpdmUsIGE6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXHR9XG59XG4iLCIudHV0b3JpYWwge1xyXG5cdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0LnR1dG9yaWFsLWZpbHRlciB7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xyXG5cdFx0XHRAaW5jbHVkZSBzcGFuKDMgb2YgMTIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQudHV0b3JpYWwtbGlzdCB7XHJcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xyXG5cdFx0XHRAaW5jbHVkZSBzcGFuKDkgb2YgMTIgbGFzdCk7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJsb2NrIHtcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBnYWxsZXJ5KDQgb2YgMTIpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi50dXRvRGV0YWlsIHtcclxuXHR2aWRlbyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0LnR1dG9MZWZ0IHtcclxuXHRcdD4gZGl2IHtcclxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFxyXG5cdFx0XHRcdHZpZGVvIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdCAgdG9wOiA1MCU7XHJcblx0XHRcdFx0XHQgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC50dXRvUmlnaHQge1xyXG5cdH1cclxufVxyXG4jY2FudmFzIHtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdHdpZHRoOiA3MTZweDtcclxufVxyXG4udHV0b3JpYWwtYnRuIHtcclxuXHRkaXNwbGF5OiB0YWJsZTtcclxuXHR3aWR0aDogNzE2cHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcblxyXG5cdD4gKiB7XHJcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuXHR9XHJcblxyXG5cdC5jb3VudCB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHRidXR0b24ge1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XHJcblx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0Ym9yZGVyOiBub25lO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRwYWRkaW5nLXRvcDogMnB4O1xyXG5cdH1cclxuXHJcblx0LnByZXYge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0fVxyXG5cclxuXHQubmV4dCB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG59XHJcbi5yYXRlcy1yaWdodCB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XHJcblx0XHRmbG9hdDogcmlnaHQ7XHJcblx0fVxyXG59IiwiIiwiLnRyZWVzIHtcblx0LnRyZWVzLWZpbHRlciB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHRcdEBpbmNsdWRlIHNwYW4oMyBvZiAxMik7XG5cdFx0fVxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuKDIgb2YgMTIpO1xuXHRcdH1cblxuXHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XG5cdH1cblx0LnRyZWVzLWxpc3Qge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuKDkgb2YgMTIgbGFzdCk7XG5cdFx0fVxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0XHRAaW5jbHVkZSBzcGFuKDEwIG9mIDEyIGxhc3QpO1xuXHRcdH1cblx0XHQuYmxvY2sge1xuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHRcdFx0QGluY2x1ZGUgZ2FsbGVyeSg0IG9mIDEyKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5pZnJhbWUtdGlja2V0IHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogODAwcHg7XG59IiwiLmNsb3VkLWxpc3Qge1xuXHQubGlzdC1ncm91cC1pdGVtIHtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHR9XG5cblx0Lmxpc3QtZ3JvdXAtaGVhZGluZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0YmFja2dyb3VuZDogJHJlZDtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdGNvbG9yOiAjZmZmO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdD4gKiB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0fVxuXHR9XG5cblx0LmNoaWxkLWNvbnRhaW5lci0xIHtcblx0XHQubGlzdC1ncm91cC1pdGVtIHtcblx0XHRcdHBhZGRpbmc6IDEwcHggNTBweCAwIDUwcHg7XG5cblx0XHRcdC5saXN0LWdyb3VwLWhlYWRpbmcge1xuXHRcdFx0XHRwYWRkaW5nOiA2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0ID4gYSwgPiBzcGFuIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0cGFkZGluZzogOHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0XHQuc3ViLWNoaWxkLWNvbnRhaW5lciB7XG5cdFx0XHQ+IGEsID4gc3BhbiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nOiA4cHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQubGlzdC1ncm91cC1pdGVtLXN1YiB7XG5cdFx0cGFkZGluZzogMCA3MHB4O1xuXHR9XG59IiwiLmNoZWNrb3V0X3ZpcmVtZW50IHtcblx0Lmluc3RydWN0aW9uIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbig4IG9mIDEyKTtcblx0XHR9XG5cdH1cblx0LmRvY3VtZW50IHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdFx0QGluY2x1ZGUgc3Bhbig0IG9mIDEyIGxhc3QpO1xuXHRcdH1cblx0fVxufSIsIi5tb2RhbC1zdXJ2ZXkge1xuXHRwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuXHQucGFnZS1pbmZvIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdH1cbn1cblxuLnF1ZXN0aW9uIHtcbiAgJi5xdWVzdGlvbi1pbnB1dCB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gIH1cblx0XHQubGVmdCB7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMzBweDtcblx0XHR9XG5cdFx0LmN1c3RvbS1jaGVja2JveCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0XHQubWFpbi1sYWJlbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdFx0Lm1haW4tcmF0ZXMge1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDEwMG1zO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG9wYWNpdHk6IDA7XG4gICAgICBhIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgfVxuXHRcdFx0Ji5pcy12aXNpYmxlIHtcblx0XHRcdFx0b3BhY2l0eTogMTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyXG4gICAgICAgIH1cblx0XHRcdH1cblx0XHR9XG5cbiAgICAuY29sLTYge1xuICAgICAgQGluY2x1ZGUgZ2FsbGVyeSg2IG9mIDEyKTtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5yaWdodCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgICAudGV4dGFyZWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIH1cblx0fVxuXHQuc21pbGV5LWNvbG9yIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDRweDtcblx0XHR3aWR0aDogNDRweDtcblx0XHRoZWlnaHQ6IDQ0cHg7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDEwMG1zO1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcblx0XHRcdGJveC1zaGFkb3c6IDBweCAzcHggIDZweCAxcHggI2RkZDtcblx0XHR9XG5cdH1cblx0LmlzLXNlbGVjdGVkIHtcblx0XHQuc21pbGV5LWNvbG9yIHtcblx0XHRcdGJveC1zaGFkb3c6IDBweCAzcHggIDZweCAxcHggI2RkZDtcblx0XHRcdGJvcmRlci1jb2xvcjogI2FhYTtcblx0XHRcdHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcblx0XHR9XG5cdH1cblxuLmN1c3RvbS1jaGVja2JveCB7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jdXN0b20tY2hlY2tib3ggbGFiZWwge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG59XG5cbi5jdXN0b20tY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0LCBjb2xvciAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLmN1c3RvbS1jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbiAgcGFkZGluZy10b3A6IDFweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBjb2xvcjogIzU1NTU1NTtcbn1cblxuLmN1c3RvbS1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyArIGxhYmVsOjpiZWZvcmUge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLmN1c3RvbS1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgb3BhY2l0eTogMC42NTtcbn1cblxuLmN1c3RvbS1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06ZGlzYWJsZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmN1c3RvbS1jaGVja2JveC5jdXN0b20tY2hlY2tib3gtY2lyY2xlIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5jdXN0b20tY2hlY2tib3guY3VzdG9tLWNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jdXN0b20tY2hlY2tib3gtcHJpbWFyeSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhO1xuICBib3JkZXItY29sb3I6ICM0MjhiY2E7XG59XG5cbi5jdXN0b20tY2hlY2tib3gtcHJpbWFyeSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94LWRhbmdlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmO1xuICBib3JkZXItY29sb3I6ICNkOTUzNGY7XG59XG5cbi5jdXN0b20tY2hlY2tib3gtZGFuZ2VyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jdXN0b20tY2hlY2tib3gtaW5mbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWJjMGRlO1xuICBib3JkZXItY29sb3I6ICM1YmMwZGU7XG59XG5cbi5jdXN0b20tY2hlY2tib3gtaW5mbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94LXdhcm5pbmcgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTtcbiAgYm9yZGVyLWNvbG9yOiAjZjBhZDRlO1xufVxuXG4uY3VzdG9tLWNoZWNrYm94LXdhcm5pbmcgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmN1c3RvbS1jaGVja2JveC1zdWNjZXNzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7XG4gIGJvcmRlci1jb2xvcjogIzVjYjg1Yztcbn1cblxuLmN1c3RvbS1jaGVja2JveC1zdWNjZXNzIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5yYWRpbyB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnJhZGlvIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ucmFkaW8gbGFiZWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXIgMC4xNXMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlciAwLjE1cyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMTVzIGVhc2UtaW4tb3V0O1xufVxuXG4ucmFkaW8gbGFiZWw6OmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB3aWR0aDogMTFweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBsZWZ0OiAzcHg7XG4gIHRvcDogM3B4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLCAwKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjgsIC0wLjMzLCAwLjIsIDEuMzMpO1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMXMgY3ViaWMtYmV6aWVyKDAuOCwgLTAuMzMsIDAuMiwgMS4zMyk7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjFzIGN1YmljLWJlemllcigwLjgsIC0wLjMzLCAwLjIsIDEuMzMpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC44LCAtMC4zMywgMC4yLCAxLjMzKTtcbn1cblxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMgKyBsYWJlbDo6YmVmb3JlIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIC1vLXRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG59XG5cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBsYWJlbCB7XG4gIG9wYWNpdHk6IDAuNjU7XG59XG5cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06ZGlzYWJsZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLnJhZGlvLnJhZGlvLWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5yYWRpby1wcmltYXJ5IGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjhiY2E7XG59XG5cbi5yYWRpby1wcmltYXJ5IGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogIzQyOGJjYTtcbn1cblxuLnJhZGlvLXByaW1hcnkgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhO1xufVxuXG4ucmFkaW8tZGFuZ2VyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7XG59XG5cbi5yYWRpby1kYW5nZXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjZDk1MzRmO1xufVxuXG4ucmFkaW8tZGFuZ2VyIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0Zjtcbn1cblxuLnJhZGlvLWluZm8gaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTtcbn1cblxuLnJhZGlvLWluZm8gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNWJjMGRlO1xufVxuXG4ucmFkaW8taW5mbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YmMwZGU7XG59XG5cbi5yYWRpby13YXJuaW5nIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGFkNGU7XG59XG5cbi5yYWRpby13YXJuaW5nIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogI2YwYWQ0ZTtcbn1cblxuLnJhZGlvLXdhcm5pbmcgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBhZDRlO1xufVxuXG4ucmFkaW8tc3VjY2VzcyBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjO1xufVxuXG4ucmFkaW8tc3VjY2VzcyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6ICM1Y2I4NWM7XG59XG5cbi5yYWRpby1zdWNjZXNzIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1Yztcbn0iLCIubW9kYWwtcG9waW4ge1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4gIGgze1xuXHRmb250LXNpemU6IDEuNWVtO1xuXHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLmxpZ25le1xuXHRkaXNwbGF5OiBmbGV4O1xuXG5cdC5sZWZ0e1xuXHQgIHdpZHRoOiA1MCU7XG5cblx0ICBpZnJhbWV7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogNDAwcHg7XG5cdCAgfVxuXHR9XG5cblx0LnJpZ2h0e1xuXHQgIHdpZHRoOiA1MCU7XG5cdCAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXHQgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdH1cbiAgfVxuXG4gIC5mdWxse1xuXHRpZnJhbWV7XG5cdCAgd2lkdGg6IDEwMCU7XG5cdCAgbWluLWhlaWdodDogNjAwcHg7XG5cdCAgbWFyZ2luOiBhdXRvO1xuXHR9XG4gIH1cbn1cbiIsIi5yZW50YWxzLWxpc3Qge1xuXHQucmVudGFsLWl0ZW0ge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHR9XG5cblx0XHQucmVudGFsLWltZyB7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0XHR3aWR0aDogMzAlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucmVudGFsLWluZm8ge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHRcdC5yZW50YWwtZGVzYyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmctbGVmdDogNTVweDtcblx0XHR9XG5cdFx0LnJlbnRhbC1hdmFpbGFiaWxpdHkge1xuXHRcdFx0cGFkZGluZzogMTBweCAwO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdHdpZHRoOiAyNSU7XG5cdFx0XHR9XG5cdFx0XHQucmVudGFsLWluZGljYXRvciB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IDMwcHg7XG5cdFx0XHRcdGhlaWdodDogMzBweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0fVxuXHRcdFx0LnJlbnRhbC1pbmRpY2F0b3ItdGV4dCB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0fVxuXHRcdFx0LnJlbnRhbC1hdmFpbGFibGUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2Vzcztcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDVweCA0cHggcmdiYSgkYnJhbmQtc3VjY2VzcywgLjYpO1xuXHRcdFx0fVxuXHRcdFx0LnJlbnRhbC11bmF2YWlsYWJsZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1kYW5nZXI7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgMCA1cHggNHB4IHJnYmEoJGJyYW5kLWRhbmdlciwgLjYpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucmVudGFsLXRpdGxlIHtcblx0XHRcdHBhZGRpbmc6IDEwcHggMDtcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdHdpZHRoOiAzMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5yZW50YWwtYnRuIHtcblx0XHRcdHBhZGRpbmc6IDEwcHggMDtcblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdHdpZHRoOiAxNSU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkE0RUFBLDRFQUE0RTtBQVE1RSxBQUFBLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLG9CQUFvQixFQUFFLElBQUk7RUFDMUIsd0JBQXdCLEVBQUUsSUFBSSxHQUMvQjs7QUFNRCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBWUQsQUFBQSxPQUFPO0FBQ1AsS0FBSztBQUNMLE9BQU87QUFDUCxVQUFVO0FBQ1YsTUFBTTtBQUNOLE1BQU07QUFDTixNQUFNO0FBQ04sTUFBTTtBQUNOLElBQUk7QUFDSixJQUFJO0FBQ0osR0FBRztBQUNILE9BQU87QUFDUCxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQU9ELEFBQUEsS0FBSztBQUNMLE1BQU07QUFDTixRQUFRO0FBQ1IsS0FBSyxDQUFDO0VBQ0osT0FBTyxFQUFFLFlBQVk7RUFDckIsY0FBYyxFQUFFLFFBQVEsR0FDekI7O0FBT0QsQUFBQSxLQUFLLEFBQUEsSUFBSyxFQUFBLEFBQUEsUUFBQyxBQUFBLEdBQVc7RUFDcEIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsQ0FBQyxHQUNWOztDQU9E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 */
